diff options
author | rubenwardy <rw@rubenwardy.com> | 2018-05-21 22:20:28 +0100 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2018-05-21 22:20:28 +0100 |
commit | acad90c3123a3a879c8d5cda040a4702114d19b0 (patch) | |
tree | d60b4044f99a0e3060a83c98cbf578ab1e03141a /app/views/packages.py | |
parent | 47432ea7e4e7abda7021e3e125d6347fbe6534e0 (diff) | |
download | cheatdb-acad90c3123a3a879c8d5cda040a4702114d19b0.tar.xz |
Add dependency support
Diffstat (limited to 'app/views/packages.py')
-rw-r--r-- | app/views/packages.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/app/views/packages.py b/app/views/packages.py index 087a83f..c7af289 100644 --- a/app/views/packages.py +++ b/app/views/packages.py @@ -118,18 +118,20 @@ def package_download_page(package): class PackageForm(FlaskForm): - name = StringField("Name", [InputRequired(), Length(1, 20), Regexp("^[a-z0-9_]", 0, "Lower case letters (a-z), digits (0-9), and underscores (_) only")]) - title = StringField("Title", [InputRequired(), Length(3, 50)]) - shortDesc = StringField("Short Description", [InputRequired(), Length(1,200)]) - 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) - tags = QuerySelectMultipleField('Tags', query_factory=lambda: Tag.query, get_pk=lambda a: a.id, get_label=lambda a: a.title) - repo = StringField("Repo URL", [Optional(), URL()]) - website = StringField("Website URL", [Optional(), URL()]) - issueTracker = StringField("Issue Tracker URL", [Optional(), URL()]) - forums = IntegerField("Forum Topic ID", [InputRequired(), NumberRange(0,999999)]) - submit = SubmitField("Save") + name = StringField("Name", [InputRequired(), Length(1, 20), Regexp("^[a-z0-9_]", 0, "Lower case letters (a-z), digits (0-9), and underscores (_) only")]) + title = StringField("Title", [InputRequired(), Length(3, 50)]) + shortDesc = StringField("Short Description", [InputRequired(), Length(1,200)]) + 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) + tags = QuerySelectMultipleField('Tags', query_factory=lambda: Tag.query, get_pk=lambda a: a.id, get_label=lambda a: a.title) + harddeps = QuerySelectMultipleField('Dependencies', query_factory=lambda: Package.query, get_pk=lambda a: a.id, get_label=lambda a: a.title + " by " + a.author.display_name) + softdeps = QuerySelectMultipleField('Soft Dependencies', query_factory=lambda: Package.query, get_pk=lambda a: a.id, get_label=lambda a: a.title + " by " + a.author.display_name) + repo = StringField("Repo URL", [Optional(), URL()]) + website = StringField("Website URL", [Optional(), URL()]) + issueTracker = StringField("Issue Tracker URL", [Optional(), URL()]) + forums = IntegerField("Forum Topic ID", [InputRequired(), NumberRange(0,999999)]) + submit = SubmitField("Save") @app.route("/packages/new/", methods=["GET", "POST"]) @app.route("/packages/<author>/<name>/edit/", methods=["GET", "POST"]) |