Compare commits
1 Commits
master
...
livrable_l
Author | SHA1 | Date | |
---|---|---|---|
95aa0f6523 |
|
@ -61,6 +61,14 @@ class Action:
|
||||||
GLOBAL = "_"
|
GLOBAL = "_"
|
||||||
|
|
||||||
|
|
||||||
|
def _libelle_dept(dept_key=None, dept_name=None):
|
||||||
|
if dept_key == GLOBAL:
|
||||||
|
lib_dept = f"au niveau global"
|
||||||
|
else:
|
||||||
|
lib_dept = f"pour le département {dept_name}"
|
||||||
|
return lib_dept
|
||||||
|
|
||||||
|
|
||||||
class LogoUpdate(Action):
|
class LogoUpdate(Action):
|
||||||
"""Action: change a logo
|
"""Action: change a logo
|
||||||
dept_id: dept_id or '_',
|
dept_id: dept_id or '_',
|
||||||
|
@ -70,7 +78,7 @@ class LogoUpdate(Action):
|
||||||
|
|
||||||
def __init__(self, parameters):
|
def __init__(self, parameters):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
f"Modification du logo {parameters['logo_id']} pour le département {parameters['dept_id']}",
|
f"Modification du logo {parameters['logo_id']} {_libelle_dept(parameters['dept_key'], parameters['dept_name'])}",
|
||||||
parameters,
|
parameters,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -101,7 +109,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']} {_libelle_dept(parameters['dept_key'], parameters['dept_name'])}",
|
||||||
parameters,
|
parameters,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -128,7 +136,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']} {_libelle_dept(parameters['dept_key'], parameters['dept_name'])} ({parameters['upload']}).",
|
||||||
parameters,
|
parameters,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -58,40 +58,6 @@ JAVASCRIPTS = html_sco_header.BOOTSTRAP_MULTISELECT_JS + []
|
||||||
|
|
||||||
CSSSTYLES = html_sco_header.BOOTSTRAP_MULTISELECT_CSS
|
CSSSTYLES = html_sco_header.BOOTSTRAP_MULTISELECT_CSS
|
||||||
|
|
||||||
# class ItemForm(FlaskForm):
|
|
||||||
# """Unused Generic class to document common behavior for classes
|
|
||||||
# * ScoConfigurationForm
|
|
||||||
# * DeptForm
|
|
||||||
# * LogoForm
|
|
||||||
# Some or all of these implements:
|
|
||||||
# * Composite design pattern (ScoConfigurationForm and DeptForm)
|
|
||||||
# - a FieldList(FormField(ItemForm))
|
|
||||||
# - FieldListItem are created by browsing the model
|
|
||||||
# - index dictionnary to provide direct access to a SubItemForm
|
|
||||||
# - the direct access method (get_form)
|
|
||||||
# * have some information added to be displayed
|
|
||||||
# - information are collected from a model object
|
|
||||||
# Common methods:
|
|
||||||
# * build(model) (not for LogoForm who has no child)
|
|
||||||
# for each child:
|
|
||||||
# * create en entry in the FieldList for each subitem found
|
|
||||||
# * update self.index
|
|
||||||
# * fill_in additional information into the form
|
|
||||||
# * recursively calls build for each chid
|
|
||||||
# some spécific information may be added after standard processing
|
|
||||||
# (typically header/footer description)
|
|
||||||
# * preview(data)
|
|
||||||
# check the data from a post and build a list of operations that has to be done.
|
|
||||||
# for a two phase process:
|
|
||||||
# * phase 1 (list all opérations)
|
|
||||||
# * phase 2 (may be confirmation and execure)
|
|
||||||
# - if no op found: return to the form with a message 'Aucune modification trouvée'
|
|
||||||
# - only one operation found: execute and go to main page
|
|
||||||
# - more than 1 operation found. asked form confirmation (and execution if confirmed)
|
|
||||||
#
|
|
||||||
# Someday we'll have time to refactor as abstract classes but Abstract FieldList makes this a bit complicated
|
|
||||||
# """
|
|
||||||
|
|
||||||
# Terminology:
|
# Terminology:
|
||||||
# dept_id : identifies a dept in modele (= list_logos()). None designates globals logos
|
# dept_id : identifies a dept in modele (= list_logos()). None designates globals logos
|
||||||
# dept_key : identifies a dept in this form only (..index[dept_key], and fields 'dept_key').
|
# dept_key : identifies a dept in this form only (..index[dept_key], and fields 'dept_key').
|
||||||
|
@ -115,6 +81,7 @@ class AddLogoForm(FlaskForm):
|
||||||
"""Formulaire permettant l'ajout d'un logo (dans un département)"""
|
"""Formulaire permettant l'ajout d'un logo (dans un département)"""
|
||||||
|
|
||||||
dept_key = HiddenField()
|
dept_key = HiddenField()
|
||||||
|
dept_name = HiddenField()
|
||||||
name = StringField(
|
name = StringField(
|
||||||
label="Nom",
|
label="Nom",
|
||||||
validators=[
|
validators=[
|
||||||
|
@ -164,6 +131,7 @@ class LogoForm(FlaskForm):
|
||||||
and all its data and UI action (change, delete)"""
|
and all its data and UI action (change, delete)"""
|
||||||
|
|
||||||
dept_key = HiddenField()
|
dept_key = HiddenField()
|
||||||
|
dept_name = HiddenField()
|
||||||
logo_id = HiddenField()
|
logo_id = HiddenField()
|
||||||
upload = FileField(
|
upload = FileField(
|
||||||
label="Remplacer l'image",
|
label="Remplacer l'image",
|
||||||
|
@ -274,12 +242,14 @@ def _make_dept_data(dept_id, dept_name, modele):
|
||||||
data = {
|
data = {
|
||||||
"dept_key": dept_key,
|
"dept_key": dept_key,
|
||||||
"dept_name": dept_name,
|
"dept_name": dept_name,
|
||||||
"add_logo": {"dept_key": dept_key},
|
"add_logo": {"dept_key": dept_key, "dept_name": dept_name},
|
||||||
}
|
}
|
||||||
logos = []
|
logos = []
|
||||||
if modele is not None:
|
if modele is not None:
|
||||||
for name in _ordered_logos(modele):
|
for name in _ordered_logos(modele):
|
||||||
logos.append({"dept_key": dept_key, "logo_id": name})
|
logos.append(
|
||||||
|
{"dept_key": dept_key, "dept_name": dept_name, "logo_id": name}
|
||||||
|
)
|
||||||
data["logos"] = logos
|
data["logos"] = logos
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
@ -317,37 +287,6 @@ class ScoDocConfigurationForm(FlaskForm):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
# def _set_global_logos_infos(self):
|
|
||||||
# "specific processing for globals items"
|
|
||||||
# global_header = self.get_form(logoname="header")
|
|
||||||
# global_header.description = (
|
|
||||||
# "image placée en haut de certains documents documents PDF."
|
|
||||||
# )
|
|
||||||
# global_header.titre = "Logo en-tête"
|
|
||||||
# global_header.can_delete = False
|
|
||||||
# global_footer = self.get_form(logoname="footer")
|
|
||||||
# global_footer.description = (
|
|
||||||
# "image placée en pied de page de certains documents documents PDF."
|
|
||||||
# )
|
|
||||||
# global_footer.titre = "Logo pied de page"
|
|
||||||
# global_footer.can_delete = False
|
|
||||||
|
|
||||||
# def _build_dept(self, dept_id, dept_name, modele):
|
|
||||||
# dept_key = dept_id or GLOBAL
|
|
||||||
# data = {"dept_key": dept_key}
|
|
||||||
# entry = self.depts.append_entry(data)
|
|
||||||
# entry.form.build(dept_name, modele.get(dept_id, {}))
|
|
||||||
# self.index[str(dept_key)] = entry.form
|
|
||||||
|
|
||||||
# def build(self, modele):
|
|
||||||
# "Build the Form hierachy (DeptForm, LogoForm) and add extra data (from modele)"
|
|
||||||
# # if entries already initialized (POST). keep subforms
|
|
||||||
# self.index = {}
|
|
||||||
# # create entries in FieldList (one entry per dept
|
|
||||||
# for dept_id, dept_name in self.dept_id_name:
|
|
||||||
# self._build_dept(dept_id=dept_id, dept_name=dept_name, modele=modele)
|
|
||||||
# self._set_global_logos_infos()
|
|
||||||
|
|
||||||
def get_form(self, dept_key=GLOBAL, logoname=None):
|
def get_form(self, dept_key=GLOBAL, logoname=None):
|
||||||
"""Retourne un formulaire:
|
"""Retourne un formulaire:
|
||||||
* pour un département (get_form(dept_id)) ou à un logo (get_form(dept_id, logname))
|
* pour un département (get_form(dept_id)) ou à un logo (get_form(dept_id, logname))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user