Commit 25a35889b6a49ea41bc37b6928e6d017c018b5ff

Authored by Etienne Pallier
1 parent faf8170b
Exists in master and in 2 other branches dev, dev-IRAP

bugfix/improve EXPORT CSV

Showing 1 changed file with 61 additions and 7 deletions   Show diff stats
src/Controller/MaterielsController.php
@@ -2234,6 +2234,8 @@ class MaterielsController extends AppController @@ -2234,6 +2234,8 @@ class MaterielsController extends AppController
2234 } 2234 }
2235 } 2235 }
2236 2236
  2237 +
  2238 +
2237 /** 2239 /**
2238 * Export method 2240 * Export method
2239 * Generation d'un fichier .csv comportant la date du jour 2241 * Generation d'un fichier .csv comportant la date du jour
@@ -2247,6 +2249,12 @@ class MaterielsController extends AppController @@ -2247,6 +2249,12 @@ class MaterielsController extends AppController
2247 */ 2249 */
2248 public function export() 2250 public function export()
2249 { 2251 {
  2252 +
  2253 + function getElementFromList($listName, $materiel, $fkName) {
  2254 + $ISOK = ( !is_null($materiel->$fkName) && !is_null($listName[$materiel->$fkName]) );
  2255 + return $ISOK ? $listName[$materiel->$fkName] : "";
  2256 + }
  2257 +
2250 $materiels = NULL; 2258 $materiels = NULL;
2251 $surCategories = $this->Materiels->SurCategories->find('list', [ 2259 $surCategories = $this->Materiels->SurCategories->find('list', [
2252 'keyField' => 'id', 2260 'keyField' => 'id',
@@ -2439,33 +2447,63 @@ class MaterielsController extends AppController @@ -2439,33 +2447,63 @@ class MaterielsController extends AppController
2439 $result->designation 2447 $result->designation
2440 ]; 2448 ];
2441 2449
  2450 + array_push($row, getElementFromList($surCategories, $result, 'sur_categorie_id'));
  2451 + /*
  2452 + $fkName = 'sur_categorie_id';
  2453 + $listName = $surCategories;
  2454 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2455 + array_push($row, $ISOK ? $listName[$result->$fkName] : "");
  2456 + */
  2457 + /*
2442 if ($surCategories[$result->sur_categorie_id] !== null) { 2458 if ($surCategories[$result->sur_categorie_id] !== null) {
2443 array_push($row, $surCategories[$result->sur_categorie_id]); 2459 array_push($row, $surCategories[$result->sur_categorie_id]);
2444 } else { 2460 } else {
2445 array_push($row, ""); 2461 array_push($row, "");
2446 } 2462 }
  2463 + */
2447 2464
  2465 + array_push($row, getElementFromList($categories, $result, 'categorie_id'));
  2466 + /*
  2467 + $fkName = 'categorie_id';
  2468 + $listName = $categories;
  2469 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2470 + array_push($row, $ISOK ? $listName[$result->$fkName] : "");
2448 //if ($categories[$result->categorie_id] !== null) { 2471 //if ($categories[$result->categorie_id] !== null) {
2449 if ($result->categorie_id !== null && $categories[$result->categorie_id] !== null) { 2472 if ($result->categorie_id !== null && $categories[$result->categorie_id] !== null) {
2450 array_push($row, $categories[$result->categorie_id]); 2473 array_push($row, $categories[$result->categorie_id]);
2451 } else { 2474 } else {
2452 array_push($row, ""); 2475 array_push($row, "");
2453 } 2476 }
2454 - 2477 + */
  2478 +
  2479 + array_push($row, getElementFromList($sousCategories, $result, 'sous_categorie_id'));
  2480 + /*
  2481 + $fkName = 'sous_categorie_id';
  2482 + $listName = $sousCategories;
  2483 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2484 + array_push($row, $ISOK ? $listName[$result->$fkName] : "");
2455 if ($result->sous_categorie_id !== null && $sousCategories[$result->sous_categorie_id] !== null) { 2485 if ($result->sous_categorie_id !== null && $sousCategories[$result->sous_categorie_id] !== null) {
2456 array_push($row, $sousCategories[$result->sous_categorie_id]); 2486 array_push($row, $sousCategories[$result->sous_categorie_id]);
2457 } else { 2487 } else {
2458 array_push($row, ""); 2488 array_push($row, "");
2459 } 2489 }
  2490 + */
2460 2491
2461 array_push($row, $result->numero_laboratoire); 2492 array_push($row, $result->numero_laboratoire);
2462 array_push($row, $result->description); 2493 array_push($row, $result->description);
2463 - 2494 +
  2495 + array_push($row, getElementFromList($organismes, $result, 'organisme_id'));
  2496 + /*
  2497 + $fkName = 'organisme_id';
  2498 + $listName = $organismes;
  2499 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2500 + array_push($row, $ISOK ? $listName[$result->$fkName] : "");
2464 if ( !is_null($result->organisme_id) && !is_null($organismes[$result->organisme_id] ) ) { 2501 if ( !is_null($result->organisme_id) && !is_null($organismes[$result->organisme_id] ) ) {
2465 array_push($row, $organismes[$result->organisme_id]); 2502 array_push($row, $organismes[$result->organisme_id]);
2466 } else { 2503 } else {
2467 array_push($row, ""); 2504 array_push($row, "");
2468 } 2505 }
  2506 + */
2469 2507
2470 array_push($row, $result->materiel_administratif); 2508 array_push($row, $result->materiel_administratif);
2471 array_push($row, $result->materiel_technique); 2509 array_push($row, $result->materiel_technique);
@@ -2480,26 +2518,42 @@ class MaterielsController extends AppController @@ -2480,26 +2518,42 @@ class MaterielsController extends AppController
2480 array_push($row, $result->code_comptable); 2518 array_push($row, $result->code_comptable);
2481 array_push($row, $result->numero_serie); 2519 array_push($row, $result->numero_serie);
2482 2520
2483 - if ($groupesThematiques[$result->groupes_thematique_id] !== null) {  
2484 - array_push($row, $groupesThematiques[$result->groupes_thematique_id]);  
2485 - } else {  
2486 - array_push($row, "");  
2487 - } 2521 + array_push($row, getElementFromList($groupesThematiques, $result, 'groupes_thematique_id'));
  2522 + /*
  2523 + $fkName = 'groupes_thematique_id';
  2524 + $listName = $groupesThematiques;
  2525 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2526 + array_push($row, $ISOK ? $listName[$result->$fkName] : "");
  2527 + */
2488 2528
  2529 + array_push($row, getElementFromList($groupesMetiers, $result, 'groupes_metier_id'));
  2530 + /*
  2531 + $fkName = 'groupes_metier_id';
  2532 + $listName = $groupesMetiers;
  2533 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2534 + array_push($row, $ISOK ? $listName[$result->$fkName] : "");
2489 if ($groupesMetiers[$result->groupes_metier_id] !== null) { 2535 if ($groupesMetiers[$result->groupes_metier_id] !== null) {
2490 array_push($row, $groupesMetiers[$result->groupes_metier_id]); 2536 array_push($row, $groupesMetiers[$result->groupes_metier_id]);
2491 } else { 2537 } else {
2492 array_push($row, ""); 2538 array_push($row, "");
2493 } 2539 }
  2540 + */
2494 2541
2495 array_push($row, $result->numero_inventaire_organisme); 2542 array_push($row, $result->numero_inventaire_organisme);
2496 array_push($row, $result->numero_inventaire_old); 2543 array_push($row, $result->numero_inventaire_old);
2497 2544
  2545 + array_push($row, getElementFromList($sites, $result, 'site_id'));
  2546 + /*
  2547 + $fkName = 'site_id';
  2548 + $listName = $sites;
  2549 + $ISOK = ( !is_null($result->$fkName) && !is_null($listName[$result->$fkName]) );
  2550 + array_push($row, $ISOK ? $listName[$result->$fkName] . '-' . $result->lieu_detail : "");
2498 if ($sites[$result->site_id] !== null) { 2551 if ($sites[$result->site_id] !== null) {
2499 array_push($row, $sites[$result->site_id] . '-' . $result->lieu_detail); 2552 array_push($row, $sites[$result->site_id] . '-' . $result->lieu_detail);
2500 } else { 2553 } else {
2501 array_push($row, ""); 2554 array_push($row, "");
2502 } 2555 }
  2556 + */
2503 2557
2504 array_push($row, $result->nom_responsable); 2558 array_push($row, $result->nom_responsable);
2505 array_push($row, $result->email_responsable); 2559 array_push($row, $result->email_responsable);