aboutsummaryrefslogtreecommitdiff
path: root/app/views
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-05-27 20:15:35 +0100
committerrubenwardy <rw@rubenwardy.com>2018-05-27 20:22:01 +0100
commit82159d488d87d204390dc58fdd30ca2167156b79 (patch)
tree18890ad530f1b0bcc0a4b4d6f983c06a21280be9 /app/views
parent5e4613a6ef78180f208b0cd58aeffb63f1e19853 (diff)
downloadcheatdb-82159d488d87d204390dc58fdd30ca2167156b79.tar.xz
Add meta package selector
Diffstat (limited to 'app/views')
-rw-r--r--app/views/packages/__init__.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py
index e5a515d..3c3acf0 100644
--- a/app/views/packages/__init__.py
+++ b/app/views/packages/__init__.py
@@ -106,7 +106,7 @@ class PackageForm(FlaskForm):
desc = TextAreaField("Long Description", [Optional(), Length(0,10000)])
type = SelectField("Type", [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.MOD)
license = QuerySelectField("License", [InputRequired()], query_factory=lambda: License.query, get_pk=lambda a: a.id, get_label=lambda a: a.name)
- provides_str = StringField("Provides", [InputRequired(), Length(1,1000)])
+ provides_str = StringField("Provides", [Optional(), Length(0,1000)])
tags = QuerySelectMultipleField('Tags', query_factory=lambda: Tag.query.order_by(db.asc(Tag.name)), get_pk=lambda a: a.id, get_label=lambda a: a.title)
repo = StringField("Repo URL", [Optional(), URL()])
website = StringField("Website URL", [Optional(), URL()])
@@ -174,6 +174,11 @@ def create_edit_package_page(author=None, name=None):
for m in mpackages:
package.provides.append(m)
+ if wasNew and package.type == PackageType.MOD and not package.name in mpackage_cache:
+ m = MetaPackage.GetOrCreate(package.name, mpackage_cache)
+ package.provides.append(m)
+
+
package.tags.clear()
for tag in form.tags.raw_data:
package.tags.append(Tag.query.get(tag))
@@ -188,7 +193,8 @@ def create_edit_package_page(author=None, name=None):
enableWizard = name is None and request.method != "POST"
return render_template("packages/create_edit.html", package=package, \
- form=form, author=author, enable_wizard=enableWizard)
+ form=form, author=author, enable_wizard=enableWizard, \
+ mpackages=MetaPackage.query.order_by(db.asc(MetaPackage.name)).all())
@app.route("/packages/<author>/<name>/approve/", methods=["POST"])
@login_required