{{* -*- brindille -*- *}} {{#restrict block=true section="accounting" level="write"}}{{/restrict}} {{* Afficher les détails d'une réservation et donner la possibilité : - d'accepter, de refuser ou d'archiver paramètres : - key : clé du mouvement - prop = 1 si matériel appartient à l'asso - from = page d'appel *}} {{* Traiter l'envoi du formulaire (associer une résa à un membre) *}} {{#form on="save"}} {{* Récupérer les infos de la réservation depuis le module web uniquement *}} {{#load module=web key=$_POST.key assign="resa"}} {{else}} {{:error message="Aucune réservation avec la clé %s"|args:$_POST.key}} {{/load}} {{#foreach from=$_POST.user key="id" item="name"}} {{:assign var="user.id" value=$id}} {{:assign var="user.name" value=$name}} {{/foreach}} {{* Enregistrer la réservation dans le module equipment *}} {{:save assign_new_id="rid" key=$_POST.key validate_schema="../reservation.schema.json" type="reservation" member=$user.id|intval|or:null name=$resa.name|trim contact=$resa.contact|trim email=$resa.email|trim address=$resa.address|trim|or:null equipment=$_POST.equipment_key|trim date=$resa.date|date_short|parse_date loan_date=$resa.loan_date|parse_date return_date=$resa.return_date|parse_date amount=$resa.amount|intval comment=$resa.comment|trim|or:null secret=$resa.secret|trim|or:null status=$resa.status|trim|or:null }} {{:redirect force="resa_details.html?ok=1&msg=modification&key=%s"|args:$_POST.key}} {{/form}} {{:admin_header title="Détails d'une réservation" custom_css="../style.css" current="module_%s"|args:$module.name}} {{:form_errors}} {{:include file="../_nav.html" current="réservation" subcurrent="encours"}}

Détails d'une réservation

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

{{* récupérer les infos de la réservation depuis le module equipement (prioritaire) ou depuis le module web *}} {{#load key=$_GET.key assign="resa"}} {{:assign var="resa.source" value="print"}} {{* Calcul du nb de jours sortis restant *}} {{if $resa.return_date != null}} {{:assign ts_retour=$resa.return_date|strtotime}} {{:assign nb_jours="floor((%d-%d)/(60*60*24))"|math:$now:$ts_retour}} {{/if}} {{else}} {{#load module=web key=$_GET.key assign="resa"}} {{:assign var="resa.source" value="globe"}} {{else}} {{:error message="Aucune réservation avec la clé %s"|args:$_GET.key}} {{/load}} {{/load}} {{* récupérer les autres infos (équipement/catégorie) associées à cette réservation *}} {{#load key=$resa.equipment assign="equipment"}} {{else}} {{:error message="Aucun matériel avec la clé « %s »"|args:$resa.equipment}} {{/load}} {{#load key=$equipment.category assign="category"}}{{/load}} {{* récupérer le status de la réservation dans le module equipment *}} {{#load key=$resa.key assign="equipment_resa"}}{{/load}} {{*:debug resa=$resa*}} {{* -------------------- Afficher les informations de la réservation -------------------- *}} {{if !$resa.member}}

{{:icon shape="alert"}} Vous devez sélectionner ou créer un membre avant de pouvoir traiter cette réservation

{{/if}}
Source
{{:icon shape="%s"|args:$resa.source}}
Status
{{:include file="../_resa_status_color.html" status='%s'|args:$equipment_resa.status|or:null}}
Nom
{{$resa.name}}
Contact
{{$resa.contact}}
Courriel
{{$resa.email}}
Adresse postale
{{$resa.address}}
Matériel
{{:link href="../equipment_history.html?key=%s&prop=%s"|args:$equipment.key:$_GET.prop label=$equipment.name}}
Catégorie
{{:link href="../index.html?cat_key=%s&prop=1"|args:$category.key label=$category.name}}
Date de la demande
{{$resa.date|date_short}}
Quantité
{{$resa.amount}}
Membre associé
{{if $resa.member >= 1}} {{:link href="/admin/users/details.php?id=%s"|args:$resa.member label="Voir la fiche de %s"|args:$resa.name target="_dialog"}} {{else}}
{{:input name="key" type="hidden" default=$resa.key}} {{:input name="equipment_key" type="hidden" default=$equipment.key}} {{:input type="list" name="user" required=true target="!users/selector.php" multiple=false can_delete=true help="Associer cette réservation à un membre"}} {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
{{:linkbutton href="!users/new.php" label="Créer un nouveau membre" target="_dialog" shape="plus"}} {{/if}}
Date souhaitée
{{$resa.loan_date|date_short}} {{if $resa.loan_date|parse_date == $now|date:'Y-m-d'}} {{:tag color="darkgreen" label="À retirer aujourd'hui"}} {{/if}}
Retour prévu/réel
{{$resa.return_date|date_short}} {{:assign jour="jour"}} {{if $equipment_resa.status == "en cours"}} {{if $nb_jours > 0}} {{if $nb_jours > 1}}{{:assign jour="jours"}}{{/if}} {{:tag color="darkred" label="Retard %s %s"|args:$nb_jours:$jour}} {{elseif $nb_jours < 0}} {{:assign delai="abs(%d)"|math:$nb_jours}} {{if $nb_jours < -1}}{{:assign jour="jours"}}{{/if}} {{:tag color="lightgreen" label="Reste %s %s"|args:$delai:$jour}} {{else}} {{:tag color="darkgreen" label="À rendre aujourd'hui"}} {{/if}} {{/if}}
Signature contrat
{{if $resa.signed != null}}{{$resa.signed}}{{else}}{{:icon shape="alert"}} À faire au retrait!{{/if}}
Remarques
{{if $resa.comment != null}}{{$resa.comment}}{{else}}—{{/if}}
{{if $_GET.output_type}} {{:linkbutton href="../resa_history.html?output_type=%s"|args:$_GET.output_type label="Retour" shape="home"}} {{else}} {{:linkbutton href="../resa_history.html?output_type=resa" label="Retour" shape="home"}} {{/if}} {{* Fichiers liés à l'équipement *}} {{:assign var="path" value="public/image-%s"|args:$equipment.key}} {{:admin_files path=$path upload=false edit=false use_trash=false}} {{:admin_footer}}