Skip to content

Commit

Permalink
Refactor a bit User model
Browse files Browse the repository at this point in the history
  • Loading branch information
TheBirdie authored and TheBirdie committed Jan 26, 2016
1 parent 7ec7f56 commit acccbe9
Showing 1 changed file with 19 additions and 23 deletions.
42 changes: 19 additions & 23 deletions sigma_core/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,51 +78,47 @@ def get_short_name(self):
def is_sigma_admin(self):
return self.is_staff or self.is_superuser

def is_group_member(self, g):
def get_group_membership(self, group):
from sigma_core.models.group_member import GroupMember
from sigma_core.models.group import Group
try:
mem = self.memberships.get(group=g)
return self.memberships.get(group=group)
except GroupMember.DoesNotExist:
return False
return mem.is_accepted()
return None

def is_group_member(self, g):
from sigma_core.models.group_member import GroupMember
mem = self.get_group_membership(g)
return mem is not None and mem.is_accepted()

def can_invite(self, group):
from sigma_core.models.group_member import GroupMember
from sigma_core.models.group import Group
try:
mem = self.memberships.get(group=group)
except GroupMember.DoesNotExist:
return False
return mem.perm_rank >= group.req_rank_invite
mem = self.get_group_membership(group)
return mem is not None and mem.perm_rank >= group.req_rank_invite

def can_accept_join_requests(self, group):
from sigma_core.models.group_member import GroupMember
from sigma_core.models.group import Group
try:
mem = self.memberships.get(group=group)
except GroupMember.DoesNotExist:
return False
return mem.perm_rank >= group.req_rank_accept_join_requests
mem = self.get_group_membership(group)
return mem is not None and mem.perm_rank >= group.req_rank_accept_join_requests

def can_modify_group_infos(self, group):
from sigma_core.models.group_member import GroupMember
from sigma_core.models.group import Group
try:
mem = self.memberships.get(group=group)
except GroupMember.DoesNotExist:
return False
return mem.perm_rank >= group.req_rank_modify_group_infos
mem = self.get_group_membership(group)
return mem is not None and mem.perm_rank >= group.req_rank_modify_group_infos


################################################################
# PERMISSIONS #
################################################################

# Perms for admin site
def has_perm(self, perm, obj=None):
return True

def has_module_perms(self, app_label):
return True
# End of admin site permissions

# Permissions
@staticmethod
def has_read_permission(request):
"""
Expand Down

0 comments on commit acccbe9

Please sign in to comment.