diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-05-25 18:57:30 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-05-25 18:57:30 +0100 |
commit | 53df124973c15b90e070f9225fcbeccdb0e64e55 (patch) | |
tree | 68a8b4db145ea7b51d8c1afb07aef8ab6fe2743c /app/models.py | |
parent | 8cf5c7204f0ebb787eafb9ffa04c9e61a8d6d3af (diff) | |
download | cheatdb-53df124973c15b90e070f9225fcbeccdb0e64e55.tar.xz |
Add edit and delete screenshot
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/app/models.py b/app/models.py index 9118f78..e8b66fb 100644 --- a/app/models.py +++ b/app/models.py @@ -65,6 +65,8 @@ class Permission(enum.Enum): DELETE_PACKAGE = "DELETE_PACKAGE" CHANGE_AUTHOR = "CHANGE_AUTHOR" MAKE_RELEASE = "MAKE_RELEASE" + ADD_SCREENSHOTS = "ADD_SCREENSHOTS" + APPROVE_SCREENSHOT = "APPROVE_SCREENSHOT" APPROVE_RELEASE = "APPROVE_RELEASE" APPROVE_NEW = "APPROVE_NEW" CHANGE_RELEASE_URL = "CHANGE_RELEASE_URL" @@ -393,7 +395,7 @@ class Package(db.Model): isOwner = user == self.author # Members can edit their own packages, and editors can edit any packages - if perm == Permission.MAKE_RELEASE: + if perm == Permission.MAKE_RELEASE or perm == Permission.ADD_SCREENSHOTS: return isOwner or user.rank.atLeast(UserRank.EDITOR) if perm == Permission.EDIT_PACKAGE or perm == Permission.APPROVE_CHANGES: @@ -401,7 +403,7 @@ class Package(db.Model): # Editors can change authors, approve new packages, and approve releases elif perm == Permission.CHANGE_AUTHOR or perm == Permission.APPROVE_NEW \ - or perm == Permission.APPROVE_RELEASE: + or perm == Permission.APPROVE_RELEASE or perm == Permission.APPROVE_SCREENSHOT: return user.rank.atLeast(UserRank.EDITOR) # Moderators can delete packages @@ -452,6 +454,14 @@ class PackageScreenshot(db.Model): package_id = db.Column(db.Integer, db.ForeignKey("package.id")) title = db.Column(db.String(100), nullable=False) url = db.Column(db.String(100), nullable=False) + approved = db.Column(db.Boolean, nullable=False, default=False) + + + def getEditURL(self): + return url_for("edit_screenshot_page", + author=self.package.author.username, + name=self.package.name, + id=self.id) def getThumbnailURL(self): return self.url # TODO |