roundabout,
created on Saturday, 14 September 2024, 12:04:09 (1726315449),
received on Saturday, 14 September 2024, 13:01:55 (1726318915)
Author identity: vlad <vlad.muntoiu@gmail.com>
5939bf62305b17d4704fd197384d225d7c99bfe6
app.py
@@ -1027,6 +1027,53 @@ def gallery_users(id):
have_permission=have_permission)
@app.route("/gallery/<int:id>/edit")
def edit_gallery(id):
gallery = db.session.get(Gallery, id)
if gallery is None:
flask.abort(404)
current_user = db.session.get(User, flask.session.get("username"))
if current_user is None:
flask.abort(401)
if current_user != gallery.owner and not current_user.admin:
flask.abort(403)
return flask.render_template("edit-gallery.html", gallery=gallery)
@app.route("/gallery/<int:id>/edit", methods=["POST"])
def edit_gallery_post(id):
gallery = db.session.get(Gallery, id)
if gallery is None:
flask.abort(404)
current_user = db.session.get(User, flask.session.get("username"))
if current_user is None:
flask.abort(401)
if current_user != gallery.owner and not current_user.admin:
flask.abort(403)
title = flask.request.form["title"]
description = flask.request.form.get("description")
if not title:
flask.flash("Enter a title")
return flask.redirect(flask.request.url)
if not description:
description = ""
gallery.title = title
gallery.description = description
db.session.commit()
return flask.redirect("/gallery/" + str(gallery.id))
@app.route("/gallery/<int:id>/users/add", methods=["POST"])
def gallery_add_user(id):
gallery = db.session.get(Gallery, id)
templates/edit-gallery.html
@@ -0,0 +1,23 @@
{% extends "default.html" %}
{% block title %}Editing {{ gallery.title }} | gigadata{% endblock %}
{% block content %}
<x-frame style="--width: 768px" class="vbox">
<h1>Editing: {{ gallery.title }}</h1>
<p>
<a href="/gallery/{{ gallery.id }}/">Back</a>
</p>
<form method="POST" class="vbox">
<label>
<span class="required-asterisk">Title</span>
<input type="text" name="title" value="{{ gallery.title }}" required>
</label>
<label>
Description
<textarea name="description">{{ gallery.description }}</textarea>
</label>
<button type="submit">Submit</button>
</form>
</x-frame>
{% endblock %}
templates/gallery.html
@@ -7,7 +7,8 @@
<h1>{{ gallery.title }}</h1>
<p>{{ gallery.description }}</p>
<p>
<a href="/gallery/{{ gallery.id }}/users">Users</a>
<a href="/gallery/{{ gallery.id }}/users">Users</a> {% if have_permission %} |
<a href="/gallery/{{ gallery.id }}/edit">Edit</a>{% endif %}
</p>
{% if have_permission %}
<form class="buttonbox" method="POST" action="/gallery/{{ gallery.id }}/add-picture">