44from django .shortcuts import redirect , render
55from django .urls import reverse , reverse_lazy
66from django .views .generic import TemplateView , UpdateView
7+ from django .contrib .auth import login
8+ from django .contrib .auth import update_session_auth_hash
9+ from django .contrib .auth .forms import SetPasswordForm
710from django_sitemaps import Sitemap
811from rolepermissions .roles import assign_role
912
@@ -16,10 +19,26 @@ def index(request):
1619 return render (request , 'core/index.html' , {'form' : UserSignupForm ()})
1720
1821
22+ @login_required
1923def thanks (request ):
2024 return render (request , 'core/lead_thanks.html' , {})
2125
2226
27+ @login_required
28+ def lead_change_password (request ):
29+ if request .method == 'POST' :
30+ form = SetPasswordForm (request .user , request .POST )
31+ if form .is_valid ():
32+ user = form .save ()
33+ update_session_auth_hash (request , user ) # Important!
34+ return redirect (reverse ('core:thanks' ))
35+ else :
36+ form = SetPasswordForm (request .user )
37+ return render (request , 'core/lead_change_password.html' , {
38+ 'form' : form
39+ })
40+
41+
2342def teck_talks (request ):
2443 return render (request , 'core/tech_talks.html' , {})
2544
@@ -110,5 +129,6 @@ def lead_form(request):
110129 user = form .save (source = source )
111130 assign_role (user , 'lead' )
112131 facade .create_or_update_lead (user .first_name , user .email )
113- return redirect (reverse ('core:thanks' ))
132+ login (request , user )
133+ return redirect (reverse ('core:lead_change_password' ))
114134 return render (request , 'core/lead_form_errors.html' , context = {'form' : form })
0 commit comments