Added basic password reset function

This commit is contained in:
2010-03-14 23:00:35 +00:00
parent d987728352
commit ac62f9feb7
5 changed files with 62 additions and 2 deletions

View File

@@ -11,6 +11,8 @@ urlpatterns = patterns('',
(r'^profile/add/service', views.service_add),
(r'^profile/del/service/$', views.service_del),
(r'^profile/del/service/(?P<serviceid>\d+)/$', views.service_del),
(r'^profile/reset/service/(?P<serviceid>\d+)/$', views.service_reset),
(r'^profile/reset/service/(?P<serviceid>\d+)/(?P<accept>\d+)$', views.service_reset),
(r'^profile/add/reddit', views.reddit_add),
(r'^profile/del/reddit/$', views.reddit_del),
(r'^profile/del/reddit/(?P<redditid>\d+)/$', views.reddit_del),

View File

@@ -98,7 +98,7 @@ def service_add(request):
acc.service = form.cleaned_data['service']
acc.character = form.cleaned_data['character']
acc.password = hashlib.sha1('%s%s' % (form.cleaned_data['service'].name, settings.SECRET_KEY)).hexdigest()
acc.password = hashlib.sha1('%s%s' % (form.cleaned_data['character'].name, settings.SECRET_KEY)).hexdigest()
try:
acc.save()
@@ -128,6 +128,27 @@ def service_del(request, serviceid=0):
return HttpResponseRedirect(reverse('sso.views.profile'))
@login_required
def service_reset(request, serviceid=0, accept=0):
if serviceid > 0 :
try:
acc = ServiceAccount.objects.get(id=serviceid)
except ServiceAccount.DoesNotExist:
return HttpResponseRedirect(reverse('sso.views.profile'))
if acc.user == request.user:
if not accept:
return render_to_response('sso/serviceaccount_reset.html', locals())
passwd = hashlib.sha1('%s%s' % (acc.service_uid, settings.SECRET_KEY)).hexdigest()
api = acc.service.api_class
api.enable_user(acc.service_uid, passwd)
return render_to_response('sso/serviceaccount_resetcomplete.html', locals())
return HttpResponseRedirect(reverse('sso.views.profile'))
@login_required
def reddit_add(request):