portal: refactor proxy views into module
This commit is contained in:
parent
ef1f3208fc
commit
33e6d58455
5 changed files with 48 additions and 36 deletions
39
app/portal/proxy.py
Normal file
39
app/portal/proxy.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from flask import render_template, Response, flash, redirect, url_for, Blueprint
|
||||
from sqlalchemy import desc
|
||||
|
||||
from app.extensions import db
|
||||
from app.models.mirrors import Proxy
|
||||
from app.portal.forms import LifecycleForm
|
||||
|
||||
bp = Blueprint("proxy", __name__)
|
||||
|
||||
|
||||
@bp.route("/list")
|
||||
def proxy_list():
|
||||
proxies = Proxy.query.filter(Proxy.destroyed == None).order_by(desc(Proxy.added)).all()
|
||||
return render_template("list.html.j2",
|
||||
section="proxy",
|
||||
title="Proxies",
|
||||
item="proxy",
|
||||
items=proxies)
|
||||
|
||||
|
||||
@bp.route("/block/<proxy_id>", methods=['GET', 'POST'])
|
||||
def proxy_block(proxy_id):
|
||||
proxy = Proxy.query.filter(Proxy.id == proxy_id, Proxy.destroyed == None).first()
|
||||
if proxy is None:
|
||||
return Response(render_template("error.html.j2",
|
||||
header="404 Proxy Not Found",
|
||||
message="The requested proxy could not be found. It may have already been "
|
||||
"destroyed."))
|
||||
form = LifecycleForm()
|
||||
if form.validate_on_submit():
|
||||
proxy.deprecate(reason="manual")
|
||||
db.session.commit()
|
||||
flash("Proxy will be shortly replaced.", "success")
|
||||
return redirect(url_for("portal.edit_origin", origin_id=proxy.origin.id))
|
||||
return render_template("lifecycle.html.j2",
|
||||
header=f"Mark proxy for {proxy.origin.domain_name} as blocked?",
|
||||
message=proxy.url,
|
||||
section="proxy",
|
||||
form=form)
|
Loading…
Add table
Add a link
Reference in a new issue