Correction for multiple page editions

This commit is contained in:
2026-06-06 01:03:25 +02:00
parent 49109c5ac9
commit 9f74eee079
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 PIL import Image
from flask_bcrypt import Bcrypt from flask_bcrypt import Bcrypt
from copy import deepcopy from copy import deepcopy
from app.forms import Login from app.forms import Login, CreateWebsite
from functools import wraps from functools import wraps
from app.utils import login_required from app.utils import login_required
from flask_wtf.csrf import CSRFProtect from flask_wtf.csrf import CSRFProtect
@@ -65,6 +65,21 @@ def logout():
return redirect(url_for('login')) 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('/', methods=['GET'], defaults={'page': ''})
@app.route('/<page>/', methods=['GET']) @app.route('/<page>/', methods=['GET'])
@login_required @login_required
@@ -89,7 +104,7 @@ def edit(page):
@app.route('/edit/images/<bloc>/<image>', methods=['GET', 'POST'], defaults={'page': ''}) @app.route('/edit/images/<bloc>/<image>', methods=['GET', 'POST'], defaults={'page': ''})
@app.route('/<page>/edit/images/<bloc>/<image>', methods=['GET', 'POST']) @app.route('/<page>/edit/images/<bloc>/<image>', methods=['GET', 'POST'])
@login_required @login_required
def edit_photo(page, image, bloc): def edit_img(page, image, bloc):
user = '%s'% escape(session['username']) user = '%s'% escape(session['username'])
page = '%s' % escape(page) page = '%s' % escape(page)
image = '%s' % escape(image) image = '%s' % escape(image)
@@ -104,13 +119,13 @@ def edit_photo(page, image, bloc):
if request.method == 'POST': if request.method == 'POST':
myblocs[bloc][image] = db.update_img(image, form) myblocs[bloc][image] = db.update_img(image, form)
db.save_blocs(page, myblocs) 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: if "hx-request" in request.headers:
return make_response(('Image modified', 200)) return make_response(('Image modified', 200))
else: else:
return redirect ('/#'+bloc) return redirect ('/'+page+'#'+bloc)
else: 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('/upload-gallery/<bloc>', methods=['POST'], defaults={'page': ''})
@app.route('/<page>/upload-gallery/<bloc>', methods=['POST']) @app.route('/<page>/upload-gallery/<bloc>', methods=['POST'])
@@ -227,7 +242,7 @@ def edit_bloc(page, blocname):
page=page, page=page,
bloc=myblocs[blocname]) bloc=myblocs[blocname])
else: else:
return redirect(url_for('edit')) return redirect(url_for('edit', page=page))
else: else:
@@ -271,6 +286,7 @@ def add_bloc(page):
db = DataSite(user, USERS_FOLDER) db = DataSite(user, USERS_FOLDER)
datas = dict() datas = dict()
print("page add bloc :" + page)
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)['blocs']
blocName = '%s' % escape(request.form['blocName']) blocName = '%s' % escape(request.form['blocName'])
@@ -290,7 +306,7 @@ def add_bloc(page):
if "hx-request" in request.headers: if "hx-request" in request.headers:
return render_template('/admin/_blocs-list.html', return render_template('/admin/_blocs-list.html',
myblocs=db.datas['blocs']) myblocs=myblocs)
else: else:
return redirect(url_for('edit')) return redirect(url_for('edit'))
@@ -359,7 +375,7 @@ def sortblocs(page):
db.save_blocs(page, myblocs) db.save_blocs(page, myblocs)
return redirect(url_for('edit')) return redirect(url_for('edit', page=page))
@app.route('/editmenu', methods=['POST']) @app.route('/editmenu', methods=['POST'])
@login_required @login_required

View File

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

View File

@@ -1,6 +1,10 @@
<section class="p-0 {{ bloc.property }}" id="{{ bloc.name }}"> <section class="p-0 {{ bloc.property }}" id="{{ bloc.name }}">
<div class="container-fluid p-0"> <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"> <div class="row no-gutters popup-gallery">
{% for image in bloc.values() %} {% for image in bloc.values() %}
{% if image.file %} {% if image.file %}
@@ -23,6 +27,7 @@
</div> </div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
</section> </section>

View File

@@ -1,6 +1,6 @@
<div class="container-fluid p-0" id="editImageInfo"> <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 }} {{ form.csrf_token }}
<div class="row"> <div class="row">
<div class="col-lg-2 mx-auto my-4 text-center"> <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") }} {{ form.description(value=image.description, class="form-control text-center") }}
<br/> <br/>
<button class="btn btn-success" type="submit" data-dismiss="modal" <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-swap="outerHTML"
hx-target="#editImageInfo" hx-target="#editImageInfo"
hx-swap="delete"> Valider </button> hx-swap="delete"> Valider </button>

View File

@@ -19,7 +19,7 @@
</div> </div>
</a> </a>
<button type="button" class="btn btn-success m-4" <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" hx-target="#editImage"
hw-swap="none"> hw-swap="none">
<i class="fa fa-pencil-square-o"></i> <i class="fa fa-pencil-square-o"></i>