diff options
author | rubenwardy <rw@rubenwardy.com> | 2019-01-28 22:28:47 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-01-28 22:28:47 +0000 |
commit | 034315d421c01c5524565d24e3f7fd3666a77ee1 (patch) | |
tree | a6d8b381b27c6e1aeaaa6cd53670ab1d4aaaa1b8 /app/views/packages/releases.py | |
parent | 5cd8b35d1f58104b78ed31724e174c2b478f3498 (diff) | |
download | cheatdb-034315d421c01c5524565d24e3f7fd3666a77ee1.tar.xz |
Add notes about min/max, and hide invalid options
Diffstat (limited to 'app/views/packages/releases.py')
-rw-r--r-- | app/views/packages/releases.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/app/views/packages/releases.py b/app/views/packages/releases.py index 13f0a32..a8ea37d 100644 --- a/app/views/packages/releases.py +++ b/app/views/packages/releases.py @@ -30,15 +30,25 @@ from wtforms.validators import * from wtforms.ext.sqlalchemy.fields import QuerySelectField +def get_mt_releases(is_max): + query = MinetestRelease.query.order_by(db.asc(MinetestRelease.id)) + if is_max: + query = query.limit(query.count() - 1) + else: + query = query.filter(MinetestRelease.name != "0.4.17") + + return query + + 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) + query_factory=lambda: get_mt_releases(False), 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) + query_factory=lambda: get_mt_releases(True), get_pk=lambda a: a.id, get_label=lambda a: a.name) submit = SubmitField("Save") class EditPackageReleaseForm(FlaskForm): @@ -47,9 +57,9 @@ class EditPackageReleaseForm(FlaskForm): 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) + query_factory=lambda: get_mt_releases(False), 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) + query_factory=lambda: get_mt_releases(True), 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"]) @@ -166,10 +176,10 @@ def edit_release_page(package, id): class BulkReleaseForm(FlaskForm): set_min = BooleanField("Set Min") 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) + query_factory=lambda: get_mt_releases(False), get_pk=lambda a: a.id, get_label=lambda a: a.name) set_max = BooleanField("Set Max") 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) + query_factory=lambda: get_mt_releases(True), get_pk=lambda a: a.id, get_label=lambda a: a.name) submit = SubmitField("Update") |