link( __(" $title"), [ 'controller' => $controller, 'action' => $action, $id, $mat, $photo ], [ 'title' => $tip, 'escape' => false, 'onclick' => 'return true;', 'style' => 'margin-right: 10px' ] ); } */ //$PDF_ENGINE = "FPDF"; //$PDF_ENGINE = "DOMPDF"; // EP // Set some useful global variables for this view /* * EP => moved to Controller * // 1) Materiel settings * * const CREATED = 1; * const VALIDATED = 2; * const TOBEARCHIVED = 3; * const ARCHIVED = 4; * $allStatus = [ * 'CREATED' => CREATED, * 'VALIDATED' => VALIDATED, * 'TOBEARCHIVED' => TOBEARCHIVED, * 'ARCHIVED' => ARCHIVED, * ]; * $IS_CREATED = ( $materiel->status == 'CREATED' ); * $IS_VALIDATED = ( $materiel->status == 'VALIDATED' ); * $IS_TOBEARCHIVED = ( $materiel->status == 'TOBEARCHIVED' ); * $IS_ARCHIVED = ( $materiel->status == 'ARCHIVED' ); * $status = $allStatus[$materiel->status]; * * // 2) User settings * const PROFILE_USER = 1; * const PROFILE_RESPONSABLE = 2; * const PROFILE_ADMIN = 3; * const PROFILE_ADMINPLUS = 4; * const PROFILE_SUPERADMIN = 5; * $allProfiles = [ * 'Utilisateur' => PROFILE_USER, * 'Responsable' => PROFILE_RESPONSABLE, * 'Administration' => PROFILE_ADMIN, * 'Administration Plus' => PROFILE_ADMINPLUS, * 'Super Administrateur' => PROFILE_SUPERADMIN * ]; * * $profile = $allProfiles["$role"]; * // echo $profile; * * $USER_IS_UTILISATEUR = ($profile == $PROFILE_USER); * $USER_IS_RESPONSABLE = ($profile == $PROFILE_RESPONSABLE); * $USER_IS_ADMIN = ($profile == $PROFILE_ADMIN); * $USER_IS_ADMINPLUS = ($profile == $PROFILE_ADMINPLUS); * $USER_IS_SUPERADMIN = ($profile == $PROFILE_SUPERADMIN); * * $USER_IS_ADMIN_OR_MORE = $profile >= $PROFILE_ADMIN; */ // $dateProchainControleVerif = function($t) { // $time = Time::now(); // On récupère la date et l'heure actuelles // $today = new DateTime((new date("$time->year-$time->month-$time->day"))->format('Y-m-d')); // $time1 = new time($t); // $dateTime1 = new DateTime((new date("$time1->year-$time1->month-$time1->day"))->format('y-m-d')); // $interval = ($today->diff($dateTime1)); // $strInterval = $interval->format('%a'); // return (int) $strInterval; // }; // debug("user=".$priviledgedUser); // debug("user name = ".$username); /* $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER = $USER_IS_UTILISATEUR && in_array($username, [ $materiel->nom_createur, $materiel->nom_responsable ]); $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER = $USER_IS_RESPONSABLE && in_array($username, [ $materiel->nom_createur, $materiel->nom_responsable ]); $USER_IS_RESPONSABLE_AND_SAME_GROUP = $USER_IS_RESPONSABLE && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupe_thematique_id) && $priviledgedUser->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $priviledgedUser->groupe_thematique_id)); */ /* (EP) Moved this to controller:view() $CAN_EDIT = $IS_CREATED && ($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); $CAN_ATTACH_A_DOC = $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; $CAN_COPY = $IS_CREATED and ($USER_IS_ADMIN_OR_MORE || $USER_IS_UTILISATEUR_AND_CREATOR_OR_OWNER); $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN_OR_MORE; */ ?>

status) == 'ARCHIVED') echo ' '; if ($IS_ARCHIVED) echo ' '; $panne = h($materiel->hors_service) ? ' (HORS SERVICE)' : ''; ?> designation) . $panne?> numero_laboratoire)?>


request->env('HTTP_REFERER')); // 'http://labinvent.test/materiels' //debug($this->request); // 1) Création //$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/'); // 2) Affichage //echo '
'; ?>
Html->image('qrcodes/' . $this->request->getSession() ->read("filename"), [ 'alt' => 'QrCode : ' . $materiel->numero_laboratoire, //'style' => 'float:none;' //'style' => 'float:right;' ]); echo "\n"; ?>
documents as $document) { //debug($document); // Toute image : //$is_doc_photo = in_array($document->type_doc, ['png','jpg','jpeg']); // Seulement les photos : $is_doc_photo = $document->type_document_id == 4; //$is_doc_photo = $document->type_document->nom == 'Photo'; // et si le document est la photo liée, on l'affiche, pour cela //if($document->photo) { if ($document->photo || $is_doc_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; //$style = 'max-width:300px; text-align:center; float:none;'; //$style = 'max-width:300px; vertical-align: bottom;'; $style = 'max-width:300px; vertical-align: top;'; //Et si la photo n'est pas vide on l'affiche //if(!empty($photo)) { //if ($document->photo) { $img = $this->Html->image('photos/'.$nomPhoto, [ //si il y a une erreur sur le nom affiche le texte alternatif 'alt' => 'Photo du matériel', 'style' => $style ]); //} /* // $is_doc_photo else $img = "Image"; */ echo $img; //echo $this->Html->link($img, ['controller'=>'documents', 'action'=>'view', $document->id]); //echo '
'; //} } } // foreach echo "\n"; ?>

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. (ou photo)', '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'; // BOUTONS de changement de statut : Valider, Invalider, Demander archivage, ou Archiver /* (EP) Moved this to controller:view() $CAN_VALIDATE_OR_INVALIDATE = $USER_IS_ADMIN_OR_MORE || ( ($materiel->materiel_administratif == 0) && $USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP_AS_MATERIEL ); $CAN_VALIDATE = $IS_CREATED && $CAN_VALIDATE_OR_INVALIDATE; $CAN_INVALIDATE = !$IS_CREATED && $CAN_VALIDATE_OR_INVALIDATE; $CAN_TBA = $IS_VALIDATED && ($USER_IS_ADMIN_OR_MORE || $USER_IS_CREATOR_OR_OWNER || ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP_AS_MATERIEL)); $CAN_ARCHIVE = $IS_TOBEARCHIVED && $CAN_VALIDATE_OR_INVALIDATE; */ // CREATED //if ($IS_CREATED) { // Bouton VALIDER if ($CAN_VALIDATE) $echoActionButton($this->Html, 'icon-ok-sign', $bStyle2Red, ' Valider', '', 'statusValidated', $materiel->id, ['view'], "Valider ce matériel"); //} // VALIDATED or more //else { // Bouton Invalider (Dévalider) if ($CAN_INVALIDATE) $echoActionButton( $this->Html, 'icon-remove-sign', $bStyle2Red, ' Dévalider', '', 'statusCreated', $materiel->id, ['view'], "dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)" ); // Bouton TBA if ($CAN_TBA) $echoActionButton( $this->Html, 'icon-ok-sign', $bStyle2Red, ' Demander sortie', '', 'statusToBeArchived', $materiel->id, ['view'], "Demander la sortie de l'inventaire" ); // Bouton ARCHIVER if ($CAN_ARCHIVE) $echoActionButton( $this->Html, 'icon-ok-sign', $bStyle2Red, ' Sortie inventaire', '', 'statusArchived', $materiel->id, ['view'], "Sortir définitivement de l'inventaire", "Êtes-vous sur de bien vouloir archiver $materiel->designation ?" ); //} // VALIDATED or more /* if ($USER_IS_ADMIN_OR_MORE || ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP_AS_MATERIEL)) { // 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 if ($USER_IS_ADMIN_OR_MORE) $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 étiquette" $echoActionButton($this->Html, 'icon-print', $bStyle, ' étiquette', '', 'printLabelRuban', h($materiel->id), [], "Imprimer sur un ruban"); // - Bouton "Etiquette [non] collée" //$echoActionButton($this->Html, 'icon-file', $bStyle.'; background: red; color: white', $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é collée sur le matériel" : "En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été collé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 ?>

Informations

year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie $today = $today->format('Ymd'); // On formatte la date initialement en 31-12-2000 en un format qui pourra etre comparé : 20001231 if ($materiel->date_fin_garantie !== NULL) { $timeFin = new time($materiel->date_fin_garantie); $dateFin = new date("$timeFin->year-$timeFin->month-$timeFin->day"); $dateFin = $dateFin->format('Ymd'); } //$style_red = 'style="color: #FF0000"'; $style_red = 'style="color: red"'; $style_green = 'style="color: green"'; $style = ''; if (isset($dateFin) && $today >= $dateFin) $style = $style_red; $type = ""; if (h($materiel->materiel_administratif) == 1 && h($materiel->materiel_technique) == 1) $type = 'Administratif et technique'; else if (h($materiel->materiel_administratif) == 1) $type = 'Administratif'; else if (h($materiel->materiel_technique) == 1) $type = 'Technique'; //echo ''; // La variable-fonction $displayElement est définie dans le fichier src/Controller/AppController.php //On va utiliser $displayElement pour l'affichage de tout les champs pour mettre une norme en place $displayElement(__('Nom du materiel'),$materiel->designation); $displayElement(__('Description'),$materiel->description); $displayElement(__('Materiel inventorié'), $type); $displayElement(__('Organisme'), $materiel->has('organisme') ? h($materiel->organisme->nom) : ''); $displayElement(__('Domaine'), $materiel->has('sur_category') ? h($materiel->sur_category->nom) : ''); $displayElement(__('Catégorie'), $materiel->has('category') ? h($materiel->category->nom) : ''); $displayElement(__('Sous-Catégorie'), $materiel->has('sous_category') ? h($materiel->sous_category->nom) : ''); if (h($materiel->etiquette) == 0) $etiq = "Non"; else $etiq = "Oui"; $displayElement(__('Etiquette collée'), $etiq, $etiq=="Oui"?$style_green:$style_red); $displayElement(__('N° de série'), $materiel->numero_serie); $displayElement(__($configuration->nom_groupe_thematique), $materiel->has('groupes_thematique') ? $this->Html->link($materiel->groupes_thematique->nom, [ 'controller' => 'GroupesThematiques', 'action' => 'view', $materiel->groupes_thematique->id ]) : ''); $displayElement(__($configuration->nom_groupe_metier), $materiel->has('groupes_metier') ? $this->Html->link($materiel->groupes_metier->nom, [ 'controller' => 'GroupesMetiers', 'action' => 'view', $materiel->groupes_metier->id ]) : ''); if ($configuration->metrologie == 1) { if (h($materiel->metrologie) == 0) $metro = "Non"; else $metro = "Oui"; $displayElement(__('Métrologie'), $metro); } $displayElement(__('Date d\'achat'), h($materiel->date_acquisition)); $displayElement(__('Date de reception'), h($materiel->date_reception)); if (! empty(h($materiel->duree_garntie))) { $displayElement(__('Duree garantie'), h($materiel->duree_garantie) . ' ' . h($materiel->unite_duree_garantie)); } $displayElement(__('Date fin de garantie'), h($materiel->date_fin_garantie), $style); $displayElement(__('Statut'), h($materiel->status)); if ($materiel->status == 'ARCHIVED') { $displayElement(__('Date d\'archivage'), h($materiel->date_archivage)); } $displayElement(__('Prix (HT)'), h($materiel->prix_ht) . ' €'); $displayElement(__('Fournisseur'), $materiel->has('fournisseur') ? $materiel->fournisseur->nom : ''); $displayElement(__('Lieu de stockage'), $materiel->has('site') ? h($materiel->site->nom) : ''); $displayElement(__('Détail lieu de stockage'), h($materiel->lieu_detail)); $displayElement(__('Nom de l\'utilisateur'), $this->Html->link(h($materiel->nom_responsable), 'mailto:' . h($materiel->email_responsable))); $displayElement(__('N. interne (labo)'), h($materiel->numero_laboratoire)); $gestionnaire = TableRegistry::get('Users')->find()->where([ 'id =' => $materiel->gestionnaire_id ]); $displayElement(__('Nom du gestionnaire de référence'), h($gestionnaire->first()['nom'])); if ($role == 'Super Administrateur') { $displayElement(__('Date création'), h($materiel->created)); $displayElement(__('Nom du créateur'), h($materiel->nom_createur)); $displayElement(__('Date modification'), h($materiel->modified)); $displayElement(__('Nom du modificateur'), h($materiel->nom_modificateur)); } ?>
' . __('Description') . ' ' . nl2br($materiel->description) . '
'; echo ''; echo ' Informations administratives'; echo ''; echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
' . __('CentreFinancier/EOTP') . ' ' . h($materiel->eotp) . '
' . __('N° commande') . ' ' . h($materiel->numero_commande) . '
' . __('Code comptable') . ' ' . h($materiel->code_comptable) . '
' . __('N. Inventaire Organisme') . ' ' . h($materiel->numero_inventaire_organisme) . '
' . __('N. inventaire (ancien)') . ' ' . h($materiel->numero_inventaire_old) . '
'; echo '
'; } $bStyle = 'margin:0'; ?>

Suivi(s) du matériel (suivis)?>)

suivis)) { ?> suivis as $suivi) :?> find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] == "Panne" ) {?>
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) ]); } ?> Html->link('Suivi ' . $suivi->id, ['controller' => 'suivis','action' => 'view',$suivi->id])?> find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'];?> intitule)?> date_controle)?> date_prochain_controle)?> frequence)?> type_frequence)?> statut)?>

Emprunt(s) du matériel (emprunts)?>)

emprunts)) { ?> 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) ]); } ?> Html->link('Emprunt ' . $emprunt->id, ['controller' => 'emprunts','action' => 'view',$emprunt->id])?> nom_emprunteur)?> date_emprunt)?> date_retour_emprunt)?>
documents); ?>

Fichier(s) lié(s) au matériel ()

documents as $document) : ?> find() ->where([ 'id =' => h($document->type_document_id) ])->first()['nom']; ?> type_document_id==4; $is_doc_photo = in_array($document->type_doc, $photo_formats); ?>
photo) { // - photo from img/photos/ if (in_array($document->type_doc, $photo_formats)) { // TODO: $echoActionButton() //echo $this->Html->link(__(''), '/webroot/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [ echo $this->Html->link(__(''), '/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [ 'title' => 'Télécharger', 'style' => 'margin:0', 'escape' => false ]); // - autre doc (pdf...) from files/ } else { //echo $this->Html->link(__(''), '/webroot/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [ echo $this->Html->link(__(''), '/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [ 'title' => 'Télécharger', 'style' => 'margin:0', 'escape' => false ]); } // 2 - icone EDIT //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) { $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' ]); */ // 3 - icone DELETE echo $this->Form->postLink(__(''), [ 'controller' => 'Documents', 'action' => 'delete', $document->id ], [ 'escape' => false, 'style' => 'margin:0', 'confirm' => __('Êtes-vous sur de vouloir supprimer le doc #{0}?', $document->id) ]); // 4 - icone 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 ? ') ]); } ?> Html->link($document->nom, ['controller' => 'documents','action' => 'view',$document->id])?> photo || $is_doc_photo) ? 'Oui' : ''?>