Skip to content

Commit

Permalink
Corrected password change view to not fail spectacularly.
Browse files Browse the repository at this point in the history
  • Loading branch information
melinath committed Sep 20, 2013
1 parent b194348 commit 5e6aced
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
22 changes: 16 additions & 6 deletions djam/batteries.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,43 @@
from django.contrib.auth.forms import AdminPasswordChangeForm
from django.contrib.auth.models import User
from django.conf.urls import patterns, url
from django.http import Http404

from djam.riffs.auth import AuthRiff
from djam.riffs.dashboard import DashboardRiff
from djam.riffs.models import ModelRiff
from djam.views.generic import UpdateView
from djam.views.generic import FormView
from djam.views.models import ModelRiffMixin


class UserPasswordView(ModelRiffMixin, UpdateView):
class UserPasswordView(ModelRiffMixin, FormView):
form_class = AdminPasswordChangeForm
template_name = 'djam/models/auth/user/password-change.html'
model = User

def get_success_url(self):
return self.riff.reverse('update', pk=self.object.pk)
return self.riff.reverse('update', pk=self.kwargs['pk'])

def has_permission(self, request):
return self.riff.has_change_permission(request)

def get_form_kwargs(self):
kwargs = super(UserPasswordView, self).get_form_kwargs()
kwargs['user'] = kwargs.pop('instance')
try:
self.object = User.objects.get(pk=self.kwargs['pk'])
except (User.DoesNotExist, KeyError):
raise Http404
kwargs['user'] = self.object
return kwargs

def form_valid(self, form):
form.save()
return super(UserPasswordView, self).form_valid(form)

def get_crumbs(self):
crumbs = super(UserPasswordView, self).get_crumbs()
crumbs += [
(self.riff.reverse('update', pk=self.object.pk),
(self.riff.reverse('update', pk=self.kwargs['pk']),
unicode(self.object)),
(None, 'Change password'),
]
Expand All @@ -38,7 +48,7 @@ class UserRiff(ModelRiff):
model = User

def get_password_change_kwargs(self):
return self.get_view_kwargs()
return {'riff': self}

def get_extra_urls(self):
urlpatterns = super(UserRiff, self).get_extra_urls()
Expand Down
2 changes: 1 addition & 1 deletion djam/static/djam/css/djam.css
Original file line number Diff line number Diff line change
Expand Up @@ -2659,7 +2659,7 @@ a.widget-text:hover { text-decoration: none; color: inherit; background-color: #

h1, h2, h3, h4, .brand { font-family: "Patua One", "Century Schoolbook", Georgia, serif; font-weight: normal; }

body { padding-top: 70px; background: white url('../images/brilliant.png?1372456122'); }
body { padding-top: 70px; background: white url('../images/brilliant.png?1371751298'); }

.control-label.required { font-weight: bold; }

Expand Down

0 comments on commit 5e6aced

Please sign in to comment.