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