Files
sondage/manage/_sondage_creneaux.html

178 lines
11 KiB
HTML

{{* ---------- Ajout d'un créneau (admin) ---------- *}}
{{if $_POST.add_creneau && $est_admin}}
{{:assign var="saisi_titre" value=$_POST.titre|strval|trim}}
{{:assign var="saisi_date" value=$_POST.date|strval|trim}}
{{:assign var="saisi_debut" value=$_POST.debut|strval|trim}}
{{:assign var="saisi_fin" value=$_POST.fin|strval|trim}}
{{if $saisi_date}}
{{:assign var="new_creneaux" value=$s.creneaux}}
{{:assign var="cid" value=$now|date:"YmdHis"}}
{{:assign var="nouveau" id=$cid titre=$saisi_titre date=$saisi_date debut=$saisi_debut fin=$saisi_fin}}
{{:assign var="new_creneaux." value=$nouveau}}
{{:save id=$s.id creneaux=$new_creneaux}}
{{*:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id*}}
{{/if}}
{{/if}}
{{* ---------- Ajout de plusieurs créneaux d'un coup (saisie libre, admin) ---------- *}}
{{if $_POST.ajout_multiple && $est_admin}}
{{:assign var="new_creneaux" value=$s.creneaux}}
{{:assign var="lignes." value=1}}{{:assign var="lignes." value=2}}{{:assign var="lignes." value=3}}{{:assign var="lignes." value=4}}{{:assign var="lignes." value=5}}
{{#foreach from=$lignes item="ligne_i"}}
{{:assign var="m_date_brut" from="_POST.date_%d"|args:$ligne_i}}
{{:assign var="m_date" value=$m_date_brut|strval|trim}}
{{if $m_date}}
{{:assign var="m_titre_brut" from="_POST.titre_%d"|args:$ligne_i}}
{{:assign var="m_debut_brut" from="_POST.debut_%d"|args:$ligne_i}}
{{:assign var="m_fin_brut" from="_POST.fin_%d"|args:$ligne_i}}
{{:assign var="m_titre" value=$m_titre_brut|strval|trim}}
{{:assign var="m_debut" value=$m_debut_brut|strval|trim}}
{{:assign var="m_fin" value=$m_fin_brut|strval|trim}}
{{:assign this_date=$now|date:'YmdHis'}}
{{:assign var="cid_m" value="%s-%d"|args:$this_date:$ligne_i}}
{{:assign var="nouveau_m" id=$cid_m titre=$m_titre date=$m_date debut=$m_debut fin=$m_fin}}
{{:assign var="new_creneaux." value=$nouveau_m}}
{{/if}}
{{/foreach}}
{{:save id=$s.id creneaux=$new_creneaux}}
{{:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id}}
{{/if}}
{{* ---------- Générateur automatique de créneaux par jour de semaine (admin) ---------- *}}
{{if $_POST.generer_creneaux && $est_admin}}
{{#foreach from=$_POST.g_jour item="jc"}}
{{:assign var="jours_sel." value=$jc|intval}}
{{/foreach}}
{{:assign var="g_debut_periode" value=$_POST.g_debut_periode|strval|trim}}
{{:assign var="g_fin_periode" value=$_POST.g_fin_periode|strval|trim}}
{{:assign var="g_titre" value=$_POST.g_titre|strval|trim}}
{{:assign var="g_heure_debut" value=$_POST.g_heure_debut|strval|trim}}
{{:assign var="g_heure_fin" value=$_POST.g_heure_fin|strval|trim}}
{{if $g_debut_periode && $g_fin_periode}}
{{:assign var="new_creneaux" value=$s.creneaux}}
{{:assign var="an_g0" value=$g_debut_periode|date:"Y"}}
{{:assign var="mois_g0" value=$g_debut_periode|date:"n"}}
{{if $mois_g0 == 12}}{{:assign var="mois_g1" value=1}}{{:assign var="an_g1" value="%d+1"|math:$an_g0}}{{else}}{{:assign var="mois_g1" value="%d+1"|math:$mois_g0}}{{:assign var="an_g1" value=$an_g0}}{{/if}}
{{if $mois_g1 == 12}}{{:assign var="mois_g2" value=1}}{{:assign var="an_g2" value="%d+1"|math:$an_g1}}{{else}}{{:assign var="mois_g2" value="%d+1"|math:$mois_g1}}{{:assign var="an_g2" value=$an_g1}}{{/if}}
{{if $mois_g2 == 12}}{{:assign var="mois_g3" value=1}}{{:assign var="an_g3" value="%d+1"|math:$an_g2}}{{else}}{{:assign var="mois_g3" value="%d+1"|math:$mois_g2}}{{:assign var="an_g3" value=$an_g2}}{{/if}}
{{if $mois_g3 == 12}}{{:assign var="mois_g4" value=1}}{{:assign var="an_g4" value="%d+1"|math:$an_g3}}{{else}}{{:assign var="mois_g4" value="%d+1"|math:$mois_g3}}{{:assign var="an_g4" value=$an_g3}}{{/if}}
{{if $mois_g4 == 12}}{{:assign var="mois_g5" value=1}}{{:assign var="an_g5" value="%d+1"|math:$an_g4}}{{else}}{{:assign var="mois_g5" value="%d+1"|math:$mois_g4}}{{:assign var="an_g5" value=$an_g4}}{{/if}}
{{if $mois_g5 == 12}}{{:assign var="mois_g6" value=1}}{{:assign var="an_g6" value="%d+1"|math:$an_g5}}{{else}}{{:assign var="mois_g6" value="%d+1"|math:$mois_g5}}{{:assign var="an_g6" value=$an_g5}}{{/if}}
{{if $mois_g6 == 12}}{{:assign var="mois_g7" value=1}}{{:assign var="an_g7" value="%d+1"|math:$an_g6}}{{else}}{{:assign var="mois_g7" value="%d+1"|math:$mois_g6}}{{:assign var="an_g7" value=$an_g6}}{{/if}}
{{if $mois_g7 == 12}}{{:assign var="mois_g8" value=1}}{{:assign var="an_g8" value="%d+1"|math:$an_g7}}{{else}}{{:assign var="mois_g8" value="%d+1"|math:$mois_g7}}{{:assign var="an_g8" value=$an_g7}}{{/if}}
{{if $mois_g8 == 12}}{{:assign var="mois_g9" value=1}}{{:assign var="an_g9" value="%d+1"|math:$an_g8}}{{else}}{{:assign var="mois_g9" value="%d+1"|math:$mois_g8}}{{:assign var="an_g9" value=$an_g8}}{{/if}}
{{if $mois_g9 == 12}}{{:assign var="mois_g10" value=1}}{{:assign var="an_g10" value="%d+1"|math:$an_g9}}{{else}}{{:assign var="mois_g10" value="%d+1"|math:$mois_g9}}{{:assign var="an_g10" value=$an_g9}}{{/if}}
{{if $mois_g10 == 12}}{{:assign var="mois_g11" value=1}}{{:assign var="an_g11" value="%d+1"|math:$an_g10}}{{else}}{{:assign var="mois_g11" value="%d+1"|math:$mois_g10}}{{:assign var="an_g11" value=$an_g10}}{{/if}}
{{:assign var="mois_gen_an.0" value=$an_g0}}{{:assign var="mois_gen_mois.0" value=$mois_g0}}
{{:assign var="mois_gen_an.1" value=$an_g1}}{{:assign var="mois_gen_mois.1" value=$mois_g1}}
{{:assign var="mois_gen_an.2" value=$an_g2}}{{:assign var="mois_gen_mois.2" value=$mois_g2}}
{{:assign var="mois_gen_an.3" value=$an_g3}}{{:assign var="mois_gen_mois.3" value=$mois_g3}}
{{:assign var="mois_gen_an.4" value=$an_g4}}{{:assign var="mois_gen_mois.4" value=$mois_g4}}
{{:assign var="mois_gen_an.5" value=$an_g5}}{{:assign var="mois_gen_mois.5" value=$mois_g5}}
{{:assign var="mois_gen_an.6" value=$an_g6}}{{:assign var="mois_gen_mois.6" value=$mois_g6}}
{{:assign var="mois_gen_an.7" value=$an_g7}}{{:assign var="mois_gen_mois.7" value=$mois_g7}}
{{:assign var="mois_gen_an.8" value=$an_g8}}{{:assign var="mois_gen_mois.8" value=$mois_g8}}
{{:assign var="mois_gen_an.9" value=$an_g9}}{{:assign var="mois_gen_mois.9" value=$mois_g9}}
{{:assign var="mois_gen_an.10" value=$an_g10}}{{:assign var="mois_gen_mois.10" value=$mois_g10}}
{{:assign var="mois_gen_an.11" value=$an_g11}}{{:assign var="mois_gen_mois.11" value=$mois_g11}}
{{:assign var="jours_gen." value=1}}{{:assign var="jours_gen." value=2}}{{:assign var="jours_gen." value=3}}{{:assign var="jours_gen." value=4}}{{:assign var="jours_gen." value=5}}{{:assign var="jours_gen." value=6}}{{:assign var="jours_gen." value=7}}{{:assign var="jours_gen." value=8}}{{:assign var="jours_gen." value=9}}{{:assign var="jours_gen." value=10}}
{{:assign var="jours_gen." value=11}}{{:assign var="jours_gen." value=12}}{{:assign var="jours_gen." value=13}}{{:assign var="jours_gen." value=14}}{{:assign var="jours_gen." value=15}}{{:assign var="jours_gen." value=16}}{{:assign var="jours_gen." value=17}}{{:assign var="jours_gen." value=18}}{{:assign var="jours_gen." value=19}}{{:assign var="jours_gen." value=20}}
{{:assign var="jours_gen." value=21}}{{:assign var="jours_gen." value=22}}{{:assign var="jours_gen." value=23}}{{:assign var="jours_gen." value=24}}{{:assign var="jours_gen." value=25}}{{:assign var="jours_gen." value=26}}{{:assign var="jours_gen." value=27}}{{:assign var="jours_gen." value=28}}{{:assign var="jours_gen." value=29}}{{:assign var="jours_gen." value=30}}
{{:assign var="jours_gen." value=31}}
{{:assign var="idx_mois_gen." value=0}}{{:assign var="idx_mois_gen." value=1}}{{:assign var="idx_mois_gen." value=2}}{{:assign var="idx_mois_gen." value=3}}{{:assign var="idx_mois_gen." value=4}}{{:assign var="idx_mois_gen." value=5}}
{{:assign var="idx_mois_gen." value=6}}{{:assign var="idx_mois_gen." value=7}}{{:assign var="idx_mois_gen." value=8}}{{:assign var="idx_mois_gen." value=9}}{{:assign var="idx_mois_gen." value=10}}{{:assign var="idx_mois_gen." value=11}}
{{#foreach from=$idx_mois_gen item="im_gen"}}
{{:assign var="an_g" from="mois_gen_an.%s"|args:$im_gen}}
{{:assign var="mois_g" from="mois_gen_mois.%s"|args:$im_gen}}
{{:assign var="premier_g" value="%04d-%02d-01"|args:$an_g:$mois_g}}
{{:assign var="nb_jours_g" value=$premier_g|date:"t"}}
{{#foreach from=$jours_gen item="jn_g"}}
{{if $jn_g <= $nb_jours_g}}
{{:assign var="date_g" value="%04d-%02d-%02d"|args:$an_g:$mois_g:$jn_g}}
{{if $date_g >= $g_debut_periode && $date_g <= $g_fin_periode}}
{{:assign var="dow_g" value=$date_g|date:"N"}}
{{:assign var="jour_ok_g" value=false}}
{{#foreach from=$jours_sel item="jsel_g"}}
{{if $dow_g == $jsel_g}}{{:assign var="jour_ok_g" value=true}}{{/if}}
{{/foreach}}
{{if $jour_ok_g}}
{{:assign var="cid_g" value="%s-%s"|args:$now|date:"YmdHis":$date_g}}
{{:assign var="nouveau_g" id=$cid_g titre=$g_titre date=$date_g debut=$g_heure_debut fin=$g_heure_fin}}
{{:assign var="new_creneaux." value=$nouveau_g}}
{{/if}}
{{/if}}
{{/if}}
{{/foreach}}
{{/foreach}}
{{:save id=$s.id creneaux=$new_creneaux}}
{{:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id}}
{{/if}}
{{/if}}
{{* ---------- Modification d'un créneau (admin) ---------- *}}
{{if $_POST.rename_creneau && $est_admin}}
{{:debug _POST_rename_creneau=$_POST.rename_creneau}}
{{:assign var="saisi_titre" value=$_POST.titre|strval|trim}}
{{:assign var="saisi_date" value=$_POST.date|strval|trim}}
{{:assign var="saisi_debut" value=$_POST.debut|strval|trim}}
{{:assign var="saisi_fin" value=$_POST.fin|strval|trim}}
{{if $saisi_date}}
{{#foreach from=$s.creneaux item="c"}}
{{if $c.id == $_POST.rename_creneau}}
{{:assign var="modifie" id=$c.id titre=$saisi_titre date=$saisi_date debut=$saisi_debut fin=$saisi_fin}}
{{:assign var="new_creneaux." value=$modifie}}
{{else}}
{{:assign var="new_creneaux." value=$c}}
{{/if}}
{{/foreach}}
{{:save id=$s.id creneaux=$new_creneaux}}
{{*:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id*}}
{{/if}}
{{/if}}
{{* ---------- Suppression d'un créneau (admin) ---------- *}}
{{if $_POST.suppr_creneau && $est_admin}}
{{#foreach from=$s.creneaux item="c"}}
{{if $c.id != $_POST.suppr_creneau}}
{{:assign var="new_creneaux." value=$c}}
{{/if}}
{{/foreach}}
{{:save id=$s.id creneaux=$new_creneaux}}
{{:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id}}
{{/if}}
{{* ---------- Suppression d'une ligne (admin) ---------- *}}
{{if $_POST.suppr_nom && $est_admin}}
{{#foreach from=$s.votes item="v"}}
{{if $v.nom != $_POST.suppr_nom}}
{{:assign var="new_votes." value=$v}}
{{/if}}
{{/foreach}}
{{:save id=$s.id votes=$new_votes}}
{{:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id}}
{{/if}}
{{* ---------- Enregistrement d'une ligne (public) ---------- *}}
{{if $_POST.enregistrer}}
{{:assign var="saisi_nom" value=$_POST.nom|strval|trim}}
{{:assign var="saisi_remarque" value=$_POST.remarque|strval|trim}}
{{if $saisi_nom}}
{{#foreach from=$s.votes item="v"}}
{{if $v.nom != $saisi_nom}}
{{:assign var="new_votes." value=$v}}
{{/if}}
{{/foreach}}
{{#foreach from=$s.creneaux item="c"}}
{{:assign var="val" from="_POST.dispo.%s"|args:$c.id}}
{{:assign var="new_choix.%s"|args:$c.id value=$val|intval}}
{{/foreach}}
{{:assign var="ligne" nom=$saisi_nom choix=$new_choix remarque=$saisi_remarque}}
{{:assign var="new_votes." value=$ligne}}
{{:save id=$s.id votes=$new_votes}}
{{:redirect url="%s?vue=view&id=%s"|args:$_url:$s.id}}
{{/if}}
{{/if}}