Implements functions in backend
This commit is contained in:
@@ -13,7 +13,7 @@ from flask_bcrypt import Bcrypt
|
|||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from app.forms import Login, CreateWebsite
|
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, list_type_blocs, list_type_pages
|
||||||
from flask_wtf.csrf import CSRFProtect
|
from flask_wtf.csrf import CSRFProtect
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@@ -43,11 +43,11 @@ def login():
|
|||||||
password = str(request.form['passwd'])
|
password = str(request.form['passwd'])
|
||||||
if login in os.listdir(USERS_FOLDER):
|
if login in os.listdir(USERS_FOLDER):
|
||||||
db = DataSite(login, USERS_FOLDER)
|
db = DataSite(login, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
passwd_bcrypt = db.datas['config']['passwd']
|
passwd_bcrypt = db.datas['config']['passwd']
|
||||||
|
|
||||||
if bcrypt.check_password_hash(passwd_bcrypt, password) is True:
|
if bcrypt.check_password_hash(passwd_bcrypt, password) is True:
|
||||||
session['username'] = login
|
session['username'] = login
|
||||||
session['upload'] = None
|
|
||||||
resp = redirect(url_for('edit', _external=True))
|
resp = redirect(url_for('edit', _external=True))
|
||||||
else:
|
else:
|
||||||
flash(u'Mauvais mot de passe', 'error')
|
flash(u'Mauvais mot de passe', 'error')
|
||||||
@@ -73,9 +73,20 @@ def new_website():
|
|||||||
@app.route('/create-website', methods=[ 'POST'])
|
@app.route('/create-website', methods=[ 'POST'])
|
||||||
def create_website():
|
def create_website():
|
||||||
form = CreateWebsite(request.form)
|
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 !")
|
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:
|
else:
|
||||||
resp = render_template('/admin/create_website.html', form=form)
|
resp = render_template('/admin/create_website.html', form=form)
|
||||||
return resp
|
return resp
|
||||||
@@ -87,12 +98,17 @@ def edit(page):
|
|||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
db = DataSite(user, USERS_FOLDER)
|
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']
|
myblocs = db.get_blocs(page)['blocs']
|
||||||
print(myblocs)
|
|
||||||
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'],
|
||||||
|
type_blocs=type_blocs,
|
||||||
|
type_pages=type_pages,
|
||||||
theme=db.datas['config']['theme'],
|
theme=db.datas['config']['theme'],
|
||||||
pagesList=db.get_pages(),
|
pagesList=db.get_pages(),
|
||||||
page=page,
|
page=page,
|
||||||
@@ -111,6 +127,7 @@ def edit_img(page, image, bloc):
|
|||||||
bloc = '%s' % escape(bloc)
|
bloc = '%s' % escape(bloc)
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
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)['blocs']
|
||||||
@@ -134,6 +151,8 @@ def drop_upload(page, bloc):
|
|||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
datas = dict()
|
datas = dict()
|
||||||
file = request.files['file']
|
file = request.files['file']
|
||||||
filename = secure_filename(file.filename)
|
filename = secure_filename(file.filename)
|
||||||
@@ -178,6 +197,8 @@ def del_image(page, bloc, image):
|
|||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
myblocs = db.get_blocs(page)['blocs']
|
myblocs = db.get_blocs(page)['blocs']
|
||||||
|
|
||||||
myblocs[bloc] = db.del_img(myblocs[bloc], image)
|
myblocs[bloc] = db.del_img(myblocs[bloc], image)
|
||||||
@@ -194,6 +215,8 @@ def images_list(page, blocname):
|
|||||||
blocname = '%s' % escape(blocname)
|
blocname = '%s' % escape(blocname)
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
theme = db.datas['config']['theme']
|
theme = db.datas['config']['theme']
|
||||||
myblocs = db.get_blocs(page)['blocs']
|
myblocs = db.get_blocs(page)['blocs']
|
||||||
bloc = myblocs[blocname]
|
bloc = myblocs[blocname]
|
||||||
@@ -208,6 +231,8 @@ def edit_bloc(page, blocname):
|
|||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
theme = db.datas['config']['theme']
|
theme = db.datas['config']['theme']
|
||||||
myblocs = db.get_blocs(page)['blocs']
|
myblocs = db.get_blocs(page)['blocs']
|
||||||
bloc = myblocs[blocname]
|
bloc = myblocs[blocname]
|
||||||
@@ -270,6 +295,8 @@ def view_bloc(page, bloc):
|
|||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
theme = db.datas['config']['theme']
|
theme = db.datas['config']['theme']
|
||||||
myblocs = db.get_blocs(page)['blocs']
|
myblocs = db.get_blocs(page)['blocs']
|
||||||
bloc = myblocs[bloc]
|
bloc = myblocs[bloc]
|
||||||
@@ -285,6 +312,8 @@ def add_bloc(page):
|
|||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
datas = dict()
|
datas = dict()
|
||||||
print("page add bloc :" + page)
|
print("page add bloc :" + page)
|
||||||
myblocs = db.get_blocs(page)['blocs']
|
myblocs = db.get_blocs(page)['blocs']
|
||||||
@@ -304,11 +333,10 @@ def add_bloc(page):
|
|||||||
|
|
||||||
db.save_blocs(page, myblocs)
|
db.save_blocs(page, myblocs)
|
||||||
|
|
||||||
if "hx-request" in request.headers:
|
if page == '':
|
||||||
return render_template('/admin/_blocs-list.html',
|
return redirect("/#"+blocName)
|
||||||
myblocs=myblocs)
|
|
||||||
else:
|
else:
|
||||||
return redirect(url_for('edit'))
|
return redirect("/"+page+"#"+blocName)
|
||||||
|
|
||||||
@app.route('/addPage', methods=['POST'])
|
@app.route('/addPage', methods=['POST'])
|
||||||
@login_required
|
@login_required
|
||||||
@@ -316,6 +344,8 @@ def add_page():
|
|||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
datas = dict()
|
datas = dict()
|
||||||
|
|
||||||
pageName = '%s' % escape(request.form['pageName'])
|
pageName = '%s' % escape(request.form['pageName'])
|
||||||
@@ -342,7 +372,8 @@ def rm_page(pageName):
|
|||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
db.rm_page(pageName)
|
db.rm_page(pageName)
|
||||||
flash (u'Page supprimé avec succès', 'success');
|
flash (u'Page supprimé avec succès', 'success');
|
||||||
@@ -360,6 +391,8 @@ def sortblocs(page):
|
|||||||
page = '%s' % escape(page)
|
page = '%s' % escape(page)
|
||||||
|
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
config = db.datas['config']
|
config = db.datas['config']
|
||||||
menu = db.datas['menu']
|
menu = db.datas['menu']
|
||||||
datas = dict()
|
datas = dict()
|
||||||
@@ -382,6 +415,8 @@ def sortblocs(page):
|
|||||||
def edit_menu():
|
def edit_menu():
|
||||||
user = '%s'% escape(session['username'])
|
user = '%s'% escape(session['username'])
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
db.datas['menu']=dict()
|
db.datas['menu']=dict()
|
||||||
for menu in request.form:
|
for menu in request.form:
|
||||||
if '§§' in menu:
|
if '§§' in menu:
|
||||||
@@ -426,6 +461,8 @@ def favicon():
|
|||||||
def publish_progress():
|
def publish_progress():
|
||||||
user = '%s' % escape(session['username'])
|
user = '%s' % escape(session['username'])
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
progress = 0
|
progress = 0
|
||||||
|
|
||||||
error = False
|
error = False
|
||||||
@@ -461,6 +498,8 @@ def publish_progress():
|
|||||||
def publish():
|
def publish():
|
||||||
user = '%s' % escape(session['username'])
|
user = '%s' % escape(session['username'])
|
||||||
db = DataSite(user, USERS_FOLDER)
|
db = DataSite(user, USERS_FOLDER)
|
||||||
|
db.load_file()
|
||||||
|
|
||||||
listPages = db.get_pages()
|
listPages = db.get_pages()
|
||||||
theme = db.datas['config']['theme']
|
theme = db.datas['config']['theme']
|
||||||
menu = db.datas['menu']
|
menu = db.datas['menu']
|
||||||
|
|||||||
Reference in New Issue
Block a user