From b6dd8b7cafc11f4e84d9d81b9355bcb6e3e51820 Mon Sep 17 00:00:00 2001 From: kitoy Date: Thu, 23 Jul 2026 04:28:15 +0200 Subject: [PATCH] Implements functions in backend --- app/routes.py | 59 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/app/routes.py b/app/routes.py index 936d7a0..e1d610c 100644 --- a/app/routes.py +++ b/app/routes.py @@ -13,7 +13,7 @@ from flask_bcrypt import Bcrypt from copy import deepcopy from app.forms import Login, CreateWebsite from functools import wraps -from app.utils import login_required +from app.utils import login_required, list_type_blocs, list_type_pages from flask_wtf.csrf import CSRFProtect from datetime import datetime @@ -43,11 +43,11 @@ def login(): password = str(request.form['passwd']) if login in os.listdir(USERS_FOLDER): db = DataSite(login, USERS_FOLDER) + db.load_file() passwd_bcrypt = db.datas['config']['passwd'] if bcrypt.check_password_hash(passwd_bcrypt, password) is True: session['username'] = login - session['upload'] = None resp = redirect(url_for('edit', _external=True)) else: flash(u'Mauvais mot de passe', 'error') @@ -73,9 +73,20 @@ def new_website(): @app.route('/create-website', methods=[ 'POST']) def create_website(): form = CreateWebsite(request.form) - if form.validate() : + login = str(form.login.data) + passwd = str(form.passwd.data) + theme = str(form.theme.data) + if form.validate(): + db = DataSite(login, USERS_FOLDER) + print("Trop cool !") - resp = redirect(url_for('edit', _external=True)) + if db.create(theme): + db.set_passwd(bcrypt.generate_password_hash(passwd)) + session['username'] = login + resp = redirect(url_for('edit')) + else: + flash(u'Erreur lors de la création du site', error) + resp = redirect(url_for('login', _external=True)) else: resp = render_template('/admin/create_website.html', form=form) return resp @@ -87,12 +98,17 @@ def edit(page): user = '%s'% escape(session['username']) page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + type_pages = list_type_pages(db.datas['config']['theme']) + type_blocs = list_type_blocs(db.datas['config']['theme']) myblocs = db.get_blocs(page)['blocs'] - print(myblocs) + return render_template('/edit.html.tpl', blocEdit="", config=db.datas['config'], menu=db.datas['menu'], + type_blocs=type_blocs, + type_pages=type_pages, theme=db.datas['config']['theme'], pagesList=db.get_pages(), page=page, @@ -111,6 +127,7 @@ def edit_img(page, image, bloc): bloc = '%s' % escape(bloc) db = DataSite(user, USERS_FOLDER) + db.load_file() theme = db.datas['config']['theme'] form = ImageForm() myblocs = db.get_blocs(page)['blocs'] @@ -134,6 +151,8 @@ def drop_upload(page, bloc): user = '%s'% escape(session['username']) page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + datas = dict() file = request.files['file'] filename = secure_filename(file.filename) @@ -178,6 +197,8 @@ def del_image(page, bloc, image): user = '%s'% escape(session['username']) page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + myblocs = db.get_blocs(page)['blocs'] myblocs[bloc] = db.del_img(myblocs[bloc], image) @@ -194,6 +215,8 @@ def images_list(page, blocname): blocname = '%s' % escape(blocname) db = DataSite(user, USERS_FOLDER) + db.load_file() + theme = db.datas['config']['theme'] myblocs = db.get_blocs(page)['blocs'] bloc = myblocs[blocname] @@ -208,6 +231,8 @@ def edit_bloc(page, blocname): user = '%s'% escape(session['username']) page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + theme = db.datas['config']['theme'] myblocs = db.get_blocs(page)['blocs'] bloc = myblocs[blocname] @@ -270,6 +295,8 @@ def view_bloc(page, bloc): page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + theme = db.datas['config']['theme'] myblocs = db.get_blocs(page)['blocs'] bloc = myblocs[bloc] @@ -285,6 +312,8 @@ def add_bloc(page): page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + datas = dict() print("page add bloc :" + page) myblocs = db.get_blocs(page)['blocs'] @@ -304,11 +333,10 @@ def add_bloc(page): db.save_blocs(page, myblocs) - if "hx-request" in request.headers: - return render_template('/admin/_blocs-list.html', - myblocs=myblocs) + if page == '': + return redirect("/#"+blocName) else: - return redirect(url_for('edit')) + return redirect("/"+page+"#"+blocName) @app.route('/addPage', methods=['POST']) @login_required @@ -316,6 +344,8 @@ def add_page(): user = '%s'% escape(session['username']) db = DataSite(user, USERS_FOLDER) + db.load_file() + datas = dict() pageName = '%s' % escape(request.form['pageName']) @@ -342,7 +372,8 @@ def rm_page(pageName): user = '%s'% escape(session['username']) db = DataSite(user, USERS_FOLDER) - + db.load_file() + try: db.rm_page(pageName) flash (u'Page supprimé avec succès', 'success'); @@ -360,6 +391,8 @@ def sortblocs(page): page = '%s' % escape(page) db = DataSite(user, USERS_FOLDER) + db.load_file() + config = db.datas['config'] menu = db.datas['menu'] datas = dict() @@ -382,6 +415,8 @@ def sortblocs(page): def edit_menu(): user = '%s'% escape(session['username']) db = DataSite(user, USERS_FOLDER) + db.load_file() + db.datas['menu']=dict() for menu in request.form: if '§§' in menu: @@ -426,6 +461,8 @@ def favicon(): def publish_progress(): user = '%s' % escape(session['username']) db = DataSite(user, USERS_FOLDER) + db.load_file() + progress = 0 error = False @@ -461,6 +498,8 @@ def publish_progress(): def publish(): user = '%s' % escape(session['username']) db = DataSite(user, USERS_FOLDER) + db.load_file() + listPages = db.get_pages() theme = db.datas['config']['theme'] menu = db.datas['menu']