From 6990fd5bf1b598551c328a2726244b2a24de2a7e Mon Sep 17 00:00:00 2001
From: Etienne Pallier
Date: Wed, 22 May 2019 19:00:05 +0200
Subject: [PATCH] Bugfix actions sur pdf interdites
---
README.md | 8 ++++----
src/Controller/AppController.php | 15 +++++++++------
src/Controller/DocumentsController.php | 10 +++++++++-
src/Controller/MaterielsController.php | 25 ++++++++++++++++---------
src/Template/Materiels/index.ctp | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------
src/Template/Materiels/view.ctp | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------
6 files changed, 247 insertions(+), 176 deletions(-)
mode change 100755 => 100644 src/Template/Materiels/index.ctp
diff --git a/README.md b/README.md
index 2101ddd..3e73fb3 100644
--- a/README.md
+++ b/README.md
@@ -54,12 +54,12 @@ Logiciel testé et validé sur les configurations suivantes :
VERSION ACTUELLE
Date: 21/05/2019
-Version: 2.12.19
+Version: 2.12.20
Author: EP
Commentaire:
- Bugfix affichage boutons vue matériel (parfois 2e ligne chevauchait 1ère ligne)
- (Enorme) Simplification des vues (toujours en cours)
-
+ Bugfix actions sur pdf interdites
+ Simplifications vues materiels/view et index
+
IMPORTANT :
- Pour connaitre la version actuelle, taper "./VERSION"
diff --git a/src/Controller/AppController.php b/src/Controller/AppController.php
index e556ba2..2e6871a 100755
--- a/src/Controller/AppController.php
+++ b/src/Controller/AppController.php
@@ -615,8 +615,9 @@ class AppController extends Controller
// (EP 21/5/19) NEW
- $role = $this->getUserRole();
- $profile = self::PROFILES["$role"];
+ //$role = $this->getUserRole();
+ $this->userRole = $this->getUserRole();
+ $profile = self::PROFILES["$this->userRole"];
// Set General CONSTANTS for all CONTROLLERS
@@ -652,7 +653,7 @@ class AppController extends Controller
->first()['id'];
// Now, set these constants for all VIEWS
- $this->set('role', $role);
+ $this->set('role', $this->userRole);
$this->set('profile', $profile);
$this->set('username', $this->userName);
$this->set('priviledgedUser', $this->priviledgedUser);
@@ -850,7 +851,8 @@ class AppController extends Controller
// Pass this function to all views
//function echoActionButton($html, $icon_class, $title, $action, $id, $tip='', $controller='materiels', $mat=NULL, $photo=NULL) {
- $echoActionButton = function($html, $icon_class, $title, $controller='', $action, $id, $other_args=[], $tip='', $confirmMessage='', $moreButtonStyle='') {
+ //$echoActionButton = function($html, $icon_class, $buttonStyle='', $title, $controller='', $action, $id, $other_args=[], $tip='', $confirmMessage='') {
+ $echoActionButton = function($html, $icon_class, $buttonStyle, $title, $controller, $action, $id, $other_args=[], $tip='', $confirmMessage='', $moreButtonStyle='') {
if ($controller=='') $controller='materiels';
$controllerArgs = [];
$controllerArgs['controller'] = $controller;
@@ -858,7 +860,7 @@ class AppController extends Controller
$controllerArgs[] = $id;
foreach ($other_args as $other_arg) $controllerArgs[] = $other_arg;
echo $html->link(
- __(" $title"),
+ __("$title"),
$controllerArgs,
/*
[
@@ -872,7 +874,8 @@ class AppController extends Controller
'title' => $tip,
'escape' => false,
'onclick' => 'return true;',
- 'style' => 'margin-right: 10px'.$moreButtonStyle,
+ //'style' => 'margin-right: 10px'.$moreButtonStyle,
+ 'style' => $buttonStyle,
'confirm' => $confirmMessage
]
);
diff --git a/src/Controller/DocumentsController.php b/src/Controller/DocumentsController.php
index e943598..e1e6fea 100755
--- a/src/Controller/DocumentsController.php
+++ b/src/Controller/DocumentsController.php
@@ -38,8 +38,13 @@ class DocumentsController extends AppController
if (in_array($action, [
// 'view',
// 'add',
+
+ // FPDF
'ficheMateriel',
- 'mailDevis'
+ // DOMPDF
+ 'ficheMaterielPdf',
+
+ 'mailDevis'
]))
return true;
@@ -50,7 +55,10 @@ class DocumentsController extends AppController
*/
if (in_array($action, [
+ // FPDF
'admission',
+ // DOMPDF
+ 'admissionPdf',
'sortie'
])) {
if ($this->userHasRoleAtLeast('Administration')) {
diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php
index ab5f069..5a6f67a 100755
--- a/src/Controller/MaterielsController.php
+++ b/src/Controller/MaterielsController.php
@@ -241,18 +241,20 @@ class MaterielsController extends AppController
$this->set(compact('toto'));
*/
- $user = $userFromSession;
+ $this->userFromSession = $userFromSession;
$configuration = $this->confLabinvent;
- $userCname = $user[$configuration->ldap_authenticationType][0];
+ $this->userCname = $userFromSession[$configuration->ldap_authenticationType][0];
/*
* $role = TableRegistry::get('Users')->find()
* ->where(['username' => $user[$configuration->authentificationType_ldap][0]])
* ->first()['role'];
*/
- $role = $this->getUserRole($user);
+ // (EP) deja set par beforeFilter()
+ //$role = $this->getUserRole($user);
+ //$this->userRole = $this->getUserRole($user);
// SUPERADMIN a tous les droits, non mais !
- if ($role == 'Super Administrateur') return true;
+ if ($this->userRole == 'Super Administrateur') return true;
// $this->myDebug("role is ".$role);
// debug("role is ".$role);
@@ -272,8 +274,8 @@ class MaterielsController extends AppController
*
* Tout le reste en dessous de cette ligne devient inutile !!!
*/
- $this->myDebug("isAuthorizedAction ? " . $this->isAuthorizedAction2($this, $role, $action, $id, $user));
- return $this->isAuthorizedAction($role, $action, $id, $userFromSession, $userCname);
+ $this->myDebug("isAuthorizedAction ? " . $this->isAuthorizedAction2($this, $this->userRole, $action, $id, $userFromSession));
+ return $this->isAuthorizedAction($this->userRole, $action, $id, $userFromSession, $this->userCname);
} // isAuthorized
@@ -623,7 +625,8 @@ class MaterielsController extends AppController
$condition = [
'Materiels.status =' => $this->request->getAttribute('params')['pass'][0]
];
- $this->set('STATUS', $this->request->getAttribute('params')['pass'][0]);
+ //$this->set('STATUS', $this->request->getAttribute('params')['pass'][0]);
+ $this->set('SELECTED_STATUS', $this->request->getAttribute('params')['pass'][0]);
}
$GM = $this->request->getQuery('GM');
@@ -743,7 +746,7 @@ class MaterielsController extends AppController
$this->set('_serialize', [
'materiels'
]);
- }
+ } // index()
/**
* View method
@@ -827,7 +830,11 @@ class MaterielsController extends AppController
$CAN_MANAGE_FILES = $CAN_ATTACH_A_DOC;
$this->set(compact('CAN_MANAGE_FILES'));
- $CAN_EDIT = $IS_CREATED && $CAN_ATTACH_A_DOC;
+ // NEW
+ // TODO: marche pas !!!
+ //$CAN_EDIT = $this->isAuthorizedAction($this->userRole, 'edit', $id, $this->userFromSession, $this->userCname);
+ // OLD
+ $CAN_EDIT = $IS_CREATED && $CAN_ATTACH_A_DOC;
$this->set(compact('CAN_EDIT'));
$CAN_COPY = $CAN_EDIT;
diff --git a/src/Template/Materiels/index.ctp b/src/Template/Materiels/index.ctp
old mode 100755
new mode 100644
index 8f9bed4..8b21194
--- a/src/Template/Materiels/index.ctp
+++ b/src/Template/Materiels/index.ctp
@@ -1,6 +1,44 @@
@@ -21,25 +59,21 @@ echo $this->Html->link(' Nouveau Matériel', [
]);
echo '
';
-if (in_array($role, [
- 'Administration',
- 'Administration Plus',
- 'Super Administrateur'
-])) {
+if ($USER_IS_ADMIN_OR_MORE) {
echo '';
echo "Afficher les matériels : ";
echo '';
echo '';
$b_all = $b_cre = $b_val = $b_toarc = $b_arc = '';
$SELECTED = '';
- if (isset($STATUS)) {
- if ($STATUS == 'CREATED')
+ if (isset($SELECTED_STATUS)) {
+ if ($SELECTED_STATUS == 'CREATED')
$b_cre = $SELECTED;
- else if ($STATUS == 'VALIDATED')
+ else if ($SELECTED_STATUS == 'VALIDATED')
$b_val = $SELECTED;
- else if ($STATUS == 'TOBEARCHIVED')
+ else if ($SELECTED_STATUS == 'TOBEARCHIVED')
$b_toarc = $SELECTED;
- else if ($STATUS == 'ARCHIVED')
+ else if ($SELECTED_STATUS == 'ARCHIVED')
$b_arc = $SELECTED;
} else
$b_all = $SELECTED;
@@ -89,7 +123,7 @@ if (in_array($role, [
// ACTIONS : buttons "Tout selectionner", "Tout decocher"
// - show only with "A valider" and "A sortir"
- if (isset($STATUS) && $nbMateriels != 0) {
+ if (isset($SELECTED_STATUS) && $nbMateriels != 0) {
echo $this->Html->link(' Tout cocher', '#all', [
'onclick' => 'selectAll()',
'title' => 'Sélectionner tout les matériels',
@@ -127,15 +161,15 @@ echo $this->Form->control('aff_par_defaut', [
if ($nbMateriels > 0) {
// $form2 = $this->Form;
// /echo $this->Form->create('materiels', ['url' => '/materiels/execActions']);
- if (isset($STATUS))
+ if (isset($SELECTED_STATUS))
echo $this->Form->hidden('what', [
- 'value' => $STATUS
+ 'value' => $SELECTED_STATUS
]);
?>
- '; }?>
+ '; }?>
= __('') ?> |
= $this->Paginator->sort('designation','Désignation') ?> |
= $this->Paginator->sort('numero_laboratoire', 'N° interne (labo)') ?> |
@@ -157,7 +191,15 @@ if ($nbMateriels > 0) {
$time = Time::now(); // On récupère la date et l'heure actuelles
$today = new date("$time->year-$time->month-$time->day"); // On extrait la date pour la vérification de fin de garantie
$today = $today->format('Ydm'); // On formatte la date initialement en 31-12-2000 (par exemple) en un format qui pourra etre comparé : 20001231
+
foreach ($materiels as $materiel) :
+
+ $USER_IS_CREATOR_OR_OWNER = in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]);
+ $USER_IS_SAME_GROUP = (
+ ( 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 )
+ );
if ($materiel->date_fin_garantie !== NULL) {
$timeFin = new time($materiel->date_fin_garantie);
@@ -170,10 +212,10 @@ if ($nbMateriels > 0) {
$styleLien = '';
?>
-
-
+ ' . $this->Form->checkbox($materiel->id, [
'style' => 'margin: 3px',
'id' => $materiel->id
@@ -181,38 +223,34 @@ if (isset($STATUS)) {
}
?>
-
-
+ status, [
- 'CREATED',
- // (EP 17/5/19) ben non, on peut pas si c'est validé !!!
- //'VALIDATED'
- ])) :
- if (($role == 'Utilisateur' && (in_array($username, [
- $materiel->nom_createur,
- $materiel->nom_responsable
- ]))) || (in_array($role, [
- 'Administration',
- 'Administration Plus',
- 'Super Administrateur'
- ])) || ($role == 'Responsable' && (in_array($username, [
- $materiel ->nom_createur,
- $materiel ->nom_responsable
- ]))) ||($role == '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)))) {
- ?>
- = $this->Html->link(__(''), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]) ?>
-
-
- 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)))) {
-
- if (h($materiel->status) == 'CREATED' && $role != 'Responsable') {
+ // 1) EDIT icon
+ if (
+ in_array($materiel->status, [
+ 'CREATED',
+ // (EP 17/5/19) ben non, on peut pas si c'est validé !!!
+ //'VALIDATED'
+ ])
+ &&
+ (
+ $USER_IS_ADMIN_OR_MORE
+ ||
+ $USER_IS_CREATOR_OR_OWNER
+ ||
+ ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP)
+ )
+ ) echo $this->Html->link(__(''), ['action' => 'edit', $materiel->id], ['title' => 'Editer', 'style' => 'margin: 0 2px', 'escape' => false ]);
+
+ // 2) VALIDER/TBA/ARCHIVER icon
+ if (
+ $USER_IS_ADMIN
+ ||
+ ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP)
+ ) {
+ if ($materiel->status=='CREATED' && !$USER_IS_RESPONSABLE) {
echo $this->Html->link('', [
'action' => 'statusValidated',
$materiel->id
@@ -222,7 +260,8 @@ if (in_array($materiel->status, [
'escape' => false,
'confirm' => 'Êtes-vous sur de vouloir valider ' . $materiel->designation . ' ?'
]);
- } else if (h($materiel->status) == 'VALIDATED') {
+ }
+ else if (h($materiel->status) == 'VALIDATED') {
echo $this->Html->link('', [
'action' => 'statusToBeArchived',
$materiel->id
@@ -232,10 +271,8 @@ if (in_array($materiel->status, [
'escape' => false,
'confirm' => 'Êtes-vous sur de vouloir faire une demande d\'archive ' . $materiel->designation . ' ?'
]);
- } else if (h($materiel->status && $role != 'Responsable') == 'TOBEARCHIVED' && ! in_array($role, [
- 'Responsable',
- 'Super Administrateur'
- ])) {
+ }
+ else if ($materiel->status=='TOBEARCHIVED' && !$USER_IS_RESPONSABLE)
echo $this->Html->link('', [
'action' => 'statusArchived',
$materiel->id
@@ -245,15 +282,17 @@ if (in_array($materiel->status, [
'escape' => false,
'confirm' => 'Êtes-vous sur de vouloir archiver ' . $materiel->designation . ' ?'
]);
- }
}
+ // 3) DELETE icon
if (h($materiel->status) == 'CREATED') {
- if (($role != 'Utilisateur' && $role != 'Responsable') || in_array($username, [
- $materiel->nom_createur,
- $materiel->nom_responsable
- ]) || ($role == '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)))) {
- echo $this->Html->link(__(''), [
+ if (
+ $USER_IS_ADMIN_OR_MORE
+ ||
+ $USER_IS_CREATOR_OR_OWNER
+ ||
+ ($USER_IS_RESPONSABLE && $USER_IS_SAME_GROUP)
+ ) echo $this->Html->link(__(''), [
'action' => 'delete',
$materiel->id
], [
@@ -262,8 +301,9 @@ if (in_array($materiel->status, [
'escape' => false,
'confirm' => __('Êtes-vous sur de vouloir supprimer {0} ?', $materiel->designation)
]);
- }
}
+
+ // 4) DATA (designation, num labo, hs, categ, ...)
?>
|
= $materiel->has('designation') ? $this->Html->link($materiel->designation, ['controller' => 'Materiels', 'action' => 'view', $materiel->id],[$styleLien]) : '' ?> |
@@ -274,45 +314,50 @@ if (in_array($materiel->status, [
= h($materiel->numero_inventaire_organisme) ?> |
= h($materiel->nom_responsable) ?> |
- status)) {
-
case 'CREATED':
$statut = 'C';
break;
-
case 'VALIDATED':
$statut = 'V';
break;
-
case 'TOBEARCHIVED':
$statut = 'TBA';
break;
-
case 'ARCHIVED':
$statut = 'A';
break;
-
default:
$statut = '';
break;
}
?>
- = $statut ?> |
- = h($materiel->date_acquisition) ?> |
- = h($materiel->etiquette)=='1' ? 'Y':'N' ?> |
- '. (h($materiel->metrologie)=='1' ? 'Y':'N').'';
- ?>
+ = $statut ?> |
+
+
+
+ = h($materiel->date_acquisition) ?> |
+ = h($materiel->etiquette)=='1' ? 'Y':'N' ?> |
-
-
-
+
+ '. (h($materiel->metrologie)=='1' ? 'Y':'N').'';
+ ?>
+
+
+
+
status, [
break;
}
- if ($STATUS != 'ARCHIVED') {
- if (! ($role == 'Super Administrateur' && $STATUS == 'TOBEARCHIVED')) {
+ if ($SELECTED_STATUS != 'ARCHIVED') {
+ //if (! ($role == 'Super Administrateur' && $SELECTED_STATUS == 'TOBEARCHIVED')) {
+ if (! ($USER_IS_SUPERADMIN && $SELECTED_STATUS=='TOBEARCHIVED') ) {
echo $this->Form->submit($action . ' matériels cochés', [
'name' => 'updateSelectedStatus',
'id' => 'updateSelectedStatus',
@@ -342,26 +388,19 @@ if (in_array($materiel->status, [
echo "
";
}
- if (in_array($role, [
- 'Responsable',
- 'Administration',
- 'Administration Plus',
- 'Super Administrateur'
- ])) :
+ if ($USER_IS_ADMIN_OR_MORE || $USER_IS_RESPONSABLE)
echo $this->Form->submit('Exporter la liste complete (toutes les pages)', [
'name' => 'exportAll',
'id' => 'exportAll',
'style' => 'margin: 0px;'
]);
- endif;
-
- ?>
- element('pagination_with_first_and_last'); ?>
+ echo $this->element('pagination_with_first_and_last');
- = $this->Form->end()?>
- Form->end();
+}
+
+else {
echo 'Aucun matériel';
}
?>
diff --git a/src/Template/Materiels/view.ctp b/src/Template/Materiels/view.ctp
index 941324c..04f894b 100755
--- a/src/Template/Materiels/view.ctp
+++ b/src/Template/Materiels/view.ctp
@@ -11,6 +11,7 @@ use Cake\ORM\TableRegistry;
$PDF_ENGINE = $PDF_ENGINE;
// - User status:
+$role = $role;
$username = $username;
$priviledgedUser = $priviledgedUser;
$USER_IS_UTILISATEUR = $USER_IS_UTILISATEUR;
@@ -189,11 +190,11 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
* informations de la photo pour retrouver son nom et l'afficher, l'id ne suffit plus
* on parcourt donc les documents liés à ce matériel
*/
- foreach ($materiel->documents as $documents) {
+ foreach ($materiel->documents as $document) {
// et si le document est la photo liée, on l'affiche, pour cela
- if($documents->photo) {
+ if($document->photo) {
//on récupère le doc
- $photo = $documents;
+ $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;
@@ -229,13 +230,15 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
// --- (1) BOUTONS 1st row ---
+ $bStyle = 'margin-right: 10px';
+
// BOUTON "Editer"
- if ($CAN_EDIT) $echoActionButton($this->Html, 'icon-pencil', 'Editer ce matériel', 'materiels', 'edit', $materiel->id);
+ if ($CAN_EDIT) $echoActionButton($this->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', 'Nouv. Suivi', 'suivis', 'add', $materiel->id, [], 'Faire un nouveau suivi de ce matériel');
+ $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',
@@ -247,17 +250,17 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
'escape' => false
]); // End link
*/
- $echoActionButton($this->Html, 'icon-plus', 'Nouv. Emprunt', 'emprunts', 'add', $materiel->id, [], 'Faire un nouvel emprunt de ce matériel');
+ $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', 'Lier un Doc.', 'documents', 'add', $materiel->id, ['mat'], 'Attacher un Doc. à ce matériel');
+ $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', 'Remplacer la photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Remplacer la photo de ce matériel');
+ $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', 'Lier une photo.', 'documents', 'add', $materiel->id, ['mat', 'photo'], 'Attacher une photo à ce matériel');
+ $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+)
@@ -276,7 +279,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
$data = $materiel->numero_laboratoire . ".pdf";
}
// if (($materiel->status == 'VALIDATED') || ($materiel->status == 'CREATED')) {
- $echoActionButton($this->Html, 'icon-file', 'Doc. admission', 'documents', $action, $data, [], "Voir le document d'admission");
+ $echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. admission', 'documents', $action, $data, [], "Voir le document d'admission");
}
// Doc sortie (admin only)
@@ -292,7 +295,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
$data = $materiel->numero_laboratoire . ".pdf";
}
// else if (($materiel->status == 'ARCHIVED') || ($materiel->status == 'TOBEARCHIVED')) {
- $echoActionButton($this->Html, 'icon-file', 'Doc. sortie', 'documents', $action, $data, [], "Voir le document de sortie");
+ $echoActionButton($this->Html, 'icon-file', $bStyle, ' Doc. sortie', 'documents', $action, $data, [], "Voir le document de sortie");
}
} // Doc admission et sortie
@@ -306,47 +309,45 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
// 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
- $moreButtonStyle = '; margin-top:10px; display:inline-block';
- $moreButtonStyleRed = $moreButtonStyle . '; color:red';
+ $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', 'Valider', '', 'statusValidated', $materiel->id, [], "Valider ce matériel", '', $moreButtonStyleRed);
+ $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', 'Invalider', '', 'statusCreated', $materiel->id, [],
- "dé-valider le matériel (le repasser au statut Créé, il faudra le re-valider ensuite)",
- '', $moreButtonStyleRed
+ $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', 'Demander sortie', '', 'statusToBeArchived', $materiel->id, [],
- "Demander la sortie de l'inventaire", '', $moreButtonStyleRed
+ 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', 'Sortie inventaire', '', 'statusArchived', $materiel->id, [],
+ $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 ?",
- $moreButtonStyleRed
+ "Ê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', 'Copier ce matériel', '', 'add', $materiel->id, [], "Copier ce matériel");
+ if ($CAN_COPY) $echoActionButton($this->Html, 'icon-plus', $bStyle, ' 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', 'Impr. étiquette', '', 'printLabelRuban', h($materiel->id), [], "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',
- $materiel->etiquette ? "Etiquette NON collée" : "Etiquette collée",
+ $this->Html, 'icon-file', $bStyle,
+ $materiel->etiquette ? " Etiquette NON collée" : " Etiquette collée",
'materiels',
$materiel->etiquette ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced',
h($materiel->id), ['view'],
@@ -359,6 +360,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
}
// BOUTON "Voir fiche matériel"
+ $bStyleGreen = $bStyle.'; background: green; color: white';
echo "
";
echo "
";
// echo '';
@@ -370,12 +372,10 @@ $CAN_PRINT_LABEL = $IS_VALIDATED && $configuration->hasPrinter && $USER_IS_ADMIN
else {
// DOMPDF
$action = 'fiche_materiel_pdf';
- $data = $materiel->numero_laboratoire . ".pdf";
+ $data = $materiel->numero_laboratoire.'.pdf';
}
- $echoActionButton($this->Html, 'icon-file', 'Fiche PDF du matériel', 'documents', $action, $data, [],
- "Voir la fiche du materiel",
- '',
- '; background: green; color: white'
+ $echoActionButton($this->Html, 'icon-file', $bStyleGreen, ' Fiche PDF du matériel', 'documents', $action, $data, [],
+ "Voir la fiche du materiel"
);
@@ -507,9 +507,11 @@ if ($USER_IS_ADMIN_OR_MORE) {
echo '';
echo '
';
}
-?>
+$bStyle = 'margin:0';
+?>
+
@@ -528,7 +530,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
=__('Date fin / Repetition')?> |
=__('Statut')?> |
- suivis as $suivis) :?>
+ suivis as $suivi) :?>
Html, 'icon-pencil', 'Impr. étiquette', 'Suivis', 'edit', $suivis->id, [], "Imprimer sur un ruban");
- echo $this->Html->link(__(''), [
+ $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Suivis', 'edit', $suivi->id);
+ /*
+ echo $this->Html->link(__(''), [
'controller' => 'Suivis',
'action' => 'edit',
- $suivis->id
+ $suivi->id
], [
'escape' => false,
'style' => 'margin:0'
]);
+ */
// Delete Suivis
- echo $this->Form->postLink(__(''), [
+ //TODO: postLink ??? kesako ?
+ //$echoActionButton($this->Html, 'icon-trash', $bStyle, '', 'Suivis', 'delete', $suivi->id, [], "", "");
+ echo $this->Form->postLink(__(''), [
'controller' => 'Suivis',
'action' => 'delete',
- $suivis->id
+ $suivi->id
], [
'escape' => false,
'style' => 'margin:0',
- 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $suivis->id)
+ 'confirm' => __('Êtes-vous sur de vouloir annuler ce suivi #{0} ?', $suivi->id)
]);
}
?>
|
- =$this->Html->link('Suivi ' . $suivis->id, ['controller' => 'suivis','action' => 'view',$suivis->id])?> |
- =$typeSuivis->find()->where(['id =' => h($suivis->type_suivi_id)])->first()['nom'];?> |
- =h($suivis->intitule)?> |
+ =$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($suivis->type_suivi_id)])->first()['nom'] == "Panne" ) {?>
- =h($suivis->date_controle)?> |
- =h($suivis->date_prochain_controle)?> |
+ find()->where(['id =' => h($suivi->type_suivi_id)])->first()['nom'] == "Panne" ) {?>
+ =h($suivi->date_controle)?> |
+ =h($suivi->date_prochain_controle)?> |
- =h($suivis->frequence)?> |
- =h($suivis->type_frequence)?> |
+ =h($suivi->frequence)?> |
+ =h($suivi->type_frequence)?> |
- =h($suivis->statut)?> |
+ =h($suivi->statut)?> |
@@ -585,6 +590,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
}
?>
+
@@ -625,6 +631,8 @@ if ($USER_IS_ADMIN_OR_MORE) {
//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
+ $echoActionButton($this->Html, 'icon-pencil', $bStyle, '', 'Emprunts', 'edit', $emprunt->id);
+ /*
echo $this->Html->link(__(''), [
'controller' => 'Emprunts',
'action' => 'edit',
@@ -633,6 +641,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
'escape' => false,
'style' => 'margin:0'
]);
+ */
// Delete Emprunt
echo $this->Form->postLink(__(''), [
'controller' => 'Emprunts',
@@ -641,7 +650,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
], [
'escape' => false,
'style' => 'margin:0',
- 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $emprunt->id)
+ 'confirm' => __('Êtes-vous sur de vouloir annuler cet emprunt #{0}?', $emprunt->id)
]);
}
?>
@@ -661,7 +670,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
}
?>
-
+
@@ -681,25 +690,27 @@ if ($USER_IS_ADMIN_OR_MORE) {
=__('Miniature')?> |
documents as $documents) :
- $p = ($documents->photo) ? 'Oui' : '';
+ foreach ($materiel->documents as $document) :
+
+ $p = ($document->photo) ? 'Oui' : '';
$type = $typeDocuments->find()
->where([
- 'id =' => h($documents->type_document_id)
+ 'id =' => h($document->type_document_id)
])
->first()['nom'];
?>
photo) {
- echo $this->Html->link(__(''), '/webroot/img/photos/' . $documents->materiel_id .'_' . $documents->nom.'_'. $documents->id . '.' . $documents->type_doc, [
+ if ($document->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/' . $documents->materiel_id .'_' . $documents->nom.'_'. $documents->id . '.' . $documents->type_doc, [
+ 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
@@ -708,29 +719,32 @@ if ($USER_IS_ADMIN_OR_MORE) {
//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',
- $documents->id
+ $document->id
], [
'escape' => false,
'style' => 'margin:0'
]);
+ */
// Delete doc
echo $this->Form->postLink(__(''), [
'controller' => 'Documents',
'action' => 'delete',
- $documents->id
+ $document->id
], [
'escape' => false,
'style' => 'margin:0',
- 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $documents->id)
+ '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' ,$documents->id),
- $documents->id
+ 'action' => __('mailDevis' ,$document->id),
+ $document->id
], [
'escape' => false,
'style' => 'margin:0',
@@ -739,7 +753,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
}
?>
|
- =$this->Html->link($documents->nom, ['controller' => 'documents','action' => 'view',$documents->id])?> |
+ =$this->Html->link($document->nom, ['controller' => 'documents','action' => 'view',$document->id])?> |
=$type?> |
=$p?> |
@@ -750,7 +764,7 @@ if ($USER_IS_ADMIN_OR_MORE) {
-
+
--
libgit2 0.21.2