Package coprs :: Package views :: Package admin_ns :: Module admin_general
[hide private]
[frames] | no frames]

Source Code for Module coprs.views.admin_ns.admin_general

  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 
18 19 20 @admin_ns.route("/") 21 @login_required(role=RoleEnum("admin")) 22 -def admin_index():
23 return flask.redirect(flask.url_for("admin_ns.legal_flag"))
24 39 53
54 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)
79
80 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)
92
93 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