aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-05-27 23:13:13 +0100
committerrubenwardy <rw@rubenwardy.com>2018-05-27 23:13:13 +0100
commita2b873bf383a3b77fbb6e699114f286ae2ba5a4f (patch)
treeae47c83c99627c24f81db8bcc83f26344dd13506
parentd0969263ba8a472cc5bdb712c6e255518e95a2f5 (diff)
downloadcheatdb-a2b873bf383a3b77fbb6e699114f286ae2ba5a4f.tar.xz
Add 'set provides from name' admin action
-rw-r--r--app/templates/admin/list.html5
-rw-r--r--app/views/admin.py10
2 files changed, 13 insertions, 2 deletions
diff --git a/app/templates/admin/list.html b/app/templates/admin/list.html
index 284919d..ff422ba 100644
--- a/app/templates/admin/list.html
+++ b/app/templates/admin/list.html
@@ -18,8 +18,9 @@
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
<select name="action">
<option value="importusers">Create users from mod list</option>
- <option value="importscreenshots">Import screenshots from VCS</option>
- <option value="importdepends" selected>Import dependencies from downloads</option>
+ <option value="importscreenshots" selected>Import screenshots from VCS</option>
+ <option value="importdepends">Import dependencies from downloads</option>
+ <option value="modprovides">Set provides to mod name</option>
</select>
<input type="submit" value="Perform" />
</form>
diff --git a/app/views/admin.py b/app/views/admin.py
index b1cfed6..fa6639c 100644
--- a/app/views/admin.py
+++ b/app/views/admin.py
@@ -55,6 +55,16 @@ def admin_page():
elif action == "importdepends":
task = importAllDependencies.delay()
return redirect(url_for("check_task", id=task.id, r=url_for("admin_page")))
+ elif action == "modprovides":
+ packages = Package.query.filter_by(type=PackageType.MOD).all()
+ mpackage_cache = {}
+ for p in packages:
+ if len(p.provides) == 0:
+ p.provides.append(MetaPackage.GetOrCreate(p.name, mpackage_cache))
+
+ db.session.commit()
+ return redirect(url_for("admin_page"))
+
else:
flash("Unknown action: " + action, "error")