Trees | Indices | Help |
---|
|
1 import time 2 import re 3 4 import flask 5 6 from coprs import db 7 from coprs import helpers 8 from coprs import models 9 from coprs import forms 10 11 from coprs.logic import coprs_logic 12 13 from coprs.views.admin_ns import admin_ns 14 from coprs.views.misc import login_required 15 16 from coprs.exceptions import InsufficientRightsException17 18 @admin_ns.route("/") 19 @login_required(role=helpers.RoleEnum("admin")) 20 -def admin_index():2223 24 @admin_ns.route("/legal-flag/") 25 @login_required(role=helpers.RoleEnum("admin")) 26 -def legal_flag():27 legal_flags = (models.LegalFlag.query 28 .outerjoin(models.LegalFlag.copr) 29 .options(db.contains_eager(models.LegalFlag.copr)) 30 .filter(models.LegalFlag.resolved_on == None) 31 .order_by(models.LegalFlag.raised_on.desc()) 32 .all()) 33 34 return flask.render_template("admin/legal-flag.html", 35 legal_flags=legal_flags)3637 38 @admin_ns.route("/legal-flag/<int:flag_id>/resolve/", methods=["POST"]) 39 @login_required(role=helpers.RoleEnum("admin")) 40 -def legal_flag_resolve(flag_id):41 42 (models.LegalFlag.query 43 .filter(models.LegalFlag.id == flag_id) 44 .update({"resolved_on": int(time.time()), 45 "resolver_id": flask.g.user.id})) 46 47 db.session.commit() 48 flask.flash("Legal flag resolved") 49 return flask.redirect(flask.url_for("admin_ns.legal_flag"))5051 52 @admin_ns.route("/playground/", methods=["POST", "GET"]) 53 @login_required(role=helpers.RoleEnum("admin")) 54 -def playground():55 form = forms.AdminPlaygroundSearchForm() 56 57 if form.validate_on_submit() and form.project.data: 58 m = re.match(r"(.+)/(.+)", form.project.data) 59 if not m: 60 flask.flash("Please search as username/projectname") 61 else: 62 username = m.group(1) 63 coprname = m.group(2) 64 65 copr = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname).first() 66 67 if copr: 68 return flask.redirect(flask.url_for("admin_ns.playground_project", 69 username=username, 70 coprname=coprname)) 71 else: 72 flask.flash("This project does not exist") 73 74 return flask.render_template("admin/playground.html", form_search = form)7576 77 @admin_ns.route("/playground/<username>/<coprname>/") 78 @login_required(role=helpers.RoleEnum("admin")) 79 -def playground_project(username, coprname):80 copr = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname).first() 81 if not copr: 82 flask.flash("Project {0} does not exist".format(copr)) 83 return flask.render_template("admin/playground.html") 84 85 form = forms.AdminPlaygroundForm() 86 form.playground.data = copr.playground 87 return flask.render_template("admin/playground.html", 88 form_set = form, 89 copr = copr)9091 92 @admin_ns.route("/playground/<username>/<coprname>/set/", methods=["POST"]) 93 @login_required(role=helpers.RoleEnum("admin")) 94 -def playground_set(username, coprname):95 copr = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname).first() 96 if copr: 97 form = forms.AdminPlaygroundForm() 98 99 if form.validate_on_submit(): 100 try: 101 copr.playground = form.playground.data 102 coprs_logic.CoprsLogic.set_playground(flask.g.user, copr) 103 except InsufficientRightsException as e: 104 flask.flash(str(e)) 105 db.session.rollback() 106 else: 107 flask.flash("Playground flag has been updated") 108 db.session.commit() 109 110 return flask.redirect(flask.url_for("admin_ns.playground_project", 111 username=username, 112 coprname=coprname))113
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Wed Aug 27 09:50:26 2014 | http://epydoc.sourceforge.net |