forked from ScoDoc/ScoDoc
petits détails (messages)
This commit is contained in:
parent
10941b6ef4
commit
4aa4ab316c
@ -26,9 +26,7 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Module main: page d'accueil, avec liste des départements
|
|
||||||
|
|
||||||
Emmanuel Viennet, 2021
|
|
||||||
"""
|
"""
|
||||||
from app.models import ScoDocSiteConfig
|
from app.models import ScoDocSiteConfig
|
||||||
from app.scodoc.sco_logos import write_logo, find_logo, delete_logo
|
from app.scodoc.sco_logos import write_logo, find_logo, delete_logo
|
||||||
@ -101,7 +99,7 @@ class LogoDelete(Action):
|
|||||||
|
|
||||||
def __init__(self, parameters):
|
def __init__(self, parameters):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
f"Suppression du logo {parameters['logo_id']} pour le département {parameters['dept_id']}.",
|
f"Suppression du logo {parameters['logo_id']} pour le département {parameters['dept_id'] or 'tous'}.",
|
||||||
parameters,
|
parameters,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -128,7 +126,7 @@ class LogoInsert(Action):
|
|||||||
|
|
||||||
def __init__(self, parameters):
|
def __init__(self, parameters):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
f"Ajout du logo {parameters['name']} pour le département {parameters['dept_key']} ({parameters['upload']}).",
|
f"Ajout du logo {parameters['name']} pour le département {parameters['dept_key']} ({parameters['upload'].filename}).",
|
||||||
parameters,
|
parameters,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Module main: page d'accueil, avec liste des départements
|
Formulaires configuration logos
|
||||||
|
|
||||||
Emmanuel Viennet, 2021
|
Contrib @jmp, dec 21
|
||||||
"""
|
"""
|
||||||
import re
|
import re
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ from flask import flash, url_for, redirect, render_template
|
|||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
from flask_wtf.file import FileField, FileAllowed
|
from flask_wtf.file import FileField, FileAllowed
|
||||||
from wtforms import SelectField, SubmitField, FormField, validators, FieldList
|
from wtforms import SelectField, SubmitField, FormField, validators, FieldList
|
||||||
from wtforms.fields.simple import BooleanField, StringField, HiddenField
|
from wtforms.fields.simple import StringField, HiddenField
|
||||||
|
|
||||||
from app import AccessDenied
|
from app import AccessDenied
|
||||||
from app.models import Departement
|
from app.models import Departement
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
"""Gestion des images logos (nouveau ScoDoc 9)
|
"""Gestion des images logos (nouveau ScoDoc 9.1)
|
||||||
|
|
||||||
Les logos sont `logo_header.<ext>` et `logo_footer.<ext>`
|
Les logos sont `logo_header.<ext>` et `logo_footer.<ext>`
|
||||||
avec `ext` membre de LOGOS_IMAGES_ALLOWED_TYPES (= jpg, png)
|
avec `ext` membre de LOGOS_IMAGES_ALLOWED_TYPES (= jpg, png)
|
||||||
@ -104,7 +104,7 @@ def list_logos():
|
|||||||
|
|
||||||
|
|
||||||
def _list_dept_logos(dept_id=None, prefix=scu.LOGO_FILE_PREFIX):
|
def _list_dept_logos(dept_id=None, prefix=scu.LOGO_FILE_PREFIX):
|
||||||
"""nventorie toutes les images existantes pour un niveau (GLOBAL ou un département).
|
"""Inventorie toutes les images existantes pour un niveau (GLOBAL ou un département).
|
||||||
retourne un dictionnaire de Logo [logoname] -> Logo
|
retourne un dictionnaire de Logo [logoname] -> Logo
|
||||||
les noms des fichiers concernés doivent être de la forme: <rep>/<prefix><name>.<suffixe>
|
les noms des fichiers concernés doivent être de la forme: <rep>/<prefix><name>.<suffixe>
|
||||||
<rep> : répertoire de recherche (déduit du dept_id)
|
<rep> : répertoire de recherche (déduit du dept_id)
|
||||||
@ -164,16 +164,24 @@ class Logo:
|
|||||||
self.basepath = os.path.sep.join(
|
self.basepath = os.path.sep.join(
|
||||||
[self.dirpath, self.prefix + secure_filename(self.logoname)]
|
[self.dirpath, self.prefix + secure_filename(self.logoname)]
|
||||||
)
|
)
|
||||||
# next attributes are computer by the select function
|
# next attributes are computed by the select function
|
||||||
self.suffix = "Not inited: call the select or create function before access"
|
self.suffix = (
|
||||||
self.filepath = "Not inited: call the select or create function before access"
|
"Not initialized: call the select or create function before access"
|
||||||
self.filename = "Not inited: call the select or create function before access"
|
|
||||||
self.size = "Not inited: call the select or create function before access"
|
|
||||||
self.aspect_ratio = (
|
|
||||||
"Not inited: call the select or create function before access"
|
|
||||||
)
|
)
|
||||||
self.density = "Not inited: call the select or create function before access"
|
self.filepath = (
|
||||||
self.mm = "Not inited: call the select or create function before access"
|
"Not initialized: call the select or create function before access"
|
||||||
|
)
|
||||||
|
self.filename = (
|
||||||
|
"Not initialized: call the select or create function before access"
|
||||||
|
)
|
||||||
|
self.size = "Not initialized: call the select or create function before access"
|
||||||
|
self.aspect_ratio = (
|
||||||
|
"Not initialized: call the select or create function before access"
|
||||||
|
)
|
||||||
|
self.density = (
|
||||||
|
"Not initialized: call the select or create function before access"
|
||||||
|
)
|
||||||
|
self.mm = "Not initialized: call the select or create function before access"
|
||||||
|
|
||||||
def _set_format(self, fmt):
|
def _set_format(self, fmt):
|
||||||
self.suffix = fmt
|
self.suffix = fmt
|
||||||
@ -183,7 +191,7 @@ class Logo:
|
|||||||
def _ensure_directory_exists(self):
|
def _ensure_directory_exists(self):
|
||||||
"create enclosing directory if necessary"
|
"create enclosing directory if necessary"
|
||||||
if not Path(self.dirpath).exists():
|
if not Path(self.dirpath).exists():
|
||||||
current_app.logger.info(f"sco_logos creating directory %s", self.dirpath)
|
current_app.logger.info("sco_logos creating directory %s", self.dirpath)
|
||||||
os.mkdir(self.dirpath)
|
os.mkdir(self.dirpath)
|
||||||
|
|
||||||
def create(self, stream):
|
def create(self, stream):
|
||||||
@ -195,7 +203,7 @@ class Logo:
|
|||||||
filename = self.basepath + "." + self.suffix
|
filename = self.basepath + "." + self.suffix
|
||||||
with open(filename, "wb") as f:
|
with open(filename, "wb") as f:
|
||||||
f.write(stream.read())
|
f.write(stream.read())
|
||||||
current_app.logger.info(f"sco_logos.store_image %s", self.filename)
|
current_app.logger.info("sco_logos.store_image %s", self.filename)
|
||||||
# erase other formats if they exists
|
# erase other formats if they exists
|
||||||
for suffix in set(scu.LOGOS_IMAGES_ALLOWED_TYPES) - set([img_type]):
|
for suffix in set(scu.LOGOS_IMAGES_ALLOWED_TYPES) - set([img_type]):
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user