Commit ac7e5779c0b176bc0ad23a4ee332e468109aab99
1 parent
3a60e9f9
Exists in
master
and in
39 other branches
Only allowing user to edit his own profile
Showing
2 changed files
with
7 additions
and
0 deletions
Show diff stats
src/accounts/views.py
@@ -8,6 +8,7 @@ from django.views.generic import DetailView, UpdateView | @@ -8,6 +8,7 @@ from django.views.generic import DetailView, UpdateView | ||
8 | from django.utils.translation import ugettext as _ | 8 | from django.utils.translation import ugettext as _ |
9 | from django.shortcuts import render, redirect | 9 | from django.shortcuts import render, redirect |
10 | from django.core.urlresolvers import reverse | 10 | from django.core.urlresolvers import reverse |
11 | +from django.core.exceptions import PermissionDenied | ||
11 | 12 | ||
12 | from colab.deprecated import solrutils | 13 | from colab.deprecated import solrutils |
13 | from colab.deprecated import signup as signup_ | 14 | from colab.deprecated import signup as signup_ |
@@ -30,7 +31,12 @@ class UserProfileUpdateView(UserProfileBaseMixin, UpdateView): | @@ -30,7 +31,12 @@ class UserProfileUpdateView(UserProfileBaseMixin, UpdateView): | ||
30 | def get_success_url(self): | 31 | def get_success_url(self): |
31 | return reverse('user_profile', kwargs={'username': self.object.username}) | 32 | return reverse('user_profile', kwargs={'username': self.object.username}) |
32 | 33 | ||
34 | + def get_object(self, *args, **kwargs): | ||
35 | + obj = super(UserProfileUpdateView, self).get_object(*args, **kwargs) | ||
36 | + if self.request.user != obj: | ||
37 | + raise PermissionDenied | ||
33 | 38 | ||
39 | + return obj | ||
34 | 40 | ||
35 | class UserProfileDetailView(UserProfileBaseMixin, DetailView): | 41 | class UserProfileDetailView(UserProfileBaseMixin, DetailView): |
36 | template_name = 'accounts/user_detail.html' | 42 | template_name = 'accounts/user_detail.html' |
src/colab/custom_settings.py
@@ -181,6 +181,7 @@ FEEDZILLA_SITE_DESCRIPTION = gettext(u'Colab blog aggregator') | @@ -181,6 +181,7 @@ FEEDZILLA_SITE_DESCRIPTION = gettext(u'Colab blog aggregator') | ||
181 | ### BrowserID / Persona | 181 | ### BrowserID / Persona |
182 | SITE_URL = 'https://colab.interlegis.leg.br' | 182 | SITE_URL = 'https://colab.interlegis.leg.br' |
183 | 183 | ||
184 | +LOGIN_URL = '/' | ||
184 | LOGIN_REDIRECT_URL = '/' | 185 | LOGIN_REDIRECT_URL = '/' |
185 | LOGIN_REDIRECT_URL_FAILURE = '/' | 186 | LOGIN_REDIRECT_URL_FAILURE = '/' |
186 | LOGOUT_REDIRECT_URL = '/' | 187 | LOGOUT_REDIRECT_URL = '/' |