aboutsummaryrefslogtreecommitdiff
path: root/app/views/packages.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/packages.py')
-rw-r--r--app/views/packages.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/views/packages.py b/app/views/packages.py
index c9ad24f..dfe7af0 100644
--- a/app/views/packages.py
+++ b/app/views/packages.py
@@ -9,6 +9,7 @@ from .utils import *
from flask_wtf import FlaskForm
from wtforms import *
from wtforms.validators import *
+from wtforms.ext.sqlalchemy.fields import QuerySelectMultipleField
# TODO: the following could be made into one route, except I"m not sure how
@@ -134,6 +135,7 @@ class PackageForm(FlaskForm):
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)
+ 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()])
@@ -164,6 +166,10 @@ def create_edit_package_page(type=None, author=None, name=None):
package.author = current_user
# package.approved = package.checkPerm(current_user, Permission.APPROVE_NEW)
+ package.tags.clear()
+ for tag in form.tags.raw_data:
+ package.tags.append(Tag.query.get(tag))
+
form.populate_obj(package) # copy to row
db.session.commit() # save
return redirect(package.getDetailsURL()) # redirect