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 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 @admin_ns.route("/") 19 @login_required(role=helpers.RoleEnum("admin")) 20 -def admin_index():
21 return flask.render_template("admin/index.html")
22 36 50
51 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)
75
76 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)
90
91 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