Work on Snipt authorization.

master
Nick Sergeant 2015-10-18 10:35:44 -04:00
parent aefd10b092
commit 9c96783c84
3 changed files with 13 additions and 1 deletions

View File

@ -298,6 +298,11 @@ class Snipt(models.Model):
else:
return get_lexer_by_name(self.lexer).name
@property
def is_authorized_user(self, user):
if self.user == user:
return True
class SniptLogEntry(models.Model):
"""An individual log entry for a Snipt changeset."""

View File

@ -196,7 +196,9 @@ def list_user(request, username_or_custom_slug, tag_slug=None):
snipts = Snipt.objects
if user == request.user or \
(request.GET.get('api_key') == user.api_key.key):
(request.GET.get('api_key') == user.api_key.key) or \
(user.team and user.team.user_is_member(request.user)):
public = False
favorites = Favorite.objects.filter(user=user).values('snipt')

View File

@ -58,3 +58,8 @@ class Team(models.Model):
return 'Unlimited'
else:
return plan_map[self.plan]
def user_is_member(self, user):
if self.owner == user or user in self.members:
return True
return False