aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models.py9
-rw-r--r--app/tasks/importtasks.py2
-rw-r--r--app/views/packages/releases.py3
3 files changed, 12 insertions, 2 deletions
diff --git a/app/models.py b/app/models.py
index 1dfa017..ed9a21f 100644
--- a/app/models.py
+++ b/app/models.py
@@ -696,6 +696,15 @@ class PackageRelease(db.Model):
def __init__(self):
self.releaseDate = datetime.datetime.now()
+ def approve(self, user):
+ if not self.package.checkPerm(user, Permission.APPROVE_RELEASE):
+ return False
+
+ assert(self.task_id is None and self.url is not None and self.url != "")
+
+ self.approved = True
+ return True
+
class PackageReview(db.Model):
id = db.Column(db.Integer, primary_key=True)
diff --git a/app/tasks/importtasks.py b/app/tasks/importtasks.py
index dc46f46..a9277c5 100644
--- a/app/tasks/importtasks.py
+++ b/app/tasks/importtasks.py
@@ -348,6 +348,7 @@ def makeVCSReleaseFromGithub(id, branch, release, url):
release.url = urlmaker.getCommitDownload(commits[0]["sha"])
release.task_id = None
release.commit_hash = commits[0]["sha"]
+ release.approve(release.package.author)
print(release.url)
db.session.commit()
@@ -379,6 +380,7 @@ def makeVCSRelease(id, branch):
release.url = "/uploads/" + filename
release.task_id = None
release.commit_hash = repo.head.object.hexsha
+ release.approve(release.package.author)
print(release.url)
db.session.commit()
diff --git a/app/views/packages/releases.py b/app/views/packages/releases.py
index 45935e3..af17c93 100644
--- a/app/views/packages/releases.py
+++ b/app/views/packages/releases.py
@@ -85,7 +85,6 @@ def create_release_page(package):
rel.task_id = uuid()
rel.min_rel = form["min_rel"].data.getActual()
rel.max_rel = form["max_rel"].data.getActual()
- rel.approved = package.checkPerm(current_user, Permission.APPROVE_RELEASE)
db.session.add(rel)
db.session.commit()
@@ -105,7 +104,7 @@ def create_release_page(package):
rel.url = uploadedPath
rel.min_rel = form["min_rel"].data.getActual()
rel.max_rel = form["max_rel"].data.getActual()
- rel.approved = package.checkPerm(current_user, Permission.APPROVE_RELEASE)
+ rel.approve(current_user)
db.session.add(rel)
db.session.commit()