diff options
-rw-r--r-- | app/templates/admin/list.html | 5 | ||||
-rw-r--r-- | app/views/admin.py | 10 |
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") |