]> git.ozlabs.org Git - patchwork/blobdiff - apps/patchwork/models.py
models: Project.is_editable to check whether a user has edit rights
[patchwork] / apps / patchwork / models.py
index 6ad4e1ad3ff993c22a84e10ddb23ec1fe1b50047..737e8c5b28ebf03785d6e63d8840bcc6a962f28d 100644 (file)
@@ -67,6 +67,11 @@ class Project(models.Model):
     def __unicode__(self):
         return self.name
 
+    def is_editable(self, user):
+        if not user.is_authenticated():
+            return False
+        return self in user.get_profile().maintainer_projects.all()
+
 class UserProfile(models.Model):
     user = models.ForeignKey(User, unique = True)
     primary_project = models.ForeignKey(Project, null = True, blank = True)
@@ -223,12 +228,7 @@ class Patch(models.Model):
         if self.submitter.user == user or self.delegate == user:
             return True
 
-        profile = user.get_profile()
-        return self.project in user.get_profile().maintainer_projects.all()
-
-    def form(self):
-        f = PatchForm(instance = self, prefix = self.id)
-        return f
+        return self.project.is_editable(user)
 
     def filename(self):
         fname_re = re.compile('[^-_A-Za-z0-9\.]+')
@@ -256,7 +256,6 @@ class Patch(models.Model):
         else:
             postscript = ''
 
-        responses = False
         for comment in Comment.objects.filter(patch = self) \
                 .exclude(msgid = self.msgid):
             body += comment.patch_responses()