296 lines
11 KiB
HTML
296 lines
11 KiB
HTML
{{* -*- 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}} |