Correction for multiple page editions

This commit is contained in:
2026-06-06 01:03:25 +02:00
committed by kitoy
parent ca077ebc19
commit e2df81a282
5 changed files with 43 additions and 18 deletions

View File

@@ -11,7 +11,7 @@ from app.models.blocs import MyBlocs
from PIL import Image
from flask_bcrypt import Bcrypt
from copy import deepcopy
from app.forms import Login
from app.forms import Login, CreateWebsite
from functools import wraps
from app.utils import login_required
from flask_wtf.csrf import CSRFProtect
@@ -65,6 +65,21 @@ def logout():
return redirect(url_for('login'))
@app.route ('/new-website', methods=[ 'GET' ])
def new_website():
form = CreateWebsite()
return render_template('/admin/create_website.html', form=form)
@app.route('/create-website', methods=[ 'POST'])
def create_website():
form = CreateWebsite(request.form)
if form.validate() :
print("Trop cool !")
resp = redirect(url_for('edit', _external=True))
else:
resp = render_template('/admin/create_website.html', form=form)
return resp
@app.route('/', methods=['GET'], defaults={'page': ''})
@app.route('/<page>/', methods=['GET'])
@login_required
@@ -89,7 +104,7 @@ def edit(page):
@app.route('/edit/images/<bloc>/<image>', methods=['GET', 'POST'], defaults={'page': ''})
@app.route('/<page>/edit/images/<bloc>/<image>', methods=['GET', 'POST'])
@login_required
def edit_photo(page, image, bloc):
def edit_img(page, image, bloc):
user = '%s'% escape(session['username'])
page = '%s' % escape(page)
image = '%s' % escape(image)
@@ -104,13 +119,13 @@ def edit_photo(page, image, bloc):
if request.method == 'POST':
myblocs[bloc][image] = db.update_img(image, form)
db.save_blocs(page, myblocs)
form = MyBlocs.make_form(db.datas['blocs'][bloc])
form = MyBlocs.make_form(myblocs[bloc])
if "hx-request" in request.headers:
return make_response(('Image modified', 200))
else:
return redirect ('/#'+bloc)
return redirect ('/'+page+'#'+bloc)
else:
return render_template(THEMES_FOLDER+theme+'/blocs/edit/_image-edit'+'.html', form=form, image=myblocs[bloc][image], bloc=myblocs[bloc])
return render_template(THEMES_FOLDER+theme+'/blocs/edit/_image-edit.html', form=form, page=page, image=myblocs[bloc][image], bloc=myblocs[bloc])
@app.route('/upload-gallery/<bloc>', methods=['POST'], defaults={'page': ''})
@app.route('/<page>/upload-gallery/<bloc>', methods=['POST'])
@@ -227,7 +242,7 @@ def edit_bloc(page, blocname):
page=page,
bloc=myblocs[blocname])
else:
return redirect(url_for('edit'))
return redirect(url_for('edit', page=page))
else:
@@ -271,6 +286,7 @@ def add_bloc(page):
db = DataSite(user, USERS_FOLDER)
datas = dict()
print("page add bloc :" + page)
myblocs = db.get_blocs(page)['blocs']
blocName = '%s' % escape(request.form['blocName'])
@@ -290,7 +306,7 @@ def add_bloc(page):
if "hx-request" in request.headers:
return render_template('/admin/_blocs-list.html',
myblocs=db.datas['blocs'])
myblocs=myblocs)
else:
return redirect(url_for('edit'))
@@ -359,7 +375,7 @@ def sortblocs(page):
db.save_blocs(page, myblocs)
return redirect(url_for('edit'))
return redirect(url_for('edit', page=page))
@app.route('/editmenu', methods=['POST'])
@login_required

View File

@@ -1,10 +1,15 @@
<div>
<form class="sortblocs" action="/{{ page }}/sortblocs" method="POST" id="myblocs">
<input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}">
{% include 'admin/_blocs-list.html' %}
</form>
<hr/>
<form action="{{ url_for('sortblocs', page=page) }}" method="POST" id="myblocs">
<input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}">
{% include 'admin/_blocs-list.html' %}
<button class="btn btn-success" type="submit" form="myblocs"> Enregister </button>
</form>
<hr/>
<button class="btn btn-outline-success" onclick="printForm()">+</button>
@@ -40,14 +45,13 @@
<br/>
<button type="submit" class="btn btn-success"
onclick="valid_nameBloc()"
hx-post="/{{ page }}/addBloc"
hx-post="{{ url_for('add_bloc', page=page) }}"
hx-swap="outerHTML"
hx-target="#myblocs"> Créer le bloc </button>
</form>
</div>
<hr/>
<button class="btn btn-success" type="submit" form="myblocs"> Enregister </button>
</div>

View File

@@ -1,6 +1,10 @@
<section class="p-0 {{ bloc.property }}" id="{{ bloc.name }}">
<div class="container-fluid p-0">
<div class="text-center">
<h2> Galerie: {{ bloc.name }} </h2>
<p> Cliquez sur modifier à droite et glisser vos images ou cliquez directement sur le cadre déposez vos images ici ! </p>
</div>
<div class="row no-gutters popup-gallery">
{% for image in bloc.values() %}
{% if image.file %}
@@ -23,6 +27,7 @@
</div>
{% endif %}
{% endfor %}
</div>
</div>
</section>

View File

@@ -1,6 +1,6 @@
<div class="container-fluid p-0" id="editImageInfo">
<form method='POST' action='/edit/images/{{ bloc.name }}/{{ image.file }}' hx-swap="outerHTML" hx-target="#editImg">
<form method='POST' action="{{ url_for('edit_img', page=page, bloc=bloc.name, image=image.file) }}" hx-swap="outerHTML" hx-target="#editImg">
{{ form.csrf_token }}
<div class="row">
<div class="col-lg-2 mx-auto my-4 text-center">
@@ -22,7 +22,7 @@
{{ form.description(value=image.description, class="form-control text-center") }}
<br/>
<button class="btn btn-success" type="submit" data-dismiss="modal"
hx-post="/edit/images/{{ bloc.name }}/{{ image.file }}"
hx-post="{{ url_for('edit_img', page=page, bloc=bloc.name, image=image.file) }}"
hx-swap="outerHTML"
hx-target="#editImageInfo"
hx-swap="delete"> Valider </button>

View File

@@ -19,7 +19,7 @@
</div>
</a>
<button type="button" class="btn btn-success m-4"
hx-get="/edit/images/{{ bloc.name }}/{{ image.file }}"
hx-get="{{ url_for('edit_img', page=page, bloc=bloc.name, image=image.file)}}"
hx-target="#editImage"
hw-swap="none">
<i class="fa fa-pencil-square-o"></i>