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 InsufficientRightsException 17 18 19 @admin_ns.route("/") 20 @login_required(role=helpers.RoleEnum("admin")) 23 24 25 @admin_ns.route("/legal-flag/") 26 @login_required(role=helpers.RoleEnum("admin"))28 legal_flags = ( 29 models.LegalFlag.query 30 .outerjoin(models.LegalFlag.copr) 31 .options(db.contains_eager(models.LegalFlag.copr)) 32 .filter(models.LegalFlag.resolved_on == None) 33 .order_by(models.LegalFlag.raised_on.desc()) 34 .all()) 35 36 return flask.render_template("admin/legal-flag.html", 37 legal_flags=legal_flags)38 39 40 @admin_ns.route("/legal-flag/<int:flag_id>/resolve/", methods=["POST"]) 41 @login_required(role=helpers.RoleEnum("admin"))43 44 (models.LegalFlag.query 45 .filter(models.LegalFlag.id == flag_id) 46 .update({"resolved_on": int(time.time()), 47 "resolver_id": flask.g.user.id})) 48 49 db.session.commit() 50 flask.flash("Legal flag resolved") 51 return flask.redirect(flask.url_for("admin_ns.legal_flag"))52 53 54 @admin_ns.route("/playground/", methods=["POST", "GET"]) 55 @login_required(role=helpers.RoleEnum("admin"))57 form = forms.AdminPlaygroundSearchForm() 58 59 if form.validate_on_submit() and form.project.data: 60 m = re.match(r"(.+)/(.+)", form.project.data) 61 if not m: 62 flask.flash("Please search as username/projectname") 63 else: 64 username = m.group(1) 65 coprname = m.group(2) 66 67 copr = coprs_logic.CoprsLogic.get(username, coprname).first() 68 69 if copr: 70 return flask.redirect(flask.url_for( 71 "admin_ns.playground_project", 72 username=username, 73 coprname=coprname)) 74 else: 75 flask.flash("This project does not exist") 76 77 return flask.render_template("admin/playground.html", form_search=form)78 79 80 @admin_ns.route("/playground/<username>/<coprname>/") 81 @login_required(role=helpers.RoleEnum("admin"))83 copr = coprs_logic.CoprsLogic.get(username, coprname).first() 84 if not copr: 85 flask.flash("Project {0} does not exist".format(copr)) 86 return flask.render_template("admin/playground.html") 87 88 form = forms.AdminPlaygroundForm() 89 form.playground.data = copr.playground 90 return flask.render_template("admin/playground.html", form_set=form, copr=copr)91 92 93 @admin_ns.route("/playground/<username>/<coprname>/set/", methods=["POST"]) 94 @login_required(role=helpers.RoleEnum("admin"))96 copr = coprs_logic.CoprsLogic.get(username, coprname).first() 97 if copr: 98 form = forms.AdminPlaygroundForm() 99 100 if form.validate_on_submit(): 101 try: 102 copr.playground = form.playground.data 103 coprs_logic.CoprsLogic.set_playground(flask.g.user, copr) 104 except InsufficientRightsException as e: 105 flask.flash(str(e)) 106 db.session.rollback() 107 else: 108 flask.flash("Playground flag has been updated") 109 db.session.commit() 110 111 return flask.redirect(flask.url_for("admin_ns.playground_project", 112 username=username, 113 coprname=coprname))114
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Mon Dec 5 22:37:26 2016 | http://epydoc.sourceforge.net |