From 0d97e866479b56bcb627d94c7b430871e0457380 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Thu, 22 Mar 2018 17:03:34 +0100
Subject: [PATCH] FIX #251 define 0 in delay input

---
 src/app/doctype/controllers/DoctypeController.php | 15 ++++++---------
 .../doctype/models/DoctypeExtModelAbstract.php    |  8 ++++----
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/app/doctype/controllers/DoctypeController.php b/src/app/doctype/controllers/DoctypeController.php
index cb8a2c3f329..8f2070f61cd 100644
--- a/src/app/doctype/controllers/DoctypeController.php
+++ b/src/app/doctype/controllers/DoctypeController.php
@@ -362,19 +362,16 @@ class DoctypeController
             !Validator::intVal()->validate($aArgs['doctypes_second_level_id'])) {
             $errors[]= 'Invalid doctypes_second_level_id value';
         }
-        if (!Validator::notEmpty()->validate($aArgs['process_delay']) ||
-            !Validator::intVal()->validate($aArgs['process_delay']) ||
-            $aArgs['process_delay'] < 0) {
+        if (!Validator::notEmpty()->validate($aArgs['process_delay']) &&
+            (!Validator::intVal()->validate($aArgs['process_delay']) || $aArgs['process_delay'] < 0)) {
             $errors[]= 'Invalid process_delay value';
         }
-        if (!Validator::notEmpty()->validate($aArgs['delay1']) ||
-            !Validator::intVal()->validate($aArgs['delay1']) ||
-            $aArgs['delay1'] < 0) {
+        if (!Validator::notEmpty()->validate($aArgs['delay1']) &&
+            (!Validator::intVal()->validate($aArgs['delay1']) || $aArgs['delay1'] < 0)) {
             $errors[]= 'Invalid delay1 value';
         }
-        if (!Validator::notEmpty()->validate($aArgs['delay2']) ||
-            !Validator::intVal()->validate($aArgs['delay2']) ||
-            $aArgs['delay2'] < 0) {
+        if (!Validator::notEmpty()->validate($aArgs['delay2']) &&
+            (!Validator::intVal()->validate($aArgs['delay2']) || $aArgs['delay2'] < 0)) {
             $errors[]= 'Invalid delay2 value';
         }
         if (Validator::notEmpty()->validate($aArgs['duration_current_use']) &&
diff --git a/src/app/doctype/models/DoctypeExtModelAbstract.php b/src/app/doctype/models/DoctypeExtModelAbstract.php
index 989aeccfd8c..03b108d3650 100644
--- a/src/app/doctype/models/DoctypeExtModelAbstract.php
+++ b/src/app/doctype/models/DoctypeExtModelAbstract.php
@@ -42,8 +42,8 @@ class DoctypeExtModelAbstract
 
     public static function create(array $aArgs)
     {
-        ValidatorModel::notEmpty($aArgs, ['type_id', 'process_delay', 'delay1', 'delay2', 'process_mode']);
-        ValidatorModel::intVal($aArgs, ['type_id', 'process_delay', 'delay1', 'delay2']);
+        ValidatorModel::notEmpty($aArgs, ['type_id', 'process_mode']);
+        ValidatorModel::intVal($aArgs, ['type_id']);
 
         DatabaseModel::insert([
             'table'         => 'mlb_doctype_ext',
@@ -55,8 +55,8 @@ class DoctypeExtModelAbstract
 
     public static function update(array $aArgs)
     {
-        ValidatorModel::notEmpty($aArgs, ['type_id', 'process_delay', 'delay1', 'delay2', 'process_mode']);
-        ValidatorModel::intVal($aArgs, ['type_id', 'process_delay', 'delay1', 'delay2']);
+        ValidatorModel::notEmpty($aArgs, ['type_id', 'process_mode']);
+        ValidatorModel::intVal($aArgs, ['type_id']);
         
         DatabaseModel::update([
             'table'     => 'mlb_doctype_ext',
-- 
GitLab