def change_password_request(request): if request.method == 'POST': login = request.POST['login'] new_password = request.POST['new_password'] if len(new_password.strip()) == 0: return inform_message(_(u'Пароль має бути не порожнім!')) user = RPUser.objects.filter(login=login) if not user: return inform_message(_(u'Користувача з логіном %(passwd)s не знайдено на сервері!') %{'passwd':new_password}) user = user[0] accept_code = str(uuid.uuid4()) md5 = hashlib.md5() md5.update(new_password.encode('utf8')) passwd = md5.hexdigest() user.password_md5 = passwd #request.session['accept_code'] = accept_code #request.session['unaccepted_user'] = user MEM_SESSIONS[accept_code] = (datetime.now(), user) message = _(u'Ви забули пароль входу на сайт %(hostname)s.\nДля того, щоб змінити пароль на новий, перейдіть за посиланням http://%(hostname)s/accept_change_password/%(accept_code)s\n\nЯкщо ви не бажаєте змінювати пароль або не зареєстровані на сайті %(hostname)s, будь ласка, проігноруйте даний лист.') % {'hostname':hostname,'accept_code':accept_code} MailClient.sendMail([user.email], _(u'Зміна паролю!'), message) return inform_message(_(u'Інструкція по зміні паролю вислана Вам на e-mail адресу, вказану при реєстрації')) return render_to_response('change_password_form.html',locals())
def send_activating_letter(email, login, accept_code): message = _(u'Доброго дня!\nЦе активаційний лист з сайту %(hostname)s.\nЯкщо ви бажаєте зареєструватись, перейдіть за посиланням http://%(hostname)s/activate_user/%(accept_code)s\n\nЯкщо ви не реєструвались на сайті %(hostname)s, проігноруйте даний лист.') % {'hostname':hostname,'accept_code':accept_code} MailClient.sendMail([email], _(u'Лист активації'), message)