aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-03-23 19:49:57 +0000
committerrubenwardy <rw@rubenwardy.com>2018-03-23 19:49:57 +0000
commitbb9d589fb55718db6783a236d047614b284d352e (patch)
treec5e2ef191ce4d22895318356ef5151b7ece09b2d /app/models.py
parenta5042a986a05e9bedf779af133267257915a426b (diff)
downloadcheatdb-bb9d589fb55718db6783a236d047614b284d352e.tar.xz
Add EditRequest approval and rejection
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/app/models.py b/app/models.py
index c97bdd9..02ae887 100644
--- a/app/models.py
+++ b/app/models.py
@@ -251,6 +251,7 @@ class EditRequest(db.Model):
title = db.Column(db.String(100), nullable=False)
desc = db.Column(db.String(1000), nullable=True)
+ status = db.Column(db.Integer, nullable=False, default=0)
changes = db.relationship("EditRequestChange", backref="request",
lazy="dynamic")
@@ -262,6 +263,20 @@ class EditRequest(db.Model):
name=self.package.name,
id=self.id)
+ def getApproveURL(self):
+ return url_for("approve_editrequest_page",
+ ptype=self.package.type.toName(),
+ author=self.package.author.username,
+ name=self.package.name,
+ id=self.id)
+
+ def getRejectURL(self):
+ return url_for("reject_editrequest_page",
+ ptype=self.package.type.toName(),
+ author=self.package.author.username,
+ name=self.package.name,
+ id=self.id)
+
def applyAll(self, package):
for change in self.changes:
change.apply(package)
@@ -275,12 +290,11 @@ class EditRequestChange(db.Model):
key = db.Column(db.Enum(PackagePropertyKey), nullable=False)
# TODO: make diff instead
- oldValue = db.Column(db.Text, nullable=False)
- newValue = db.Column(db.Text, nullable=False)
+ oldValue = db.Column(db.Text, nullable=True)
+ newValue = db.Column(db.Text, nullable=True)
def apply(self, package):
- prop = PackagePropertyKey[self.key]
-
+ setattr(package, self.key.name, self.newValue)
# Setup Flask-User
db_adapter = SQLAlchemyAdapter(db, User) # Register the User model