from random import choice
from django.core.mail import send_mail
-
+from django.contrib import messages
from django.views.generic import View
from django.shortcuts import render
class PassResetView (FreeAccessView):
- def post (self, request):
+ def post (self, request):
form = PassResetForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
- email = form.cleaned_data['email'] # email of the user
+ email = form.cleaned_data['email'] # email inserted on the form
+
+ user_query = Query().get('local:user').select('user_id','email')
+ user_details = execute_admin_query(self.request, user_query)
- sender = 'support@myslice.info'
- #recipients = authority_get_pi_emails(authority_hrn)
- recipients = [email ]
- pass_list = ['demo', 'test', 'abcdef']
- reset_pass = choice (pass_list)
- 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."
- print "test ", msg
- send_mail("Onelab Portal: Password reset request", msg, sender, recipients)
- return render(request,'pass_reset_sent.html') # Redirect after POST
+ for user_detail in user_details:
+ if user_detail['email']==email:
+ sender = 'support@myslice.info'
+ #recipients = authority_get_pi_emails(authority_hrn)
+ recipients = [email ]
+ pass_list = ['demo', 'test', 'abcdef']
+ reset_pass = choice (pass_list)
+ 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."
+ send_mail("Onelab Portal: Password reset request", msg, sender, recipients)
+ return render(request,'pass_reset_sent.html') # Redirect after POST
+ else:
+ messages.error(request, 'Sorry, this email is not registered.')
+ return self._display (request, form)
+
else:
return self._display (request, form)
<!-- no hint for this form, moreover we need more space to write stuff down
so we use a 3-6-3 layout -->
<div class='well'>
- <form class="cmxform form-horizontal" id="commentForm" action="#" method="post" role="form">{% csrf_token %}
+ <form class="cmxform form-horizontal" id="commentForm" action="" method="post" role="form">{% csrf_token %}
<fieldset>
{% for field in form %}
<div class="form-group">
<div class="col-xs-6"> {{ field.errors }} {{ field }} <p class="form-hint">{{ field.help_text }}</p> </div>
</div>
{% endfor %}
- <button class="submit btn btn-default col-xs-12" type="submit">Reset Password</button>
+ <button class="submit btn btn-default col-xs-12" type="submit">Reset My Password</button>
</fieldset>
</form>
</div>