Files
equipment_resa/_web_contract.html

296 lines
11 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{{* -*- brindille -*- *}}
{{if $_POST.signed && $_POST.rid >= 1}}
{{:save id=$_POST.rid
type="reservation"
signed=$_POST.signed|trim
}}
<p class="block confirm">Réservation effectuée et signée</p>
{{if !$is_logged}}
{{* Invité Ano *}}
{{:linkbutton label="Télécharger la convention" href="./equipment.html?ok=1&fonc=save_resa&rid=%s"|args:$_POST.rid shape="reset" target="_dialog"}}
{{:linkbutton label="Retour" href="./equipment.html?ok=1&fonc=saved_resa&rid=%s"|args:$_POST.rid shape="home"}}
{{else}}
{{* Admin *}}
{{#restrict section="accounting" level="write"}}
{{:admin_header title="Réservation"}}
{{:linkbutton label="Télécharger la convention" href="%sequipment.html?ok=1&fonc=save_resa&rid=%s"|args:$site_url:$_POST.rid shape="reset" target="_blank"}}
{{#load id=$_POST.rid assign="resa"}}
{{:linkbutton label="Retour" href="?key=%s"|args:$resa.key shape="home"}}
{{/load}}
{{* Membre *}}
{{else}}
{{:linkbutton label="Télécharger la convention" href="%sequipment.html?ok=1&fonc=save_resa&rid=%s"|args:$site_url:$_POST.rid shape="reset" target="_dialog"}}
{{:linkbutton label="Retour" href="./index.html?ok=1&fonc=saved_resa&rid=%s"|args:$_POST.rid shape="home"}}
{{/restrict}}
{{/if}}
{{else}}
{{*
Réservation d'un matériel - Convention (membre et non-membre)
*}}
<link href='https://fonts.googleapis.com/css?family=Allura' rel='stylesheet'>
<style>
{{if !$is_logged}}
body {
font-family: Arial, sans-serif;
margin: 40px;
line-height: 1.6;
color: #222;
}
h1 {
text-align: center;
font-size: 28px;
margin-bottom: 40px;
}
h2 {
margin-top: 35px;
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
font-size: 20px;
}
h3 {
margin-top: 25px;
font-size: 17px;
}
:root {
--gMainColor: 0, 99, 155;
--gSecondColor: 7, 220, 98;
--gBgColor: 255, 255, 255;
--gTextColor: 0, 0, 0;
--gBorderColor: #666;
--gLightBorderColor: #ccc;
--gLightBackgroundColor: #eee;
--gLinkColor: blue;
--gHoverLinkColor: 127, 0, 0;
--gMainColor: 32, 120, 122;
--gSecondColor: 133, 185, 186;
}
{{/if}}
p {
margin: 10px 0;
}
button.icn-btn, b.btn {
cursor: pointer;
color: rgb(var(--gTextColor));
border: 1px solid rgba(var(--gMainColor), 0.5);
background: rgba(var(--gSecondColor), 0.1);
font-size: inherit;
border-radius: .2em;
padding: .2em .4em;
margin: .2em .5em;
}
.field {
border-bottom: 1px dotted #555;
display: inline-block;
min-width: 300px;
height: 20px;
}
.large-field {
border-bottom: 1px dotted #555;
display: inline-block;
width: 100%;
height: 20px;
margin-top: 5px;
}
ul {
margin-top: 10px;
}
.signature-section {
margin-top: 60px;
display: flex;
justify-content: space-between;
gap: 40px;
}
.signature-box {
width: 45%;
}
.signature-space {
margin-top: 80px;
border-top: 1px solid #000;
width: 100%;
}
.signature {
font-family: "Allura", "Lucida Console", "Courier New", monospace;
font-size: 22px;
}
@media print {
body {
margin: 20mm;
}
}
</style>
{{if !$is_logged}}
{{* Invité Ano *}}
{{:assign _module="web"}}
{{else}}
{{:assign _module="equipment"}}
{{/if}}
{{:assign reservation_id=$_GET.rid|trim}}
{{* récupérer les infos de la réservation *}}
{{#load module="%s"|args:$_module id=$reservation_id assign="resa"}}
{{else}}
{{:error message="Aucune réservation avec la clé %s"|args:$reservation_id}}
{{/load}}
{{*:debug rsa=$resa*}}
{{* récupérer les infos du matériel associé *}}
{{#load module="equipment" key=$resa.equipment assign="equipment"}}
{{else}}
{{:error message="Aucun matériel avec la clé « %s »"|args:$resa.equipment}}
{{/load}}
{{#load module="equipment" key=$equipment.category assign="category"}}{{/load}}
{{*:debug rsa=$equipment*}}
{{#module name="equipment"}}
{{*Sa configuration est : {{:debug config=$config}}*}}
{{:assign var="states" value=$config.states|explode:","}}
{{:assign var="_equip_config_state" from="states.%d"|args:$equipment.state}}
{{*:debug config=$_equip_config_states*}}
{{* Récupère le membre si présent *}}
{{if $config.member >= 1}}
{{#users id=$config.member}}
{{:assign var="_rep_name" value=$_name}}
{{/users}}
{{/if}}
{{else}}
Le module Équipement est désactivé.
{{/module}}
{{* formulaire contrat de location de matériel *}}
<form method="post" action="">
<fieldset class="">
<legend>Demande de réservation de matériel : {{$equipment.name}} ({{$category.name}})</legend>
<h1>Convention de prêt de matériel</h1>
<h2>Entre les soussignés :</h2>
<p>Nom de l’association : <span class="field">{{$config.org_name}}</span></p>
<p>Adresse du siège : <span class="field">{{$config.org_full_address}}</span></p>
<p>Représentée par : <span class="field">{{$_rep_name}}</span></p>
<p>Fonction : <span class="field">Membre du conseil collégial</span></p>
<p>Ci-après dénommée « l’Association ».</p>
<h2>Emprunteur</h2>
<p>Nom : <span class="field">{{$resa.name}}</span></p>
<p>Adresse : <span class="field">{{$resa.address}}</span></p>
<p>Contact(Tel/email) : <span class="field">{{$resa.contact}} / {{$resa.email}}</span></p>
<p>N° d’adhérent : <span class="field">{{$resa.member}}</span></p>
<p>Ci-après dénommé « l’Emprunteur ».</p>
<h3>Il a été convenu ce qui suit :</h3>
<h2>Article 1 — Objet de la convention</h2>
<p>L’Association met à disposition de l’Emprunteur, à titre gratuit, le matériel suivant :</p>
<p>Désignation : <span class="field">{{$equipment.name}}</span></p>
<p>Description : </p><div class="large-field">{{$equipment.description}}</div>
<p>Numéro de série : <span class="field">{{$equipment.serialno}}</span></p>
<p>État du matériel au moment du prêt : <span class="field">{{$_equip_config_state}}</span></p>
<p>Accessoires fournis : </p>
<div class="large-field"></div>
<h2>Article 2 — Durée du prêt</h2>
<p>Le présent prêt est consenti :</p>
<p>À compter du : <span class="field">{{$now|date_short}}</span></p>{{*$resa.loan_date|date_short*}}
<p>Jusqu’au : <span class="field">{{$resa.return_date|date_short}}</span></p>
<p>
Le matériel devra être restitué au plus tard à cette date, sauf accord préalable de l’Association.
</p>
<h2>Article 3 — Conditions d’utilisation</h2>
<p>
L’emprunteur s’engage à :<br/>
<ul>
<li>Utiliser le matériel conformément à son usage normal et dans le respect des règles de sécurité,</li>
<li>Prendre toutes les précautions nécessaires pour éviter toute dégradation, perte ou vol,</li>
<li>Ne pas prêter ou céder le matériel à un tiers,</li>
<li>Restituer le matériel propre et dans l’état dans lequel il a été remis, hors usure normale,</li>
<li>Remplacer les consommables prêtés avec le matériel,</li>
<li>Signaler immédiatement tout dysfonctionnement ou incident.</li>
</ul>
</p>
<h2>Article 4 — Assurance responsabilité civile</h2>
<p>
L’emprunteur certifie être couvert par une assurance responsabilité civile en cours de validité <br/>
couvrant les dommages pouvant être causés aux tiers ainsi que, le cas échéant, les dommages liés <br/>
à l’utilisation du matériel prêté.<br/>
Une attestation d’assurance pourra être demandée par le prêteur avant la remise du matériel.<br/>
À défaut d’assurance valide, le prêteur pourra refuser la mise à disposition du matériel.
</p>
<h2>Article 5 — Responsabilité</h2>
<p>L’emprunteur est responsable du matériel pendant toute la durée du prêt.<br/>
En cas de détérioration, perte ou vol, l’emprunteur s’engage à :<br/>
<ul>
<li>Informer immédiatement l’Association ;</li>
<li>Prendre en charge les frais de réparation ou de remplacement du matériel, sauf décision contraire du bureau de l’Association ou cas de force majeure.</li>
</ul>
</p>
<h2>Article 6 — Restitution</h2>
<p>
La restitution du matériel aura lieu :
<p>Lieu : <span class="field">Ressourcerie / chez le prêteur</span></p>
<p>Date : <span class="field">{{$resa.return_date|date_short}}</span></p>
Un état du matériel pourra être réalisé contradictoirement lors du retour.
</p>
{{* TODO : gratuit (membres) ou payant ? *}}
{{#foreach from=$equipment.fields key="key"}}
{{if $label >= "Tarif par jour"}}
{{:assign var="prix" value=$value}}
{{/if}}
{{/foreach}}
{{if $prix >= 1}}
<h2>Article 7 — Tarif</h2>
<p>L'emprunteur s'engage a régler à l'association le tarif journalier de {{$prix}}€.</p>
{{else}}
<h2>Article 7 — Gratuité</h2>
<p>Le présent prêt est consenti à titre gratuit et sans contrepartie financière. </p>
{{/if}}
<h2>Article 8 — Litiges</h2>
<p>Les parties s’efforceront de régler à l’amiable tout différend relatif à l’exécution de la présente convention.<br/>
À défaut d’accord amiable, le litige relèvera des juridictions compétentes.</p>
<h2>Signatures</h2>
<p>Fait à : <span class="field">L'île d'Arz</span></p>
<p>Le : <span class="field">{{$resa.date|date_long}}</span></p>
<div class="signature-section">
<div class="signature-box">
<h3>Pour l’Association</h3>
<p>Nom : <span class="field">{{$_rep_name}}</span></p>
<p>Fonction : <span class="field">Membre du conseil collégial</span></p>
<p>Signature</p>
<dl>
{{:input class="signature" type="text" name="assosigned" required=true default=$_rep_name readonly=true}}
{{*:captcha html=true verify=true*}}
</dl>
</div>
<div class="signature-box">
<h3>L’Emprunteur</h3>
<p>Signature</p>
<dl>
{{:input class="signature" type="text" name="signed" required=true label="Tapez votre nom pour signer le document" default=$resa.name }}
{{*:captcha html=true verify=true*}}
</dl>
</div>
</div>
</fieldset>
<p class="submit">
{{:input type="hidden" name="rid" required=true default=$resa.id readonly=true}}
{{:button type="submit" name="sign" label="Signer" value="res" shape="right" class="icn-btn"}}
</p>
</form>
{{/if}}