diff options
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"]) |