Commit 05212e33c08c97b0b4dd41667e5ad8a1e73fc5ac

Authored by Etienne Pallier
1 parent 71be030e
Exists in master and in 1 other branch dev

Bugfixed tests => tous ok

v4.101.9-3.7.9
CHANGES.txt
... ... @@ -94,7 +94,8 @@ Outre ces changements, voici d'autres changements importants :
94 94 ======= CHANGES =======
95 95  
96 96 -------
97   -16/09/2020 v4.101.8-3.7.9 (EP)
  97 +16/09/2020 v4.101.9-3.7.9 (EP)
  98 + - (b) Bugfixed tests => tous ok
98 99 - (b) Bugfixed recherche générale : on peut maintenant chercher aussi un projet
99 100 - (b) Bugfixed et réactivé test date reception > date achat "mais pas trop" (bug sur php5)
100 101  
... ...
README.md
... ... @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes :
43 43 --------------------------------------------------------------------------------------------
44 44  
45 45 Date: 15/09/2020
46   -Version: 4.101.8-3.7.9
  46 +Version: 4.101.9-3.7.9
47 47  
48 48  
49 49 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
... ...
src/Controller/MaterielsController.php
... ... @@ -1565,6 +1565,7 @@ class MaterielsController extends AppController {
1565 1565 'contain' => [] // load associated entities
1566 1566 ]);
1567 1567 //$this->myDebug($materiel);
  1568 + //debug($materiel);
1568 1569 }
1569 1570  
1570 1571  
... ... @@ -2516,13 +2517,41 @@ class MaterielsController extends AppController {
2516 2517  
2517 2518 private function getFieldsConditionsForGeneralSearchOfWord($word) {
2518 2519 $search_str = "%$word%";
  2520 +
  2521 + $search_fields = [
  2522 + // 1) Materiels table direct (straight) columns
  2523 + 'Materiels.designation',
  2524 + 'Materiels.numero_laboratoire',
  2525 + 'Materiels.numero_inventaire_organisme',
  2526 + 'Materiels.numero_inventaire_old',
  2527 + 'Materiels.numero_commande',
  2528 + 'Materiels.description',
  2529 + 'Materiels.nom_responsable',
  2530 + 'Materiels.email_responsable',
  2531 + 'Materiels.code_comptable',
  2532 + 'Materiels.numero_serie',
  2533 + 'Materiels.date_acquisition',
  2534 + 'Materiels.lieu_detail',
  2535 +
  2536 + // 2) Materiels table foreign keys
  2537 + 'Fournisseurs.nom',
  2538 + 'Categories.nom',
  2539 + 'Organismes.nom',
  2540 + 'Projets.nom',
  2541 + ];
  2542 +
  2543 + $conditions = [];
  2544 + foreach ($search_fields as $sf) $conditions[$sf.' LIKE'] = $search_str;
  2545 + return $conditions;
  2546 +
  2547 + /*
2519 2548 return [
2520   - /* (EP) :
  2549 + /S (EP) :
2521 2550 * Utilisation de array() [] pour pouvoir mettre plusieurs fois la meme clé.
2522 2551 * Exemple : la clé "Materiels.designation LIKE" pourra apparaître plusieurs fois si on fait une recherche de "mac pc"
2523 2552 * On aura : "Materiels.designation LIKE" => '%mac%' et "Materiels.designation LIKE" => '%pc%'
2524 2553 * Sinon on aurait uniquement eu : "Materiels.designation LIKE" => '%pc%'
2525   - */
  2554 + S/
2526 2555  
2527 2556 // 1) Materiels table direct (straight) columns
2528 2557 //[
... ... @@ -2550,6 +2579,7 @@ class MaterielsController extends AppController {
2550 2579 'Projets.nom LIKE' => $search_str,
2551 2580  
2552 2581 ];
  2582 + */
2553 2583 }
2554 2584  
2555 2585  
... ...
tests/Fixture/MaterielsFixture.php
... ... @@ -412,6 +412,16 @@ class MaterielsFixture extends TestFixture {
412 412 'precision' => null,
413 413 'autoIncrement' => null
414 414 ],
  415 + 'gestionnaire_id' => [
  416 + 'type' => 'integer',
  417 + 'length' => 11,
  418 + 'unsigned' => false,
  419 + 'null' => true,
  420 + 'default' => null,
  421 + 'comment' => '',
  422 + 'precision' => null,
  423 + 'autoIncrement' => null
  424 + ],
415 425  
416 426  
417 427 '_indexes' => [
... ... @@ -916,6 +926,7 @@ class MaterielsFixture extends TestFixture {
916 926 'date_archivage' => yyyy2mmdd2,
917 927 'etiquette' => 1,
918 928 'lieu_detail' => 'Lorem ipsum dolor sit amet',
  929 + 'gestionnaire_id' => 1,
919 930 //'nom_responsable' => 'Jesus',
920 931 'nom_responsable' => 'nobody',
921 932 'email_responsable' => 'Lorem ipsum dolor sit amet',
... ...
tests/TestCase/Controller/MaterielsControllerTest.php
... ... @@ -1882,7 +1882,13 @@ class MaterielsControllerTest extends General {
1882 1882 public function testUpdateStatusSelectedMateriels() {
1883 1883 $this->authSuperAdmin();
1884 1884 //$this->authAdmin();
1885   - $this->post('/materiels/execActions', ['updateSelectedStatus' => 'true', 'what' => 'CREATED', 11 => '1', 12 => '1', 13 => '1']);
  1885 + $this->post('/materiels/execActions', [
  1886 + 'updateSelectedStatus' => 'true',
  1887 + 'what' => 'CREATED',
  1888 + 11 => '1',
  1889 + 12 => '1',
  1890 + 13 => '1'
  1891 + ]);
1886 1892  
1887 1893 $this->get('/materiels/view/11');
1888 1894 $this->assertResponseContains('VALIDATED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
... ... @@ -2896,6 +2902,9 @@ class MaterielsControllerTest extends General {
2896 2902 'organisme_id' => 1,
2897 2903 'prix_ht' => 75,
2898 2904 'numero_commande' => 'Lorem ipsum dolor sit amet',
  2905 + 'gestionnaire_id' => 1,
  2906 + // Ca marche aussi si on met un id qui n'existe pas !!!
  2907 + //'gestionnaire_id' => 75000,
2899 2908 ];
2900 2909 $action = 'edit';
2901 2910 //$this->_doActionAndCheckResult($action, $id, $SUCCESS=true, $new_data);
... ... @@ -2903,6 +2912,12 @@ class MaterielsControllerTest extends General {
2903 2912 //$m = $this->Materiels->find()->last();
2904 2913 //$m = $this->Materiels->get($id);
2905 2914 //debug($m);
  2915 +
  2916 + /*
  2917 + $m = $this->Materiels->get($id);
  2918 + debug($m->gestionnaire_id);
  2919 + debug($m->prix_ht);
  2920 + */
2906 2921  
2907 2922 // c) SUCCESS car on a toutes les données nécessaires
2908 2923 $action = 'statusValidated';
... ...