aboutsummaryrefslogtreecommitdiff
path: root/app/views
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2019-01-28 20:48:07 +0000
committerrubenwardy <rw@rubenwardy.com>2019-01-28 20:48:07 +0000
commitd77403c0be04a79693fca4b0a8c6a5b3e06a6177 (patch)
treedefb75c7be510e99c0b246edf0220c7e1352d905 /app/views
parente9fe936aa98e9325034750f2f327ad4271c7e55d (diff)
downloadcheatdb-d77403c0be04a79693fca4b0a8c6a5b3e06a6177.tar.xz
Add min and max Minetest version support
Diffstat (limited to 'app/views')
-rw-r--r--app/views/packages/releases.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/views/packages/releases.py b/app/views/packages/releases.py
index b314b81..98a72a1 100644
--- a/app/views/packages/releases.py
+++ b/app/views/packages/releases.py
@@ -27,12 +27,18 @@ from celery import uuid
from flask_wtf import FlaskForm
from wtforms import *
from wtforms.validators import *
+from wtforms.ext.sqlalchemy.fields import QuerySelectField
+
class CreatePackageReleaseForm(FlaskForm):
title = StringField("Title", [InputRequired(), Length(1, 30)])
uploadOpt = RadioField ("Method", choices=[("upload", "File Upload")], default="upload")
vcsLabel = StringField("VCS Commit or Branch", default="master")
fileUpload = FileField("File Upload")
+ min_rel = QuerySelectField("Minimum Minetest Version", [InputRequired()],
+ query_factory=lambda: MinetestRelease.query.order_by(db.asc(MinetestRelease.id)), get_pk=lambda a: a.id, get_label=lambda a: a.name)
+ max_rel = QuerySelectField("Maximum Minetest Version", [InputRequired()],
+ query_factory=lambda: MinetestRelease.query.order_by(db.asc(MinetestRelease.id)), get_pk=lambda a: a.id, get_label=lambda a: a.name)
submit = SubmitField("Save")
class EditPackageReleaseForm(FlaskForm):
@@ -40,6 +46,10 @@ class EditPackageReleaseForm(FlaskForm):
url = StringField("URL", [URL])
task_id = StringField("Task ID")
approved = BooleanField("Is Approved")
+ min_rel = QuerySelectField("Minimum Minetest Version", [InputRequired()],
+ query_factory=lambda: MinetestRelease.query.order_by(db.asc(MinetestRelease.id)), get_pk=lambda a: a.id, get_label=lambda a: a.name)
+ max_rel = QuerySelectField("Maximum Minetest Version", [InputRequired()],
+ query_factory=lambda: MinetestRelease.query.order_by(db.asc(MinetestRelease.id)), get_pk=lambda a: a.id, get_label=lambda a: a.name)
submit = SubmitField("Save")
@app.route("/packages/<author>/<name>/releases/new/", methods=["GET", "POST"])
@@ -63,6 +73,8 @@ def create_release_page(package):
rel.title = form["title"].data
rel.url = ""
rel.task_id = uuid()
+ rel.min_rel = form["min_rel"].data.getActual()
+ rel.max_rel = form["max_rel"].data.getActual()
db.session.add(rel)
db.session.commit()
@@ -80,6 +92,8 @@ def create_release_page(package):
rel.package = package
rel.title = form["title"].data
rel.url = uploadedPath
+ rel.min_rel = form["min_rel"].data.getActual()
+ rel.max_rel = form["max_rel"].data.getActual()
db.session.add(rel)
db.session.commit()
@@ -128,6 +142,8 @@ def edit_release_page(package, id):
wasApproved = release.approved
if canEdit:
release.title = form["title"].data
+ release.min_rel = form["min_rel"].data.getActual()
+ release.max_rel = form["max_rel"].data.getActual()
if package.checkPerm(current_user, Permission.CHANGE_RELEASE_URL):
release.url = form["url"].data