from exadmin.sites import site from base import BaseAdminPlugin, BaseAdminView, CommAdminView, ModelAdminView, filter_hook from list import ListAdminView from edit import CreateAdminView, UpdateAdminView, ModelFormAdminView from delete import DeleteAdminView from detail import DetailAdminView from dashboard import Dashboard, BaseWidget, widget_manager from website import IndexView, LoginView, LogoutView, UserSettingView # admin site-wide views site.register_view(r'^$', IndexView, name='index') site.register_view(r'^login/$', LoginView, name='login') site.register_view(r'^logout/$', LogoutView, name='logout') site.register_view(r'^settings/user$', UserSettingView, name='user_settings') site.register_modelview(r'^$', ListAdminView, name='%s_%s_changelist') site.register_modelview(r'^add/$', CreateAdminView, name='%s_%s_add') site.register_modelview(r'^(.+)/delete/$', DeleteAdminView, name='%s_%s_delete') site.register_modelview(r'^(.+)/update/$', UpdateAdminView, name='%s_%s_change') site.register_modelview(r'^(.+)/detail/$', DetailAdminView, name='%s_%s_detail')
change_password_form = PasswordChangeForm def get(self, request): self.obj = self.user self.form = self.change_password_form(self.obj) return self.get_response() def get_context(self): context = super(ChangeAccountPasswordView, self).get_context() context.update({ 'title': _('Change password'), 'account_view': True, }) return context @sensitive_post_parameters() def post(self, request): self.obj = self.user self.form = self.change_password_form(self.obj, request.POST) if self.form.is_valid(): self.form.save() self.message_user(ugettext('Password changed successfully.'), 'success') return HttpResponseRedirect(self.get_admin_url('index')) else: return self.get_response() site.register_view(r'^auth/user/(.+)/update/password/$', ChangePasswordView, name='user_change_password') site.register_view(r'^account/password/$', ChangeAccountPasswordView, name='account_password')