{{#restrict section="config" level="admin" block=true}}{{/restrict}} {{:admin_header title="Configuration des horaires d'ouverture"}} {{:include file="./_common.tpl" keep="months,frequencies,days"}} {{#form on="save"}} {{:assign days_order=$days|keys|flip frequencies_order=$frequencies|keys|flip }} {{#foreach from=$_POST.slots|array_transpose key="i" item="slot"}} {{:assign line="%d+1"|math:$i}} {{:assign open=$slot.open|explode:':' close=$slot.close|explode:':'}} {{:assign var="slot" day=$slot.day frequency=$slot.frequency open='%02d:%02d'|args:$open.0:$open.1 close='%02d:%02d'|args:$close.0:$close.1 }} {{:assign var="day_order" from="days_order.%s"|args:$slot.day}} {{:assign var="freq_order" from="frequencies_order.%s"|args:$slot.frequency}} {{:assign key="%d-%d-%s-%s"|args:$freq_order:$day_order:$slot.open:$slot.close}} {{:assign var="slots.%s"|args:$key value=$slot}} {{if !"%s %s"|args:$slot.frequency:$slot.day|trim|strtotime}} {{:error message="Ouvertures - ligne %d : le sélecteur de jour est invalide: %s %s"|args:$line:$slot.frequency:$slot.day}} {{elseif !$slot.open|regexp_match:'/^(2[0-3]|[01][0-9]):([0-5][0-9])$/'}} {{:error message="Ouvertures - ligne %d: heure d'ouverture invalide."|args:$line}} {{elseif !$slot.close|regexp_match:'/^(2[0-3]|[01][0-9]):([0-5][0-9])$/'}} {{:error message="Ouvertures - ligne %d: heure de fermeture invalide."|args:$line}} {{/if}} {{/foreach}} {{:assign closed=$_POST.closed|array_transpose}} {{#foreach from=$closed item="closing" key="l"}} {{:assign line="%d+1"|math:$l}} {{if !$closing.close_day || !$closing.reopen_day}} {{if $closed|count === 1}} {{:continue}} {{else}} {{:error message="Il manque la date de fermeture sur la ligne %d"|args:$line}} {{/if}} {{/if}} {{if $closing.reopen_day < $closing.close_day && $closing.close_month === $closing.reopen_month}} {{:error message="Fermetures, ligne %d : il n'est pas possible de réouvrir avant de fermer"|args:$line}} {{/if}} {{:assign var="closings." value=$closing}} {{/foreach}} {{:save key="config" validate_schema="./schema.json" open=$slots|ksort|values closed=$closings }} {{:redirect to="?ok=1"}} {{/form}} {{if $_GET.ok}}

Configuration enregistrée.

{{/if}} {{:form_errors}}
Heures d'ouvertures

Indiquer ici les jours et heures d'ouverture. Ils apparaîtront sur le site web.

Occurrence Jour De À

{{:button shape="plus" label="Ajouter une ligne"}}

Jours de fermeture exceptionnelle

Indiquer ici les périodes de fermeture pour jours fériés, congés, etc.

Du Au Raison (facultatif)

{{:button shape="plus" label="Ajouter une ligne"}}

{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}

{{:admin_footer}}