Registration page: sorted list of authorities, autocomplete of authorities
[myslice.git] / portal / passresetview.py
1 import os.path, re
2 import json
3
4 from random                     import choice
5
6 from django.core.mail           import send_mail
7
8 from django.views.generic       import View
9 from django.shortcuts           import render
10
11 from unfold.loginrequired       import FreeAccessView
12 from ui.topmenu                 import topmenu_items_live
13
14 from manifold.manifoldapi       import execute_admin_query
15 from manifold.core.query        import Query
16
17 from portal.forms               import PassResetForm
18 from portal.actions             import manifold_update_user
19
20
21 class PassResetView (FreeAccessView):
22     def post (self, request):   
23         form = PassResetForm(request.POST) # A form bound to the POST data
24         if form.is_valid(): # All validation rules pass
25             # Process the data in form.cleaned_data
26             email = form.cleaned_data['email'] # email of the user
27             
28             sender = 'support@myslice.info'
29             #recipients = authority_get_pi_emails(authority_hrn)
30             recipients = [email ]
31             pass_list = ['demo', 'test', 'abcdef']
32             reset_pass = choice (pass_list)           
33             msg = "Your password has been reset to: %s"% reset_pass + "\n\n Please use this temporary password to login and reset your password from MyAccount page."
34             print "test ", msg 
35             send_mail("Onelab Portal: Password reset request", msg, sender, recipients)
36             return render(request,'pass_reset_sent.html') # Redirect after POST
37         else:
38             return self._display (request, form)
39
40     def get (self, request):
41         return self._display (request, PassResetForm()) # A fresh unbound form
42
43     def _display (self, request, form):
44         return render(request, 'pass_reset.html', {
45                 'form': form,
46                 })
47