From efa2b448ff5b49a130eefd685440de52aa8c4800 Mon Sep 17 00:00:00 2001 From: bountz Date: Thu, 12 Nov 2026 11:08:25 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9liorations=20diverses=20:=20plusieurs?= =?UTF-8?q?=20calendriers=20avec=20mode=20d'acc=C3=A8s=20(cat=C3=A9gorie)?= =?UTF-8?q?=20et=20couleurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 2 +- README.md | 6 +- _calendar.html | 298 +++++++++--------- _config.html | 146 +++++---- _events_list.html | 7 +- _nav.html | 14 +- agenda.css | 1 + index.html | 676 +++++----------------------------------- manage/_calendrier.html | 77 +++++ manage/_event.html | 41 +++ manage/_occurence.html | 25 ++ manage/_perm.html | 23 ++ module.ini | 6 +- upcoming.html | 45 +-- 14 files changed, 509 insertions(+), 858 deletions(-) create mode 100644 manage/_calendrier.html create mode 100644 manage/_event.html create mode 100644 manage/_occurence.html create mode 100644 manage/_perm.html diff --git a/LICENSE b/LICENSE index efb9808..c32dd18 100644 --- a/LICENSE +++ b/LICENSE @@ -21,4 +21,4 @@ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -For more information, please refer to +For more information, please refer to \ No newline at end of file diff --git a/README.md b/README.md index 7b32652..0342a88 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,15 @@ Module Agenda associatif pour le logiciel Paheko ## Fonctionnalités -+ Calendrier mensuel/semaine/liste, ++ gestion de plusieurs calendriers (couleurs et catégorie), ++ catégorie : accès public, membres, administrateurs ++ vues : mensuel/semaine/liste, + rendez-vous réguliers récurrents (avec exceptions et couleurs), + événements ponctuels, + purge et tri automatiques. ## Installation -Via module dans Paheko +Via import module dans Paheko ## License Libre de tout droit \ No newline at end of file diff --git a/_calendar.html b/_calendar.html index 47607ea..026378b 100644 --- a/_calendar.html +++ b/_calendar.html @@ -1,6 +1,6 @@ {{if $vue != "liste"}}
-

Calendrier ({{$cal_filtre}})

+

Calendrier ({{$selected_calendar_name}})

{{if $vue == "mois"}} -{{/if}} -
- - - - - - -{{:assign var="cellules." value=1}}{{:assign var="cellules." value=2}}{{:assign var="cellules." value=3}}{{:assign var="cellules." value=4}}{{:assign var="cellules." value=5}}{{:assign var="cellules." value=6}}{{:assign var="cellules." value=7}}{{:assign var="cellules." value=8}}{{:assign var="cellules." value=9}}{{:assign var="cellules." value=10}} -{{:assign var="cellules." value=11}}{{:assign var="cellules." value=12}}{{:assign var="cellules." value=13}}{{:assign var="cellules." value=14}}{{:assign var="cellules." value=15}}{{:assign var="cellules." value=16}}{{:assign var="cellules." value=17}}{{:assign var="cellules." value=18}}{{:assign var="cellules." value=19}}{{:assign var="cellules." value=20}} -{{:assign var="cellules." value=21}}{{:assign var="cellules." value=22}}{{:assign var="cellules." value=23}}{{:assign var="cellules." value=24}}{{:assign var="cellules." value=25}}{{:assign var="cellules." value=26}}{{:assign var="cellules." value=27}}{{:assign var="cellules." value=28}}{{:assign var="cellules." value=29}}{{:assign var="cellules." value=30}} -{{:assign var="cellules." value=31}}{{:assign var="cellules." value=32}}{{:assign var="cellules." value=33}}{{:assign var="cellules." value=34}}{{:assign var="cellules." value=35}}{{:assign var="cellules." value=36}}{{:assign var="cellules." value=37}}{{:assign var="cellules." value=38}}{{:assign var="cellules." value=39}}{{:assign var="cellules." value=40}} -{{:assign var="cellules." value=41}}{{:assign var="cellules." value=42}} -{{#foreach from=$cellules item="n"}} - {{:assign var="rangee_n" value="floor((%d-1)/7)+1"|math:$n}} - {{if $vue == "mois" || $rangee_n == $semaine_sel}} - {{:assign var="jour_num" value="%d-%d"|math:$n:$decalage}} - {{if $jour_num >= 1 && $jour_num <= $nb_jours}} - {{:assign var="date_cellule" value="%04d-%02d-%02d"|args:$an:$mois:$jour_num}} - {{:assign var="dow_cellule" value=$date_cellule|date:"N"}} - {{:assign var="occurrence_mois" value="floor((%d-1)/7)+1"|math:$jour_num}} - {{:assign var="est_derniere_occurrence" value=false}} - {{if "%d+7"|math:$jour_num > $nb_jours}}{{:assign var="est_derniere_occurrence" value=true}}{{/if}} - {{:assign var="evts_ce_jour" from="events_par_jour.%s"|args:$date_cellule}} - {{:assign var="badges_jour" value=""}} - {{#foreach from=$perms_data item="pd"}} - {{if $pd.jour == $dow_cellule}} - {{if $pd.date_debut == "" || $date_cellule >= $pd.date_debut}} - {{if $pd.date_fin == "" || $date_cellule <= $pd.date_fin}} - {{:assign var="est_exclue" value=false}} - {{#foreach from=$pd.exceptions item="ex"}} - {{if $ex == $date_cellule}}{{:assign var="est_exclue" value=true}}{{/if}} - {{/foreach}} - {{if !$est_exclue}} - {{:assign var="afficher_badge" value=false}} - {{if $pd.type_recurrence == "mensuel"}} - {{if $pd.semaine_du_mois == -1 && $est_derniere_occurrence}}{{:assign var="afficher_badge" value=true}}{{/if}} - {{if $pd.semaine_du_mois == $occurrence_mois}}{{:assign var="afficher_badge" value=true}}{{/if}} - {{elseif $pd.type_recurrence == "quinzaine"}} - {{if $pd.date_debut != ""}} - {{:assign var="ref_sem_q" value=$pd.date_debut|date:"W"|intval}} - {{:assign var="cell_sem_q" value=$date_cellule|date:"W"|intval}} - {{:assign var="diff_sem_q" value="(%d-%d) %% 2"|math:$cell_sem_q:$ref_sem_q}} - {{if $diff_sem_q == 0}}{{:assign var="afficher_badge" value=true}}{{/if}} + {{/if}} +
+
LunMarMerJeuVenSamDim
+ + + + + + {{#foreach count=42 key="i"}} + {{:assign var="i" value="1+%d"|math:$i}} + {{:assign var="cellules." value=$i}} + {{/foreach}} + {{* + {{:assign var="cellules." value=1}}{{:assign var="cellules." value=2}}{{:assign var="cellules." value=3}}{{:assign var="cellules." value=4}}{{:assign var="cellules." value=5}}{{:assign var="cellules." value=6}}{{:assign var="cellules." value=7}}{{:assign var="cellules." value=8}}{{:assign var="cellules." value=9}}{{:assign var="cellules." value=10}} + {{:assign var="cellules." value=11}}{{:assign var="cellules." value=12}}{{:assign var="cellules." value=13}}{{:assign var="cellules." value=14}}{{:assign var="cellules." value=15}}{{:assign var="cellules." value=16}}{{:assign var="cellules." value=17}}{{:assign var="cellules." value=18}}{{:assign var="cellules." value=19}}{{:assign var="cellules." value=20}} + {{:assign var="cellules." value=21}}{{:assign var="cellules." value=22}}{{:assign var="cellules." value=23}}{{:assign var="cellules." value=24}}{{:assign var="cellules." value=25}}{{:assign var="cellules." value=26}}{{:assign var="cellules." value=27}}{{:assign var="cellules." value=28}}{{:assign var="cellules." value=29}}{{:assign var="cellules." value=30}} + {{:assign var="cellules." value=31}}{{:assign var="cellules." value=32}}{{:assign var="cellules." value=33}}{{:assign var="cellules." value=34}}{{:assign var="cellules." value=35}}{{:assign var="cellules." value=36}}{{:assign var="cellules." value=37}}{{:assign var="cellules." value=38}}{{:assign var="cellules." value=39}}{{:assign var="cellules." value=40}} + {{:assign var="cellules." value=41}}{{:assign var="cellules." value=42}} + *}} + {{#foreach from=$cellules item="n"}} + {{:assign var="rangee_n" value="floor((%d-1)/7)+1"|math:$n}} + {{if $vue == "mois" || $rangee_n == $semaine_sel}} + {{:assign var="jour_num" value="%d-%d"|math:$n:$decalage}} + {{if $jour_num >= 1 && $jour_num <= $nb_jours}} + {{:assign var="date_cellule" value="%04d-%02d-%02d"|args:$an:$mois:$jour_num}} + {{:assign var="dow_cellule" value=$date_cellule|date:"N"}} + {{:assign var="occurrence_mois" value="floor((%d-1)/7)+1"|math:$jour_num}} + {{:assign var="est_derniere_occurrence" value=false}} + {{if "%d+7"|math:$jour_num > $nb_jours}}{{:assign var="est_derniere_occurrence" value=true}}{{/if}} + {{:assign var="evts_ce_jour" from="events_par_jour.%s"|args:$date_cellule}} + {{:assign var="badges_jour" value=""}} + {{#foreach from=$perms_data item="pd"}} + {{if $pd.jour == $dow_cellule}} + {{if $pd.date_debut == "" || $date_cellule >= $pd.date_debut}} + {{if $pd.date_fin == "" || $date_cellule <= $pd.date_fin}} + {{:assign var="est_exclue" value=false}} + {{#foreach from=$pd.exceptions item="ex"}} + {{if $ex == $date_cellule}}{{:assign var="est_exclue" value=true}}{{/if}} + {{/foreach}} + {{if !$est_exclue}} + {{:assign var="afficher_badge" value=false}} + {{if $pd.type_recurrence == "mensuel"}} + {{if $pd.semaine_du_mois == -1 && $est_derniere_occurrence}}{{:assign var="afficher_badge" value=true}}{{/if}} + {{if $pd.semaine_du_mois == $occurrence_mois}}{{:assign var="afficher_badge" value=true}}{{/if}} + {{elseif $pd.type_recurrence == "quinzaine"}} + {{if $pd.date_debut != ""}} + {{:assign var="ref_sem_q" value=$pd.date_debut|date:"W"|intval}} + {{:assign var="cell_sem_q" value=$date_cellule|date:"W"|intval}} + {{:assign var="diff_sem_q" value="(%d-%d) %% 2"|math:$cell_sem_q:$ref_sem_q}} + {{if $diff_sem_q == 0}}{{:assign var="afficher_badge" value=true}}{{/if}} + {{/if}} + {{else}} + {{:assign var="afficher_badge" value=true}} + {{/if}} + {{if $afficher_badge}} + {{:assign var="cle_b" value="%s_a_perm%s"|args:$pd.debut:$pd.id}} + {{:assign var="badges_jour.%s.type"|args:$cle_b value="perm"}} + {{:assign var="badges_jour.%s.debut"|args:$cle_b value=$pd.debut}} + {{:assign var="badges_jour.%s.fin"|args:$cle_b value=$pd.fin}} + {{:assign var="badges_jour.%s.label"|args:$cle_b value=$pd.label}} + {{:assign var="badges_jour.%s.couleur"|args:$cle_b value=$pd.couleur|or:'#4c7a2e'}} + {{:assign var="badges_jour.%s.pid"|args:$cle_b value=$pd.id}} + {{:assign var="badges_jour.%s.lieu"|args:$cle_b value=$pd.lieu}} + {{:assign var="badges_jour.%s.description"|args:$cle_b value=$pd.description}} + {{/if}} {{/if}} - {{else}} - {{:assign var="afficher_badge" value=true}} - {{/if}} - {{if $afficher_badge}} - {{:assign var="cle_b" value="%s_a_perm%s"|args:$pd.debut:$pd.id}} - {{:assign var="badges_jour.%s.type"|args:$cle_b value="perm"}} - {{:assign var="badges_jour.%s.debut"|args:$cle_b value=$pd.debut}} - {{:assign var="badges_jour.%s.fin"|args:$cle_b value=$pd.fin}} - {{:assign var="badges_jour.%s.label"|args:$cle_b value=$pd.label}} - {{:assign var="badges_jour.%s.couleur"|args:$cle_b value=$pd.couleur|or:'#4c7a2e'}} - {{:assign var="badges_jour.%s.pid"|args:$cle_b value=$pd.id}} - {{:assign var="badges_jour.%s.lieu"|args:$cle_b value=$pd.lieu}} - {{:assign var="badges_jour.%s.description"|args:$cle_b value=$pd.description}} {{/if}} {{/if}} {{/if}} + {{/foreach}} + {{if $evts_ce_jour}} + {{#foreach from=$evts_ce_jour item="ev"}} + {{:assign var="cle_b" value="%s_b_evt%s"|args:$ev.debut:$ev.id}} + {{:assign var="badges_jour.%s.type"|args:$cle_b value="evt"}} + {{:assign var="badges_jour.%s.id"|args:$cle_b value=$ev.id}} + {{:assign var="badges_jour.%s.debut"|args:$cle_b value=$ev.debut}} + {{:assign var="badges_jour.%s.fin"|args:$cle_b value=$ev.fin}} + {{:assign var="badges_jour.%s.label"|args:$cle_b value=$ev.titre}} + {{:assign var="badges_jour.%s.couleur"|args:$cle_b value=$ev.couleur|or:'#8c3a1e'}} + {{:assign var="badges_jour.%s.lieu"|args:$cle_b value=$ev.lieu}} + {{:assign var="badges_jour.%s.description"|args:$cle_b value=$ev.description}} + {{:assign var="badges_jour.%s.lien"|args:$cle_b value=$ev.lien}} + {{:assign var="badges_jour.%s.lien1_label"|args:$cle_b value=$ev.lien1_label}} + {{:assign var="badges_jour.%s.lien1_url"|args:$cle_b value=$ev.lien1_url}} + {{:assign var="badges_jour.%s.lien2_label"|args:$cle_b value=$ev.lien2_label}} + {{:assign var="badges_jour.%s.lien2_url"|args:$cle_b value=$ev.lien2_url}} + {{:assign var="badges_jour.%s.lien3_label"|args:$cle_b value=$ev.lien3_label}} + {{:assign var="badges_jour.%s.lien3_url"|args:$cle_b value=$ev.lien3_url}} + {{/foreach}} {{/if}} - {{/if}} - {{/foreach}} - {{if $evts_ce_jour}} - {{#foreach from=$evts_ce_jour item="ev"}} - {{:assign var="cle_b" value="%s_b_evt%s"|args:$ev.debut:$ev.id}} - {{:assign var="badges_jour.%s.type"|args:$cle_b value="evt"}} - {{:assign var="badges_jour.%s.id"|args:$cle_b value=$ev.id}} - {{:assign var="badges_jour.%s.debut"|args:$cle_b value=$ev.debut}} - {{:assign var="badges_jour.%s.fin"|args:$cle_b value=$ev.fin}} - {{:assign var="badges_jour.%s.label"|args:$cle_b value=$ev.titre}} - {{:assign var="badges_jour.%s.couleur"|args:$cle_b value=$ev.couleur|or:'#8c3a1e'}} - {{:assign var="badges_jour.%s.lieu"|args:$cle_b value=$ev.lieu}} - {{:assign var="badges_jour.%s.description"|args:$cle_b value=$ev.description}} - {{:assign var="badges_jour.%s.lien"|args:$cle_b value=$ev.lien}} - {{:assign var="badges_jour.%s.lien1_label"|args:$cle_b value=$ev.lien1_label}} - {{:assign var="badges_jour.%s.lien1_url"|args:$cle_b value=$ev.lien1_url}} - {{:assign var="badges_jour.%s.lien2_label"|args:$cle_b value=$ev.lien2_label}} - {{:assign var="badges_jour.%s.lien2_url"|args:$cle_b value=$ev.lien2_url}} - {{:assign var="badges_jour.%s.lien3_label"|args:$cle_b value=$ev.lien3_label}} - {{:assign var="badges_jour.%s.lien3_url"|args:$cle_b value=$ev.lien3_url}} - {{/foreach}} - {{/if}} - {{if $badges_jour}} - {{:assign var="badges_tries" value=$badges_jour|ksort|values}} - {{else}} - {{:assign var="badges_tries" value=""}} - {{/if}} - - -
{{$jour_num}}
- {{#foreach from=$badges_tries item="bj"}} - {{if $bj.type == "perm"}} -
-
- {{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}} — {{/if}}{{$bj.label}}{{if $bj.lieu}}
📍 {{$bj.lieu}}{{/if}} - {{if $bj.description}}
{{$bj.description}}
{{/if}} -
- {{if $est_admin}} - - ✎ -
- - - - - - -
- {{/if}} -
+ {{if $badges_jour}} + {{:assign var="badges_tries" value=$badges_jour|ksort|values}} {{else}} - {{* background: hsl(var(--first-color), 50%, 90%); - background: linear-gradient(200deg, hsl(var(--first-color), 50%, 90%) 5%, hsl(var(--second-color), 30%, 90%) 30%); -*}} -
-
- {{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}} — {{/if}}{{$bj.label}}{{if $bj.lieu}}
📍 {{$bj.lieu}}{{/if}} - {{if $bj.description}}
{{$bj.description}}
{{/if}} -
- {{if $est_admin}} - - ✎ -
- - - - -
- {{/if}} -
+ {{:assign var="badges_tries" value=""}} {{/if}} - {{/foreach}} - - {{else}} -
- {{/if}} - {{/if}} - {{if $vue == "mois" && "%d %% 7"|math:$n == 0 && $n != 42}}{{/if}} -{{/foreach}} - - -
LunMarMerJeuVenSamDim
-
-
+ +
{{$jour_num}}
+ {{#foreach from=$badges_tries item="bj"}} + {{if $bj.type == "perm"}} +
+
+ {{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}} — {{/if}}{{$bj.label}}{{if $bj.lieu}}
📍 {{$bj.lieu}}{{/if}} + {{if $bj.description}}
{{$bj.description}}
{{/if}} +
+ {{if $est_admin}} + + ✎ +
+ {{:input type="hidden" name="perm_id" default=$bj.pid }} + {{:input type="hidden" name="date_exclue" default=$date_cellule }} + {{:input type="hidden" name="retour_an" default=$an }} + {{:input type="hidden" name="retour_mois" default=$mois }} + {{:button type="submit" name="suppr_occurrence" class="mini-x" shape="delete" title="Supprimer seulement ce jour" value=$bj.pid}} + {{* + + + + + + *}} +
+
+ {{/if}} +
+ {{else}} + {{* background: hsl(var(--first-color), 50%, 90%); + background: linear-gradient(200deg, hsl(var(--first-color), 50%, 90%) 5%, hsl(var(--second-color), 30%, 90%) 30%); + *}} +
+
+ {{if $bj.debut}}{{$bj.debut}}{{if $bj.fin}}–{{$bj.fin}}{{/if}} — {{/if}}{{$bj.label}}{{if $bj.lieu}}
📍 {{$bj.lieu}}{{/if}} + {{if $bj.description}}
{{$bj.description}}
{{/if}} +
+ {{if $est_admin}} + + ✎ +
+ {{:input type="hidden" name="retour_an" default=$an }} + {{:input type="hidden" name="retour_mois" default=$mois }} + {{:button type="submit" name="suppr_event" class="mini-x" shape="delete" title="Supprimer" value=$bj.id}} + {{* + + + + *}} +
+
+ {{/if}} +
+ {{/if}} + {{/foreach}} + + {{else}} + + + {{/if}} + {{/if}} + {{if $vue == "mois" && "%d %% 7"|math:$n == 0 && $n != 42}}{{/if}} + {{/foreach}} + + + + + {{/if}} \ No newline at end of file diff --git a/_config.html b/_config.html index 855674f..81ef278 100644 --- a/_config.html +++ b/_config.html @@ -1,3 +1,4 @@ +{{* Gestion des Calendriers *}} {{if $est_admin && $subconf=="manage_cal"}}

Gérer les calendriers

@@ -6,32 +7,71 @@ {{#foreach from=$calendriers_liste item="cd_gest"}} - {{$cd_gest.nom}}{{if $cd_gest.par_defaut}} (par défaut){{/if}} - {{if !$cd_gest.par_defaut}} -
- {{* *}} - {{:button type="submit" name="suppr_calendrier" label="Supprimer ce calendrier" shape="delete" value="%s"|args:$cd_gest.id}} -
- {{/if}} + {{$cd_gest.nom}} + {{if $cd_gest.par_defaut}} (par défaut){{/if}} + + {{:linkbutton href="index.html?nav=conf&conf=manage_cal&idcal=%s"|args:$cd_gest.id label="Modifier ce calendrier" class="mini" shape="edit"}} +
+ {{if !$cd_gest.par_defaut}} + {{:button type="submit" name="suppr_calendrier" label="Supprimer ce calendrier" class="mini" shape="delete" value="%s"|args:$cd_gest.id}} + {{/if}} +
{{/foreach}} +

Supprimer un calendrier ne supprime pas les événements/rendez-vous qui y étaient rattachés — ils basculent simplement dans "Agenda" par défaut.

- {{*
- -
- - *}} -
{{:input type="text" name="nom_calendrier" label="Nouveau calendrier" help="ex. Réunions" required=true}}
- {{:button type="submit" name="add_calendrier" label="Ajouter" title="Ajouter un calendrier" shape="plus" value="1"}} +
+ {{if $_GET.idcal && $est_admin}} +

Modifier un calendrier

+ {{:assign var="_cnom" from="calendriers_liste.%s.nom"|args:$_GET.idcal}} + {{:assign var="_cdef" from="calendriers_liste.%s.par_defaut"|args:$_GET.idcal}} + {{:assign var="_ccou" from="calendriers_liste.%s.couleur"|args:$_GET.idcal}} + {{:assign var="_ctco" from="calendriers_liste.%s.textecouleur"|args:$_GET.idcal}} + {{:assign var="_ccat" from="calendriers_liste.%s.categorie"|args:$_GET.idcal}} + {{if $_cdef == true}} + {{:assign _checked="checked"}} + {{/if}} +
{{:input type="text" name="nom_calendrier" label="Nom du calendrier" default=$_cnom required=true}}
+
{{:input type="hue" name="couleur" label="Couleur de l'arrière-plan" default=$_ccou}}
+
{{:input type="hue" name="couleur_texte" label="Couleur du texte" default=$_ctco}}
+
{{:input type="checkbox" name="pardefaut" label="Calendrier par défaut ?" checked="%s"|args:$_checked value=true}}
+ {{if $_ccat == "p"}} {{:assign _p="checked"}} {{elseif $_ccat == "m"}} {{:assign _m="checked"}} {{elseif $_ccat == "a"}} {{:assign _a="checked"}} {{else}} {{:assign _p="checked"}} {{/if}} + {{:assign var="options." id="p" texte="public" checked="%s"|args:$_p}} + {{:assign var="options." id="m" texte="membres" checked="%s"|args:$_m}} + {{:assign var="options." id="a" texte="admins" checked="%s"|args:$_a}} +
+ {{#foreach from=$options item="o"}} + {{:input type="radio" name="categorie" label="Catégorie" value=$o.id label=$o.texte checked=$o.checked}} + {{/foreach}} + {{*:input type="radio" name="categorie" label="Catégorie" checked="%s"|args:$_checked value=true*}} +
+ {{:button type="submit" name="mod_calendrier" label="Modifier" title="Modifier un calendrier" shape="plus" value="%d"|args:$_GET.idcal}} + {{else}} +

Ajouter un calendrier

+
{{:input type="text" name="nom_calendrier" label="Nom du calendrier" help="ex. Réunions" required=true}}
+
{{:input type="hue" name="couleur" label="Couleur de l'arrière-plan" help="Couleur par defaut de l'arrière-plan des évènements créés dans ce calendrier." }}
+
{{:input type="hue" name="couleur_texte" label="Couleur du texte" default=$_ctco}}
+
{{:input type="checkbox" name="pardefaut" label="Calendrier par défaut ?" value=true}}
+ {{:assign var="options." id="p" texte="public" checked="checked"}} + {{:assign var="options." id="m" texte="membres"}} + {{:assign var="options." id="a" texte="admins"}} +
+ {{#foreach from=$options item="o"}} + {{:input type="radio" name="categorie" label="Catégorie" value=$o.id label=$o.texte checked=$o.checked}} + {{/foreach}} +
+ {{:button type="submit" name="add_calendrier" label="Ajouter" title="Ajouter un calendrier" shape="plus" value="1"}} + {{/if}} +
-

Supprimer un calendrier ne supprime pas les événements/rendez-vous qui y étaient rattachés — ils basculent simplement dans "Agenda" par défaut.

{{/if}} +{{* Gestion des évènements *}} {{if $est_admin && $subconf=="manage_eve"}} {{*:debug event=$event*}}
@@ -45,78 +85,46 @@ {{:input type="time" name="debut" label="De" default=$event.debut}} {{:input type="time" name="fin" label="À" default=$event.fin}} {{:input type="text" name="lieu" label="Lieu" default=$event.lieu}} - {{:input type="hue" name="couleur" label="Couleur" }} + {{if $edit_event}} + {{:input type="hue" name="couleur" label="Couleur" default=$event.couleur }} + {{/if}} {{:assign var="ee_cal_eff" value=$event.calendrier}} - {{if $ee_cal_eff == ""}}{{:assign var="ee_cal_eff" value="agenda"}}{{/if}} + {{*if $ee_cal_eff == ""}}{{:assign var="ee_cal_eff" value="agenda"}}{{/if*}} {{* inutile *}} {{#foreach from=$calendriers_liste item="cd_opt"}} {{:assign var="calendriers_options.%s"|args:$cd_opt.id label=$cd_opt.nom}} {{/foreach}} {{*:debug cal=$calendriers_options*}} {{:input type="select" name="calendrier" label="Calendrier" default=$event.calendrier options=$calendriers_options required=true}} {{:input type="textarea" cols=40 rows=3 name="description" label="Description complète" default=$event.description required=false}} - + {{#foreach count=3 key="i"}} + {{:assign var="i" value="1+%d"|math:$i}} + {{:assign _ell="event.lien%d_label"|args:$i _elu="event.lien%d_url"|args:$i}} + {{:assign var="ell" from=$_ell}} + {{:assign var="elu" from=$_elu}} +
+ {{:input type="text" name="lien%d_label"|args:$i label="Lien %d — libellé"|args:$i default=$ell placeholder="Ex. Inscription"}} + {{:input type="text" name="lien%d_url"|args:$i label="Lien %d — URL"|args:$i default=$elu placeholder="https://…"}} + {{/foreach}} + {{*
{{:input type="text" name="lien1_label" label="Lien 1 — libellé" default=$event.lien1_label placeholder="Ex. Affiche"}}{{:input type="text" name="lien1_url" label="Lien 1 — URL" default=$event.lien1_url placeholder="https://…"}}
{{:input type="text" name="lien2_label" label="Lien 2 — libellé" default=$event.lien2_label placeholder="Ex. Programme"}}{{:input type="text" name="lien2_url" label="Lien 2 — URL" default=$event.lien2_url placeholder="https://…"}}
{{:input type="text" name="lien3_label" label="Lien 3 — libellé" default=$event.lien3_label placeholder="Ex. Inscription"}}{{:input type="text" name="lien3_url" label="Lien 3 — URL" default=$event.lien3_url placeholder="https://…"}}
+ *}}

{{if $edit_event}} Annuler - {{:button type="submit" name="save_event" label="Enregistrer les modifications" class="main" value="%s"|args:$event.key}} + {{:input type="hidden" name="event_id" default=$event.id}} + {{:button type="submit" name="save_event" label="Enregistrer les modifications" class="main"}} {{else}} {{:button type="submit" name="save_event" label="Ajouter l'événement" shape="plus" class="main"}} {{/if}}

-{{*
-

{{if $edit_event}}Modifier l'événement{{else}}Ajouter un événement{{/if}}

-
- - -
-
-
-
-
-
-
-
- - -
-
-

-

Liens (affiche, document, inscription… — jusqu'à 3, facultatifs)

-
-
-
-
-
-
-
-
-
-
-
-
- {{if $edit_event}} - - Annuler - {{else}} - - {{/if}} -
-
-*}} {{/if}} +{{* Gestion des occurences *}} {{if $est_admin && $subconf=="manage_app"}}

{{if $edit_perm}}Modifier ce rendez-vous régulier{{else}}Ajouter un rendez-vous régulier{{/if}}

@@ -163,10 +171,10 @@
diff --git a/_events_list.html b/_events_list.html index 8884582..3800e01 100644 --- a/_events_list.html +++ b/_events_list.html @@ -31,10 +31,15 @@ {{if $est_admin}} ✎ -
+ + {{:input type="hidden" name="retour_an" default=$an}} + {{:input type="hidden" name="retour_mois" default=$mois}} + {{:button type="submit" name="suppr_event" label="Supprimer" shape="delete" class="mini" default=$id required=true}} + {{* + *}}
{{/if}} diff --git a/_nav.html b/_nav.html index 85a07b9..6755c86 100644 --- a/_nav.html +++ b/_nav.html @@ -13,13 +13,13 @@ {{#restrict section="web" level="write"}}