Refactoring of list blocs

This commit is contained in:
2026-08-03 01:13:16 +02:00
parent fbe915021a
commit df11e6437f
6 changed files with 37 additions and 28 deletions

View File

@@ -17,7 +17,7 @@ class MyBlocs:
mybloc['type'] = str(blocType) mybloc['type'] = str(blocType)
return mybloc return mybloc
def make_form(bloc): def make_form():
form = FormBloc() form = FormBloc()
return form return form

View File

@@ -79,7 +79,6 @@ def create_website():
if form.validate(): if form.validate():
db = DataSite(login, USERS_FOLDER) db = DataSite(login, USERS_FOLDER)
print("Trop cool !")
if db.create(theme): if db.create(theme):
db.set_passwd(bcrypt.generate_password_hash(passwd)) db.set_passwd(bcrypt.generate_password_hash(passwd))
session['username'] = login session['username'] = login
@@ -101,12 +100,13 @@ def edit(page):
db.load_file() db.load_file()
type_pages = list_type_pages(db.datas['config']['theme']) type_pages = list_type_pages(db.datas['config']['theme'])
type_blocs = list_type_blocs(db.datas['config']['theme']) type_blocs = list_type_blocs(db.datas['config']['theme'])
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)
footer = db.get_footer()
return render_template('/edit.html.tpl', return render_template('/edit.html.tpl',
blocEdit="", blocEdit="",
config=db.datas['config'], config=db.datas['config'],
menu=db.datas['menu'], menu=db.datas['menu'],
footer=footer,
type_blocs=type_blocs, type_blocs=type_blocs,
type_pages=type_pages, type_pages=type_pages,
theme=db.datas['config']['theme'], theme=db.datas['config']['theme'],
@@ -130,13 +130,13 @@ def edit_img(page, image, bloc):
db.load_file() db.load_file()
theme = db.datas['config']['theme'] theme = db.datas['config']['theme']
form = ImageForm() form = ImageForm()
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)
if form.validate_on_submit(): if form.validate_on_submit():
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(myblocs[bloc]) form = MyBlocs.make_form()
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:
@@ -218,7 +218,7 @@ def images_list(page, blocname):
db.load_file() db.load_file()
theme = db.datas['config']['theme'] theme = db.datas['config']['theme']
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)
bloc = myblocs[blocname] bloc = myblocs[blocname]
return render_template(THEMES_FOLDER+theme+'/blocs/edit/images_list.html',page=page, return render_template(THEMES_FOLDER+theme+'/blocs/edit/images_list.html',page=page,
@@ -234,9 +234,9 @@ def edit_bloc(page, blocname):
db.load_file() db.load_file()
theme = db.datas['config']['theme'] theme = db.datas['config']['theme']
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)
bloc = myblocs[blocname] bloc = myblocs[blocname]
form = MyBlocs.make_form(bloc) form = MyBlocs.make_form()
if request.method == 'POST': if request.method == 'POST':
datas=dict() datas=dict()
@@ -262,23 +262,24 @@ def edit_bloc(page, blocname):
print(form.errors) print(form.errors)
if "hx-request" in request.headers: if "hx-request" in request.headers:
return render_template(THEMES_FOLDER+theme+'/blocs/_'+bloc['type']+'.html', resp = render_template(THEMES_FOLDER+theme+'/blocs/'+bloc['type']+'.html',
theme=theme, theme=theme,
page=page, page=page,
bloc=myblocs[blocname]) bloc=myblocs[blocname])
else: else:
return redirect(url_for('edit', page=page)) resp = redirect(url_for('edit', page=page))
else: else:
if "hx-request" in request.headers: if "hx-request" in request.headers:
return render_template(THEMES_FOLDER+theme+'/blocs/edit/_'+bloc['type']+'.html', resp = render_template(THEMES_FOLDER+theme+'/blocs/edit/'+bloc['type']+'.html',
theme=theme, theme=theme,
bloc=bloc, bloc=bloc,
page=page, page=page,
form=form) form=form)
else: else:
return render_template('/edit.html.tpl', resp = render_template('/edit.html.tpl',
config=db.datas['config'], config=db.datas['config'],
menu=db.datas['menu'], menu=db.datas['menu'],
myblocs=myblocs, myblocs=myblocs,
@@ -286,6 +287,7 @@ def edit_bloc(page, blocname):
theme=theme, theme=theme,
blocEdit=bloc['name'], blocEdit=bloc['name'],
form=form) form=form)
return resp
@app.route('/view/<bloc>', methods=['GET'], defaults={'page': ''}) @app.route('/view/<bloc>', methods=['GET'], defaults={'page': ''})
@app.route('/<page>/view/<bloc>', methods=['GET']) @app.route('/<page>/view/<bloc>', methods=['GET'])
@@ -298,10 +300,10 @@ def view_bloc(page, bloc):
db.load_file() db.load_file()
theme = db.datas['config']['theme'] theme = db.datas['config']['theme']
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)
bloc = myblocs[bloc] bloc = myblocs[bloc]
return render_template(THEMES_FOLDER+theme+'/blocs/_'+bloc['type']+'.html', return render_template(THEMES_FOLDER+theme+'/blocs/'+bloc['type']+'.html',
bloc=bloc) bloc=bloc)
@app.route('/addBloc', methods=['POST'], defaults={'page': ''}) @app.route('/addBloc', methods=['POST'], defaults={'page': ''})
@@ -513,12 +515,13 @@ def publish():
serverInfos['Port'] = str(request.form['serverPort']) serverInfos['Port'] = str(request.form['serverPort'])
serverInfos['username'] = str(request.form['username']) serverInfos['username'] = str(request.form['username'])
serverInfos['folder'] = str(request.form['folder']) serverInfos['folder'] = str(request.form['folder'])
footer = db.get_footer()
for page in listPages: for page in listPages:
myblocs = db.get_blocs(page)['blocs'] myblocs = db.get_blocs(page)
htmlExport = render_template('/index.html.tpl', htmlExport = render_template('/index.html.tpl',
config=db.datas['config'], config=db.datas['config'],
menu=menu, menu=menu,
footer=footer,
theme=theme, theme=theme,
page=page, page=page,
myblocs=myblocs) myblocs=myblocs)
@@ -526,10 +529,11 @@ def publish():
# Export index.html landing page # Export index.html landing page
myblocs = db.get_blocs('')['blocs'] myblocs = db.get_blocs('')
htmlExport = render_template('/index.html.tpl', htmlExport = render_template('/index.html.tpl',
config=db.datas['config'], config=db.datas['config'],
menu=menu, menu=menu,
footer=footer,
theme=theme, theme=theme,
page='/', page='/',
myblocs=myblocs) myblocs=myblocs)

View File

@@ -16,7 +16,7 @@
<div class="formAddBloc" id="addBloc"> <div class="formAddBloc" id="addBloc">
<form action="{{ url_for('add_bloc', page=page) }}" id="addBloc" method="POST" class="" > <form action="{{ url_for('add_bloc', page=page) }}" id="addBloc" method="POST" class="" >
<input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}"> <input id="csrf_token" name="csrf_token" type="hidden" value="{{ csrf_token() }}">
<h3>Créé un nouveau bloc</H3> <h3>Créer nouveau bloc</H3>
<br> <br>
<label for="blocName">Nom du bloc (caractères sans accents uniquement) </label> <label for="blocName">Nom du bloc (caractères sans accents uniquement) </label>
<div class="input-group"> <div class="input-group">

View File

@@ -80,7 +80,7 @@
<br/> <br/>
<div hx-get="{{ url_for('publish_progress') }}" hx-trigger="load, every 1s"> <div hx-get="{{ url_for('publish_progress') }}" hx-trigger="load, every 3s">
</div> </div>
<br/> <br/>

View File

@@ -6,16 +6,9 @@
hx-target="#{{ bloc.name }}" > Enregistrer </button> hx-target="#{{ bloc.name }}" > Enregistrer </button>
<button class="btn btn-danger"
onclick="enableModBtn()"
hx-get="{% if page %}/{{ page }}{% endif %}/view/{{ bloc.name }}"
hx-swap="outerHTML"
hx-target="#{{ bloc.name }}" > Fermer </button>
</div> </div>
<script> <script>
function enableModBtn(){
document.getElementById("modify-{{ bloc.name }}").disabled = false;
}
function saveText(){ function saveText(){

View File

@@ -1,4 +1,16 @@
<script> <script>
function enableModBtn(){
document.getElementById("modify-{{ bloc.name }}").disabled = false;
document.getElementById("modify-{{ bloc.name }}").style.visibility = "visible";
document.getElementById("close-edit-{{ bloc.name }}").style.visibility = "hidden";
}
document.getElementById("modify-{{ bloc.name }}").disabled = true; document.getElementById("modify-{{ bloc.name }}").disabled = true;
document.getElementById("modify-{{ bloc.name }}").style.visibility = "hidden";
document.getElementById("close-edit-{{ bloc.name }}").style.visibility = "visible";
</script> </script>