{{* -*- brindille -*- *}} {{* Paramètres : - $_GET.output_type : "resa" affichage en mode liste ou "resacal" en mode calendrier ou "resadel" en mode suppression (seulement admin) - $_GET.st_key : filtre par status (-1 tous, 0 en attente, 1 acceptée, 2 refusée, 3 archivée, 4 supprimée) *}} {{#restrict block=true section="accounting" level="write"}}{{/restrict}} {{if $_GET.output_type == "resa" || $_GET.output_type == "resacal" || $_GET.output_type == "resadel"}} {{:assign label="réservation"}} {{else}} {{:error message="Cette page n'existe pas !"}} {{/if}} {{:admin_header title="%ss en cours"|args:$label|ucfirst custom_css="./style.css" current="module_%s"|args:$module.name}} {{if $_GET.output_type == "resacal"}} {{:include file="./_nav.html" current="%s"|args:$label subcurrent="calendrier"}} {{elseif $_GET.output_type == "resadel"}} {{:include file="./_nav.html" current="%s"|args:$label subcurrent="suppression"}} {{*:include file="./reservation/delete_reservation.html" current="%s"|args:$label subcurrent="suppression" keep="_GET.output_type,_GET.st_key"*}} {{else}} {{:include file="./_nav.html" current="%s"|args:$label subcurrent="encours"}} {{/if}} {{* lecture config *}} {{:include file="./_get_config.html" keep="config"}} {{* filtrer selon le status de la réservation *}} {{*:assign saved_filters=$module.config.states*}} {{:assign saved_filters="en attente,acceptée,refusée,en cours,archivée,supprimée"|explode:","}} {{*:assign var="user_filters" from="saved_filters.%s"|args:$logged_user.id*}} {{if $_GET.st_key == null}} {{*:assign var="selected_status" from="user_filters.%s_hist_st_key"|args:$_GET.output_type*}} {{:assign selected_status=null}} {{else}} {{if $_GET.st_key == -1}} {{:assign selected_status=""}} {{else}} {{:assign selected_status=$_GET.st_key}} {{/if}} {{*:assign var="user_filters.%s_hist_st_key"|args:$_GET.output_type value=$selected_status*}} {{*:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters*}} {{*:save key="config" filters=$saved_filters*}} {{/if}} {{* condition de filtrage WHERE *}} {{if $selected_status != null}} {{:assign var=_st_value from="saved_filters.%d"|args:$_GET.st_key}} {{if $_GET.st_key == 0}} {{:assign st_condition="WHERE (w_status = '%s' AND e_status IS NULL)"|args:$_st_value}} {{:assign st_condition_cal="$$.status = '%s'"|args:$_st_value}} {{elseif $_GET.st_key > 0}} {{:assign st_condition="WHERE (e_status = '%s')"|args:$_st_value}} {{:assign st_condition_cal="$$.status = '%s'"|args:$_st_value}} {{/if}} {{else}} {{:assign st_condition="WHERE 1 = 1"}} {{:assign st_condition_cal="1"}} {{/if}} {{* sélecteur de status *}} {{:assign var="st_options." value="" label="Tous les status" href="?output_type=%s&st_key=-1"|args:$_GET.output_type}} {{#foreach from=$saved_filters key="key" item="value"}} {{:assign var="st_options." value=$key|strval label=$value href="?output_type=%s&st_key=%s"|args:$_GET.output_type:$key}} {{/foreach}} {{*:debug st_options=$st_options saved_filters=$saved_filters selected_status=$selected_status st_condition=$st_condition st_condition_cal=$st_condition_cal user_filters=$user_filters logged_user=$logged_user.id _st_value=$_st_value*}}

Inventaire des réservations effectuées

Filtrer par status {{:dropdown title="Filtrer par status" options=$st_options value="%s"|args:$selected_status|strval }}
{{* ------------------ Affichage en mode liste : suppression ----------------- *}} {{if $_GET.output_type == "resadel" || $_POST.ids}} {{:include file="./reservation/delete_reservation.html" current="%s"|args:$label subcurrent="suppression"}} {{/if}} {{* ------------------ Affichage en mode liste : traitement ----------------- *}} {{if $_GET.output_type == "resa"}}

Légende :
{{:icon shape="globe"}} : réservation issue de la page publique
{{:icon shape="print"}} : réservation issue de la page membre
{{:icon shape="alert"}} : signature du contrat requise lors du retrait du matériel

{{* Liste des réservations *}} {{:include file="_resa_load.html" keep="_resa_lignes"}} {{*:debug lignes=$_resa_lignes*}} {{#foreach from=$_resa_lignes}} {{#load key="%s"|args:$equipment}}{{:assign var="equipment.name" value=$name}}{{/load}} {{else}} {{$return_date|date_short}} {{/if}} {{/foreach}}
N° de membre Nom Téléphone Matériel Quantité souhaitée Date souhaitée Retour prévu/réel Commentaire additionnel Statut de la demande
{{:icon shape="%s"|args:$shape}} {{if !$signed}} {{:icon shape="alert"}}{{/if}} {{$member}} {{$name}} {{$contact}}{{$equipment.name}} {{$amount}} {{* Si acceptée et date de retrait aujourd'hui *}} {{if $status == "acceptée" && $loan_date|parse_date == $now|date:'Y-m-d'}} {{$loan_date|date_short}} {{else}} {{$loan_date|date_short}} {{/if}} {{* Si an cours et date de retour aujourd'hui *}} {{if $status == "en cours" && $return_date|parse_date == $now|date:'Y-m-d'}} {{$return_date|date_short}}{{$comment}} {{:include file="./_resa_status_color.html" status='%s'|args:$status|or:null}} {{if $status == "acceptée" || $status == "refusée"}} {{* Ne pas permettre d'archiver des réservations au status acceptée/refusée si la date n'est pas passée *}} {{if $return_date|parse_date < $now|date:'Y-m-d'}} {{:linkbutton label="Archiver" href="reservation/resa_details.html?key=%s"|args:$wres_key shape="lock"}} {{else}} {{:linkbutton label="Détails" href="reservation/resa_details.html?key=%s"|args:$wres_key shape="eye"}} {{/if}} {{elseif $status == "en cours"}} {{:linkbutton label="Détails" href="reservation/resa_details.html?key=%s"|args:$wres_key shape="eye"}} {{elseif $status == "archivée"}} {{:linkbutton label="Détails" href="reservation/resa_details.html?key=%s"|args:$wres_key shape="eye"}} {{elseif $status == null}} {{else}} {{:linkbutton label="Traiter" href="reservation/resa_details.html?key=%s"|args:$wres_key shape="edit"}} {{/if}}
{{/if}} {{* ------------------ Affichage en mode Calendrier ----------------- *}} {{if $_GET.output_type == "resacal"}} {{:include file="./_web_calendar.html"}} {{* Charge les réservations dans le calendrier *}} {{:include file="_resa_load.html" keep="_resa_lignes"}} {{#foreach from=$_resa_lignes}} {{*#load key="%s"|args:$equipment assign="_equi"}}{{:debug equi=$_equi.name}}{{/load}} {{:assign var="equipment_resa" value=null*}} {{#load key="%s"|args:$equipment}}{{:assign var="equipment.name" value=$name}}{{/load}} {{:include file="_resa_status_color.html" color_only=true keep="_tag_color,_text_color"}} {{:assign var="_title" value="%s %s (%s)"|args:$equipment.name:$name:$status}} {{* Voir https://fullcalendar.io/docs/event-parsing This value is exclusive. For example, if you have an all-day event that has an end of 2018-09-03, then it will span through 2018-09-02 and end before the start of 2018-09-03 *}} {{:assign _return=$return_date|parse_date|strtotime}} {{:assign _return_timestamp="(%d+86400)"|math:$_return}} {{:assign _return_date="%s"|args:$_return_timestamp|date:'Y-m-d'}} {{*:debug _return_timestamp=$_return_timestamp _return_date=$_return_date*}} {{:assign var="_events" value="%s{title: '%s', start: '%s', end: '%s', backgroundColor:'%s', textColor:'%s', url:'reservation/resa_details.html?key=%s&output_type=%s'},"|args:$_events:$_title:$loan_date:$_return_date:$_tag_color:$_text_color:$wres_key:$_GET.output_type}} {{/foreach}} {{*:debug _events=$_events*}}
Calendrier des réservations
{{/if}} {{:admin_footer}}