You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.9 KiB
47 lines
1.9 KiB
# -*- coding: utf-8 -*-
|
|
from django.shortcuts import render_to_response
|
|
from django.http import HttpResponseRedirect, HttpResponse
|
|
from django.template import RequestContext
|
|
from django.core.context_processors import csrf
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.utils.translation import ugettext as _
|
|
# forms
|
|
from forms import ChangePasswordForm, EmailAnnouncementForm
|
|
# python
|
|
import json
|
|
|
|
|
|
@login_required
|
|
def profile(request):
|
|
args = {'change_password_form': ChangePasswordForm(),
|
|
'email_announcement_form': EmailAnnouncementForm()}
|
|
args.update(csrf(request))
|
|
return render_to_response('profile.html', args, context_instance=RequestContext(request))
|
|
|
|
@login_required
|
|
def change_password(request):
|
|
"""
|
|
Change current user password if new password is valid
|
|
"""
|
|
success = {'success': False}
|
|
if request.POST:
|
|
form = ChangePasswordForm(request.POST)
|
|
if form.is_valid():
|
|
user = request.user
|
|
if(user.check_password(form.cleaned_data.get('old_password'))):
|
|
#user.set_password(form.cleaned_data.get('new_password'))
|
|
#user.save()
|
|
success['success'] = True
|
|
success['message'] = _(u'Пароль именен')
|
|
return HttpResponse(json.dumps(success), content_type='application/json')
|
|
else:
|
|
errors = {'errors': [_(u'Не правильный пароль')]}
|
|
success.update(errors)
|
|
return HttpResponse(json.dumps(success), content_type='application/json')
|
|
else:
|
|
errors = [err[0] for err in form.errors.values()]
|
|
errors = {'errors': errors}
|
|
success.update(errors)
|
|
return HttpResponse(json.dumps(success), content_type='application/json')
|
|
else:
|
|
return HttpResponse(json.dumps(success), content_type='application/json') |