Commit 05212e33c08c97b0b4dd41667e5ad8a1e73fc5ac
1 parent
71be030e
Exists in
master
and in
1 other branch
Bugfixed tests => tous ok
v4.101.9-3.7.9
Showing
5 changed files
with
62 additions
and
5 deletions
Show diff stats
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'; | ... | ... |