From 56ff354021fd672f50e5a9a394a53f8c776db927 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 30 Jan 2021 01:19:43 +0000 Subject: [PATCH] Fix new release not reseting outdated flag --- app/blueprints/packages/releases.py | 11 +++++------ app/models/packages.py | 3 +++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/blueprints/packages/releases.py b/app/blueprints/packages/releases.py index 98e6607..a271d21 100644 --- a/app/blueprints/packages/releases.py +++ b/app/blueprints/packages/releases.py @@ -156,7 +156,7 @@ def download_release(package, id): @login_required @is_package_page def edit_release(package, id): - release = PackageRelease.query.get(id) + release : PackageRelease = PackageRelease.query.get(id) if release is None or release.package != package: abort(404) @@ -173,7 +173,6 @@ def edit_release(package, id): form.approved.data = release.approved if form.validate_on_submit(): - wasApproved = release.approved if canEdit: release.title = form["title"].data release.min_rel = form["min_rel"].data.getActual() @@ -185,10 +184,10 @@ def edit_release(package, id): if release.task_id is not None: release.task_id = None - if canApprove: - release.approved = form["approved"].data - else: - release.approved = wasApproved + if form.approved.data: + release.approve(current_user) + elif canApprove: + release.approved = False db.session.commit() return redirect(package.getDetailsURL()) diff --git a/app/models/packages.py b/app/models/packages.py index 3d52ed9..fb8c41e 100644 --- a/app/models/packages.py +++ b/app/models/packages.py @@ -856,6 +856,9 @@ class PackageRelease(db.Model): if not self.package.checkPerm(user, Permission.APPROVE_RELEASE): return False + if self.approved: + return True + assert self.task_id is None and self.url is not None and self.url != "" self.approved = True