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 = ( $entity->status == 'CREATED' ); * $IS_VALIDATED = ( $entity->status == 'VALIDATED' ); * $IS_TOBEARCHIVED = ( $entity->status == 'TOBEARCHIVED' ); * $IS_ARCHIVED = ( $entity->status == 'ARCHIVED' ); * $status = $allStatus[$entity->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, [ $entity->nom_createur, $entity->nom_responsable ]); $USER_IS_RESPONSABLE_AND_CREATOR_OR_OWNER = $USER_IS_RESPONSABLE && in_array($username, [ $entity->nom_createur, $entity->nom_responsable ]); $USER_IS_RESPONSABLE_AND_SAME_GROUP = $USER_IS_RESPONSABLE && ((isset($priviledgedUser->groupes_metier_id) && $priviledgedUser->groupes_metier_id != $idGmNa && $entity->groupes_metier_id == $priviledgedUser->groupes_metier_id) || (isset($priviledgedUser->groupes_thematique_id) && $priviledgedUser->groupes_thematique_id != $idGtNa && $entity->groupes_thematique_id == $priviledgedUser->groupes_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($entity->hors_service) ? ' (HORS SERVICE)' : ''; ?> designation) . $panne?> numero_laboratoire)?>


Html->link("Voir tous les matériels (liste)", ['action'=>'index']) ?>

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'); //debug("proto"); debug($proto); $proto = $proto ? substr($proto, 0,strpos($proto,'://')) : ''; // 'http' ou 'https' //debug("proto"); debug($proto); $qrCodeUrl = $proto.'://' . $this->request->env('SERVER_NAME') . $this->request->env('REQUEST_URI'); // 'http://labinvent.devv/materiels/view/11126' //debug("qrCodeUrl"); debug($qrCodeUrl); $this->request->getSession()->write("qrUrl", $qrCodeUrl); // (EP) TODO: bugfix ; cette instruction efface la variable de session 'Auth' !!! // Il faut normalement remplacer requestAction par un view Cell $this->requestAction('/QrCodes/creer/'); // 2) Affichage //echo '
'; ?>
Html->image('qrcodes/' . $this->request->getSession()->read("filename"), [ 'alt' => 'QrCode : ' . $entity->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', 'materiels', 'edit', $entity->id); // Bouton Supprimer if ($CAN_DELETE) //$echoActionButton($this->Html, 'icon-trash', $bStyle, ' Supprimer', 'materiels', 'delete', $entity->id); echo $this->Form->postLink(__(' Supprimer'), [ 'action' => 'delete', $entity->id ], [ 'style' => 'margin-left: 10px', 'escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer ce matériel ?') //'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivi->id) ]); // if ($entity->status == 'VALIDATED') { //if ($IS_VALIDATED) { // BOUTON "NOUVEAU SUIVI" if ($CAN_DO_SUIVI) $echoActionButton($this->Html, 'icon-plus', $bStyle, ' Nouv. Suivi', 'suivis', 'add', $entity->id, [], 'Faire un nouveau suivi'); /* echo $this->Html->link(' Nouv. Suivi', [ 'controller' => 'suivis', 'action' => 'add', $entity->id ], [ 'title' => 'Faire un nouveau suivi de ce matériel', 'style' => 'margin-right: 10px', 'escape' => false ]); // End link */ // On peut prêter ce matos // BOUTON "NOUVEL EMPRUNT" if ($CAN_LEND) $echoActionButton($this->Html, 'icon-plus', $bStyle, ' Nouv. Prêt', 'emprunts', 'add', $entity->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', $entity->id, ['mat'], 'Attacher un Doc. à ce matériel'); /* // BOUTON "photo" if ($entity->photo_id != null) $echoActionButton($this->Html, 'icon-file', $bStyle, ' Remplacer la photo.', 'documents', 'add', $entity->id, ['mat', 'photo'], 'Remplacer la photo de ce matériel'); else $echoActionButton($this->Html, 'icon-file', $bStyle, ' Lier une photo.', 'documents', 'add', $entity->id, ['mat', 'photo'], 'Attacher une photo à ce matériel'); */ } // BOUTONS Doc admission et sortie (admin+) //if ($USER_IS_ADMIN_OR_MORE) { // Doc admission if ($CAN_EDIT_DOC_ADMISSION) { //if ($IS_CREATED || $IS_VALIDATED) { if ($PDF_ENGINE == "FPDF") { // FPDF $action = 'admission'; ///$data = $entity->numero_laboratoire; $id = $entity->id; } else { // DOMPDF $action = 'admission_pdf'; // Il faut ajouter '.pdf' à la suite de l'argument pour que le template // soit cherché dans Documents/pdf/ et non pas Documents/ !!! ///$data = $entity->numero_laboratoire . ".pdf"; $id = $entity->id . '.pdf'; } // if (($entity->status == 'VALIDATED') || ($entity->status == 'CREATED')) { //$echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. admission', 'documents', $action, $data, [], "Voir le document d'admission"); $echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. admission', 'documents', $action, $id, [], "Voir le document d'admission"); //} } // doc sortie //if (true) { if ($CAN_EDIT_DOC_SORTIE) { // Doc sortie (admin only) //else if ($IS_ARCHIVED || $IS_TOBEARCHIVED) { if ($PDF_ENGINE == "FPDF") { // FPDF $action = 'sortie'; $id = $entity->id; //$data = $entity->numero_laboratoire; } else { // DOMPDF $action = 'sortie_pdf'; $id = $entity->id . '.pdf'; //$data = $entity->numero_laboratoire . ".pdf"; } // else if (($entity->status == 'ARCHIVED') || ($entity->status == 'TOBEARCHIVED')) { $echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. sortie', 'documents', $action, $id, [], "Voir le document de sortie"); //$echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. sortie', 'documents', $action, $data, [], "Voir le document de sortie"); //} } // Doc 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 || ( ($entity->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', $entity->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', $entity->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', $entity->id, ['view'], "Demander la sortie de l'inventaire" ); // Bouton ARCHIVER if ($CAN_ARCHIVE) $echoActionButton( $this->Html, 'icon-ok-sign', $bStyle2Red, ' Sortie inventaire', '', 'statusArchived', $entity->id, ['view'], "Sortir définitivement de l'inventaire", "Êtes-vous sur de bien vouloir archiver $entity->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', $entity->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', $entity->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', $entity->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', $entity->id, [], "Sortir définitivement de l'inventaire", "Êtes-vous sur de bien vouloir archiver $entity->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', '', 'add', $entity->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($entity->id), [], "Imprimer une étiquette"); // - Bouton "Etiquette [non] collée" //$echoActionButton($this->Html, 'icon-file', $bStyle.'; background: red; color: white', $echoActionButton($this->Html, 'icon-file', $bStyle, $entity->etiquette ? " Etiquette NON collée" : " Etiquette collée", 'materiels', $entity->etiquette ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced', h($entity->id), ['view'], $entity->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'; $id = $entity->id; //$data = $entity->numero_laboratoire; } else { // DOMPDF $action = 'fiche_materiel_pdf'; //$action = 'createDocFicheMaterielPdf'; $id = $entity->id . '.pdf'; //$data = $entity->numero_laboratoire.'.pdf'; } //$echoActionButton($this->Html, 'icon-file', $bStyleGreen, ' Fiche PDF du matériel', 'documents', $action, $data, [], //$echoActionButton($this->Html, 'icon-file', $bStyleGreen, ' Fiche PDF du matériel', '', $action, $id, [], $echoActionButton($this->Html, 'icon-file', $bStyleGreen, ' Fiche PDF du matériel', 'documents', $action, $id, [], "Voir la fiche du materiel" ); // FIN DIV BOUTONS ?>

Informations

Description : Text->autoParagraph(h($entity->description));?>
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 ($entity->date_fin_garantie !== NULL) { $timeFin = new time($entity->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 = (isset($dateFin) && $today>=$dateFin) ? $style_red : ''; $type = ""; if (h($entity->materiel_administratif) == 1 && h($entity->materiel_technique) == 1) $type = 'Administratif et technique'; else if (h($entity->materiel_administratif) == 1) $type = 'Administratif'; else if (h($entity->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'),$entity->designation); //$displayElement(__('Description'),$entity->description); //$displayElement(__('Materiel inventorié'), $type); $this->MyHelper->displayElement('Nom du materiel',$entity->designation); // (EP202010) Deplacé tout en haut du tableau et affiché avec Text->autoParagraph() //$this->MyButton->displayElement('Description',$entity->description); $this->MyHelper->displayElement('Materiel inventorié',$type); $displayElement(__('Domaine'), $entity->has('sur_category') ? h($entity->sur_category->nom) : ''); $displayElement(__('Catégorie'), $entity->has('category') ? h($entity->category->nom) : ''); $displayElement(__('Sous-Catégorie'), $entity->has('sous_category') ? h($entity->sous_category->nom) : ''); $displayElement(__($configuration->nom_groupe_thematique), $entity->has('groupes_thematique') ? $this->Html->link($entity->groupes_thematique->nom, [ 'controller' => 'GroupesThematiques', 'action' => 'view', $entity->groupes_thematique->id ]) : ''); $displayElement(__($configuration->nom_groupe_metier), !$entity->has('groupes_metier') ? '' : $this->Html->link($entity->groupes_metier->nom, [ 'controller' => 'GroupesMetiers', 'action' => 'view', $entity->groupes_metier->id ]) ); //$displayElement(__('Projet'), $entity->has('projet_id') ? h($entity->projet->nom) : ''); //$displayElement(__('Projet'), $entity->has('projet') ? h($entity->projet->nom) : ''); $displayElement(__('Projet'), !$entity->has('projet') ? '' : $this->Html->link($entity->projet->nom, [ 'controller' => 'Projets', 'action' => 'view', $entity->projet_id ]) ); $displayElement(__('Organisme'), $entity->has('organisme') ? h($entity->organisme->nom) : ''); $etiq = (h($entity->etiquette) == 0) ? "Non" : "Oui"; $displayElement(__('Etiquette placée'), $etiq, $etiq=="Oui"?$style_green:$style_red); $displayElement(__('N° de série'), $entity->numero_serie); if ($configuration->metrologie == 1) { $metro = (h($entity->metrologie) == 0) ? "Non" : "Oui"; if (h($entity->metrologie) == 0) $displayElement(__('Métrologie'), $metro); } $displayElement(__("Date d'achat"), h($entity->date_acquisition)); $displayElement(__('Date de livraison'), h($entity->date_reception)); if (! empty(h($entity->duree_garntie))) { $displayElement(__('Duree garantie'), h($entity->duree_garantie) . ' ' . h($entity->unite_duree_garantie)); } $displayElement(__('Date fin de garantie'), h($entity->date_fin_garantie), $style); $displayElement(__('Statut'), h($entity->status)); $displayElement(__('Date de création'), h($entity->created)); if ($entity->status == 'VALIDATED') { //debug("coucou"); /** TODO assert($entity->has('date_validated')); assert($entity->date_validated != null); */ //$a = $entity->toArray(); //debug($a); //assert($a['date_validated']); } $displayElement(__("Date de validation"), h($entity->date_validated)); //$displayElement(__("Date de validation"), h($entity->get('date_validated'))); //if ($entity->status == 'ARCHIVED') $displayElement(__("Date d'archivage"), h($entity->date_archived)); //assert($entity->has('date_archived')); $displayElement(__("Date d'archivage"), h($entity->date_archived)); if ($entity->status == 'ARCHIVED') { //$entity->date_archived=5; /** TODO assert($entity->has('date_archived')); assert($entity->date_archived != null); */ } $displayElement(__('Prix (HT)'), h($entity->prix_ht) . ' €'); $displayElement(__('Fournisseur'), $entity->has('fournisseur') ? $entity->fournisseur->nom : ''); $displayElement(__('Lieu de stockage'), $entity->has('site') ? h($entity->site->nom) : ''); $displayElement(__('Détail lieu de stockage'), h($entity->lieu_detail)); $displayElement(__('Nom de l\'utilisateur'), $this->Html->link(h($entity->nom_responsable), 'mailto:' . h($entity->email_responsable))); $displayElement(__('N. interne (labo)'), h($entity->numero_laboratoire)); $gestionnaire = TableRegistry::get('Users')->find()->where([ 'id =' => $entity->gestionnaire_id ]); $displayElement(__('Gestionnaire de référence'), h($gestionnaire->first()['nom'])); if ($role == 'Super Administrateur') { //$displayElement(__('Date création'), h($entity->created)); $displayElement(__('Nom du créateur'), h($entity->nom_createur)); $displayElement(__('Date modification'), h($entity->modified)); $displayElement(__('Nom du modificateur'), h($entity->nom_modificateur)); } ?>
' . __('Description') . ' ' . nl2br($entity->description) . '
'; echo ''; echo ' Informations administratives'; echo ''; echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
' . __('Centre(s) Financier(s) / EOTP') . ' ' . h($entity->eotp) . '
' . __('N° commande') . ' ' . h($entity->numero_commande) . '
' . __('Code comptable') . ' ' . h($entity->code_comptable) . '
' . __('N. Inventaire Organisme') . ' ' . h($entity->numero_inventaire_organisme) . '
' . __('N. inventaire (ancien)') . ' ' . h($entity->numero_inventaire_old) . '
'; echo '
'; } $bStyle = 'margin:0'; ?>

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

suivis)) echo 'Aucun suivi pour ce matériel.'; else { ?> suivis as $suivi) :?> type_suivi_id]['is_regular'] ) {?> type_suivi->is_regular ) {?>
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 //$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(h($suivi->intitule).' (suivi '. $suivi->id.')', ['controller' => 'suivis','action' => 'view',$suivi->id])?> type_suivi->nom?> frequence)?> type_frequence)?> date_controle)?> date_prochain_controle)?> statut)?>

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

emprunts)) echo 'Aucun emprunt pour ce matériel.'; else { ?> Html->tableHeaders( ['Date', 'Title','Active'], ['class' => 'status'], // pour le TR ['class' => 'product_table'] // pour tous les TH ); */ echo $this->Html->tableHeaders([ ['' => ['class' => 'actions']], __('Intitulé'), __('Emprunteur'), __('Statut'), 'Type', 'Lieu', 'Date emprunt', 'Date retour' ]); // equivalent à : /* */ ?> emprunts as $emprunt) : //debug($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); } $bEdit = $bDelete = ''; //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_EMPRUNTS) { // - Edit Emprunt $bEdit = $this->MyHelper->getActionButton('icon-pencil', $bStyle, '', 'Emprunts', 'edit', $emprunt->id); //$bEdit = $getActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Emprunts', 'edit', $emprunt->id); //echo $bEdit; /* echo $this->Html->link(__(''), [ 'controller' => 'Emprunts', 'action' => 'edit', $emprunt->id ], [ 'escape' => false, 'style' => 'margin:0' ]); */ // - Delete Emprunt $bDelete = $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) ] ); } // champ virtuel (calculé) statut $style_red = 'style="color: red"'; $status = $emprunt->status_from_dates[0]; echo $this->Html->tableCells([ /* ['Jul 7th, 2007', 'Best Brownies', 'Yes'], ['Jun 21st, 2007', 'Smart Cookies', 'Yes'], ['Aug 1st, 2006', 'Anti-Java Cake', 'No'], */ [ [ $bEdit.' '.$bDelete, ['class'=>"actions", 'style'=>"padding: 6px 0; text-align: left;"] ], $this->Html->link($emprunt->nom." (emprunt $emprunt->id)", ['controller' => 'emprunts','action' => 'view',$emprunt->id]), h($emprunt->nom_emprunteur), [h($status), ['style' => 'color:'.($status=="EN COURS"?'red':'')]], h($type), h($lieu), h($emprunt->date_emprunt), h($emprunt->date_retour_emprunt), ], ]); // equivalent à : /* */ ?>
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 ]); } //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) { // 2 - icone EDIT $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' : ''?>