diff options
| author | rubenwardy <rw@rubenwardy.com> | 2018-05-27 17:58:09 +0100 |
|---|---|---|
| committer | rubenwardy <rw@rubenwardy.com> | 2018-05-27 18:52:23 +0100 |
| commit | 5e4613a6ef78180f208b0cd58aeffb63f1e19853 (patch) | |
| tree | c874ceae225b17159328abbf7194da040ab704e0 /app/views | |
| parent | f4c9348b7f36b31980f7629478fdc8b2877801cc (diff) | |
| download | cheatdb-5e4613a6ef78180f208b0cd58aeffb63f1e19853.tar.xz | |
Add ability to edit provides
Diffstat (limited to 'app/views')
| -rw-r--r-- | app/views/packages/__init__.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py index 5735d5a..e5a515d 100644 --- a/app/views/packages/__init__.py +++ b/app/views/packages/__init__.py @@ -106,6 +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)]) 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()]) @@ -144,6 +145,9 @@ def create_edit_package_page(author=None, name=None): form = PackageForm(formdata=request.form, obj=package) # Initial form class from post data and default data + if request.method == "GET" and package is not None: + form.provides_str.data = MetaPackage.ListToSpec(package.provides) + if request.method == "POST" and form.validate(): wasNew = False if not package: @@ -164,6 +168,12 @@ def create_edit_package_page(author=None, name=None): form.populate_obj(package) # copy to row + mpackage_cache = {} + package.provides.clear() + mpackages = MetaPackage.SpecToList(form.provides_str.data, mpackage_cache) + for m in mpackages: + package.provides.append(m) + package.tags.clear() for tag in form.tags.raw_data: package.tags.append(Tag.query.get(tag)) |
