Commit 09dddeb796abf52a82c81985a391fc5bfba99a72

Authored by Etienne Pallier
1 parent 4b529711
Exists in master and in 1 other branch dev

Plein de petits bugfixes (dont 1 gros : bouton CANCEL)

Dans le détail :

- bugfix materiels/add : bouton CANCEL faisait un SUBMIT (comme pour
/edit) !!!

- bugfix materiels/view : bugfix css responsive.css pour apparence et
position boutons

- bugfix doc attaché :
	- commentaire si doc attaché avec mauvais nom
	- emplacement photo matériel (à gauche ou au-dessus et non pas à droite
du QrCode, moche)
	- lien téléchargement documents attachés

- bugfix pb accent sur liste materiels associés à une catégorie

- etiquette posée => vert (rouge sinon)

- apropos updated

- lien vers page etiqueteuse updated

- ...
.gitignore
... ... @@ -13,3 +13,7 @@ composer.lock.*
13 13 #old/
14 14 webroot.*
15 15 webroot/test
  16 +
  17 +# links inside webroot/
  18 +webroot/debug_kit
  19 +webroot/dompdf
... ...
README.md
... ... @@ -53,11 +53,21 @@ Logiciel testé et validé sur les configurations suivantes :
53 53  
54 54 VERSION ACTUELLE
55 55  
56   -Date: 06/03/2020
57   -Version: 2.14.6
  56 +Date: 10/03/2020
  57 +Version: 2.14.7
58 58 Author: EP
59 59 Commentaire:
60   - 6 gros bugfixes de la version 2.14 (responsive) sur 1 semaine de boulot !!
  60 + - bugfix materiels/add : bouton CANCEL faisait un SUBMIT (comme pour /edit) !!!
  61 + - bugfix materiels/view : bugfix css responsive.css pour apparence et position boutons
  62 + - bugfix doc attaché :
  63 + - commentaire si doc attaché avec mauvais nom
  64 + - emplacement photo matériel (à gauche ou au-dessus et non pas à droite du QrCode, moche)
  65 + - lien téléchargement documents attachés
  66 + - bugfix pb accent sur liste materiels associés à une catégorie
  67 + - etiquette posée => vert (rouge sinon)
  68 + - apropos updated
  69 + - lien vers page etiqueteuse updated
  70 + - ...
61 71  
62 72 IMPORTANT :
63 73 - Pour connaitre la version actuelle, taper "./VERSION"
... ... @@ -92,6 +102,10 @@ La liste ci-dessous n'est plus à jour, elle est désormais en ligne ici : https
92 102  
93 103 -----------------------------------------------------------------------------------------------------------
94 104  
  105 +
  106 +06/03/2020 Version 2.14.6 (EP)
  107 + 6 gros bugfixes de la version 2.14 (responsive) sur 1 semaine de boulot !!
  108 +
95 109 28/02/2020 Version 2.14.0 (Jeanne Prugniel, stagiaire CRAL)
96 110 Application maintenant "responsive" avec l'utilisation de boostrap (ok sur pc, tablette, et mobile)
97 111  
... ...
src/Controller/AppController.php
... ... @@ -865,7 +865,7 @@ class AppController extends Controller
865 865 ->first()['id']);
866 866 */
867 867  
868   -
  868 + // Pass this function to all views
869 869 $mydebug = function($debugmode, $arg, $stop=false) {
870 870 if ($debugmode) {
871 871 // Absolument nécessaire sur inventirap (à cause de php 5 ?)
... ... @@ -877,6 +877,7 @@ class AppController extends Controller
877 877 };
878 878 $this->set(compact('mydebug'));
879 879  
  880 + // Pass this function to all views
880 881 $displayElement = function ($nom, $valeur, $params = "") {
881 882 $TD = ($params=="") ? 'TD' : "TD $params";
882 883 //$TD = ($params=="") ? '<TD>' : '<TD '.$params.'>';
... ... @@ -933,6 +934,32 @@ class AppController extends Controller
933 934 );
934 935 };
935 936 $this->set(compact('echoActionButton'));
  937 +
  938 + // Pass this function to all views (en fait, seulement add.ctp et edit.ctp)
  939 + //function echoSubmitButtons($context, $matos_id) {
  940 + // $action : 'view' or 'index'
  941 + $echoSubmitButtons = function($context, $action, $matos_id=null) {
  942 + // - Bouton Enregistrer
  943 + echo '<div id="form-submit-buttons">';
  944 + //echo '<div class="col-md-7">';
  945 + echo $context->Form->input('Enregistrer', ['type'=>'submit', 'value'=>'Submit', 'class'=>'btn btn-primary']);
  946 + //echo $context->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'view', $matos_id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
  947 + //echo $context->Html->link(__('Annuler'), ['action' => 'view', $matos_id], ['class' => 'btn btn-info ', 'escape' => false]);
  948 + echo $context->Html->link(__('<i>Annuler</i>'), ['action' => $action, $matos_id], ['class'=>'btn btn-outline-dark btn-sm', 'style'=>"text-decoration:none;", 'escape'=>false]);
  949 + echo '</div>';
  950 + /*
  951 + //echo $this->Form->submit(__('Enregistrer'));
  952 + echo $context->Form->button('Enregistrer', ['class'=>'btn btn-outline-success', 'type'=>'submit']);
  953 + // - Bouton Cancel
  954 + //echo $this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
  955 + echo $context->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'view', $matos_id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
  956 + //echo '<button type="reset" class="btn btn-default pull-right">Cancel</button>';
  957 + //echo '<a href="/link-to/whatever-address/" id="cancel" name="cancel" class="btn btn-default">Cancel</a>';
  958 + */
  959 + //}
  960 + };
  961 + $this->set(compact('echoSubmitButtons'));
  962 +
936 963  
937 964 } // beforeRender()
938 965  
... ... @@ -979,7 +1006,7 @@ class AppController extends Controller
979 1006 * @param $msg :
980 1007 * Message à envoyer. Si $msg n'est pas renseigné, un message par défaut sera généré.
981 1008 */
982   - public function sendEmail($entity, $subject = null, $msg = null)
  1009 + public function sendEmail($entity, $subject=null, $msg=null)
983 1010 {
984 1011 /*
985 1012 * $_SESSION['Auth']['User'] pour retrouver TOUTES les infos de la session courante (tout est du string) :
... ... @@ -1004,7 +1031,7 @@ class AppController extends Controller
1004 1031 if ($entity instanceof Materiel) {
1005 1032 $materiel = $entity;
1006 1033 $nom_materiel = $materiel->designation;
1007   - if ($subject == null && $msg == null) {
  1034 + if ($subject==null && $msg==null) {
1008 1035 $msgMore = '';
1009 1036 Switch ($action) {
1010 1037 case 'add':
... ...
src/Model/Table/DocumentsTable.php
... ... @@ -74,7 +74,8 @@ class DocumentsTable extends AppTable
74 74 //Mi regex pour mettre la règle alphaNumericDashUnderscore
75 75 $validator->add('nom', 'alphaNumericDashUnderscore', [
76 76 'rule' => ['custom', '|^[0-9a-zA-Z_-]*$|'],
77   - 'message' => __('Le nom du document ne doit contenir que des chiffres, des lettres, des tirets, ou des tirets.'),
  77 + 'message' => __('Le nom du document ne doit contenir ni espace ni accent (seulement des lettres, chiffres, ou tirets)'),
  78 + //'message' => __('Le nom du document ne doit contenir que des chiffres, des lettres, des tirets, ou des tirets.'),
78 79 ]);
79 80  
80 81 return $validator;
... ...
src/Template/Categories/view.ctp
... ... @@ -77,7 +77,7 @@
77 77  
78 78 <h3 id="t_suivis" style="cursor: pointer;">
79 79 <i class="icon-chevron-down" style="font-size: 14px;" id="i_suivis"></i>
80   - <span style="text-decoration: underline;">Materiels associées (<?= $materiels->count()?>)</span>
  80 + <span style="text-decoration: underline;">Materiels associés (<?= $materiels->count()?>)</span>
81 81 </h3>
82 82 <div id="suivis" style="margin-bottom: 20px;">
83 83  
... ... @@ -90,7 +90,10 @@
90 90 <?php foreach ($materiels as $materiel): ?>
91 91 <tr>
92 92  
  93 + <!-- (EP 20200310) bugfix: si on utilise h(), les accents sont mal affichés...
93 94 <td><?= $this->Html->link(h($materiel->designation), ['controller' => 'Materiels', 'action' => 'view', h($materiel->id)]); ?></td>
  95 + -->
  96 + <td><?= $this->Html->link($materiel->designation, ['controller' => 'Materiels', 'action' => 'view', h($materiel->id)]); ?></td>
94 97  
95 98 <td class="actions">
96 99 <?= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => 'Materiels', 'action' => 'view', $materiel->id], ['escape' => false, 'style' => 'margin:0']) ?>
... ...
src/Template/Documents/view.ctp
... ... @@ -48,10 +48,12 @@
48 48  
49 49 $displayElement(__('Extension fichier'), h($document->type_doc));
50 50  
  51 + $doc_name = $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc;
51 52 if ($document->photo) {
52   - echo '<tr><td><strong>Fichier</strong></td><td><a href="' . $this->request->webroot . 'webroot/img/photos/' . $document->id . '.' . $document->type_doc . '">Télécharger fichier</a></td></tr>';
  53 + //echo '<tr><td><strong>Fichier</strong></td><td><a href="' . $this->request->webroot . 'webroot/img/photos/' . $document->id . '.' . $document->type_doc . '">Télécharger fichier</a></td></tr>';
  54 + echo '<tr><td><strong>Fichier</strong></td><td><a href="' . $this->request->webroot . 'img/photos/' . $doc_name . '">Télécharger photo</a></td></tr>';
53 55 } else {
54   - echo '<tr><td><strong>Fichier</strong></td><td><a href="' . $this->request->webroot . 'webroot/files/' . $document->id . '.' . $document->type_doc . '">Télécharger fichier</a></td></tr>';
  56 + echo '<tr><td><strong>Fichier</strong></td><td><a href="' . $this->request->webroot . 'files/' . $doc_name . '">Télécharger fichier</a></td></tr>';
55 57 }
56 58  
57 59 ?>
... ...
src/Template/Materiels/add.ctp
... ... @@ -77,6 +77,7 @@ $sousCategories = $sousCategories;
77 77  
78 78 // 3) FUNCTIONS from AppController
79 79 $mydebug = $mydebug; // $mydebug($D,"message");
  80 +$echoSubmitButtons = $echoSubmitButtons;
80 81  
81 82  
82 83 $mydebug($D, $surCategories);
... ... @@ -128,23 +129,38 @@ if (isset($cpMateriel)) {
128 129 //debug($Sur_categ_id)
129 130 ?>
130 131  
  132 +
  133 +
  134 +
  135 +<!--
  136 +*************************************************
  137 +*** DEBUT DE LA PAGE WEB SPÉCIFIQUE (CONTENT) ***
  138 +*************************************************
  139 +-->
  140 +
  141 +<!-- DIV FORMULAIRE -->
131 142 <div class="materiels form col-lg-4 col-md-7 col-sm-9">
  143 +
  144 + <h2><i class="icon-plus"></i> Ajouter un Matériel</h2>
  145 +
132 146 <?=$this->Form->create($materiel)?>
133   - <fieldset>
134   - <h2>
135   - <i class="icon-plus"></i> Ajouter un Matériel
136   - </h2>
  147 +
  148 + <!-- BOUTONS SUBMIT et CANCEL -->
  149 + <?=$echoSubmitButtons($this, "index", $materiel->id);?>
  150 +
  151 + <fieldset>
  152 +
137 153 <!--<div id="boutons" class="actions"
138 154 style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
139   -
140 155 <=$this->Form->submit(__('Enregistrer'))?>
141 156 <=$this->Form->button('Enregistrer', [ 'class'=>'btn btn-outline-success', 'type'=>'submit', ]) ?>-->
142   -
143 157 <!--<=$this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'index'], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
144 158 <=$this->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'index'], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
145   - </div>-->
  159 + </div>
  160 + -->
146 161  
147 162 <?php
  163 +
148 164 echo $this->Form->control('designation', [
149 165 'label' => 'Désignation',
150 166 //'default' => $Designation
... ... @@ -405,12 +421,17 @@ if (isset($cpMateriel)) {
405 421 'value' => $username
406 422 ]);
407 423 ?>
408   - </fieldset>
409   - <!--<=$this->Form->submit(__('Enregistrer'))?>-->
410   - <?=$this->Form->button('Enregistrer', [ 'class'=>'btn btn-outline-success', 'type'=>'submit', ]) ?>
411   -
412   - <!--<=$this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'index'], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>-->
413   - <?=$this->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'index'], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
  424 +
  425 + </fieldset>
  426 +
  427 + <!-- BOUTONS SUBMIT et CANCEL -->
  428 + <?=$echoSubmitButtons($this, "index", $materiel->id);?>
  429 + <!--
  430 + <=$this->Form->submit(__('Enregistrer'))?>
  431 + <=$this->Form->button('Enregistrer', [ 'class'=>'btn btn-outline-success', 'type'=>'submit', ]) ?>
  432 + <=$this->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'index'], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
  433 + <=$this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'index'], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px'])?>
  434 + -->
414 435  
415 436 <?=$this->Form->end()?>
416 437 </div>
... ...
src/Template/Materiels/edit.ctp
... ... @@ -75,6 +75,7 @@ $mydebug = $mydebug; // $mydebug($D, &quot;message&quot;)
75 75 $displayElement = $displayElement;
76 76 $dateProchainControleVerif = $dateProchainControleVerif;
77 77 $echoActionButton = $echoActionButton;
  78 +$echoSubmitButtons = $echoSubmitButtons;
78 79  
79 80  
80 81 //debug($GLOBALS);
... ... @@ -154,6 +155,7 @@ if ($IS_VALIDATED &amp;&amp; $materiel-&gt;numero_serie)
154 155  
155 156  
156 157 // Création des 2 boutons submit du formulaire (Enregistrer et Cancel)
  158 +/*
157 159 function echoSubmitButtons($context, $matos_id) {
158 160 // - Bouton Enregistrer
159 161 echo '<div id="form-submit-buttons">';
... ... @@ -163,7 +165,7 @@ function echoSubmitButtons($context, $matos_id) {
163 165 //echo $context->Html->link(__('Annuler'), ['action' => 'view', $matos_id], ['class' => 'btn btn-info ', 'escape' => false]);
164 166 echo $context->Html->link(__('<i>Annuler</i>'), ['action' => 'view', $matos_id], ['class'=>'btn btn-outline-dark btn-sm', 'style'=>"text-decoration:none;", 'escape'=>false]);
165 167 echo '</div>';
166   - /*
  168 + /S
167 169 //echo $this->Form->submit(__('Enregistrer'));
168 170 echo $context->Form->button('Enregistrer', ['class'=>'btn btn-outline-success', 'type'=>'submit']);
169 171 // - Bouton Cancel
... ... @@ -171,8 +173,9 @@ function echoSubmitButtons($context, $matos_id) {
171 173 echo $context->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'view', $matos_id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
172 174 //echo '<button type="reset" class="btn btn-default pull-right">Cancel</button>';
173 175 //echo '<a href="/link-to/whatever-address/" id="cancel" name="cancel" class="btn btn-default">Cancel</a>';
174   - */
  176 + S/
175 177 }
  178 +*/
176 179  
177 180 ?>
178 181  
... ... @@ -188,10 +191,9 @@ function echoSubmitButtons($context, $matos_id) {
188 191 <!-- DIV FORMULAIRE -->
189 192 <div class="materiels form col-lg-5 col-md-7 col-sm-9">
190 193  
  194 + <h2><i class="icon-edit"></i> Editer un Matériel</h2>
191 195  
192 196 <?=$this->Form->create($materiel)?>
193   - <fieldset>
194   - <h2><i class="icon-edit"></i> Editer un Matériel</h2>
195 197  
196 198 <?php
197 199 // Après harmonisation de edit et administrer plus besoin de lien vers la page*
... ... @@ -206,7 +208,7 @@ function echoSubmitButtons($context, $matos_id) {
206 208 ?>
207 209  
208 210 <!-- BOUTONS SUBMIT -->
209   - <?php echoSubmitButtons($this, $materiel->id); ?>
  211 + <?php $echoSubmitButtons($this, 'view', $materiel->id); ?>
210 212 <!--
211 213 <div id="boutons" class="actions" style="margin-bottom: 20px; width: 100%; float: none; padding: 10px 0;">
212 214 --<=$this->Form->submit(__('Enregistrer'))?>--
... ... @@ -216,6 +218,8 @@ function echoSubmitButtons($context, $matos_id) {
216 218 </div>
217 219 -->
218 220  
  221 + <fieldset>
  222 +
219 223 <?php
220 224 // designation
221 225 echo $this->Form->control('designation', [
... ... @@ -645,21 +649,20 @@ function echoSubmitButtons($context, $matos_id) {
645 649 ]);
646 650  
647 651 ?>
648   - </fieldset>
  652 +
  653 + </fieldset>
649 654  
650 655 <?php
651   -
652   - // BOUTONS SUBMIT
653   - echoSubmitButtons($this, $materiel->id);
654   -
655   - /*
656   - // - Bouton Enregistrer
657   - //echo $this->Form->submit(__('Enregistrer'));
658   - echo $this->Form->button('Enregistrer', ['class'=>'btn btn-outline-success', 'type'=>'submit']);
659   - // - Bouton Cancel
660   - //echo $this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
661   - echo $this->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
662   - */
  656 + // BOUTONS SUBMIT
  657 + $echoSubmitButtons($this, 'view', $materiel->id);
  658 + /*
  659 + // - Bouton Enregistrer
  660 + //echo $this->Form->submit(__('Enregistrer'));
  661 + echo $this->Form->button('Enregistrer', ['class'=>'btn btn-outline-success', 'type'=>'submit']);
  662 + // - Bouton Cancel
  663 + //echo $this->Html->link(__('<i class="icon-minus-sign"></i> Annuler'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
  664 + echo $this->Form->button(('<i class="btn btn-outline-dark btn-sm">Annuler</i>'), ['action' => 'view', $materiel->id], ['escape' => false,'onclick' => 'return true;','style' => 'margin-right: 10px']);
  665 + */
663 666  
664 667 // Fin du formulaire
665 668 echo $this->Form->end();
... ...
src/Template/Materiels/view.ctp
... ... @@ -209,18 +209,18 @@ $CAN_PRINT_LABEL = $IS_VALIDATED &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $USER_IS_ADMIN
209 209 $photo = $document;
210 210 //on reconstitue le nom a partir des paramètres (idmat_nom_id.extension)
211 211 $nomPhoto = $photo->materiel_id . "_" . $photo->nom . "_" . $photo->id . "." .$photo->type_doc;
212   -
213 212 //Et si la photo n'est pas vide on l'affiche
214 213 if(!empty($photo)) {
215 214 echo $this->Html->image('photos/'.$nomPhoto, [
216 215 //si il y a une erreur sur le nom affiche le texte alternatif
217 216 'alt' => 'Photo du matériel',
218   - 'style' => 'max-width: 300px; text-align: center;'
  217 + 'style' => 'max-width:300px; text-align:center; float:none;'
219 218 ]);
220 219 }
221 220 }
222 221 }
223 222  
  223 + echo "\n";
224 224 // QRCODE (Url)
225 225 //debug($this->request->env('HTTP_REFERER')); // 'http://labinvent.test/materiels'
226 226 //debug($this->request);
... ... @@ -234,7 +234,7 @@ $CAN_PRINT_LABEL = $IS_VALIDATED &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $USER_IS_ADMIN
234 234 echo $this->Html->image('qrcodes/' . $this->request->getSession()
235 235 ->read("filename"), [
236 236 'alt' => 'QrCode : ' . $materiel->numero_laboratoire,
237   - 'style' => 'float: right'
  237 + 'style' => 'float:right;'
238 238 ]);
239 239 ?>
240 240 </div>
... ... @@ -398,19 +398,23 @@ $CAN_PRINT_LABEL = $IS_VALIDATED &amp;&amp; $configuration-&gt;hasPrinter &amp;&amp; $USER_IS_ADMIN
398 398  
399 399 // BOUTON ETIQUETTE (si imprimante disponible)
400 400 if ($CAN_PRINT_LABEL) {
401   - // - Bouton "Imprimer sur un ruban"
402   - $echoActionButton($this->Html, 'icon-print', $bStyle, ' Impr. étiquette', '', 'printLabelRuban', h($materiel->id), [], "Imprimer sur un ruban");
403   - // - Bouton "Etiquette posée"
404   - $echoActionButton(
405   - $this->Html, 'icon-file', $bStyle,
  401 +
  402 + // - Bouton "Imprimer étiquette"
  403 + $echoActionButton($this->Html, 'icon-print', $bStyle,
  404 + ' étiquette', '', 'printLabelRuban', h($materiel->id), [],
  405 + "Imprimer sur un ruban");
  406 +
  407 + // - Bouton "Etiquette [non] collée"
  408 + //$echoActionButton($this->Html, 'icon-file', $bStyle.'; background: red; color: white',
  409 + $echoActionButton($this->Html, 'icon-file', $bStyle,
406 410 $materiel->etiquette ? " Etiquette NON collée" : " Etiquette collée",
407 411 'materiels',
408 412 $materiel->etiquette ? 'setLabelIsNotPlaced' : 'setLabelIsPlaced',
409 413 h($materiel->id), ['view'],
410 414 $materiel->etiquette ?
411   - "En cliquant sur ce bouton, vous déclarez que l'étiquette n'a PAS été posée sur le matériel"
  415 + "En cliquant sur ce bouton, vous déclarez que l'étiquette n'a PAS été collée sur le matériel"
412 416 :
413   - "En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été posée sur le matériel"
  417 + "En cliquant sur ce bouton, vous certifiez que l'étiquette a bien été collée sur le matériel"
414 418 );
415 419 //'style' => 'margin-left: 0px; margin-right: 10px',
416 420 }
... ... @@ -465,9 +469,11 @@ if ($materiel-&gt;date_fin_garantie !== NULL) {
465 469 $dateFin = $dateFin->format('Ymd');
466 470 }
467 471  
  472 +$style_red = 'style="color: #FF0000"';
  473 +$style_green = 'style="color: green"';
468 474 $style = '';
469 475 if (isset($dateFin) && $today >= $dateFin)
470   - $style = 'style="color: #FF0000"';
  476 + $style = $style_red;
471 477 $type = "";
472 478 if (h($materiel->materiel_administratif) == 1 && h($materiel->materiel_technique) == 1)
473 479 $type = 'Administratif et technique';
... ... @@ -492,7 +498,8 @@ if (h($materiel-&gt;etiquette) == 0)
492 498 else
493 499 $etiq = "Oui";
494 500  
495   -$displayElement(__('Etiquette posée'), $etiq);
  501 +$displayElement(__('Etiquette collée'), $etiq, $etiq=="Oui"?$style_green:$style_red);
  502 +
496 503 $displayElement(__('N° de série'), $materiel->numero_serie);
497 504 $displayElement(__($configuration->nom_groupe_thematique), $materiel->has('groupes_thematique') ? $this->Html->link($materiel->groupes_thematique->nom, [
498 505 'controller' => 'GroupesThematiques',
... ... @@ -760,13 +767,15 @@ $bStyle = &#39;margin:0&#39;;
760 767 <?php
761 768 if ($document->photo) {
762 769 // TODO: $echoActionButton()
763   - echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
  770 + //echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
  771 + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/img/photos/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
764 772 'title' => 'Télécharger',
765 773 'style' => 'margin:0',
766 774 'escape' => false
767 775 ]);
768 776 } else {
769   - echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
  777 + //echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/webroot/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
  778 + echo $this->Html->link(__('<i class="icon-download-alt"></i>'), '/files/' . $document->materiel_id .'_' . $document->nom.'_'. $document->id . '.' . $document->type_doc, [
770 779 'title' => 'Télécharger',
771 780 'style' => 'margin:0',
772 781 'escape' => false
... ... @@ -794,7 +803,7 @@ $bStyle = &#39;margin:0&#39;;
794 803 ], [
795 804 'escape' => false,
796 805 'style' => 'margin:0',
797   - 'confirm' => __('Êtes-vous sur de vouloir supprimer # {0}?', $document->id)
  806 + 'confirm' => __('Êtes-vous sur de vouloir supprimer le doc #{0}?', $document->id)
798 807 ]);
799 808 // Envoyer devis par mail (envoyer des mails avec les documents en pj)
800 809 echo $this->Form->postLink(__('<i class="icon-envelope"></i>'), [
... ...
src/Template/Pages/about.ctp
... ... @@ -8,14 +8,14 @@ echo &lt;&lt;&lt;&quot;EOD&quot;
8 8 <section id="cadre" class="col-lg-12">
9 9 Ce logiciel sert a inventorier le matériel d'un laboratoire (à l'origine, celui de l'IRAP).<br><br>
10 10  
11   -COPYRIGHT (C) 2012-2019 IRAP (Institut de Recherche en Astrophysique et Planetologie) Toulouse - France <br><br>
  11 +COPYRIGHT (C) 2012-2020 IRAP (Institut de Recherche en Astrophysique et Planetologie) Toulouse - France <br><br>
12 12  
13 13 Auteurs : <br>
  14 +- Etienne Pallier (epallier@irap.omp.eu), Architecture<br>
  15 +- Elodie Bourrec (ebourrec@irap.omp.eu), Administration base de données<br>
  16 +- Marielle Lacombe (mlacombe@obs-mip.fr), Chef de projet<br>
14 17 - Upsilon (micro-entreprise Université Toulouse 3 Paul Sabatier), réalisation version initiale 2012<br>
15   -- Marielle Lacombe (mlacombe@obs-mip.fr), chef de projet<br>
16   -- Elodie Bourrec (ebourrec@irap.omp.eu), administration base de données<br>
17   -- Etienne Pallier (epallier@irap.omp.eu), développement<br><br>
18   -
  18 +<br>
19 19 Licence GPL (http://www.gnu.org/copyleft/gpl.html)<br><br>
20 20  
21 21 This program is free software: you can redistribute it and/or modify
... ...
src/Template/Pages/acls.ctp
  1 +<div class="index">
  2 + <h2>
  3 + <i class="icon-print"></i> AUTORISATIONS
  4 + </h2>
  5 +
  6 + <br />
  7 + <br />
  8 + <h3>AUTORISATIONS DES UTILISATEURS (PROFILS)</h3>
  9 + <hr />
  10 +
  11 + <br />
  12 + <p>
  13 + <!-- ancien lien WIKI
  14 + <a href="https://projects.irap.omp.eu/projects/inventirap/wiki/Installation#I-Etiquettes-optionnel">
  15 + -->
  16 + <!-- new lien GDOC -->
  17 + =>
  18 + <a href="https://docs.google.com/document/d/1JTi3YX6X33asn9vfPGAPaFZ3u8IMGnAqCf2Ge0nWdtI/edit#heading=h.jaa6i3mtbmnr">
  19 + Lien vers ce chapitre dans la documentation technique
  20 + </a>
  21 + </p>
  22 +</div>
  23 +
  24 +<?php
  25 +
  26 +/* ANCIENNE PAGE WEB
  27 +
  28 +
  29 +
1 30 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
2 31 <html xmlns="http://www.w3.org/1999/xhtml">
3 32 <!--This file was converted to xhtml by LibreOffice - see http://cgit.freedesktop.org/libreoffice/core/tree/filter/source/xslt for the code.-->
... ... @@ -882,7 +911,7 @@ ODF styles with no properties representable as CSS --&gt;.Tableau2.13 .T10 .T11 .T1
882 911 <p class="P1"> </p>
883 912 <p class="P4">
884 913 Cette page n'est plus à jour, se référer à <a
885   - href="https://docs.google.com/document/d/1-OhEeoi96j6ueUl5NQCQ9ZsTfbJTFw3ZVaWU2iYly_o/edit"
  914 + href="https://docs.google.com/document/d/1JTi3YX6X33asn9vfPGAPaFZ3u8IMGnAqCf2Ge0nWdtI/edit#heading=h.jaa6i3mtbmnr"
886 915 onclick="window.open(this.href); return false;">ce document</a>
887 916 </p>
888 917 <p class="P1"> </p>
... ... @@ -1597,4 +1626,9 @@ ODF styles with no properties representable as CSS --&gt;.Tableau2.13 .T10 .T11 .T1
1597 1626 </div>
1598 1627 -->
1599 1628 </body>
1600   -</html>
1601 1629 \ No newline at end of file
  1630 +</html>
  1631 +
  1632 +
  1633 +
  1634 +*/
  1635 +?>
1602 1636 \ No newline at end of file
... ...
src/Template/Pages/printers.ctp
... ... @@ -10,8 +10,13 @@
10 10  
11 11 <br />
12 12 <p>
  13 + <!-- ancien lien WIKI
13 14 <a href="https://projects.irap.omp.eu/projects/inventirap/wiki/Installation#I-Etiquettes-optionnel">
14   - Lien vers le wiki
  15 + -->
  16 + <!-- new lien GDOC -->
  17 + =>
  18 + <a href="https://docs.google.com/document/d/1-OhEeoi96j6ueUl5NQCQ9ZsTfbJTFw3ZVaWU2iYly_o/edit#heading=h.gx3h9cf2hpj9">
  19 + Lien vers ce chapitre dans la documentation technique
15 20 </a>
16 21 </p>
17 22 </div>
... ...
webroot/css/responsive.css
... ... @@ -69,38 +69,55 @@ div.form, div.index, div.view {
69 69 }
70 70  
71 71 /*boutons*/
  72 +
  73 +/*
  74 +(EP 2020 03 09)
  75 +Jeanne avait fait ça mais c'est inutile et surtout incorrect
  76 +car les boutons changent de nombre (et de place)...
  77 +Donc par exemple, le bouton numero 6 n'est pas toujours le meme !!!
  78 +
72 79 #boutons > a:nth-child(1) {
73   - margin-right: 20px;
74 80 display: inline-block;
  81 + margin-right: 20px;
75 82 margin-bottom: 10px;
76 83 }
77 84 #boutons > a:nth-child(2) {
78   - margin-right: 20px;
79 85 display: inline-block;
  86 + margin-right: 20px;
80 87 margin-bottom: 10px;
81 88 }
82 89 #boutons > a:nth-child(3) {
83   - margin-right: 20px;
84 90 display: inline-block;
  91 + margin-right: 20px;
85 92 margin-bottom: 10px;
86 93 }
87 94 #boutons > a:nth-child(6) {
  95 + display:inline-block;
88 96 margin-right: 20px;
89 97 margin-top:10px;
90   - display:inline-block;
91 98 color:red
92 99 }
93 100 #boutons > a:nth-child(4) {
94   - margin-right: 10px;
95 101 display: inline-block;
  102 + margin-right: 10px;
96 103 margin-bottom: 10px;
97 104 }
98 105 #boutons > a:nth-child(10) {
  106 + display: inline-block;
99 107 margin-right: 10px;
100 108 background: green;
101 109 color: white;
  110 +}
  111 +*/
  112 +
  113 +/* (EP) Je propose plutot ceci par défaut pour tous les boutons */
  114 +#boutons > a {
102 115 display: inline-block;
  116 + margin-right: 20px;
  117 + margin-bottom: 10px;
103 118 }
  119 +
  120 +
104 121 #materiel_images > img:nth-child(1) {
105 122 float: right;
106 123 padding-top: 17px;
... ...