aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-05-25 18:57:30 +0100
committerrubenwardy <rw@rubenwardy.com>2018-05-25 18:57:30 +0100
commit53df124973c15b90e070f9225fcbeccdb0e64e55 (patch)
tree68a8b4db145ea7b51d8c1afb07aef8ab6fe2743c /app/models.py
parent8cf5c7204f0ebb787eafb9ffa04c9e61a8d6d3af (diff)
downloadcheatdb-53df124973c15b90e070f9225fcbeccdb0e64e55.tar.xz
Add edit and delete screenshot
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py14
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