distribusi-verse: medium-tech web app content management system for the web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.2 KiB

4 months ago
from flask import Blueprint, render_template, redirect, url_for
from flask_login import current_user, login_required
from models.distribusi_model import Distribusis
from models.distribusi_file_model import DistribusiFiles
from describer.forms.describe_file_form import DescribeFileForm
describer = Blueprint(
"describer",
__name__,
template_folder="templates/describe_files",
static_folder="static",
)
@describer.route("/<string:distribusiname>")
@login_required
def describe_distribusi_files(distribusiname):
if not current_user.is_authenticated:
return redirect(url_for("index"))
distribusi = Distribusis.query.filter_by(
distribusiname=distribusiname
).first()
distribusi_files = DistribusiFiles.query.filter_by(
distribusi=distribusi.id
).all()
# distribusi_file_forms = {}
# for distribusi_file in distribusi_files:
describe_form = DescribeFileForm()
return render_template(
"describe.html",
distribusi_files=distribusi_files,
describe_form=describe_form,
)
@describer.route("/describe_file", methods=["POST"])
@login_required
def describe_file(file_name):
describe_form = DescribeFileForm()
if describe_form.validate_on_submit():
print(f"{file_name} description: {describe_form.description.data}")
return