From f7c5c745f2f7ce6c47a0c5f6ded3a3e448da797e Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Thu, 21 Mar 2019 21:22:32 +0100
Subject: [PATCH] FEAT #9107 change create admin shipping

---
 .../shipping/controllers/ShippingController.php | 10 +++++++++-
 .../shipping/models/ShippingModelAbstract.php   | 17 ++++++++++++++---
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/app/shipping/controllers/ShippingController.php b/src/app/shipping/controllers/ShippingController.php
index 24996a6e66d..a955227f9f4 100755
--- a/src/app/shipping/controllers/ShippingController.php
+++ b/src/app/shipping/controllers/ShippingController.php
@@ -104,7 +104,15 @@ class ShippingController
         $body['fee']      = json_encode($body['fee']);
         $body['entities'] = json_encode($body['entities']);
         $body['account']  = json_encode($body['account']);
-        $id = ShippingModel::create($body);
+
+        $id = ShippingModel::create([
+            'label'       => $body['label'],
+            'description' => $body['description'],
+            'options'     => $body['options'],
+            'fee'         => $body['fee'],
+            'entities'    => $body['entities'],
+            'account'     => $body['account']
+        ]);
 
         HistoryController::add([
             'tableName' => 'shipping_templates',
diff --git a/src/app/shipping/models/ShippingModelAbstract.php b/src/app/shipping/models/ShippingModelAbstract.php
index 0b088a77efc..ff6c4cb1493 100755
--- a/src/app/shipping/models/ShippingModelAbstract.php
+++ b/src/app/shipping/models/ShippingModelAbstract.php
@@ -58,12 +58,22 @@ abstract class ShippingModelAbstract
 
     public static function create(array $aArgs)
     {
+        ValidatorModel::notEmpty($aArgs, ['label', 'description']);
+        ValidatorModel::stringType($aArgs, ['label', 'description', 'options', 'fee', 'entities', 'account']);
+
         $nextSequenceId = DatabaseModel::getNextSequenceValue(['sequenceId' => 'shipping_templates_id_seq']);
 
-        $aArgs['id'] = $nextSequenceId;
         DatabaseModel::insert([
             'table'         => 'shipping_templates',
-            'columnsValues' => $aArgs
+            'columnsValues' => [
+                'id'             => $nextSequenceId,
+                'label'          => $aArgs['label'],
+                'description'    => $aArgs['description'],
+                'options'        => $aArgs['options'],
+                'fee'            => $aArgs['fee'],
+                'entities'       => $aArgs['entities'],
+                'account'        => $aArgs['account']
+            ]
         ]);
 
         return $nextSequenceId;
@@ -71,8 +81,9 @@ abstract class ShippingModelAbstract
 
     public static function update(array $aArgs)
     {
-        ValidatorModel::notEmpty($aArgs, ['id']);
+        ValidatorModel::notEmpty($aArgs, ['id', 'label', 'description']);
         ValidatorModel::intVal($aArgs, ['id']);
+        ValidatorModel::stringType($aArgs, ['label', 'description', 'options', 'fee', 'entities', 'account']);
         
         DatabaseModel::update([
             'table'     => 'shipping_templates',
-- 
GitLab