documents as $document) {
// et si le document est la photo liée, on l'affiche, pour cela
if($document->photo) {
//on récupère le doc
$photo = $document;
//on reconstitue le nom a partir des paramètres (idmat_nom_id.extension)
$nomPhoto = $photo->materiel_id . "_" . $photo->nom . "_" . $photo->id . "." .$photo->type_doc;
//Et si la photo n'est pas vide on l'affiche
if(!empty($photo)) {
echo $this->Html->image('photos/'.$nomPhoto, [
//si il y a une erreur sur le nom affiche le texte alternatif
'alt' => 'Photo du matériel',
'style' => 'max-width: 300px; text-align: center;'
]);
}
}
}
// QRCODE (Url)
//debug($this->request->env('HTTP_REFERER')); // 'http://labinvent.test/materiels'
//debug($this->request);
//$proto = $this->request->env('REQUEST_SCHEME');
$proto = $this->request->env('HTTP_REFERER');
$proto = substr($proto, 0,strpos($proto,'://'));
$qrCodeUrl = $proto.'://' . $this->request->env('SERVER_NAME') . $this->request->env('REQUEST_URI');
$this->request->getSession()->write("qrUrl", $qrCodeUrl);
$this->requestAction('/QrCodes/creer/');
echo $this->Html->image('qrcodes/' . $this->request->getSession()
->read("filename"), [
'alt' => 'QrCode : ' . $materiel->numero_laboratoire,
'style' => 'float: right'
]);
?>
Html, 'icon-pencil', $bStyle, ' Editer ce matériel', 'materiels', 'edit', $materiel->id);
// BOUTONS "NOUVEAU SUIVI" et "NOUVEL EMPRUNT"
// if ($materiel->status == 'VALIDATED') {
if ($IS_VALIDATED) {
$echoActionButton($this->Html, 'icon-plus', $bStyle, ' Nouv. Suivi', 'suivis', 'add', $materiel->id, [], 'Faire un nouveau suivi de ce matériel');
/*
echo $this->Html->link('
Nouv. Suivi', [
'controller' => 'suivis',
'action' => 'add',
$materiel->id
], [
'title' => 'Faire un nouveau suivi de ce matériel',
'style' => 'margin-right: 10px',
'escape' => false
]); // End link
*/
$echoActionButton($this->Html, 'icon-plus', $bStyle, ' Nouv. Emprunt', 'emprunts', 'add', $materiel->id, [], 'Faire un nouvel emprunt de ce matériel');
}
// BOUTONS "Lier un Doc" et "Remplacer/Lier photo"
if ($CAN_ATTACH_A_DOC) {
$echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier un Doc.', 'documents', 'add', $materiel->id, ['mat'], 'Attacher un Doc. à ce matériel');
// BOUTON "photo"
if ($materiel->photo_id != null)
$echoActionButton($this->Html, 'icon-file', $bStyle, ' Remplacer la photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Remplacer la photo de ce matériel');
else
$echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier une photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Attacher une photo à ce matériel');
}
// BOUTONS Doc admission et sortie (admin+)
if ($USER_IS_ADMIN_OR_MORE) {
// Doc admission (admin only)
if ($IS_CREATED || $IS_VALIDATED) {
if ($PDF_ENGINE == "FPDF") {
// FPDF
$action = 'admission';
$data = $materiel->numero_laboratoire;
}
else {
// DOMPDF
$action = 'admission_pdf';
$data = $materiel->numero_laboratoire . ".pdf";
}
// if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) {
$echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. admission', 'documents', $action, $data, [], "Voir le document d'admission");
}
// Doc sortie (admin only)
else if ($IS_ARCHIVED || $IS_TOBEARCHIVED) {
if ($PDF_ENGINE == "FPDF") {
// FPDF
$action = 'sortie';
$data = $materiel->numero_laboratoire;
}
else {
// DOMPDF
$action = 'sortie_pdf';
$data = $materiel->numero_laboratoire . ".pdf";
}
// else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) {
$echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. sortie', 'documents', $action, $data, [], "Voir le document de sortie");
}
} // Doc admission et sortie
// --- (2) BOUTONS 2nd row ---
echo "
";
// (EP) Change bouton style pour que la 2ème ligne de boutons ne chevauche pas la 1ère
// En pratique, il suffit que un seul bouton de cette ligne aie ce style (pas nécessaire pour les autres)
// Mais bon, c'est difficile de savoir lequel sera toujours présent...
// Donc, on applique ce style à TOUS les boutons de cette 2e ligne
$bStyle2 = $bStyle.'; margin-top:10px; display:inline-block';
$bStyle2Red = $bStyle2 . '; color:red';
// BOUTON de changement de statut : Valider, Invalider, Demander archivage, ou Archiver
if ($USER_IS_ADMIN_OR_MORE || ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP)) {
// CREATED
if ($IS_CREATED)
// Bouton VALIDER
$echoActionButton($this->Html, 'icon-ok-sign', $bStyle2Red, ' Valider', '', 'statusValidated', $materiel->id, [], "Valider ce matériel");
// VALIDATED or more
else {
// Bouton Invalider
$echoActionButton($this->Html, 'icon-remove-sign', $bStyle2Red, ' Invalider', '', 'statusCreated', $materiel->id, [],
"dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)"
);
// Bouton TBA
if ($IS_VALIDATED) $echoActionButton($this->Html, 'icon-ok-sign', $bStyle2Red, ' Demander sortie', '', 'statusToBeArchived', $materiel->id, [],
"Demander la sortie de l'inventaire"
);
// Bouton ARCHIVER
//if ($IS_TOBEARCHIVED && $role!='Responsable') $echoActionButton(
if ($IS_TOBEARCHIVED && $USER_IS_ADMIN_OR_MORE) $echoActionButton(
$this->Html, 'icon-ok-sign', $bStyle2Red, ' Sortie inventaire', '', 'statusArchived', $materiel->id, [],
"Sortir définitivement de l'inventaire",
"Êtes-vous sur de bien vouloir archiver $materiel->designation ?"
);
}
}
// BOUTON Copier (seulement pour les materiels qui sont CREATED et pour les ADMINet+ ou USER owner)
if ($CAN_COPY) $echoActionButton($this->Html, 'icon-plus', $bStyle2, ' Copier ce matériel', '', 'add', $materiel->id, [], "Copier ce matériel");
// BOUTON ETIQUETTE (si imprimante disponible)
if ($CAN_PRINT_LABEL) {
// - Bouton "Imprimer sur un ruban"
$echoActionButton($this->Html, 'icon-print', $bStyle, ' Impr. étiquette', '', 'printLabelRuban', h($materiel->id), [], "Imprimer sur un ruban");
// - Bouton "Etiquette posée"
$echoActionButton(
$this->Html, 'icon-file', $bStyle,
$materiel->etiquette ? " Etiquette NON collée" : " Etiquette collée",
'materiels',
$materiel->etiquette ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced',
h($materiel->id), ['view'],
$materiel->etiquette ?
"En cliquant sur ce bouton, vous déclarez que l'étiquette n'a PAS été posée sur le matériel"
:
"En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été posée sur le matériel"
);
//'style' => 'margin-left: 0px; margin-right: 10px',
}
// BOUTON "Voir fiche matériel"
$bStyleGreen = $bStyle.'; background: green; color: white';
echo "
";
echo "
";
// echo '
';
if ($PDF_ENGINE == "FPDF") {
// FPDF
$action = 'ficheMateriel';
$data = $materiel->numero_laboratoire;
}
else {
// DOMPDF
$action = 'fiche_materiel_pdf';
$data = $materiel->numero_laboratoire.'.pdf';
}
$echoActionButton($this->Html, 'icon-file', $bStyleGreen, ' Fiche PDF du matériel', 'documents', $action, $data, [],
"Voir la fiche du materiel"
);
// FIN DIV BOUTONS
?>
';
echo '
';
echo '
Informations administratives';
echo '';
echo '
';
}
$bStyle = 'margin:0';
?>
Suivi(s) du matériel (=count($materiel->suivis)?>)
suivis)) { ?>
=__('')?> |
=__('N°')?> |
=__('Type d\'intervention')?> |
=__('Intitulé')?> |
=__('Date debut / Frequence')?> |
=__('Date fin / Repetition')?> |
=__('Statut')?> |
suivis as $suivi) :?>
Html, 'icon-pencil', $bStyle, '', 'Suivis', 'edit', $suivi->id);
/*
echo $this->Html->link(__(''), [
'controller' => 'Suivis',
'action' => 'edit',
$suivi->id
], [
'escape' => false,
'style' => 'margin:0'
]);
*/
// Delete Suivis
//TODO: postLink ??? kesako ?
//$echoActionButton($this->Html, 'icon-trash', $bStyle, '', 'Suivis', 'delete', $suivi->id, [], "", "");
echo $this->Form->postLink(__(''), [
'controller' => 'Suivis',
'action' => 'delete',
$suivi->id
], [
'escape' => false,
'style' => 'margin:0',
'confirm' => __('Êtes-vous sur de vouloir annuler ce suivi #{0} ?', $suivi->id)
]);
}
?>
|
=$this->Html->link('Suivi ' . $suivi->id, ['controller' => 'suivis','action' => 'view',$suivi->id])?> |
=$typeSuivis->find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'];?> |
=h($suivi->intitule)?> |
find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] == "Panne" ) {?>
=h($suivi->date_controle)?> |
=h($suivi->date_prochain_controle)?> |
=h($suivi->frequence)?> |
=h($suivi->type_frequence)?> |
=h($suivi->statut)?> |
Emprunt(s) du matériel (=count($materiel->emprunts)?>)
emprunts)) { ?>
=__('')?> |
=__('N°')?> |
=__('Emprunteur')?> |
=__('Type d\'Emprunt')?> |
=__('Lieu')?> |
=__('Date de l\'emprunt')?> |
=__('Date de retour')?> |
emprunts as $emprunt) :
$type = 'Externe';
$lieu = $emprunt['laboratoire'];
if ($emprunt['emprunt_interne'] == 1) {
$type = 'Interne';
$lieu = $sites->find()
->where([
'id =' => h($emprunt->site_id)
])
->first()['nom'] . '-' . h($emprunt->e_lieu_detail);
}
?>
Html, 'icon-pencil', $bStyle, '', 'Emprunts', 'edit', $emprunt->id);
/*
echo $this->Html->link(__(''), [
'controller' => 'Emprunts',
'action' => 'edit',
$emprunt->id
], [
'escape' => false,
'style' => 'margin:0'
]);
*/
// Delete Emprunt
echo $this->Form->postLink(__(''), [
'controller' => 'Emprunts',
'action' => 'delete',
$emprunt->id
], [
'escape' => false,
'style' => 'margin:0',
'confirm' => __('Êtes-vous sur de vouloir annuler cet emprunt #{0}?', $emprunt->id)
]);
}
?>
|
=$this->Html->link('Emprunt ' . $emprunt->id, ['controller' => 'emprunts','action' => 'view',$emprunt->id])?> |
=h($emprunt->nom_emprunteur)?> |
=h($type)?> |
=h($lieu)?> |
=h($emprunt->date_emprunt)?> |
=h($emprunt->date_retour_emprunt)?> |
documents); ?>
Fichier(s) lié(s) au matériel (=$nbFic?>)
=__('')?> |
=__('Nom')?> |
=__('Type')?> |
=__('Miniature')?> |
documents as $document) :
$p = ($document->photo) ? 'Oui' : '';
$type = $typeDocuments->find()
->where([
'id =' => h($document->type_document_id)
])
->first()['nom'];
?>
photo) {
// TODO: $echoActionButton()
echo $this->Html->link(__(''), '/webroot/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
'title' => 'Télécharger',
'style' => 'margin:0',
'escape' => false
]);
} else {
echo $this->Html->link(__(''), '/webroot/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
'title' => 'Télécharger',
'style' => 'margin:0',
'escape' => false
]);
}
//if ($USER_IS_ADMIN_OR_MORE || $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER || $USER_IS_RESPONSABLE_AND_SAME_GROUP || $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER) {
if ($CAN_MANAGE_FILES) {
// Edit doc
$echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Documents', 'edit', $document->id);
/*
echo $this->Html->link(__(''), [
'controller' => 'Documents',
'action' => 'edit',
$document->id
], [
'escape' => false,
'style' => 'margin:0'
]);
*/
// Delete doc
echo $this->Form->postLink(__(''), [
'controller' => 'Documents',
'action' => 'delete',
$document->id
], [
'escape' => false,
'style' => 'margin:0',
'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $document->id)
]);
// Envoyer devis par mail (envoyer des mails avec les documents en pj)
echo $this->Form->postLink(__(''), [
'controller' => 'Documents',
'action' => __('mailDevis' ,$document->id),
$document->id
], [
'escape' => false,
'style' => 'margin:0',
'confirm' => __(' Voulez vous envoyer le document par mail ? ')
]);
}
?>
|
=$this->Html->link($document->nom, ['controller' => 'documents','action' => 'view',$document->id])?> |
=$type?> |
=$p?> |
element('menu')?>
element('menu_view', [
'pluralHumanName' => 'Matériels',
'singularHumanName' => 'Matériel',
'lien' => $materiel->id
])?>