portal: refactor origin views into module
This commit is contained in:
parent
33e6d58455
commit
22f850cf6b
8 changed files with 158 additions and 134 deletions
38
app/portal/util.py
Normal file
38
app/portal/util.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
from flask import Response, render_template, flash, redirect, url_for
|
||||
|
||||
from app import db
|
||||
from app.models import AbstractResource
|
||||
from app.portal.forms import LifecycleForm
|
||||
|
||||
|
||||
def response_404(message: str):
|
||||
return Response(render_template("error.html.j2",
|
||||
header="404 Not Found",
|
||||
message=message))
|
||||
|
||||
|
||||
def view_lifecycle(*,
|
||||
header: str,
|
||||
message: str,
|
||||
success_message: str,
|
||||
success_view: str,
|
||||
section: str,
|
||||
resource: AbstractResource,
|
||||
action: str):
|
||||
form = LifecycleForm()
|
||||
if form.validate_on_submit():
|
||||
if action == "destroy":
|
||||
resource.destroy()
|
||||
elif action == "deprecate":
|
||||
resource.deprecate(reason="manual")
|
||||
else:
|
||||
flash("Unknown action")
|
||||
return redirect(url_for("portal.portal_home"))
|
||||
db.session.commit()
|
||||
flash(success_message, "success")
|
||||
return redirect(url_for(success_view))
|
||||
return render_template("lifecycle.html.j2",
|
||||
header=header,
|
||||
message=message,
|
||||
section=section,
|
||||
form=form)
|
Loading…
Add table
Add a link
Reference in a new issue