From 9a49344c2dc11986276de93c0f3f1624e9d9fc3f Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Mon, 19 Mar 2018 12:39:22 +0100 Subject: [PATCH] FIX #210 improve check for duration_current_use --- .../Views/doctypes-administration.component.html | 3 ++- src/app/doctype/controllers/DoctypeController.php | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/maarch_entreprise/Views/doctypes-administration.component.html b/apps/maarch_entreprise/Views/doctypes-administration.component.html index e4060352eaa..4d5f7382fcf 100644 --- a/apps/maarch_entreprise/Views/doctypes-administration.component.html +++ b/apps/maarch_entreprise/Views/doctypes-administration.component.html @@ -269,7 +269,8 @@ <div class="col-sm-6"> <mat-form-field> <input matInput [(ngModel)]="currentType.duration_current_use" name="duration_current_use" id="duration_current_use" title="{{lang.durationCurrentUse}}" - type="number" placeholder="{{lang.durationCurrentUse}}" pattern="^[0-9]*$"> + type="text" placeholder="{{lang.durationCurrentUse}}" pattern="^[0-9]*$"> + <!-- pattern without required attribute must be type text --> </mat-form-field> </div> </div> diff --git a/src/app/doctype/controllers/DoctypeController.php b/src/app/doctype/controllers/DoctypeController.php index c8655be706e..cb8a2c3f329 100644 --- a/src/app/doctype/controllers/DoctypeController.php +++ b/src/app/doctype/controllers/DoctypeController.php @@ -90,6 +90,9 @@ class DoctypeController if (!empty($errors)) { return $response->withStatus(500)->withJson(['errors' => $errors]); } + if (empty($data['duration_current_use'])) { + $data['duration_current_use'] = null; + } $data = DoctypeController::manageValue($data); $secondLevelInfo = SecondLevelModel::getById(['select' => ['doctypes_first_level_id'], 'id' => $data['doctypes_second_level_id']]); @@ -166,6 +169,9 @@ class DoctypeController if (!empty($errors)) { return $response->withStatus(500)->withJson(['errors' => $errors]); } + if (empty($data['duration_current_use'])) { + $data['duration_current_use'] = null; + } $data = DoctypeController::manageValue($data); $secondLevelInfo = SecondLevelModel::getById(['select' => ['doctypes_first_level_id'], 'id' => $data['doctypes_second_level_id']]); if (empty($secondLevelInfo)) { @@ -371,6 +377,11 @@ class DoctypeController $aArgs['delay2'] < 0) { $errors[]= 'Invalid delay2 value'; } + if (Validator::notEmpty()->validate($aArgs['duration_current_use']) && + (!Validator::intVal()->validate($aArgs['duration_current_use']) || + $aArgs['duration_current_use'] < 0)) { + $errors[]= 'Invalid duration_current_use value'; + } return $errors; } -- GitLab