Fix club rights

This commit is contained in:
Skia 2016-03-15 18:26:03 +01:00
parent d90c0f86f4
commit fe8f5bb2e3
4 changed files with 6 additions and 7 deletions

View File

@ -58,7 +58,7 @@ class Club(models.Model):
"""
Method to see if that object can be super edited by the given user
"""
if user.groups.filter(name=settings.AE_GROUPS['board']['name']).exists():
if user.is_in_group(settings.AE_GROUPS['board']['name']):
return True
return False
@ -117,5 +117,3 @@ class Membership(models.Model):
def get_absolute_url(self):
return reverse('club:club_members', kwargs={'club_id': self.club.id})

View File

@ -42,7 +42,7 @@ class ClubMemberForm(forms.ModelForm):
"""
ret = super(ClubMemberForm, self).clean()
ms = self.instance.club.get_membership_for(self._user)
if ms is not None and ms.role >= self.cleaned_data['role']:
if (ms is not None and ms.role >= self.cleaned_data['role']) or self._user.is_superuser:
return ret
raise ValidationError("You do not have the permission to do that")

View File

@ -96,6 +96,10 @@ class User(AbstractBaseUser, PermissionsMixin):
def to_dict(self):
return self.__dict__
def is_in_group(self, group_name):
"""If the user is in the group passed in argument (as string)"""
return self.groups.filter(name=group_name).exists()
def get_profile(self):
return {
"last_name": self.last_name,

View File

@ -72,9 +72,6 @@ class CanViewMixin(View):
"""
def dispatch(self, request, *arg, **kwargs):
res = super(CanViewMixin, self).dispatch(request, *arg, **kwargs)
import traceback
traceback.print_stack(limit=10)
print(self.__dict__)
if hasattr(self, 'object'):
obj = self.object
elif hasattr(self, 'object_list'):