From 5204d1b1188d3277fc8baeae183f11659977c7a0 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Wed, 20 Mar 2019 17:56:19 +0100
Subject: [PATCH] FIX sve after code review

---
 .../models/AcknowledgementReceiptModel.php      | 17 +----------------
 src/app/resource/controllers/ResController.php  |  7 ++++---
 .../shipping/controllers/ShippingController.php |  4 ++++
 3 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/src/app/acknowledgementReceipt/models/AcknowledgementReceiptModel.php b/src/app/acknowledgementReceipt/models/AcknowledgementReceiptModel.php
index 02b4f0c605a..fbcc927ba36 100644
--- a/src/app/acknowledgementReceipt/models/AcknowledgementReceiptModel.php
+++ b/src/app/acknowledgementReceipt/models/AcknowledgementReceiptModel.php
@@ -52,22 +52,6 @@ class AcknowledgementReceiptModel
     }
 
     public static function getByResIds(array $aArgs = [])
-    {
-        ValidatorModel::notEmpty($aArgs, ['resIds']);
-        ValidatorModel::arrayType($aArgs, ['select', 'orderBy', 'resIds']);
-
-        $aTemplates = DatabaseModel::select([
-            'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
-            'table'     => ['acknowledgement_receipts'],
-            'where'     => ['res_id in (?)'],
-            'data'      => $aArgs['resIds'],
-            'order_by'  => empty($aArgs['orderBy']) ? [] : $aArgs['orderBy']
-        ]);
-
-        return $aTemplates;
-    }
-
-    public static function getSveStartDate(array $aArgs = [])
     {
         ValidatorModel::notEmpty($aArgs, ['resIds']);
         ValidatorModel::arrayType($aArgs, ['select', 'orderBy', 'resIds', 'groupBy']);
@@ -77,6 +61,7 @@ class AcknowledgementReceiptModel
             'table'     => ['acknowledgement_receipts'],
             'where'     => ['res_id in (?)'],
             'data'      => $aArgs['resIds'],
+            'order_by'  => empty($aArgs['orderBy']) ? [] : $aArgs['orderBy'],
             'groupBy'   => empty($aArgs['groupBy']) ? [] : $aArgs['groupBy']
         ]);
 
diff --git a/src/app/resource/controllers/ResController.php b/src/app/resource/controllers/ResController.php
index 1e316661750..59514295c55 100755
--- a/src/app/resource/controllers/ResController.php
+++ b/src/app/resource/controllers/ResController.php
@@ -677,7 +677,8 @@ class ResController
         $select = explode(',', $data['select']);
 
         $sve_start_date = false;
-        if (in_array('sve_start_date', $select)) {
+        if ($keySve = array_search('sve_start_date', $select)) {
+            unset($select[$keySve]);
             $sve_start_date = true;
         }
         
@@ -712,8 +713,8 @@ class ResController
             foreach ($resources as $res) {
                 $aResId[] = $res['res_id'];
             }
-            $aSveStartDate = AcknowledgementReceiptModel::getSveStartDate([
-                'select'  => ['res_id', 'max(send_date) as send_date'],
+            $aSveStartDate = AcknowledgementReceiptModel::getByResIds([
+                'select'  => ['res_id', 'min(send_date) as send_date'],
                 'resIds'  => $aResId,
                 'where'   => ['send_date IS NOT NULL', 'send_date != \'\''],
                 'groupBy' => ['res_id']
diff --git a/src/app/shipping/controllers/ShippingController.php b/src/app/shipping/controllers/ShippingController.php
index 50356898d39..3c7593dba15 100755
--- a/src/app/shipping/controllers/ShippingController.php
+++ b/src/app/shipping/controllers/ShippingController.php
@@ -167,6 +167,10 @@ class ShippingController
         }
 
         $shippingInfo = ShippingModel::getById(['id' => $aArgs['id'], 'select' => ['label']]);
+        if (empty($shippingInfo)) {
+            return $response->withStatus(400)->withJson(['errors' => 'Shipping does not exist']);
+        }
+
         ShippingModel::delete(['id' => $aArgs['id']]);
 
         HistoryController::add([
-- 
GitLab