aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2020-08-18 16:14:47 +0100
committerrubenwardy <rw@rubenwardy.com>2020-08-18 16:14:47 +0100
commit68524adadfd93f31c08ed20a717ea4daf0516420 (patch)
treebe85220e4b7134eab80187b19650639aa488b78f
parentb8ee612b45d53e06abbf9757f2dbd5282c263b3d (diff)
downloadcheatdb-68524adadfd93f31c08ed20a717ea4daf0516420.tar.xz
Remove provides/dependencies from Package form
-rw-r--r--app/blueprints/packages/packages.py38
-rw-r--r--app/models.py6
-rw-r--r--app/public/static/package_create.js5
-rw-r--r--app/templates/packages/create_edit.html15
4 files changed, 31 insertions, 33 deletions
diff --git a/app/blueprints/packages/packages.py b/app/blueprints/packages/packages.py
index 0076c5c..6b24fa6 100644
--- a/app/blueprints/packages/packages.py
+++ b/app/blueprints/packages/packages.py
@@ -231,11 +231,10 @@ class PackageForm(FlaskForm):
type = SelectField("Type", [InputRequired()], choices=PackageType.choices(), coerce=PackageType.coerce, default=PackageType.MOD)
license = QuerySelectField("License", [DataRequired()], allow_blank=True, query_factory=lambda: License.query.order_by(db.asc(License.name)), get_pk=lambda a: a.id, get_label=lambda a: a.name)
media_license = QuerySelectField("Media License", [DataRequired()], allow_blank=True, query_factory=lambda: License.query.order_by(db.asc(License.name)), get_pk=lambda a: a.id, get_label=lambda a: a.name)
- provides_str = StringField("Provides (mods included in package)", [Optional()])
tags = QuerySelectMultipleField('Tags', query_factory=lambda: Tag.query.order_by(db.asc(Tag.name)), get_pk=lambda a: a.id, get_label=makeLabel)
content_warnings = QuerySelectMultipleField('Content Warnings', query_factory=lambda: ContentWarning.query.order_by(db.asc(ContentWarning.name)), get_pk=lambda a: a.id, get_label=makeLabel)
- harddep_str = StringField("Hard Dependencies", [Optional()])
- softdep_str = StringField("Soft Dependencies", [Optional()])
+ # harddep_str = StringField("Hard Dependencies", [Optional()])
+ # softdep_str = StringField("Soft Dependencies", [Optional()])
repo = StringField("VCS Repository URL", [Optional(), URL()], filters = [lambda x: x or None])
website = StringField("Website URL", [Optional(), URL()], filters = [lambda x: x or None])
issueTracker = StringField("Issue Tracker URL", [Optional(), URL()], filters = [lambda x: x or None])
@@ -285,9 +284,8 @@ def create_edit(author=None, name=None):
form.license.data = None
form.media_license.data = None
else:
- form.harddep_str.data = ",".join([str(x) for x in package.getSortedHardDependencies() ])
- form.softdep_str.data = ",".join([str(x) for x in package.getSortedOptionalDependencies() ])
- form.provides_str.data = MetaPackage.ListToSpec(package.provides)
+ # form.harddep_str.data = ",".join([str(x) for x in package.getSortedHardDependencies() ])
+ # form.softdep_str.data = ",".join([str(x) for x in package.getSortedOptionalDependencies() ])
form.tags.data = list(package.tags)
form.content_warnings.data = list(package.content_warnings)
@@ -326,25 +324,19 @@ def create_edit(author=None, name=None):
if package.type == PackageType.TXP:
package.license = package.media_license
- mpackage_cache = {}
- package.provides.clear()
- mpackages = MetaPackage.SpecToList(form.provides_str.data, mpackage_cache)
- for m in mpackages:
- package.provides.append(m)
-
- Dependency.query.filter_by(depender=package).delete()
- deps = Dependency.SpecToList(package, form.harddep_str.data, mpackage_cache)
- for dep in deps:
- dep.optional = False
- db.session.add(dep)
+ # Dependency.query.filter_by(depender=package).delete()
+ # deps = Dependency.SpecToList(package, form.harddep_str.data, mpackage_cache)
+ # for dep in deps:
+ # dep.optional = False
+ # db.session.add(dep)
- deps = Dependency.SpecToList(package, form.softdep_str.data, mpackage_cache)
- for dep in deps:
- dep.optional = True
- db.session.add(dep)
+ # deps = Dependency.SpecToList(package, form.softdep_str.data, mpackage_cache)
+ # for dep in deps:
+ # dep.optional = True
+ # db.session.add(dep)
- if wasNew and package.type == PackageType.MOD and not package.name in mpackage_cache:
- m = MetaPackage.GetOrCreate(package.name, mpackage_cache)
+ if wasNew and package.type == PackageType.MOD:
+ m = MetaPackage.GetOrCreate(package.name, {})
package.provides.append(m)
package.tags.clear()
diff --git a/app/models.py b/app/models.py
index 4aa18f0..568981a 100644
--- a/app/models.py
+++ b/app/models.py
@@ -165,7 +165,6 @@ class User(db.Model, UserMixin):
# Content
notifications = db.relationship("Notification", primaryjoin="User.id==Notification.user_id")
- # causednotifs = db.relationship("Notification", backref="causer", lazy="dynamic")
packages = db.relationship("Package", backref=db.backref("author", lazy="joined"), lazy="dynamic")
requests = db.relationship("EditRequest", backref="author", lazy="dynamic")
threads = db.relationship("Thread", backref="author", lazy="dynamic")
@@ -743,7 +742,7 @@ class Package(db.Model):
elif perm == Permission.MAKE_RELEASE or perm == Permission.ADD_SCREENSHOTS:
return isMaintainer
- elif perm == Permission.EDIT_PACKAGE or perm == Permission.REIMPORT_META or \
+ elif perm == Permission.EDIT_PACKAGE or \
perm == Permission.APPROVE_CHANGES or perm == Permission.APPROVE_RELEASE:
return isMaintainer and user.rank.atLeast(UserRank.MEMBER if self.approved else UserRank.NEW_MEMBER)
@@ -767,6 +766,9 @@ class Package(db.Model):
elif perm == Permission.CHANGE_RELEASE_URL:
return user.rank.atLeast(UserRank.MODERATOR)
+ elif perm == Permission.REIMPORT_META:
+ return user.rank.atLeast(UserRank.ADMIN)
+
else:
raise Exception("Permission {} is not related to packages".format(perm.name))
diff --git a/app/public/static/package_create.js b/app/public/static/package_create.js
index a278953..3dbf0ed 100644
--- a/app/public/static/package_create.js
+++ b/app/public/static/package_create.js
@@ -30,14 +30,13 @@ $(function() {
performTask("/tasks/getmeta/new/?url=" + encodeURI(repoURL)).then(function(result) {
setField("#name", result.name);
- setField("#provides_str", result.provides);
setField("#title", result.title);
setField("#repo", result.repo || repoURL);
setField("#issueTracker", result.issueTracker);
setField("#desc", result.description);
setField("#short_desc", result.short_description);
- setField("#harddep_str", result.depends);
- setField("#softdep_str", result.optional_depends);
+ // setField("#harddep_str", result.depends);
+ // setField("#softdep_str", result.optional_depends);
setField("#short_desc", result.short_description);
setField("#forums", result.forumId);
if (result.type && result.type.length > 2) {
diff --git a/app/templates/packages/create_edit.html b/app/templates/packages/create_edit.html
index 44280bc..1c2a5a0 100644
--- a/app/templates/packages/create_edit.html
+++ b/app/templates/packages/create_edit.html
@@ -14,7 +14,7 @@
{% if enable_wizard %}
<script src="/static/url.min.js"></script>
<script src="/static/polltask.js"></script>
- <script src="/static/package_create.js?v=3"></script>
+ <script src="/static/package_create.js?v=4"></script>
{% endif %}
<script src="/static/package_edit.js?v=3"></script>
{% endblock %}
@@ -81,12 +81,17 @@
<fieldset class="pkg_meta">
<legend class="not_txp">{{ _("Dependencies") }}</legend>
- {{ render_mpackage_field(form.provides_str, class_="not_txp", placeholder="Comma separated list") }}
- {{ render_deps_field(form.harddep_str, class_="not_txp not_game", placeholder="Comma separated list") }}
- {{ render_deps_field(form.softdep_str, class_="not_txp not_game", placeholder="Comma separated list") }}
+ <p class="alert alert-secondary not_txp">
+ <span class="fas fa-info pr-1"></span>
+
+ {{ _("Note: This information is now updated automatically when creating a release.") }}
+ </p>
+
+ {# {{ render_deps_field(form.harddep_str, class_="not_txp not_game", placeholder="Comma separated list") }}
+ {{ render_deps_field(form.softdep_str, class_="not_txp not_game", placeholder="Comma separated list") }} #}
</fieldset>
- <fieldset>
+ <fieldset class="mt-4">
<legend class="pkg_meta">{{ _("Repository and Links") }}</legend>
<div class="pkg_wiz_1">