From 54c2a2e9bcda3aefa238d232017e01d7211e3199 Mon Sep 17 00:00:00 2001 From: btry Date: Tue, 9 Jan 2018 10:51:38 +0100 Subject: [PATCH 01/20] fix(notification): pending validation email for groups fix #871 --- inc/notificationtargetform_answer.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/notificationtargetform_answer.class.php b/inc/notificationtargetform_answer.class.php index b6a360309..0ef098e29 100644 --- a/inc/notificationtargetform_answer.class.php +++ b/inc/notificationtargetform_answer.class.php @@ -78,10 +78,10 @@ public function addSpecificTargets($data, $options) { case self::APPROVER : $form = new PluginFormcreatorForm(); $form->getFromDB($this->obj->fields['plugin_formcreator_forms_id']); - if ($form->fields['validation_required'] == 1) { + if ($form->fields['validation_required'] == PluginFormcreatorForm_Validator::VALIDATION_USER) { $this->addUserByField('users_id_validator', true); - } else if ($form->fields['validation_required'] == 2) { - $this->addForGroup(0, $this->obj->fields['users_id_validator']); + } else if ($form->fields['validation_required'] == PluginFormcreatorForm_Validator::VALIDATION_GROUP) { + $this->addForGroup(0, $this->obj->fields['groups_id_validator']); } break; } From 1c8f38fa4306208246d955f6f0380d1f9a77a1a0 Mon Sep 17 00:00:00 2001 From: btry Date: Tue, 9 Jan 2018 16:48:13 +0100 Subject: [PATCH 02/20] fix(form_answer): fix search option fix #602 --- inc/form_answer.class.php | 25 +++++++++++++++++-------- install/update_dev.php | 9 +++++++++ setup.php | 2 +- 3 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 install/update_dev.php diff --git a/inc/form_answer.class.php b/inc/form_answer.class.php index ab4dbd3ed..3a0f6f901 100644 --- a/inc/form_answer.class.php +++ b/inc/form_answer.class.php @@ -109,14 +109,10 @@ public function getSearchOptionsNew() { $tab[] = [ 'id' => '1', - 'table' => $this::getTable(), - 'field' => 'status', - 'name' => __('Status'), - 'searchtype' => [ - '0' => 'equals', - '1' => 'notequals' - ], - 'datatype' => 'specific', + 'table' => $this->getTable(), + 'field' => 'name', + 'name' => __('Name'), + 'datatype' => 'itemlink', 'massiveaction' => false ]; @@ -179,6 +175,19 @@ public function getSearchOptionsNew() { 'linkfield' => 'groups_id_validator', ]; + $tab[] = [ + 'id' => '8', + 'table' => $this::getTable(), + 'field' => 'status', + 'name' => __('Status'), + 'searchtype' => [ + '0' => 'equals', + '1' => 'notequals' + ], + 'datatype' => 'specific', + 'massiveaction' => false + ]; + if ($display_for_form) { $optindex = self::SOPTION_ANSWER; $question = new PluginFormcreatorQuestion; diff --git a/install/update_dev.php b/install/update_dev.php new file mode 100644 index 000000000..575d9054e --- /dev/null +++ b/install/update_dev.php @@ -0,0 +1,9 @@ +query($query); +} \ No newline at end of file diff --git a/setup.php b/setup.php index e7e33685d..91dd38154 100644 --- a/setup.php +++ b/setup.php @@ -1,7 +1,7 @@ Date: Tue, 9 Jan 2018 15:11:34 +0100 Subject: [PATCH 03/20] fix(target): remove abusive encoding in target names --- inc/target.class.php | 10 ------ inc/targetchange.class.php | 2 -- inc/targetticket.class.php | 2 -- install/update_dev.php | 39 +++++++++++++++++++++- tests/0005_Unit/TargetTest.php | 59 ++++++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+), 15 deletions(-) create mode 100644 tests/0005_Unit/TargetTest.php diff --git a/inc/target.class.php b/inc/target.class.php index 8962731c3..2dbf01f09 100644 --- a/inc/target.class.php +++ b/inc/target.class.php @@ -102,11 +102,6 @@ public static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $ * @return array the modified $input array **/ public function prepareInputForAdd($input) { - // Decode (if already encoded) and encode strings to avoid problems with quotes - foreach ($input as $key => $value) { - $input[$key] = plugin_formcreator_encode($value); - } - // Control fields values : // - name is required if (isset($input['name']) @@ -194,11 +189,6 @@ public function prepareInputForAdd($input) { * @return array the modified $input array **/ public function prepareInputForUpdate($input) { - // Decode (if already encoded) and encode strings to avoid problems with quotes - foreach ($input as $key => $value) { - $input[$key] = plugin_formcreator_encode($value); - } - // generate a uniq id if (!isset($input['uuid']) || empty($input['uuid'])) { diff --git a/inc/targetchange.class.php b/inc/targetchange.class.php index 45829b6f1..3ba8abab0 100644 --- a/inc/targetchange.class.php +++ b/inc/targetchange.class.php @@ -826,8 +826,6 @@ public function prepareInputForUpdate($input) { return []; } - $input['name'] = plugin_formcreator_encode($input['title']); - if ($CFG_GLPI['use_rich_text']) { $input['comment'] = Html::entity_decode_deep($input['comment']); } diff --git a/inc/targetticket.class.php b/inc/targetticket.class.php index 12317173f..473491f91 100644 --- a/inc/targetticket.class.php +++ b/inc/targetticket.class.php @@ -818,8 +818,6 @@ public function prepareInputForUpdate($input) { return []; } - $input['name'] = plugin_formcreator_encode($input['title']); - if ($CFG_GLPI['use_rich_text']) { $input['comment'] = Html::entity_decode_deep($input['comment']); } diff --git a/install/update_dev.php b/install/update_dev.php index 575d9054e..48985880f 100644 --- a/install/update_dev.php +++ b/install/update_dev.php @@ -1,4 +1,5 @@ query($query); -} \ No newline at end of file + + // Remove abusive encoding in targets + $table = 'glpi_plugin_formcreator_targets'; + $request = [ + 'FROM' => $table, + ]; + foreach ($DB->request($request) as $row) { + $id = $row['id']; + $name = Toolbox::addslashes_deep(html_entity_decode($row['name'], ENT_QUOTES|ENT_HTML5)); + $id = $row['id']; + $DB->query("UPDATE `$table` SET `name`='$name' WHERE `id` = '$id'"); + } + + // Remove abusive encding in target tickets + $table = 'glpi_plugin_formcreator_targettickets'; + $request = [ + 'FROM' => $table, + ]; + foreach ($DB->request($request) as $row) { + $id = $row['id']; + $name = Toolbox::addslashes_deep(html_entity_decode($row['name'], ENT_QUOTES|ENT_HTML5)); + $id = $row['id']; + $DB->query("UPDATE `$table` SET `name`='$name' WHERE `id` = '$id'"); + } + + // Remove abusive encding in target tickets + $table = 'glpi_plugin_formcreator_targetchanges'; + $request = [ + 'FROM' => $table, + ]; + foreach ($DB->request($request) as $row) { + $id = $row['id']; + $name = Toolbox::addslashes_deep(html_entity_decode($row['name'], ENT_QUOTES|ENT_HTML5)); + $id = $row['id']; + $DB->query("UPDATE `$table` SET `name`='$name' WHERE `id` = '$id'"); + } +} diff --git a/tests/0005_Unit/TargetTest.php b/tests/0005_Unit/TargetTest.php new file mode 100644 index 000000000..d7459e1e9 --- /dev/null +++ b/tests/0005_Unit/TargetTest.php @@ -0,0 +1,59 @@ + [ + 'name' => '', + 'itemtype' => PluginFormcreatorTargetTicket::class + ], + 'expected' => false, + ], + [ + 'input' => [ + 'name' => 'should fail', + 'itemtype' => '' + ], + 'expected' => false, + ], + [ + 'input' => [ + 'name' => 'should pass', + 'itemtype' => PluginFormcreatorTargetTicket::class + ], + 'expected' => true, + ], + [ + 'input' => [ + 'name' => 'être ou ne pas être', + 'itemtype' => PluginFormcreatorTargetTicket::class + ], + 'expected' => true, + ], + [ + 'input' => [ + 'name' => 'test d\\\'apostrophe', + 'itemtype' => PluginFormcreatorTargetTicket::class + ], + 'expected' => true, + ], + ]; + } + + /** + * @dataProvider addUpdateFormProvider + * @param array $input + * @param boolean $expected + */ + public function testPrepareInputForAdd($input, $expected) { + $target = new PluginFormcreatorTarget(); + $output = $target->prepareInputForAdd($input); + if ($expected === false) { + $this->assertCount(0, $output); + } else { + $this->assertEquals($input['name'], $output['name']); + $this->assertArrayHasKey('uuid', $output); + } + } +} From faf304b9ac3bd7aa571aab190469c0b2cb1e4774 Mon Sep 17 00:00:00 2001 From: btry Date: Tue, 9 Jan 2018 09:46:42 +0100 Subject: [PATCH 04/20] fix(field): inability to save properties of a tag question --- inc/fields/tagfield.class.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/inc/fields/tagfield.class.php b/inc/fields/tagfield.class.php index ae756b0e3..686f8573e 100644 --- a/inc/fields/tagfield.class.php +++ b/inc/fields/tagfield.class.php @@ -57,6 +57,10 @@ public function getAnswer() { return json_encode($return); } + public function prepareQuestionInputForSave($input) { + return $input; + } + public static function getName() { return _n('Tag', 'Tags', 2, 'tag'); } From 9d87dd721fc3265f9cc20cfb550665d3426a6619 Mon Sep 17 00:00:00 2001 From: btry Date: Thu, 1 Feb 2018 11:32:50 +0100 Subject: [PATCH 05/20] fix(question): fields hidden under condition not rendered in tickets fix #880 --- inc/form_answer.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/form_answer.class.php b/inc/form_answer.class.php index 3a0f6f901..d0da6bd96 100644 --- a/inc/form_answer.class.php +++ b/inc/form_answer.class.php @@ -991,7 +991,7 @@ public function getAnswers($formAnswerId) { $answers = $answer->find("`plugin_formcreator_forms_answers_id` = '$formAnswerId'"); $answers_values = []; foreach ($answers as $found_answer) { - $answers_values[$found_answer['plugin_formcreator_questions_id']] = stripslashes($found_answer['answer']); + $answers_values['formcreator_field_' . $found_answer['plugin_formcreator_questions_id']] = stripslashes($found_answer['answer']); } return $answers_values; } From 0280acf26d916ce619a9384b971becd261bb6b7d Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 29 Jan 2018 17:12:39 +0100 Subject: [PATCH 06/20] fix(field): fix quote escaping for file field fix #832 --- inc/targetbase.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/targetbase.class.php b/inc/targetbase.class.php index d0fd2ac9c..239b2fdf0 100644 --- a/inc/targetbase.class.php +++ b/inc/targetbase.class.php @@ -771,7 +771,7 @@ protected function parseTags($content, PluginFormcreatorForm_Answer $formanswer, $content = str_replace('##answer_' . $id . '##', addslashes($value), $content); } else { if (strpos($content, '##answer_' . $id . '##') !== false) { - $content = str_replace('##question_' . $id . '##', $name, $content); + $content = str_replace('##question_' . $id . '##', addslashes($name), $content); if ($value !== '') { $content = str_replace('##answer_' . $id . '##', __('Attached document', 'formcreator'), $content); From c85c9e1c29a1f6ba60c7f19312a95e01810b2a9c Mon Sep 17 00:00:00 2001 From: btry Date: Thu, 1 Feb 2018 10:44:00 +0100 Subject: [PATCH 07/20] refactor: factorize code to get max value of a DB column --- inc/common.class.php | 16 ++++++++++++++++ inc/question.class.php | 26 ++++++++++++-------------- inc/section.class.php | 14 +++++++------- 3 files changed, 35 insertions(+), 21 deletions(-) diff --git a/inc/common.class.php b/inc/common.class.php index 046c3d27b..3028a8d35 100644 --- a/inc/common.class.php +++ b/inc/common.class.php @@ -86,4 +86,20 @@ public static function getFormcreatorRequestTypeId() { return $requesttypes_id; } + + /** + * Get the maximum value of a column for a given itemtype + * @param CommonDBTM $item + * @param string $condition + * @param string $fieldName + * @return NULL|integer + */ + public static function getMax(CommonDBTM $item, $condition, $fieldName) { + $rows = $item->find($condition, "`$fieldName` DESC", '1'); + $line = array_pop($rows); + if ($line === null) { + return null; + } + return (int) $line[$fieldName]; + } } diff --git a/inc/question.class.php b/inc/question.class.php index cf550a417..d545637e8 100644 --- a/inc/question.class.php +++ b/inc/question.class.php @@ -326,15 +326,13 @@ public function prepareInputForAdd($input) { if (!empty($input)) { // Get next order - $table = self::getTable(); $sectionId = $input['plugin_formcreator_sections_id']; - $query = "SELECT MAX(`order`) AS `order` - FROM `$table` - WHERE `plugin_formcreator_sections_id` = '$sectionId'"; - $result = $DB->query($query); - $line = $DB->fetch_array($result); - $input['order'] = $line['order'] + 1; - + $maxOrder = PluginFormcreatorCommon::getMax($this, "`plugin_formcreator_sections_id` = '$sectionId'", 'order'); + if ($maxOrder === null) { + $input['order'] = 1; + } else { + $input['order'] = $maxOrder + 1; + } $input = $this->serializeDefaultValue($input); } @@ -402,12 +400,12 @@ public function prepareInputForUpdate($input) { $DB->query($query); // Get the order for the new section - $query = "SELECT MAX(`order`) AS `order` - FROM `$table` - WHERE `plugin_formcreator_sections_id` = '$newId'"; - $result = $DB->query($query); - $line = $DB->fetch_array($result); - $input['order'] = $line['order'] + 1; + $maxOrder = PluginFormcreatorCommon::getMax($this, "`plugin_formcreator_sections_id` = '$newId'", 'order'); + if ($maxOrder === null) { + $input['order'] = 1; + } else { + $input['order'] = $maxOrder + 1; + } } $input = $this->serializeDefaultValue($input); diff --git a/inc/section.class.php b/inc/section.class.php index 1e12c2e5e..c19d22a91 100644 --- a/inc/section.class.php +++ b/inc/section.class.php @@ -68,13 +68,13 @@ public function prepareInputForAdd($input) { } // Get next order - $table = self::getTable(); - $query = "SELECT MAX(`order`) AS `order` - FROM `$table` - WHERE `plugin_formcreator_forms_id` = {$input['plugin_formcreator_forms_id']}"; - $result = $DB->query($query); - $line = $DB->fetch_array($result); - $input['order'] = $line['order'] + 1; + $formId = $input['plugin_formcreator_forms_id']; + $maxOrder = PluginFormcreatorCommon::getMax($this, "`plugin_formcreator_forms_id` = '$formId'", 'order'); + if ($maxOrder === null) { + $input['order'] = 1; + } else { + $input['order'] = $maxOrder + 1; + } return $input; } From 6bce6e72675a88310e9562c7221785d18b62fca1 Mon Sep 17 00:00:00 2001 From: btry Date: Fri, 2 Feb 2018 10:11:04 +0100 Subject: [PATCH 08/20] fix(condition): fix multiple condition process when a question is unanswered --- ajax/showfields.php | 1 - inc/fields.class.php | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ajax/showfields.php b/ajax/showfields.php index 6eb6281ba..59fc2bfba 100644 --- a/ajax/showfields.php +++ b/ajax/showfields.php @@ -5,4 +5,3 @@ $visibility = PluginFormcreatorFields::updateVisibility($currentValues); echo json_encode($visibility); exit(); - diff --git a/inc/fields.class.php b/inc/fields.class.php index 156bc19fd..48a711bf3 100644 --- a/inc/fields.class.php +++ b/inc/fields.class.php @@ -181,8 +181,9 @@ public static function isVisible($id, $values) { $nextLogic = 'OR'; } if (!isset($values[$condition['field']])) { - unset($evalQuestion[$id]); - return false; + //unset($evalQuestion[$id]); + //return false; + $values[$condition['field']] = ''; } if (!self::isVisible($condition['field'], $values)) { unset($evalQuestion[$id]); From 66dd59a38f6a7e0f4da2119b7244f396467a3f10 Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 5 Feb 2018 09:48:18 +0100 Subject: [PATCH 09/20] refactor: short arrays --- .../QuestionConditionTest.php | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/tests/0010_Integration/QuestionConditionTest.php b/tests/0010_Integration/QuestionConditionTest.php index f0643d97e..4653b16a5 100644 --- a/tests/0010_Integration/QuestionConditionTest.php +++ b/tests/0010_Integration/QuestionConditionTest.php @@ -11,30 +11,30 @@ class QuestionConditionTest extends SuperAdminTestCase public static function setUpBeforeClass() { parent::setUpBeforeClass(); - self::$formData = array( - 'entities_id' => 0, - 'name' => 'a form', - 'description' => 'form description', - 'content' => 'a content', - 'is_active' => 1, - 'validation_required' => 0 - ); - - self::$sectionData = array( - array( - 'name' => 'a section', - 'questions' => array ( - array( - 'name' => 'text question', - 'fieldtype' => 'text', - ), - array( - 'name' => 'other text question', - 'fieldtype' => 'text', - ), - ), - ), - ); + self::$formData = [ + 'entities_id' => 0, + 'name' => 'a form', + 'description' => 'form description', + 'content' => 'a content', + 'is_active' => 1, + 'validation_required' => 0 + ]; + + self::$sectionData = [ + [ + 'name' => 'a section', + 'questions' => [ + [ + 'name' => 'text question', + 'fieldtype' => 'text', + ], + [ + 'name' => 'other text question', + 'fieldtype' => 'text', + ], + ], + ], + ]; self::$targetData = []; @@ -82,36 +82,36 @@ public static function setUpBeforeClass() { } public function conditionDataProvider() { - return array( - array( - array( - 'show_rule' => 'hidden', - 'show_question' => ['dummy'], - 'show_condition' => ['=='], - 'show_value' => ['an accented è character'], - 'show_logic' => ['AND'], - ) - ), - /* This test currently fails due to Html::clean() in plugin_formcreator_encode() - * No solution found yet, then test disabled - array( - array( - 'show_rule' => 'hidden', - 'show_question' => ['dummy'], - 'show_condition' => ['=='], - 'show_value' => ['a doubled space'], - ) - ),*/ - array( - array( - 'show_rule' => 'hidden', - 'show_question' => ['dummy'], - 'show_condition' => ['=='], - 'show_value' => ['a euro € character'], - 'show_logic' => ['AND'], - ) - ), - ); + return [ + [ + [ + 'show_rule' => 'hidden', + 'show_question' => ['dummy'], + 'show_condition' => ['=='], + 'show_value' => ['an accented è character'], + 'show_logic' => ['AND'], + ] + ], + /* This test currently fails due to Html::clean() in plugin_formcreator_encode() + * No solution found yet, then test disabled + [ + [ + 'show_rule' => 'hidden', + 'show_question' => ['dummy'], + 'show_condition' => ['=='], + 'show_value' => ['a doubled space'], + ] + ],*/ + [ + [ + 'show_rule' => 'hidden', + 'show_question' => ['dummy'], + 'show_condition' => ['=='], + 'show_value' => ['a euro € character'], + 'show_logic' => ['AND'], + ] + ], + ]; } /** From 42cb852cee8b0f361239b661c621c03f0ec87e4d Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 5 Feb 2018 11:11:22 +0100 Subject: [PATCH 10/20] fix(condition): questions conditions may lead to wring result in complex cases fix #880 --- inc/fields.class.php | 6 - .../QuestionConditionTest.php | 116 +++++++++++++++++- 2 files changed, 113 insertions(+), 9 deletions(-) diff --git a/inc/fields.class.php b/inc/fields.class.php index 48a711bf3..44b05705d 100644 --- a/inc/fields.class.php +++ b/inc/fields.class.php @@ -181,14 +181,8 @@ public static function isVisible($id, $values) { $nextLogic = 'OR'; } if (!isset($values[$condition['field']])) { - //unset($evalQuestion[$id]); - //return false; $values[$condition['field']] = ''; } - if (!self::isVisible($condition['field'], $values)) { - unset($evalQuestion[$id]); - return false; - } switch ($condition['operator']) { case '!=' : diff --git a/tests/0010_Integration/QuestionConditionTest.php b/tests/0010_Integration/QuestionConditionTest.php index 4653b16a5..a7ea7fcd4 100644 --- a/tests/0010_Integration/QuestionConditionTest.php +++ b/tests/0010_Integration/QuestionConditionTest.php @@ -32,6 +32,10 @@ public static function setUpBeforeClass() { 'name' => 'other text question', 'fieldtype' => 'text', ], + [ + 'name' => 'third text question', + 'fieldtype' => 'text', + ], ], ], ]; @@ -173,10 +177,10 @@ public function testConditionForMultipleValue($condition) { $question->updateConditions($condition); //Run the condition - $currentValues = array( - "formcreator_field_$firstQuestionId" => array($condition['show_value'][0] . " and now for something completely different"), + $currentValues = [ + "formcreator_field_$firstQuestionId" => [$condition['show_value'][0] . " and now for something completely different"], "formcreator_field_$secondQuestionId" => '', - ); + ]; $visibility = PluginFormcreatorFields::updateVisibility($currentValues); // Check the result @@ -197,4 +201,110 @@ public function testConditionForMultipleValue($condition) { // Check the result $this->assertEquals(!$expected, $visibility["formcreator_field_$secondQuestionId"]); } + + public function testConditionForManyQuestions() { + $form = new PluginFormcreatorForm(); + $form->add([ + 'entities_id' => 0, + 'name' => 'a form', + 'description' => 'form description', + 'content' => 'a content', + 'is_active' => 1, + 'validation_required' => 0 + ]); + + $section = new PluginFormcreatorSection(); + $sectionId = $section->add([ + 'name' => 'section', + 'plugin_formcreator_forms_id' => $form->getID(), + ]); + $questions = []; + $questions[0] = new PluginFormcreatorQuestion(); + $questions[1] = new PluginFormcreatorQuestion(); + $questions[2] = new PluginFormcreatorQuestion(); + + // create questions + $firstQuestionId = $questions[0]->add([ + 'name' => 'text question 0', + 'fieldtype' => 'text', + 'plugin_formcreator_sections_id' => $sectionId, + ]); + $secondQuestionId = $questions[1]->add([ + 'name' => 'text question 1', + 'fieldtype' => 'text', + 'plugin_formcreator_sections_id' => $sectionId, + 'show_rule' => 'hidden', + ]); + $thirdQuestionId = $questions[2]->add([ + 'name' => 'text question 2', + 'fieldtype' => 'text', + 'plugin_formcreator_sections_id' => $sectionId, + 'show_rule' => 'hidden', + ]); + + // create conditions + $condition = new PluginFormcreatorQuestion_Condition(); + $condition->add([ + 'plugin_formcreator_questions_id' => $secondQuestionId, + 'show_field' => $firstQuestionId, + 'show_condition' => '==', + 'show_value' => 'a', + 'show_logic' => 'OR', + ]); + $condition->add([ + 'plugin_formcreator_questions_id' => $thirdQuestionId, + 'show_field' => $firstQuestionId, + 'show_condition' => '==', + 'show_value' => 'c', + 'show_logic' => 'OR', + ]); + $condition->add([ + 'plugin_formcreator_questions_id' => $thirdQuestionId, + 'show_field' => $secondQuestionId, + 'show_condition' => '==', + 'show_value' => 'c', + 'show_logic' => 'OR', + ]); + + // test the conditions engine + $currentValues = [ + "formcreator_field_$firstQuestionId" => '', + "formcreator_field_$secondQuestionId" => '', + "formcreator_field_$thirdQuestionId" => '', + ]; + $visibility = PluginFormcreatorFields::updateVisibility($currentValues); + $this->assertEquals(true, $visibility["formcreator_field_$firstQuestionId"]); + $this->assertEquals(false, $visibility["formcreator_field_$secondQuestionId"]); + $this->assertEquals(false, $visibility["formcreator_field_$thirdQuestionId"]); + + $currentValues = [ + "formcreator_field_$firstQuestionId" => 'a', + "formcreator_field_$secondQuestionId" => '', + "formcreator_field_$thirdQuestionId" => '', + ]; + $visibility = PluginFormcreatorFields::updateVisibility($currentValues); + $this->assertEquals(true, $visibility["formcreator_field_$firstQuestionId"]); + $this->assertEquals(true, $visibility["formcreator_field_$secondQuestionId"]); + $this->assertEquals(false, $visibility["formcreator_field_$thirdQuestionId"]); + + $currentValues = [ + "formcreator_field_$firstQuestionId" => 'a', + "formcreator_field_$secondQuestionId" => 'c', + "formcreator_field_$thirdQuestionId" => '', + ]; + $visibility = PluginFormcreatorFields::updateVisibility($currentValues); + $this->assertEquals(true, $visibility["formcreator_field_$firstQuestionId"]); + $this->assertEquals(true, $visibility["formcreator_field_$secondQuestionId"]); + $this->assertEquals(true, $visibility["formcreator_field_$thirdQuestionId"]); + + $currentValues = [ + "formcreator_field_$firstQuestionId" => '', + "formcreator_field_$secondQuestionId" => 'c', + "formcreator_field_$thirdQuestionId" => '', + ]; + $visibility = PluginFormcreatorFields::updateVisibility($currentValues); + $this->assertEquals(true, $visibility["formcreator_field_$firstQuestionId"]); + $this->assertEquals(false, $visibility["formcreator_field_$secondQuestionId"]); + $this->assertEquals(true, $visibility["formcreator_field_$thirdQuestionId"]); + } } \ No newline at end of file From 5417c6ddc68f6977956e5ce41b8861cc1d35cbc4 Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 5 Feb 2018 16:31:04 +0100 Subject: [PATCH 11/20] refactor: code style and phpdoc --- inc/category.class.php | 3 ++- inc/form.class.php | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/category.class.php b/inc/category.class.php index e2b35c2be..29c7f3de8 100644 --- a/inc/category.class.php +++ b/inc/category.class.php @@ -49,6 +49,7 @@ public function getAdditionalFields() { /** * @param integer $rootId id of the subtree root + * @param boolean $helpdeskHome * @return array Tree of form categories as nested array */ public static function getCategoryTree($rootId = 0, $helpdeskHome = false) { @@ -56,7 +57,7 @@ public static function getCategoryTree($rootId = 0, $helpdeskHome = false) { $form_table = getTableForItemType('PluginFormcreatorForm'); $table_fp = getTableForItemType('PluginFormcreatorForm_Profile'); if ($helpdeskHome) { - $helpdesk ="AND $form_table.`helpdesk_home` = 1"; + $helpdesk = "AND $form_table.`helpdesk_home` = 1"; } else { $helpdesk = ''; } diff --git a/inc/form.class.php b/inc/form.class.php index 165aaeb18..49ec80b4c 100644 --- a/inc/form.class.php +++ b/inc/form.class.php @@ -607,7 +607,6 @@ public function showWizard($service_catalog = false) { * Show form and FAQ items * @param number $rootCategory Items of this subtree only. 0 = no filtering * @param string $keywords Filter items with keywords - * @param boolean $popularity If true : popularity sort; if false alphabetic sort * @param string $helpdeskHome show items for helpdesk only */ public function showFormList($rootCategory = 0, $keywords = '', $helpdeskHome = false) { From 647cc7ebf7460be1237f5c0f87a42e57942a22c2 Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 12 Feb 2018 09:17:51 +0100 Subject: [PATCH 12/20] test: update tests --- .travis.yml | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index 02abddd42..e9ca936cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,32 +4,36 @@ env: global: - GLPI_SOURCE="https://github.com/glpi-project/glpi -b 9.2/bugfixes" - PHPUNIT_ARGS="--verbose --debug" + - CS=7.2 + matrix: + - GLPI_BRANCH=9.2.1 + - GLPI_BRANCH=9.2/bugfixes + - GLPI_BRANCH=master + +php: + - 5.6 + - 7.0 + - 7.1 + - 7.2 + - nightly + +allow_failures: + - php: nightly before_script: - mysql -u root -e 'create database glpitest;' - - git clone https://github.com/glpi-project/glpi --depth 1 -b 9.2/bugfixes ../glpi && cd ../glpi + - git clone --depth=1 $GLPI_SOURCE -b $GLPI_BRANCH ../glpi && cd ../glpi - mv ../formcreator plugins/formcreator - composer install --no-dev - - php tools/cliinstall.php --db=glpitest --user=root --tests + - if [ -e scripts/cliinstall.php ] ; then php scripts/cliinstall.php --db=glpitest --user=root --tests ; fi + - if [ -e tools/cliinstall.php ] ; then php tools/cliinstall.php --db=glpitest --user=root --tests ; fi - cd plugins/formcreator - rm composer.lock - composer install script: - vendor/bin/phpunit $PHPUNIT_ARGS - - if [[ "$CS" == "true" ]]; then vendor/bin/robo --no-interaction code:cs; fi - -matrix: - include: - - php: 5.6 - - php: 7.0 - - php: 7.1 - - php: 7.2 - env: CS=true - - php: nightly - - allow_failures: - - php: nightly + - if [[ ${TRAVIS_PHP_VERSION:0:3} == "$CS" ]] ; then vendor/bin/robo --no-interaction code:cs; fi cache: directories: From 253013e43dc539a9c523e24d2f8c6c70c8b6ee55 Mon Sep 17 00:00:00 2001 From: btry Date: Tue, 6 Feb 2018 15:44:37 +0100 Subject: [PATCH 13/20] refactor: short array and code style --- tests/0005_Unit/FloatFieldTest.php | 164 ++++++++++++++--------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/tests/0005_Unit/FloatFieldTest.php b/tests/0005_Unit/FloatFieldTest.php index 59a89aa4a..a42fd0238 100644 --- a/tests/0005_Unit/FloatFieldTest.php +++ b/tests/0005_Unit/FloatFieldTest.php @@ -2,88 +2,88 @@ class FloatFieldTest extends SuperAdminTestCase { public function provider() { - $dataset = array( - array( - 'fields' => array( - 'fieldtype' => 'float', - 'name' => 'question', - 'required' => '0', - 'default_values' => '', - 'order' => '1', - 'show_rule' => 'always', - 'show_empty' => '0', - 'values' => '' - ), - 'data' => null, - 'expectedValue' => '', - 'expectedIsValid' => true - ), - array( - 'fields' => array( - 'fieldtype' => 'float', - 'name' => 'question', - 'required' => '0', - 'default_values' => '2', - 'order' => '1', - 'show_rule' => 'always', - 'show_empty' => '0', - 'values' => '' - ), - 'data' => null, - 'expectedValue' => '2', - 'expectedIsValid' => true - ), - array( - 'fields' => array( - 'fieldtype' => 'float', - 'name' => 'question', - 'required' => '0', - 'default_values' => "2", - 'order' => '1', - 'show_rule' => 'always', - 'show_empty' => '0', - 'range_min' => 3, - 'range_max' => 4, - ), - 'data' => null, - 'expectedValue' => '2', - 'expectedIsValid' => false - ), - array( - 'fields' => array( - 'fieldtype' => 'float', - 'name' => 'question', - 'required' => '0', - 'default_values' => "5", - 'order' => '1', - 'show_rule' => 'always', - 'show_empty' => '0', - 'values' => '', - 'range_min' => 3, - 'range_max' => 4, - ), - 'data' => null, - 'expectedValue' => '5', - 'expectedIsValid' => false - ), - array( - 'fields' => array( - 'fieldtype' => 'float', - 'name' => 'question', - 'required' => '0', - 'default_values' => "3.141592", - 'order' => '1', - 'show_rule' => 'always', - 'show_empty' => '0', - 'values' => '', - 'range_min' => 3, - 'range_max' => 4, - ), - 'data' => null, - 'expectedValue' => '3.141592', - 'expectedIsValid' => true - ), - ); + $dataset = [ + [ + 'fields' => [ + 'fieldtype' => 'float', + 'name' => 'question', + 'required' => '0', + 'default_values' => '', + 'order' => '1', + 'show_rule' => 'always', + 'show_empty' => '0', + 'values' => '' + ], + 'data' => null, + 'expectedValue' => '', + 'expectedIsValid' => true + ], + [ + 'fields' => [ + 'fieldtype' => 'float', + 'name' => 'question', + 'required' => '0', + 'default_values' => '2', + 'order' => '1', + 'show_rule' => 'always', + 'show_empty' => '0', + 'values' => '' + ], + 'data' => null, + 'expectedValue' => '2', + 'expectedIsValid' => true + ], + [ + 'fields' => [ + 'fieldtype' => 'float', + 'name' => 'question', + 'required' => '0', + 'default_values' => "2", + 'order' => '1', + 'show_rule' => 'always', + 'show_empty' => '0', + 'range_min' => 3, + 'range_max' => 4, + ], + 'data' => null, + 'expectedValue' => '2', + 'expectedIsValid' => false + ], + [ + 'fields' => [ + 'fieldtype' => 'float', + 'name' => 'question', + 'required' => '0', + 'default_values' => "5", + 'order' => '1', + 'show_rule' => 'always', + 'show_empty' => '0', + 'values' => '', + 'range_min' => 3, + 'range_max' => 4, + ], + 'data' => null, + 'expectedValue' => '5', + 'expectedIsValid' => false + ], + [ + 'fields' => [ + 'fieldtype' => 'float', + 'name' => 'question', + 'required' => '0', + 'default_values' => "3.141592", + 'order' => '1', + 'show_rule' => 'always', + 'show_empty' => '0', + 'values' => '', + 'range_min' => 3, + 'range_max' => 4, + ], + 'data' => null, + 'expectedValue' => '3.141592', + 'expectedIsValid' => true + ], + ]; return $dataset; } From 6d7387271387f3cdf16fb82197b56659e1e5bcb0 Mon Sep 17 00:00:00 2001 From: btry Date: Tue, 6 Feb 2018 15:59:23 +0100 Subject: [PATCH 14/20] fix(target): answer rendering issues fix #877 #817 --- inc/field.class.php | 20 +++++++++++-- inc/fieldinterface.class.php | 4 +-- inc/fields.class.php | 10 ++----- inc/fields/checkboxesfield.class.php | 43 +++++++++++++++++++++++++++ inc/fields/dropdownfield.class.php | 23 ++++++++++++-- inc/fields/hiddenfield.class.php | 5 ++++ inc/fields/multiselectfield.class.php | 31 +++++++++++++++++++ inc/fields/textareafield.class.php | 5 ++++ inc/targetbase.class.php | 19 +++++------- 9 files changed, 135 insertions(+), 25 deletions(-) diff --git a/inc/field.class.php b/inc/field.class.php index fb388231a..920bc0a65 100644 --- a/inc/field.class.php +++ b/inc/field.class.php @@ -12,6 +12,10 @@ abstract class PluginFormcreatorField implements PluginFormcreatorFieldInterface protected $fields = []; + /** + * @param unknown $fields + * @param array $data + */ public function __construct($fields, $data = []) { $this->fields = $fields; $this->fields['answer'] = $data; @@ -25,9 +29,22 @@ public function __construct($fields, $data = []) { * @return array input data to save as is */ public function prepareQuestionInputForSave($input) { - return $input; + return $input; + } + + /** + * Prepares a answer value for output in a target object + * @param string|array $input the answer to format for a target (ticket or change) + * @return string + */ + public function prepareQuestionInputForTarget($input) { + return addslashes($input); } + /** + * Output HTML to display the field + * @param boolean $canEdit is the field editable ? + */ public function show($canEdit = true) { $required = ($canEdit && $this->fields['required']) ? ' required' : ''; @@ -62,7 +79,6 @@ public function show($canEdit = true) { /** * Outputs the HTML representing the field - * * @param string $canEdit */ public function displayField($canEdit = true) { diff --git a/inc/fieldinterface.class.php b/inc/fieldinterface.class.php index ba9612913..5db374af1 100644 --- a/inc/fieldinterface.class.php +++ b/inc/fieldinterface.class.php @@ -3,10 +3,10 @@ die("Sorry. You can't access this file directly"); } -interface PluginFormcreatorFieldInterface -{ +interface PluginFormcreatorFieldInterface { public static function getName(); public static function getPrefs(); public static function getJSFields(); public function prepareQuestionInputForSave($input); + public function prepareQuestionInputForTarget($input); } diff --git a/inc/fields.class.php b/inc/fields.class.php index 44b05705d..9398fb063 100644 --- a/inc/fields.class.php +++ b/inc/fields.class.php @@ -8,7 +8,6 @@ class PluginFormcreatorFields { /** * Retrive all field types and file path - * * @return Array field_type => File_path */ public static function getTypes() { @@ -29,7 +28,6 @@ public static function getTypes() { /** * Get type and name of all field types - * * @return Array field_type => Name */ public static function getNames() { @@ -43,7 +41,7 @@ public static function getNames() { // Get localized names of field types foreach (array_keys($tab_field_types) as $field_type) { - $classname = 'PluginFormcreator' . ucfirst($field_type) . 'Field'; + $classname = 'PluginFormcreator' . ucfirst($field_type) . 'Field'; if ($classname == 'tagField' &&(!$plugin->isInstalled('tag') || !$plugin->isActivated('tag'))) { continue; @@ -59,11 +57,11 @@ public static function getNames() { /** * Get field value to display - * * @param String $field Field object to display * @param String $value the value to display - * * @return String + * @deprecated 2.6.2 Only one caller, and being removed + * @see PluginFormcreatorField::prepareQuestionInputForTarget */ public static function getValue($field, $value) { $class_file = dirname(__FILE__).'/fields/'.$field['fieldtype'].'field.class.php'; @@ -79,7 +77,6 @@ public static function getValue($field, $value) { return $value; } - public static function printAllTabFieldsForJS() { $tabFieldsForJS = ''; // Get field types and file path @@ -97,7 +94,6 @@ public static function printAllTabFieldsForJS() { } /** - * * @param unknown $field * @param unknown $data * @param string $edit diff --git a/inc/fields/checkboxesfield.class.php b/inc/fields/checkboxesfield.class.php index 67fa0a3bf..d14a57435 100644 --- a/inc/fields/checkboxesfield.class.php +++ b/inc/fields/checkboxesfield.class.php @@ -99,6 +99,17 @@ public static function getName() { return __('Checkboxes', 'formcreator'); } + public function getValue() { + if (isset($this->fields['answer'])) { + if (!is_array($this->fields['answer']) && is_array(json_decode($this->fields['answer']))) { + return json_decode($this->fields['answer']); + } + return $this->fields['answer']; + } else { + return explode("\r\n", $this->fields['default_values']); + } + } + public function prepareQuestionInputForSave($input) { if (isset($input['values'])) { if (empty($input['values'])) { @@ -117,6 +128,38 @@ public function prepareQuestionInputForSave($input) { return $input; } + public function prepareQuestionInputForTarget($input) { + global $CFG_GLPI; + + $value = []; + $values = $this->getAvailableValues(); + + if (empty($input)) { + return ''; + } + + if (is_array($input)) { + $tab_values = $input; + } else if (is_array(json_decode($input))) { + $tab_values = json_decode($input); + } else { + $tab_values = [$input]; + } + + foreach ($tab_values as $input) { + if (in_array($input, $values)) { + $value[] = addslashes($input); + } + } + + if ($CFG_GLPI['use_rich_text']) { + $value = '
' . implode('
', $value); + } else { + $value = '\r\n' . implode('\r\n', $value); + } + return $value; + } + public static function getPrefs() { return [ 'required' => 1, diff --git a/inc/fields/dropdownfield.class.php b/inc/fields/dropdownfield.class.php index 2933178cf..0be6a8136 100644 --- a/inc/fields/dropdownfield.class.php +++ b/inc/fields/dropdownfield.class.php @@ -58,18 +58,35 @@ public function displayField($canEdit = true) { public function getAnswer() { $value = $this->getValue(); + $DbUtil = new DbUtils(); if ($this->fields['values'] == 'User') { - return getUserName($value); + return $DbUtil->getUserName($value); } else { $decodedValues = json_decode($this->fields['values'], JSON_OBJECT_AS_ARRAY); if (!isset($decodedValues['itemtype'])) { - return Dropdown::getDropdownName(getTableForItemType($this->fields['values']), $value); + return Dropdown::getDropdownName($DbUtil->getTableForItemType($this->fields['values']), $value); } else { - return Dropdown::getDropdownName(getTableForItemType($decodedValues['itemtype']), $value); + return Dropdown::getDropdownName($DbUtil->getTableForItemType($decodedValues['itemtype']), $value); } } } + public function prepareQuestionInputForTarget($input) { + $DbUtil = new DbUtils(); + if ($this->fields['values'] == User::class) { + $value = $DbUtil->getUserName($input); + } else { + $decodedValues = json_decode($this->fields['values'], JSON_OBJECT_AS_ARRAY); + if (!isset($decodedValues['itemtype'])) { + $value = Dropdown::getDropdownName($DbUtil->getTableForItemType($this->fields['values']), $input); + } else { + $value = Dropdown::getDropdownName($DbUtil->getTableForItemType($decodedValues['itemtype']), $input); + } + } + + return addslashes($value); + } + public static function getName() { return _n('Dropdown', 'Dropdowns', 1); } diff --git a/inc/fields/hiddenfield.class.php b/inc/fields/hiddenfield.class.php index db26eca7d..219f950b7 100644 --- a/inc/fields/hiddenfield.class.php +++ b/inc/fields/hiddenfield.class.php @@ -16,6 +16,11 @@ public static function getName() { return _n('Hidden field', 'Hidden fields', 1); } + public function prepareQuestionInputForTarget($input) { + $input = str_replace("\n", '\r\n', addslashes($input)); + return $input; + } + public static function getPrefs() { return [ 'required' => 0, diff --git a/inc/fields/multiselectfield.class.php b/inc/fields/multiselectfield.class.php index 70427ad38..6e085d511 100644 --- a/inc/fields/multiselectfield.class.php +++ b/inc/fields/multiselectfield.class.php @@ -67,6 +67,37 @@ public function getAnswer() { return $return; } + public function prepareQuestionInputForTarget($input) { + global $CFG_GLPI; + + $value = []; + $values = $this->getAvailableValues(); + + if (empty($input)) { + return ''; + } + + if (is_array($input)) { + $tab_values = $input; + } else if (is_array(json_decode($input))) { + $tab_values = json_decode($input); + } else { + $tab_values = [$input]; + } + + foreach ($tab_values as $input) { + if (in_array($input, $values)) { + $value[] = addslashes($input); + } + } + if ($CFG_GLPI['use_rich_text']) { + $value = '
' . implode('
', $value); + } else { + $value = '\r\n' . implode('\r\n', $value); + } + return $value; + } + public static function getName() { return __('Multiselect', 'formcreator'); } diff --git a/inc/fields/textareafield.class.php b/inc/fields/textareafield.class.php index ae4aae23c..765034383 100644 --- a/inc/fields/textareafield.class.php +++ b/inc/fields/textareafield.class.php @@ -29,6 +29,11 @@ public static function getName() { return __('Textarea', 'formcreator'); } + public function prepareQuestionInputForTarget($input) { + $input = str_replace("\r\n", '\r\n', addslashes($input)); + return $input; + } + public static function getJSFields() { $prefs = self::getPrefs(); return "tab_fields_fields['textarea'] = 'showFields(".implode(', ', $prefs).");';"; diff --git a/inc/targetbase.class.php b/inc/targetbase.class.php index 239b2fdf0..e3bf753a2 100644 --- a/inc/targetbase.class.php +++ b/inc/targetbase.class.php @@ -750,28 +750,25 @@ protected function parseTags($content, PluginFormcreatorForm_Answer $formanswer, ORDER BY `questions`.`order` ASC"; $res_questions = $DB->query($query_questions); while ($question_line = $DB->fetch_assoc($res_questions)) { + $classname = 'PluginFormcreator'.ucfirst($question_line['fieldtype']).'Field'; + if (class_exists($classname)) { + $fieldObject = new $classname($question_line, $question_line['answer']); + } + $id = $question_line['id']; if (!PluginFormcreatorFields::isVisible($question_line['id'], $answers_values)) { $name = ''; $value = ''; } else { $name = $question_line['name']; - $value = PluginFormcreatorFields::getValue($question_line, $question_line['answer']); - } - if (is_array($value)) { - if ($CFG_GLPI['use_rich_text']) { - $value = '
' . implode('
', $value); - } else { - $value = "\r\n" . implode("\r\n", $value); - } + $value = $fieldObject->prepareQuestionInputForTarget($fieldObject->getValue()); } - if ($question_line['fieldtype'] !== 'file') { $content = str_replace('##question_' . $id . '##', addslashes($name), $content); - $content = str_replace('##answer_' . $id . '##', addslashes($value), $content); + $content = str_replace('##answer_' . $id . '##', $value, $content); } else { if (strpos($content, '##answer_' . $id . '##') !== false) { - $content = str_replace('##question_' . $id . '##', addslashes($name), $content); + $content = str_replace('##question_' . $id . '##', $name, $content); if ($value !== '') { $content = str_replace('##answer_' . $id . '##', __('Attached document', 'formcreator'), $content); From 5964085a998996e57a9adaad5f9eb720170e2bab Mon Sep 17 00:00:00 2001 From: btry Date: Tue, 6 Feb 2018 17:37:46 +0100 Subject: [PATCH 15/20] refactor: code cleanup --- inc/field.class.php | 2 +- inc/fields.class.php | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/inc/field.class.php b/inc/field.class.php index 920bc0a65..010574f48 100644 --- a/inc/field.class.php +++ b/inc/field.class.php @@ -38,7 +38,7 @@ public function prepareQuestionInputForSave($input) { * @return string */ public function prepareQuestionInputForTarget($input) { - return addslashes($input); + return Toolbox::addslashes_deep($input); } /** diff --git a/inc/fields.class.php b/inc/fields.class.php index 9398fb063..5fb6c2875 100644 --- a/inc/fields.class.php +++ b/inc/fields.class.php @@ -55,28 +55,6 @@ public static function getNames() { return $tab_field_types_name; } - /** - * Get field value to display - * @param String $field Field object to display - * @param String $value the value to display - * @return String - * @deprecated 2.6.2 Only one caller, and being removed - * @see PluginFormcreatorField::prepareQuestionInputForTarget - */ - public static function getValue($field, $value) { - $class_file = dirname(__FILE__).'/fields/'.$field['fieldtype'].'field.class.php'; - if (is_file($class_file)) { - include_once ($class_file); - - $classname = 'PluginFormcreator'.ucfirst($field['fieldtype']).'Field'; - if (class_exists($classname)) { - $obj = new $classname($field, $value); - return $obj->getAnswer(); - } - } - return $value; - } - public static function printAllTabFieldsForJS() { $tabFieldsForJS = ''; // Get field types and file path From 06581c09c04a1ee1017849b7db7a508d538a1dfe Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 12 Feb 2018 10:56:24 +0100 Subject: [PATCH 16/20] build: bump version --- plugin.xml | 4 ++++ setup.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/plugin.xml b/plugin.xml index b8a95e340..6314ff63f 100644 --- a/plugin.xml +++ b/plugin.xml @@ -179,6 +179,10 @@ Features 2.6.1 9.2.1 + + 2.6.2 + 9.2.1 + ca_ES diff --git a/setup.php b/setup.php index 91dd38154..c38d514fc 100644 --- a/setup.php +++ b/setup.php @@ -1,7 +1,7 @@ Date: Mon, 12 Feb 2018 10:56:40 +0100 Subject: [PATCH 17/20] build: update locales --- locales/ca_ES.mo | Bin 16522 -> 17198 bytes locales/cs_CZ.mo | Bin 14854 -> 14956 bytes locales/de_DE.mo | Bin 16094 -> 16188 bytes locales/en_GB.mo | Bin 17471 -> 18324 bytes locales/en_GB.po | 18 ++--- locales/es_AR.mo | Bin 17426 -> 17468 bytes locales/es_ES.mo | Bin 16706 -> 17393 bytes locales/fr_FR.mo | Bin 19275 -> 20051 bytes locales/fr_FR.po | 16 ++--- locales/glpi.pot | 182 +++++++++++++++++++++++------------------------ locales/lv_LV.mo | Bin 17081 -> 17154 bytes locales/nl_BE.mo | Bin 16285 -> 16221 bytes locales/nl_NL.mo | Bin 16281 -> 16217 bytes locales/pl_PL.mo | Bin 9031 -> 13776 bytes locales/pt_BR.mo | Bin 18287 -> 18955 bytes locales/ru_RU.mo | Bin 19420 -> 19479 bytes locales/sr_RS.mo | Bin 15286 -> 15327 bytes locales/tr_TR.mo | Bin 17686 -> 18397 bytes locales/uk_UA.mo | Bin 18026 -> 18083 bytes 19 files changed, 108 insertions(+), 108 deletions(-) diff --git a/locales/ca_ES.mo b/locales/ca_ES.mo index 4bffaf6d922ce8b4ab0be30ff6e772fe8407b948..1abbe97d5ea0b1ae4e49f57e825b0b8db0ee80d4 100644 GIT binary patch delta 5154 zcmaLZ32;>P0mt!wI1)kxL*xjAzylJ(k%VxB`w#+h3PA(`LD?ir64_+qW@DfTTRbY z7e(w_77@AfmS=R6-{u^f}J0#)HY z?2gA!9lnKW*rus5(Krq@rYWcn=3zYTn>iHPap5`S8M6}`;!&herUv!ECm4l)LREAF z)#2ON0An~&gH5q54zuQ17o+Ogh8ox|Y)Sj(T@~#L}SYOoic!}=J(x@llhsPE%2q^WL6K_l;oTEqUR9!|kT^rJeo3U%K) zd%oLx7}c>8sOLVg=Qpr3=XX#Ybof$xY&g;<ow`ULl*?ysO1dj6%>%)e$}3m3Gudr%D= zLS3&${+Ww>sAFHDcJ=qz6JwYjE!hyPi`mvkQTI(n`eO2|3sG;)dejnDg(zs(o*dR>CiKw@v997>&)Bty5 zJ=!;?DQHCJ(ZS283jdC}F|NJ)UU$Q;oX^AoxB|5YYEVn_4^&5E+3IT8L9Ovas17}D z^`rL066{R-W)lTfdw z#?Tw>p%$p~B+XNC!iXbiJh4TcVDP5R<^`wLg+8pyxQ(S@C&6`ncw;wel)u^A; z%c%Qe7?!?ohgz~sq%D(+YIqf@-W{mDatKw=O=L36w;>98pgrByNXKCmmZ5h00*t{m zsGe^?9x+Ezo9j9@#BWg@iKG{i*b1Yu9cl@?qB=YPRo_G$jG>tnwDud3f95zJEUWnv zH8XK6phl2j?SfkKey9%4L^b3`H8c;^krk+sZbD7<0n`$nMYVGa>2t^=vK7_iG1wO; zVtrhR+VyKuJ>HEP!4cGJc^=i#FHjZ7W*E~0Gf_V@1*qp2p=N3$s>27-!D{TF_x~CN zRoI|Af3qMTfCBUPN^yiq~U?ZH4nt=k;@4~aFnXI(mZ^VO~ zzllrr{?A}%e2Q1G08g;Pu3)E3cN0d@>iwL@qblx%nxTOhi^EVOoP^pV1*j!jj^UX@ z&Fm4>eSg8aSf5uVRF6V51>M*fnGDkkSsODJwM*xsM!W^-qd9EPKS!him@wixjjr*HLTLm|q2%jJjbU zYL`EP8fg&2Yl#~1NmPRukyo16z_N@Me0#kTX(wd%P|%uGqn6?$d;SG# zQ+|gdvB87x>zIw2sWQ}W`c90;GpG(i)7uqkb=Xpf=xBboBl&rjW^n z?Z~W|KVUCx&W}Mm9E+OrB2CHF(K^%~h}uO;FX z607m=r%;FJebv#`#jHfFXR19HZ<7GYA@7n6M2D8IJ<dmPM>>!fh&Jh1a*os< zA87sa$PsdoB#{H;1X)gM54~E`$t-f5{F>;PL)L{${Lk6C4YiSv+VcmkZLRaMCmBN2 zzNsLKiQfA*M7utX=-5X#g-h_BmGkA>bu;(vfDJiz+Pvb=LEQu!NWISm|x{AB8hd4^^*ml8&yX49F;Ydgl4Nq4JVzFhCFD)=GU-F|$wQPa`_JWlTaxzAe~tlsJrcybDTg+WiAC%v*@@S2Cq z0)%>^oN H4%zl^FHn5~ delta 4466 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 diff --git a/locales/cs_CZ.mo b/locales/cs_CZ.mo index 874c0e899a665d016e1afa1246fc0280b7c89ddc..b0cd84328f19c66c467534c53f572783fb97f91f 100644 GIT binary patch delta 4202 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 diff --git a/locales/de_DE.mo b/locales/de_DE.mo index 3c89011463b3545e3a7637be172ef2fa655c36d5..1ba5341012b2b932f053749891c713b48b26e108 100644 GIT binary patch delta 4391 zcmYk<2~bs40LJk{qO4C)Lr_GKR0KuY1Qi0@$~DaeODhzk#SK&-3-Y;?3+|%klBSp$ zDyCAHN=iv)O_NSdVKp*VGwMt;Ib}AM+4TS3J#Xp^-}{|=x%Zy+KD7De`bF;Mw!T{o zuoNS3De_}> z^3fV=&}EF<)KlrpiO(<$|3bAL+Sa)-%9@5DoF9wy!Q^3gEJ8hSD<KgQGEm_RRz;T{$ru`7!JG2*fJn8KwqxLj(HZC#VNqM0NNI`r|EBgMVWe zjKAM;q;)3hITffG*@zuz-yBp08&M-`M)mk6ssn$bMjlLS8fhowl<9?9k{r~73osRD zV@uqN8pr|r`{SsYJ&E+uoJY6T>^myz(H|IvA?=+GB%m%#x5uNblTaPWL)|ym94<7d8;9Y~sS1e?1_B6B^+})aH7c4>eGZn%dQ%c|3Td!%qTVTFw_#p*yH#}=3hNY=Y)3a2u#6AsHIqiEpUf* zH|n}7)RG;sUO>GKKcbfA9%?hTWg4`EL$NbXM$JqqAL>x0n~J7r4{9b(U@TrjZK6A< znTcRsG$TDxBTGj;co=H!A49Eqo;@x=-8UO~gegZ|za6y%hpp~9Dw?7O)LMUvnvpB0 z8Mujhkh-siLQ%)zs1C=XMxKM(Y*Vezpst&T8psmV0QTDRN0EWJO#_vu_{A5f2PJT| zFAhg_XbkE-pN`t?D^L$Qj2hW#)b*E91G$3Hcn$SDKMr(V3?^VU_QE-sq4$3~6|MQ# zsHF(t%RoJkMm3y>TGL!qhh|ybs69}Laaew3&I}O$G1*kP%hFY?<7>}D#&p(U3 z@q2WuXa3BqdY+EDU2s{XIQm0UzYVc+AEPI2bRXKel7|n)*%{fN{v`m=sLITvSKb zqOPw(t??mLhdxAg{37bQ>!<#d(4`^|ib z+PuGG5C*Zp8fiFsUQ^VJ=GgP&QA_B~r=m@=0{JoP_|WTh8nvlDLp6BC9^XLTRCCuJ zcjTR7l1u_>O(&!7FGIdMOa;2|Z4Aab)Y6^9XubbU_QV}zpO|2Fq-SbTJHFOqr-6hn>t|MbGzoR-H!+N&B3~M%OX@;PteypT@Q%t2DZbv<^ z1~ah{HHAL?oIjskkj|TNs1YqjeF3dUb)XsX7lfw_*FiFQn%I@}k-FbDPATy$&g zi>YXh%TSwaIjTeJQ9a#6vpc*=j;dmZdP1B65ifO~Q zk?tFY5tuuG`S+z#$O-kd7_|u(V|zS+nt?Oe8-GGgZRkMfn=KR7Kq>02s77`40;=Pe zQ8Uvb!}%lB)tZIcLv}TJi3E#mE_yg(zcTtk^kq{| zo+c{Vz>kyRL<8wb-XqTwZ+X>Q!SesrPtv~Ue?A8}xr{tZH2vGi7E(mKMPIWj&ylx@ zHrQ_BEgPw5?Nv^YBV-DBjXXmth)Nd+&wk3JeRG)Twb1lEOjPum`I9|F>p7P^O0*fh zrGQFj!X9&8KYWp>$EdT+<{U{P z(L~>9+VO9YIYe*GKJo$ikfqtvdNxWs1t%TycWU@UThkI?^J+$HDU%Z0n=2hpmsr7szQc+MW|H zkxsQGp?QJ+!wcsW6it7&p!Tbd#Q{P2CB?;sbA1O-pE0X)UbnEysok1f{Sy+C5)zZ6 hlTrsJrqyP54{rV6O(Rq81o}-WnSZXH8wO?V`WGHys0jc7 delta 4293 zcmY+{3vg7`9mnxwNgxRU5eNYSAtDrr2__^EgAkC1FSHg?lvLzVtL0H1Mxh#nl_;7D zl&4}Lf>;rhg0`Vj9?GK(r9~^wI7%66%S?&V)?r#kI_-3z-|y~WYVYiCKj+@vd+#~_ zbM6xMFZy(0;?wqN&j+?6q#GI1GK5xFg)lMOqai%jE`%Yyo{v>oQ)g!O4iMJAb8@=vl$ZUqcccT7Ypam<+5q3it zR}pXCU=&)~YP94NaSP7C1=x<0&*L(ji%(F-llTSt{iCc8yHbBw zX$EB|!;a__+=eZ%CVD^my{YI_&5AyYTq|rwr({362tP!pt_5Yt$4+QP2J&Wy#-Wv& zoSJ@0zttKlZ}`xDU8&y3DP zE1O8raE=?$k~E?f*oj`~0D7Yj;{L~IhnvxnUq%;MSB9y*(ep~sfec3nFeM(JgAOEt zlYIV{)9^xn!!&HgS#~HJeZC9ORelS4p_%B&>d^16Lr2nx1-J#h-cj^>XRsJA;q_Ql zKvi%8mihdzrQuv0Lwo*5^v37WInCk6!44HhtI#zt4*TKv(F?zTtjlm1z2PbBj~P8v z9jZVcq%aOWf13N;Kh)D;y@VIh3+zHm^d7qCPN9pYIqqLT1`{r$bK8Sw&W;a2=XeA< zWp`pBR-@NnghjX>?bxp|Vb3qdFZ86&ma+;x@mB1Mwa6=M;LXSAVDwn@1ipS1j~-U? zdHvT@H`vwWQuqA+$WK8SidNu0%*N^H)Xm2Nd@k;9N0vn*9H5abE!y);mZl}{ ziJn-4mU0&Q`4V(w8_|-!h0gsUv|@k2w%Cl#_$8je(>G8l7U_4-oqAnHhKhA?+bD$8PL|5_l=st8r$8iCkMmsX$#?*}-#9a30BC{A8kZOm0 z=y~U{Gy1EP23^pO<|B(Q6joCIPBg}HzzR&mB3zD^b}#Y@&AfSog2Ab$p&IRIE!y#V zv@$!;ksgnJjxO%>n^IHO7g=|q2D{+W1Pw2+1zl7p(8ui(+Vk#1QWqSA9oer&e*D5T zwBsw$3T}<=K`V3|E%8b8AG2n3YO{x?zTXp_szf;r|9}{VE~?S!3G=Z#HX`dV?8R<) z9_?^;Rq6s2$P*Supyxe|j(8oqhW4TzJc2$|A0tm;^4As;;g`I-D85G)lUK+Qay#*Y z_R`IZ?IzzOO{ALmgXOk_>?KxaKG{s3BX0Z2+k^rn*F*#QbPXq4eg2=N;RvRZACN7? z5xO20khjR)#Ob)1+(q18Amfv*|GhayW5_S!p~unbm>&1#`PgPJD-~BqiiU zat|3x3dl>uxpiAZRwP^e7YtpzJ;=TBm~tclqB4R*-AS zO!69WTTAvNTd9Q@o8eorF)&(m27C2x`^$wYELIYOXK}fvXFEm zb>u1XL*llIJVD+d%g9g3EudH=ZJ+>hGNIlt37Fnn&8iR>jOLDc1 yrXB4jXEo*IJ(9U*ZLhz!sVFWjDK0B5D5)G=TGq6zcXr#R&1L`0TJv&M<9`9851FC> diff --git a/locales/en_GB.mo b/locales/en_GB.mo index e1ab82614715dfbf6cc9d30128bfbd40186296a3..7a60dc0d43ec44d7405042618e9f112c8087969d 100644 GIT binary patch literal 18324 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 diff --git a/locales/en_GB.po b/locales/en_GB.po index 6d11a8f10..acdc78f09 100644 --- a/locales/en_GB.po +++ b/locales/en_GB.po @@ -6,13 +6,13 @@ # Jérémy MOREAU , 2014-2016 # Jérémy MOREAU , 2014 # Thierry Bugier , 2017 -# Thierry Bugier , 2017 +# Thierry Bugier , 2017-2018 msgid "" msgstr "" "Project-Id-Version: GLPI Plugin - Formcreator\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-02 16:17+0100\n" -"PO-Revision-Date: 2018-01-02 14:06+0000\n" +"PO-Revision-Date: 2018-02-12 09:49+0000\n" "Last-Translator: Thierry Bugier \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/teclib/glpi-project-plugin-formcreator/language/en_GB/)\n" "MIME-Version: 1.0\n" @@ -290,11 +290,11 @@ msgstr[1] "Form answers" #: inc/form_answer.class.php:157 msgid "Form approver" -msgstr "" +msgstr "Form approver" #: inc/form_answer.class.php:176 msgid "Form approver group" -msgstr "" +msgstr "Form approver group" #: inc/form_answer.class.php:255 msgid "waiting" @@ -910,8 +910,8 @@ msgstr "Closed" #: inc/fields/actorfield.class.php:7 msgid "Actor" msgid_plural "Actors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Actor" +msgstr[1] "Actors" #: inc/fields/actorfield.class.php:152 msgid "Invalid value:" @@ -943,7 +943,7 @@ msgstr "A description field should have a description:" #: inc/fields/dropdownfield.class.php:92 msgid "Invalid dropdown type:" -msgstr "" +msgstr "Invalid dropdown type:" #: inc/fields/emailfield.class.php:25 msgid "This is not a valid e-mail:" @@ -1007,8 +1007,8 @@ msgstr "Select" #: inc/fields/tagfield.class.php:61 msgid "Tag" msgid_plural "Tags" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tag" +msgstr[1] "Tags" #: inc/fields/textareafield.class.php:29 msgid "Textarea" diff --git a/locales/es_AR.mo b/locales/es_AR.mo index 7f3fbf164d80f83146e54615e30b6f6f606e9941..59f69dbf0fa81941ebb372d24378955be01862ab 100644 GIT binary patch delta 4603 zcmYk-2~<_p9>?*G5t4`up-j@f2o6{vQ#ZksAxteyGmQpQafm=gMeRMKJldd?py|!Z zl1fudEHly4a;SLHD=oDgn!{FV^Zyc;jUO{ja?j!JMJ#xcKXrIE~u&ylgr?|2zTlZ}3mg-WOZyJ0DEGo}nRP!)E? zd8q3bA%A8$AEDTYN~8%rc*6RNWPTIV%N-~eb;m<69>-g&QFmO2x|4ON1fEA#B7bIz?JvSK`gN+mGTX@sZN5`T(&j&yiQOoJCK!U+Jj0Q%Od0CV z=OVe7C8&v>M3sCCYAJT$W;}qkIGr8)BevsQJeElPKc-Q{?D|0hx1|9Fpem4sTH9f$ z39hy0C!i9Zib~8u?e^7}gN>*qJB}CO*QnB;v;7}X*Z-s+lAP(V#8oIN3R0W+$fk2~;i)E$qv&O`lfCF)N7=*9J@#P_4F{}|Kpzj!&Ou;Yi|7|daQvx0`! z>>w)hQ>X;aq4q#`vQT2l)+S)-(xKkrCDf7)pNwsVeW>BWPM1xTYkFouUsD$Pt`_-&O{>&~ua`gP4rJ>B?SqDv=f$EPyRbV1&fErXn z4XC}a155E8RAMpNZlcAg>t~`i-7?hUyAOG#m}97Ue#V~6Z^Cli36oI+`!F0wV>I55 zEm)1ZzE3U{U{`O%`SiCk%eR=sdPHH!Rc`6yP&bl>s@O2p_rp=+mZ76fQbj`~u^%*RozXvr>2eRKyTpstM(v{@7 zo3I9T=l7rns6$m`BT{9v7d6qpP!mVzyLZ+f*-Rz_BXB6{4oBPXr{Kl(D^Qz#HtP2a z^QosYeuNYH!FCM8x2*45KfzeepG95QVT~N(ZnhNE?=n#dUyUBT2{rzFRDw@fn^4#7 zc4%Bm;|S`)cGMaLU+tdnh1!GzQ9md|WnP90a2Cel8PsES0d-yQQ1{iGXuTe_w6&-T z)}t!#w9rs#&Y&_pk9yqxhZ@K;%zY#JP-`~Mx)`;)n~~Kp?bsU=3fzRQLf%DYEUI$% zS=ZX{UqYTH$F$Ml?P6p2I*dx}N7RHNym!@4!34}lRcr!! zaVDx_^{7g3zCJ!}U6>9uCdww>?KxS!C|w1;?`@DrVfmQK}w)t*?7sl>g6 zs(y@koET3$O1wneK@{o#mvHjvM%qMOpR@!s- z;SAzIqL$!g7dR&JIo-C!L1GjULChgKk80bv40{n3#KOS2g21Oa1zm_OZr9v`SU-R#eitYP4=i-QdL^d&-(6Q4c@cBW@uTh?`(2;Xy z&zM_YF{33msW>craC&A|dSpyW*K+58bv+`-mRD3(mwTtr@K#n=POF^L^1Cl4 F{7(b0&)xt4 delta 4561 zcmYk=2~bs49LMp4J(Wd35D`QIQ%J;zAOzu(AWp8CTTNn-QJPkkDJE%lO{^f(RLmvH z%&jue>J?aNW@&1HTAE|lG*db4Nz2$eW#8XB$C>W%f1h*CyYH<3d!5={9kQxA#QQAP z_qgFYNpvHc+ZmGB1bv2t0`i_yxw` z-x!6Fod{z*(~Ux38hT@AEX58u3-!Z=&NUcKeJ6Iry_kl_P#yk;IoLMNPPhR5)Tdz> zu12kC18Rcxn85fZK%qMg%}5{SEMAOln2mnW9W|l87>)yxMVMizj!LmT-h{e;2J&a- z@ezv4P!m~$DY)NxMl!zf#oLa0qE?)Vi8$0*hFWnYY9%$O3Dlx?WE*M+8j-o11E`}q zjXm(Zvj^v<2@k_O9D`n43RM)evKn{8YSfDBP&@J*>TGwTCU^>y@n_V8qG{B9iKx2Y zS%8{YG4f}|y7~;vpkAr{*9AAj#f;w1* z+OqAa3GG5<>mgKQ9F>FZjT}zl@nK@em@D78#AyS&cWU|A2sgQboRdw zg?%(=#%ED0N+xx6!wA#>Q&B&>6MNx$WO3$gY>!_%Tb;jSeF$$pyo~Sb*)H|_1!_m4 z=uE%Q=*|9XOUBTk0jFboT!KofM^TSe9qLG4MkUih=P4|v{w->YGZ{t6SB#vVnc$q~ z+Urm|(||d+$D^Q*TTy4~V>`4XSwlVJdJDI}@L6k0=E- z;e1ywK~1O>$x|~I`7?EV=<#dDI6eP52o2mBHPbBA4wRren1q^81u7TT;%MA~n%Li{ ziDvY(_m4*<-AvSDyBT?-b+DAQ5L$ry=w7>h$NfY+ez3(I2%$m$xL zLwyCKe1ksDBL;s&E#N$Ar{W51dlITYKPoqhPz#%iUPlUxD3stzR0kiS55L2<*y`%% z-1mQ>&NljTo8|eaed!WA0M@@VXD$7eyzaNEqET^FEU(%m_ji9iW2D#a} z6T47b^#gg3j)=`{D;w za+rbk2l1$x`>_ItU;;Lw9;aidj!z>Gg!$RoeUN<&$Dwwx9JTc|sGVs-P0-szLD}1k z>gXIMVTUX1ne}o`L}m3NWcN)YcEg`g6N(&cUtH;^otxmi9rb+`>M42>d0CphNKSa> zI|}+ie39)q3&|5R9koTzpeA+zHQ=YN{wH>&-jVmOb}SQ9u^6>u<*2Qmhl#ipl?z*u zKhwZRsGh4<3duD5fm(SyZx?mg4|T@FQ9qoBeeilr#TwL>Z^t}5je5aEm)QP_P%o%5 zRQs)%kLyq`q@x(d_~sl1-FRLN7|OE~f_D?C#BgFUp<}vm?WCY{)YCJAc!oGhJV}%i zM~H`sW5b&#?;m}L?wB%gN-(0 zw@{u(TFDk!UUdz1*ppa5XxEPtj}sG#$B2632BKL1 zK2D{uj<~IMTy&CGLrGVLCHS8hO0oBdjfAo%jnI`s>?Yn(g=>$+Om|*`Ev{URZxA06 zN{mUw5<-_UbY!q(YQK*T^X5_>Wb45<(sIh7L>Jd4p8j8XFJ(OzZxQ2&(Zmact}>!B zShCOfA<9Lrz8{|>Zg=&u_^6$pF)vaf>x0*=eDYQ_*AmNuE&NXeyoIPD<`V-5UDp#g z2TS(jO&CE$6L;FC;O9(Nz8K?)X+%Y^ZE*0@d<1QXZMJHz!|}uk;znXUF@-23-X*#d zy5`j8#3XqyQ+kB(5tE6Bh^L4PSAfC};uRv3SWO%w!U;D4vzc-^p)1c~w&N47d>l6s zLtXs>hc)rW+Lo9uX|K_iK%^7>h&u>fFIntoAS^Z|B9N0@91&UI&&l@Z=A>p9_Rq-; Oc)iv~1u_acMg9i?=EF?@ diff --git a/locales/es_ES.mo b/locales/es_ES.mo index 148486c1a199e9fb015e88ebfc319d93eb20dbf1..5f87ee01fab20c1d97bf318e2889ae466352548e 100644 GIT binary patch delta 5154 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, 2014 # Johan Cwiklinski , 2016 # Thierry Bugier , 2017 -# Thierry Bugier , 2017 +# Thierry Bugier , 2017-2018 msgid "" msgstr "" "Project-Id-Version: GLPI Plugin - Formcreator\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-01-02 16:17+0100\n" -"PO-Revision-Date: 2018-01-02 14:06+0000\n" +"PO-Revision-Date: 2018-02-12 09:48+0000\n" "Last-Translator: Thierry Bugier \n" "Language-Team: French (France) (http://www.transifex.com/teclib/glpi-project-plugin-formcreator/language/fr_FR/)\n" "MIME-Version: 1.0\n" @@ -294,11 +294,11 @@ msgstr[1] "Formulaires saisis" #: inc/form_answer.class.php:157 msgid "Form approver" -msgstr "" +msgstr "Validateur de formulaire" #: inc/form_answer.class.php:176 msgid "Form approver group" -msgstr "" +msgstr "Groupe validateur de formulaire" #: inc/form_answer.class.php:255 msgid "waiting" @@ -914,8 +914,8 @@ msgstr "Fermé" #: inc/fields/actorfield.class.php:7 msgid "Actor" msgid_plural "Actors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Acteur" +msgstr[1] "Acteurs" #: inc/fields/actorfield.class.php:152 msgid "Invalid value:" @@ -1011,8 +1011,8 @@ msgstr "Sélection" #: inc/fields/tagfield.class.php:61 msgid "Tag" msgid_plural "Tags" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Étiquette" +msgstr[1] "Étiquettes" #: inc/fields/textareafield.class.php:29 msgid "Textarea" diff --git a/locales/glpi.pot b/locales/glpi.pot index 4c2428a2b..38957e263 100644 --- a/locales/glpi.pot +++ b/locales/glpi.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-01-02 16:17+0100\n" +"POT-Creation-Date: 2018-02-12 10:42+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,7 +26,7 @@ msgstr[1] "" #: setup.php:27 setup.php:147 ajax/homepage_link.php:6 #: inc/entityconfig.class.php:27 inc/form.class.php:50 inc/form.class.php:495 -#: inc/form.class.php:1922 inc/form_answer.class.php:137 +#: inc/form.class.php:1921 inc/form_answer.class.php:133 #: inc/formlist.class.php:17 js/scripts.js.php:19 msgid "Form" msgid_plural "Forms" @@ -42,7 +42,7 @@ msgstr "" #: front/form_answer.form.php:54 front/form_answer.php:16 #: front/form_answer.php:21 front/issue.php:16 front/issue.php:21 #: front/targetchange.form.php:48 front/targetticket.form.php:48 -#: inc/form.class.php:2029 inc/form.class.php:2036 +#: inc/form.class.php:2028 inc/form.class.php:2035 msgid "Form Creator" msgstr "" @@ -50,11 +50,11 @@ msgstr "" #: front/issue.form.php:27 front/issue.php:12 front/knowbaseitem.form.php:15 #: front/reservation.form.php:14 front/reservation.php:16 #: front/reservationitem.php:12 front/wizard.php:14 front/wizardfeeds.php:15 -#: inc/form.class.php:2024 +#: inc/form.class.php:2023 msgid "Service catalog" msgstr "" -#: front/formlist.php:16 front/formlist.php:22 inc/form.class.php:2026 +#: front/formlist.php:16 front/formlist.php:22 inc/form.class.php:2025 msgid "Form list" msgstr "" @@ -97,7 +97,7 @@ msgstr "" msgid "Helpdesk mode" msgstr "" -#: inc/field.class.php:130 inc/fields/actorfield.class.php:146 +#: inc/field.class.php:146 inc/fields/actorfield.class.php:146 #: inc/fields/checkboxesfield.class.php:75 inc/fields/datefield.class.php:46 #: inc/fields/datetimefield.class.php:46 #: inc/fields/glpiselectfield.class.php:27 @@ -165,117 +165,117 @@ msgstr "" msgid "Alphabetic sort" msgstr "" -#: inc/form.class.php:769 +#: inc/form.class.php:768 msgid "Please, describe your need here" msgstr "" -#: inc/form.class.php:778 +#: inc/form.class.php:777 msgid "My last forms (requester)" msgstr "" -#: inc/form.class.php:788 +#: inc/form.class.php:787 msgid "No form posted yet" msgstr "" -#: inc/form.class.php:800 +#: inc/form.class.php:799 msgid "All my forms (requester)" msgstr "" -#: inc/form.class.php:810 +#: inc/form.class.php:809 msgid "My last forms (validator)" msgstr "" -#: inc/form.class.php:830 +#: inc/form.class.php:829 msgid "No form waiting for validation" msgstr "" -#: inc/form.class.php:848 +#: inc/form.class.php:847 msgid "All my forms (validator)" msgstr "" -#: inc/form.class.php:883 inc/form_answer.class.php:412 +#: inc/form.class.php:882 inc/form_answer.class.php:421 msgid "Print this form" msgstr "" -#: inc/form.class.php:949 +#: inc/form.class.php:948 msgid "Choose a validator" msgstr "" -#: inc/form.class.php:992 inc/target.class.php:114 +#: inc/form.class.php:991 inc/target.class.php:109 msgid "The name cannot be empty!" msgstr "" -#: inc/form.class.php:1149 +#: inc/form.class.php:1148 msgid "You must select validator !" msgstr "" -#: inc/form.class.php:1224 +#: inc/form.class.php:1223 msgid "Duplicate" msgstr "" -#: inc/form.class.php:1511 +#: inc/form.class.php:1510 #, php-format msgid "Form duplicated: %s" msgstr "" -#: inc/form.class.php:1522 +#: inc/form.class.php:1521 #, php-format msgid "Form Transfered: %s" msgstr "" -#: inc/form.class.php:1668 +#: inc/form.class.php:1667 msgid "Upload of JSON files not allowed." msgstr "" -#: inc/form.class.php:1671 +#: inc/form.class.php:1670 msgid "You may allow JSON files right now." msgstr "" -#: inc/form.class.php:1672 +#: inc/form.class.php:1671 msgctxt "button" msgid "Create" msgstr "" -#: inc/form.class.php:1675 inc/form.class.php:1686 +#: inc/form.class.php:1674 inc/form.class.php:1685 msgid "Please contact your GLPI administrator." msgstr "" -#: inc/form.class.php:1676 inc/form.class.php:1687 +#: inc/form.class.php:1675 inc/form.class.php:1686 msgctxt "button" msgid "Back" msgstr "" -#: inc/form.class.php:1679 +#: inc/form.class.php:1678 msgid "Upload of JSON files not enabled." msgstr "" -#: inc/form.class.php:1682 inc/form.class.php:1685 +#: inc/form.class.php:1681 inc/form.class.php:1684 msgid "You may enable JSON files right now." msgstr "" -#: inc/form.class.php:1683 +#: inc/form.class.php:1682 msgctxt "button" msgid "Enable" msgstr "" -#: inc/form.class.php:1765 +#: inc/form.class.php:1764 #, php-format msgid "Forms successfully imported from %s" msgstr "" -#: inc/form.class.php:1852 +#: inc/form.class.php:1851 msgid "Failed to create JSON document type" msgstr "" -#: inc/form.class.php:1859 +#: inc/form.class.php:1858 msgid "JSON document type not found" msgstr "" -#: inc/form.class.php:1866 +#: inc/form.class.php:1865 msgid "Failed to update JSON document type" msgstr "" -#: inc/form.class.php:1926 +#: inc/form.class.php:1925 msgid "Forms without category" msgstr "" @@ -285,67 +285,67 @@ msgid_plural "Form answers" msgstr[0] "" msgstr[1] "" -#: inc/form_answer.class.php:157 +#: inc/form_answer.class.php:153 msgid "Form approver" msgstr "" -#: inc/form_answer.class.php:176 +#: inc/form_answer.class.php:172 msgid "Form approver group" msgstr "" -#: inc/form_answer.class.php:255 +#: inc/form_answer.class.php:264 msgid "waiting" msgstr "" -#: inc/form_answer.class.php:256 +#: inc/form_answer.class.php:265 msgid "accepted" msgstr "" -#: inc/form_answer.class.php:257 +#: inc/form_answer.class.php:266 msgid "refused" msgstr "" -#: inc/form_answer.class.php:429 +#: inc/form_answer.class.php:438 msgid "Form accepted by validator." msgstr "" -#: inc/form_answer.class.php:431 +#: inc/form_answer.class.php:440 msgid "Form successfully saved." msgstr "" -#: inc/form_answer.class.php:487 +#: inc/form_answer.class.php:496 msgid "Comment" msgstr "" -#: inc/form_answer.class.php:492 +#: inc/form_answer.class.php:501 msgid "Required if refused" msgstr "" -#: inc/form_answer.class.php:498 +#: inc/form_answer.class.php:507 msgid "Refuse" msgstr "" -#: inc/form_answer.class.php:501 +#: inc/form_answer.class.php:510 msgid "Accept" msgstr "" -#: inc/form_answer.class.php:516 +#: inc/form_answer.class.php:525 msgid "Refused comment is required!" msgstr "" -#: inc/form_answer.class.php:695 +#: inc/form_answer.class.php:704 msgid "Cannot generate targets!" msgstr "" -#: inc/form_answer.class.php:800 inc/form_answer.class.php:968 +#: inc/form_answer.class.php:809 inc/form_answer.class.php:977 msgid "The form has been successfully saved!" msgstr "" -#: inc/form_answer.class.php:910 inc/form_answer.class.php:933 +#: inc/form_answer.class.php:919 inc/form_answer.class.php:942 msgid "You are not the validator of these answers" msgstr "" -#: inc/form_answer.class.php:1017 inc/form_answer.class.php:1019 +#: inc/form_answer.class.php:1026 inc/form_answer.class.php:1028 msgid "Form data" msgstr "" @@ -431,7 +431,7 @@ msgstr "" #: inc/question.class.php:36 inc/targetbase.class.php:520 #: inc/targetbase.class.php:590 inc/targetbase.class.php:671 -#: inc/targetbase.class.php:826 inc/targetchange.class.php:766 +#: inc/targetbase.class.php:823 inc/targetchange.class.php:766 #: inc/targetticket.class.php:624 msgid "Question" msgid_plural "Questions" @@ -443,11 +443,11 @@ msgstr[1] "" msgid "Delete" msgstr "" -#: inc/question.class.php:175 inc/question.class.php:704 +#: inc/question.class.php:175 inc/question.class.php:702 msgid "Required" msgstr "" -#: inc/question.class.php:204 inc/question.class.php:567 +#: inc/question.class.php:204 inc/question.class.php:565 msgid "Add a question" msgstr "" @@ -467,8 +467,8 @@ msgstr "" msgid "The section is required" msgstr "" -#: inc/question.class.php:263 inc/fields/checkboxesfield.class.php:106 -#: inc/fields/dropdownfield.class.php:81 +#: inc/question.class.php:263 inc/fields/checkboxesfield.class.php:117 +#: inc/fields/dropdownfield.class.php:98 #: inc/fields/glpiselectfield.class.php:12 inc/fields/radiosfield.class.php:53 #: inc/fields/selectfield.class.php:63 msgid "The field value is required:" @@ -478,110 +478,110 @@ msgstr "" msgid "The regular expression is invalid" msgstr "" -#: inc/question.class.php:567 +#: inc/question.class.php:565 msgid "Edit a question" msgstr "" -#: inc/question.class.php:603 inc/section.class.php:36 +#: inc/question.class.php:601 inc/section.class.php:36 #: inc/targetchange.class.php:769 inc/targetticket.class.php:627 msgid "Section" msgid_plural "Sections" msgstr[0] "" msgstr[1] "" -#: inc/question.class.php:630 inc/fields/glpiselectfield.class.php:5 +#: inc/question.class.php:628 inc/fields/glpiselectfield.class.php:5 msgid "GLPI object" msgid_plural "GLPI objects" msgstr[0] "" msgstr[1] "" -#: inc/question.class.php:716 +#: inc/question.class.php:714 msgid "Show empty" msgstr "" -#: inc/question.class.php:732 +#: inc/question.class.php:730 msgid "Show ticket categories" msgstr "" -#: inc/question.class.php:737 +#: inc/question.class.php:735 msgid "Request categories" msgstr "" -#: inc/question.class.php:738 +#: inc/question.class.php:736 msgid "Incident categories" msgstr "" -#: inc/question.class.php:739 +#: inc/question.class.php:737 msgid "Both" msgstr "" -#: inc/question.class.php:748 +#: inc/question.class.php:746 msgid "Limit ticket categories depth" msgstr "" -#: inc/question.class.php:757 +#: inc/question.class.php:755 msgid "No limit" msgstr "" -#: inc/question.class.php:766 +#: inc/question.class.php:764 msgid "One per line for lists" msgstr "" -#: inc/question.class.php:800 +#: inc/question.class.php:798 msgid "Values" msgstr "" -#: inc/question.class.php:801 +#: inc/question.class.php:799 msgid "One per line" msgstr "" -#: inc/question.class.php:813 +#: inc/question.class.php:811 msgid "Filter" msgstr "" -#: inc/question.class.php:824 +#: inc/question.class.php:822 msgid "Attribute" msgstr "" -#: inc/question.class.php:848 +#: inc/question.class.php:846 msgid "Range" msgstr "" -#: inc/question.class.php:853 +#: inc/question.class.php:851 msgid "Min" msgstr "" -#: inc/question.class.php:859 +#: inc/question.class.php:857 msgid "Max" msgstr "" -#: inc/question.class.php:885 +#: inc/question.class.php:883 msgid "Additional validation" msgstr "" -#: inc/question.class.php:888 +#: inc/question.class.php:886 msgid "Regular expression" msgstr "" -#: inc/question.class.php:897 +#: inc/question.class.php:895 msgid "" "Specify the additional validation conditions in the description of the " "question to help users." msgstr "" -#: inc/question.class.php:905 +#: inc/question.class.php:903 msgid "Show field" msgstr "" -#: inc/question.class.php:913 +#: inc/question.class.php:911 msgid "Always displayed" msgstr "" -#: inc/question.class.php:914 +#: inc/question.class.php:912 msgid "Hidden unless" msgstr "" -#: inc/question.class.php:915 +#: inc/question.class.php:913 msgid "Displayed unless" msgstr "" @@ -601,11 +601,11 @@ msgid_plural "Destinations" msgstr[0] "" msgstr[1] "" -#: inc/target.class.php:83 inc/target.class.php:305 +#: inc/target.class.php:83 inc/target.class.php:295 msgid "Add a destination" msgstr "" -#: inc/target.class.php:120 +#: inc/target.class.php:115 msgid "The type cannot be empty!" msgstr "" @@ -779,11 +779,11 @@ msgstr "" msgid "Tags" msgstr "" -#: inc/targetbase.class.php:776 +#: inc/targetbase.class.php:773 msgid "Attached document" msgstr "" -#: inc/targetbase.class.php:827 +#: inc/targetbase.class.php:824 msgid "Location " msgstr "" @@ -859,23 +859,23 @@ msgstr "" msgid "An existing ticket" msgstr "" -#: inc/targetticket.class.php:909 +#: inc/targetticket.class.php:907 msgid "Invalid link type" msgstr "" -#: inc/targetticket.class.php:925 +#: inc/targetticket.class.php:923 msgid "Invalid linked item type" msgstr "" -#: inc/targetticket.class.php:938 +#: inc/targetticket.class.php:936 msgid "Linked item does not exists" msgstr "" -#: inc/targetticket.class.php:951 +#: inc/targetticket.class.php:949 msgid "Failed to link the item" msgstr "" -#: inc/targetticket.class.php:1271 install/install.php:257 +#: inc/targetticket.class.php:1269 install/install.php:257 msgid "Your form has been accepted by the validator" msgstr "" @@ -937,7 +937,7 @@ msgstr "" msgid "A description field should have a description:" msgstr "" -#: inc/fields/dropdownfield.class.php:92 +#: inc/fields/dropdownfield.class.php:109 msgid "Invalid dropdown type:" msgstr "" @@ -988,7 +988,7 @@ msgstr "" msgid "Cannot recover LDAP informations!" msgstr "" -#: inc/fields/multiselectfield.class.php:71 +#: inc/fields/multiselectfield.class.php:102 msgid "Multiselect" msgstr "" @@ -1000,7 +1000,7 @@ msgstr "" msgid "Select" msgstr "" -#: inc/fields/tagfield.class.php:61 +#: inc/fields/tagfield.class.php:65 msgid "Tag" msgid_plural "Tags" msgstr[0] "" diff --git a/locales/lv_LV.mo b/locales/lv_LV.mo index 66269949eff8b2e7066c16c9c689557005129857..630aa2f84e76484dd65d82a7d217897fc67572c6 100644 GIT binary patch delta 4649 zcmYk;4_MXJ9mnx=6%{Waq6Xmt zt{&d(*|^2yd^ITOIm6XK3?;tkYfPfYn7T0CH6~+_G3l6zBXB-O;bt6y_0~feL%$sv z!d%7>?8a#9HQ1O4jKKkzhP=Wtx6>HOjl1y%T#KQ&1NC6NwFSfJx8Xqi8WZsfYQV@J zkR&Fe5}t`^xCQ%TGipxnpb~7wXj4YUG!nScg^XnekVPyGM?H{-N@zNIu^5?@DMbym z7W-ip>hsmekJ-tuU_5|Iq{Y9&GuVlvH6qe|auRBaQ}9MyWL=M%Vht+wM${XdP)qPW zYRc!3q|G;|z4<5JgmG+;yc3mSDQ4sHDAv0VjRtOLDvkC7&8R6JK`p_DsLlKWmEb>c z7)H=hLL*V18)N%Ztus-H`H&w|Vf)p13;mjC$Ia|GH&ksGk)%y;rk{aBP%oH*s+J<; zBc>EJ^9@KYW(Vp;dr@orCTi`E;ch&Q>#&j%y^L3|0?#{4tAj=%Z`T7UOiKggqE;Xe zwVBgUFSy^{FF_@|5|!A~sPf*0qwoM~%Q~?)evexEZrkrcectgcxw3F0R2Lyx*Lo zp(Xqdm1#F7qIbA^j51II7oldn$XbPZ?gi9L8!#UCqZ0oZ_4!MfhJ84Lx8f)qhx5=; zvDDJgp0%Mezlchp8&v~CN4SY)T7QVDnc1jgv2-FtjG4fN$z)bBx(gFqqbr?swT=&&u>H> z<7cri)?o@ZB(eT_@o8?P;WD^V}lj!I-F1_r>J>7Pa>Yp!BH9Lh~O z!kUV$9*Pmk-FSFdCOb5g;Z)>EnmN{W$VoEKqcT5)`rL8U(w#vSR~KrF{$u-t$@)(E ziKx#lL9OH_jK^nCFFuH>4X1;Ks`Bqh@}@7#pa;`YD^Y-%xW@JyQ3-XRiuD3&NxM;7 z*MpRexq$+p?#viejTED{dJ8JyI%JC+^EwU9`~+&?3+TlzRMlTa4cwP(v;wh6t|lGz zq6bhfT8|tYvkQaqUDQNctrt;6sDIoCKn!|y{!?gZDMzC+yUX^AQQrg0Q7?KNwL<%> z?Wmdm3w4TmWw?pwpjIXiRRcw+@#on4<*0-=VY<%$%QSNEEQVkx>#e1V#&AqW4KM*! z)%T+IZXs%AHsBbnK_z;|{=FM@tOsWq!;eYfm&Tuiy1xV+3f^p>p(WXa%De@&bf-{T z@+XYIzu{}B=`MxW@hgnYHf9F)U>g>Wc55nuS!pY?a3GFHO=ucwrRV0b{<$<(aYN^J zKdKg5QJH>=jAgn}38voWe&dZpE$u|?jRmOB--D{|S;&Df>rvx2T2JC#^#6j9n3>D^ zvwfz3EI69x5$uDzFckM-6gH!_q!ps zC=v4_!SOX8`g_9SoK{+@2Bpou1uEcuY$vp7Da3k0*So|v;#p!UF@?~z*TpTs!2N2+{(9_aq>mn!0n?XI#8z}>_ngf>Q(4)qFRC$W)G0URQZ6Mo|Q zrHxgQwAdSUsQ+m^O7z!gpV0UPaUZdRI6%xH*mSd)c%CTp=Y_{OPtww*$HNH*!f!ILICN>kgbg=FYw2c4r@cz!jw8y*s zKuJAKJD7;F_r$OMuYHWRzD9mW6cYCk`w3lhiJt~q?!OWzX-~BM_pp&zYWw%%Q|?Og z?-reW`-g{cEO9@v-QN2dmJp8->xglLu3}e*yDE1Ec`KXj+jsUlJF5@h!2PaLRY0fAtJ_UqP3L>A|50jCte_~U(GaL zCEg%zC7vUGPk0HNfcZ7;g@mqb7qbs*ZTl=X5R+{GI;WKQoBpE_QHgJHFPcaqvWR7b zu7fUt-=~|dMZ|>!7nCn6sqmGSG(`=Y=?z)1y0Wr-c~HJ@VVQqfa#vVxT1IACMpk@g s_SlS^ro}h!4D-%7QB}5j*-~GHuj${TZwd|0tE}*q`A)p;kIk?BFFWDh5&!@I delta 4591 zcmYk<3wX~}9LMo94YRAcZf&!X*<5CujoC(-gqapmkC0q)SxL-d7X5N9xz^vUM9UDe z(8{G0lQh|6rRAyYNwgkMy6K_h>GJ;ke`inq9^e1#oS*;y{J!U$@A;_(OMDJ3_Hk;P z`K~owHAEy)*~pk!A7kbQ>8>$Nn;Fv;L$N*f!PYntZ^e1m4H!Yc3>m_Ff&o~AVfZbE z;!O<3pyq@zj)|m^$c;|e5=UYnPDlN4o^>6D(BFei@d(D^8PtH+F&P`Sa1&0$1p1S( z39doSX)`Lp-5AF6O&N{0+^9sxFh5}%Y(O^pL0eQpiRh2LkV%*UsDVaeV;qP2ejf72 z%;v)nSD+GEhtYW4dP(wp}? ztG>kB@E_}K?3)rEfT@^^PD2_CX=r9k?HAUdX1o!#B0Erfdl;4AIgG+zQ3-``Q{M|m z^%JaVsKm06KW2#S=V3?sg<5}QxP==kz7t5Y<{~EHpQr&lvm7d(?#L}O05$WmNDgK? z>Os$LnTm! zs)657iTRO@j6@Yp66*L2LJeGiIt9h32Oh+(ScgieC4=&=F-fT3_qYAA=;&O}qM-p^ zKrPuWR6++))mninva_~-0Tb!}h+2WD4(?WTK-ENl)bAfa)kYpR!kO3!i%`$q)`9i! zLZh4;%J?VLjG`!AeIXn5fQhIdPQ!S75t*DhhK=!i>(AETvC@Y(ACjY~WVz&3RAONa z#(^{OomhW0`g4O5V;)9jyb$%p6{scKges~7sI56^`?Yu{{a;YuOC@`)U@pesXw-w} zp=zQ8Rg6cG+)TAYLqEKMT7l*)M>6(B^$So5m7r>%6dPeVYRf8+GBMvEb!L1i048bT zPhvTpvH^0_cKrl=OWKGGq491V}Q>87c{g~7cm5Hpay7?>@HaZYVW$DRwf72aRMsQ zP4@50QLo@y?1tAc0ORTCekxMmCI_`5`Pf|Ne?AQ@-CES1?7>hxgnRK6PQ|%QyB06w zFsw-BKeI5hyIWLOtbd^<63jHU_ieBzreHKqMb*G^bd=#P8vMrWM`d;eeeou0Nllvj zubCg}`+=yc4nqpx+>RPJ&$<)`(BFxz@K|H(Fx>w#4PA zz1o5*vT9VuzoBLp%KFQ;)?|#KpM^?rJZdGUSqo9)E8!s7s^NxyScgG) z74-r#8Ey?kVmRGI+s{T-{b+286Yby6LcK>;+xvS^;~zym@Ql6x9jd0TJ2bT9%`@GB z+F=;|6x98}s3jbQLopxq!{ewex_}zE4t4HtqP8Tqmpjf7)M?2>7SC)#ouV4l_|AD6 z5j3t?{d&8{u03+(&0yr+Vv3Ml&1}O@nuw|4eoH?fIUzHPC+HO7*!*$qW5&*t@KaXejRG1{y^<@NFO(WSX93| z>UTNV7aznxo&RDQI>)7`0jp6Dx`LXCZ20}h%g1RiCc^LGV?8mBpajfjB8~XS6BQiooT8;FP~Pm1cjrIE zYC@Z(QkzHUIz}ubo+s`matK|oxtP_~S$L3m$M(h3L@6p7{!_j}HVwvIi-y)dE!(T$i&=-TJvewKwdiw-Euin`z5Qxf+>P+CHAQbI~{ ZOj3GAa!T38`1L_$y?e9^^i1jd(!cDq$|L{) diff --git a/locales/nl_BE.mo b/locales/nl_BE.mo index abfc9c5eb7e04c747257df5ece506b83104bf5df..5ae7314be94008c57b3c61250fe5cf9a99a1ea75 100644 GIT binary patch delta 4520 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 M*nCggfOTpA1==vUw*UYD delta 4596 zcmZA32~bs49LMoP@<;>$Ges8jrGO!_2?~)?Y2`v{wn$l~m}VLZ%F<$bMJpEy)WFK! zl3XeaDJzncG^J3|N!xYM%q&`l8D>mP>-*y!rlvdo_?&y+yZ4;)Kj*&j_`J1_bK)xR za>H?igp*A^#)Nno)3>9p8ndjEF%h^NgK;N@VuST(x{LXCVrYM>>k0jx&dw;iv9?$y;8`Y=JLrHaH} zI0Cg~Gwu1ar~z-oWUNG|1C2BGgJ#qW|3p>5#ob{Tf*N3d?2e;Q1Ik8yuh5<^wU(g< zwhndQoA!J^Mst1)HNd}vslPT|FTO>e<|a(QOjHMpQERsX`DZrqM>DTMo?#B5I{FdY zV+(2tE@1`wQO-G7iGN@$J2w}*Gpnz$B#ip&hN+A~GcQ2RXaTC@mB_Qq7W;WE^3OEz zN1r!g5?(@8CXqiH*l5(!O+{7kanyv$PRZ!#{=;}9Es}a4O9sa zp!UQ;)DKW2MxakmPX{rmnWtGZ(am{2>N(~1`rD|19zqS|G)B_DX`!LD4dtCsNAcDn zsJ)Ph(KriZa5XXpa{#s3enxfV#i;m6FyW~C`k|KYc2tMsP(RVrQG22g9bH&RBOXgp zYqJ|!CR2x6%d@BlTtr{=qYOIlg4zR-*a!Qfc6%oF#XO9|4XA;CZa=?>>L)mg`s+q_ z6hFh5f%IYWQ9r3KTQ^#_;ubG98LESE+@!s+2q}WufEvI))E;R>&9n(snLkl$A3!-Z zF?Tfe*9S>lPz8pg&YwU%pcGY!Rn}_Mjo+dw_Ztqv^QfguVK#2eKs_fL2jBus#1AkD zn@~&M!=Wy|G?GydPDdAxvDY(EGs;4(>0IQEH7}x;U?*yq??>H#4BO*b?10UvJ@6N* zQXME;KkS99f^o*upep7m)PpNf1KNkWvBCO1YLoqf+QqI|PY282v;|kP7>M(`=%_$lhaVR@QOVA6|!CmNw)2)T58y6tUZ`L4_GJ8>L{|5$OXC9)8 z^+c_8I_mlzsDVvDy{>uKP4E9Q8jQhgMLqB<QH3ruEnn8&MPc9W{V+Sd2bwgvGc50~~g97z?tV3w_ub@8f3}gbR~Bo2U#`k!`2} z)S_l^6g8t}R0UkrS8E)N^koL48}m?=D?|NWY`5q8(a~$xNJ9@ii|x?Gmen5cMV)s> zy_Uh&fvCNbh1z8EQ5_beI@pEUTu0H37f{~|W5K;K3jHxAh5Bnosa()nWuP839yQ_; z48|?k1^1vz{UxeGXHca+hk9#Vsh)xR;nkdXK~<&?s#2p+1DS+faYicZubDp01zCdH ztuLWEs75`g9<>=8Q3L%IRk6#~uhBW;PU=yvanpM$1tHTZQVN2K8EfVLgSquNk$ez0y7Z%k@PqX*$N?L`=X^ zjM4kQhlU>bD{25&-01m53`G6Vq@o@$0kubpti`B~%Fzo|_G+@0sDtf9$J=B*(Q@o1 zTZoSN`r{Bir0p0%V=2+~5W;VSd6u*t+Dw{tHqqd8EF-rORqI`{ffSOqV+V}~$Qz_P z`H1L;NQX1nW9u*9c-k+Kk@ng+RAuJcbFqrtMHY}5L?zWRhE$N}bi(07J|rth9?|g% znM3yJgoC%%F`s(ct-JjR+V7A(B$_-*YKh*En~07avYRZ|3CC=r4W?r>`J6mX`jQB8 zA6Y|6$o*s#nLsv@);gE9Hvaw7+cqEh_mXkbo=WOTACgRTJn6xd;v}+@d|V;TcU5}8GACA&x!*-!2zpAjAUX?~UH{r-fclF8)1$2v}C zlHnxResBOgkTl}3>095^BD{sTNZS!kBZ%BXUbhzyV>dF5j3vW}-uw5-5TfHf5=gr0 zgyUthgftMn$`2BIIOZ+eD!@u|gFPRJ86?!6i>>53d%nner}cU3GuA=qPhv?O*+wQ3 z9oLW-$Q}Q$|6^S2Pll2jqGLL_o2(?Sk#f?HY$k1oFO8n|JX$yxb1v)xl?=M>~twM6{n)iEVD mF(Ec7(VcL8T4GYw*{E;229C|j*7v4O(f6k0R_z(I*6Saydc+a{ diff --git a/locales/nl_NL.mo b/locales/nl_NL.mo index 58f4a5743b45c71b02bd6fd2258404ed87762e93..73109453a0d8bbda75fa8fb73e614066be8c4ee7 100644 GIT binary patch delta 4520 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 diff --git a/locales/pl_PL.mo b/locales/pl_PL.mo index ea90ed4d50c265c20989ed8e31b27c146b3d53e9..51c3320cbb4e249cc7e2be3c1a787938f999642f 100644 GIT binary patch literal 13776 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 delta 3916 zcmZ9Mdu$ZP8Ni2Ec_tVGHgC^i{Ep3?d1DMXrVwIGj74QiWG^3~`O;D?(snQ22qEVt2q^j7BDwU>`imEM5X{o9xe~`9nR8pyr-*;Xx?dZP! z&CJex@4cTV-`SpjuXyqciZO&NL2gV^>J|9XR341#8A|PdHLw95gDc=yVJRGii{S4< z-hrQBJ$L397eRh1!eb7shY!Ln@ByXrYWLVgJqcIxq7Tl8FTz>yyKn)#6!JPOV*MfP zgmUO{&;>>D>o5l2hT`xCupTbN+H|-Bii3OL0_>~(Od@O?gT>H53H~)G2hTxq;7zy? z{tSu(??X}eF_e3gus$1>Kyjp!humKSNs8JOu6ICuQoG?|?5l%J#6T7MLtcmc)J-08@569C4eL_EQYiOVLrM8&DCat$l+1y0{~4Iad3Bn}G8N`j0?m*_X_mgp1*6C>i)Rtc7pFYIqZh;^}xJpJf@8=G_)@7yRP{ z48eWuufzLtcnXT1`~@ar;Jxt0KcRTI4EH6K>!B!Yh2m%%6odPrMBs)z4y6>&!A|%U zDCcfNN%>?NLL4rEb#MzL<9U^2l3*hT<>K$5hK+bp54)gTdIYCt@J`4pP!wH*gYX8FQgrDt$9v!w)&^2Nbqz|yx5M?6$k@J) zz zn?|v}l1U%Z8@_0T(u^|pj^W;OHM7T&wTP7E7$QS@L%wb41sU!bR5xr2=bItbDty}8 z;ir&?CH_a497d$^WN3scsCGnZE1exhq@FUW5oy{@$fJn#%~a$G ziDmF%6#n#*_ve3K;ni4UG&8S5Dv_>mUp~Elq%&N5P`bMeIfzss`;o_x^@xS|NDY!f zq%q|W$Uz1W`NHy(d2B`Mk=;l+GK5ICO2^BPPffa8MhB8D%y_iuxE0t(z09z-QW@Jy z3~PJH@dICHouF3-y|(tPep|adBD(eN**Hf7$8&X$HN{EUi3W4$!B=O+<90ewEx`B9 zrP*7jTdwX!r=2l(W`91PwT6A2aQt-28nzRvx7_1pFzoo+b^|9Ej_3p40B&;J z8nm_NriOXgp=O=7GvUF8`&5QOh$>5`tqiKx-_zIPdIXlat0C*8Qra7|Guez2*oBzW z8GF$227EEpU`C2wH<>xD3wu4!x6wCfrJRHncp25|_4lLNloX#N4*`Mxt+>L}&AnuP zSW;?|^VXX4^Qz3@`6W}^ts&L!xTdD0(|o6-*8Hnvvw5X7W`0}RY1S>+R^IDnbqjv% z4D5bib;;81PY1(e(;ml8CCr3{zc%kLJYiXbpE_+-a<7nxWdpn$oefrvtl>R?TG{*f%hGQPavU3wn2N z*30B<7F9YK-f(ozN_wLw;yLLjUZuUPmna(^ew&H!3+UEJe z$eFZRynOo%*E%}-?BxqtJ88O?U(I)0SwCm%w3oDU1AVH)OGsYF5B;x4I+3yp{`T1k z7o|xjqT9XEi=rT5jeJfA!>OdFd274(lq8wSR^h_PnFh7{o(p=%-B=5nT`Q5vjhsoi zl8JE(-B_}S6g`QwPqp0kq!eIuWV+v>kN-J}r! diff --git a/locales/pt_BR.mo b/locales/pt_BR.mo index e5a1225c7d4762b459a4cac917f09a7685b50728..d4c2d74853407d7ab524e8334e361a1c42d0381b 100644 GIT binary patch delta 5835 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 delta 5161 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 CSh4;9 delta 3969 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 delta 4040 zcmYk;32;qU9LMov60*pP5E7Cg5)s>zMIzSFlu}&~L!~9ws->}{C1SgkQcDwB&rYS5 z5LHw|Xzgmy8ENTg8LCFxP}3U9$aJQy^!v*@({U&N`#I;nd(Zm6@8xD*d7krA1K-t# z;|vi+bgyHKUoB&X2kELYvqFsNfce-GOEDZPFaj&BroJ(e)FY85Od8h3bZm_Mkv}t* zQ!vgzmobi6NFjj>E3pxtM)iFa^}23&&vcm&nq8ElRZ ztqmG_>&d8gGEo!D!Y1@@a#g@W)Xa9EMtlf0fK#ZMUq;RJSLDw;;-oF{XB2AKjVYLd zwQ(Y9B2(?>vr#L%02!NEj*j+hD+P_{I5x#Ar~y1i-B@kwp<&+ZO;H1hM?Kfc)(2oL z^=wow6(E16m{TH_quRZL?56oMjP+LoK4g?;7==o%_MFr~Z`9HbMlJbpEWt@Q2Sa%H zJ{ICMoXav^#e1mx&yt~<@nzK3-Lmz&r~y<(u>Q(Yf0m&mHbiYfKlH&Y>j>0+qfuLx zV_l52WwxNUldUsQE9*EEw8u+OOR@>I0((&noj`T; zt*!rn8t`q@%&SpJ7Qr-S9O}75)I@rrCNRogpNg7@gV}ojizuj}KhPKbcuE5bLcQP7 zs4RaD)zDl;~h{M@*!BX>z%s8O}p3`7%^87Nb^Tzx4!mprBWPz=(LGsgVMy<>-jK<$k9RzSuTM>Z)=th4`L$%Wj z)$tJ2gr=bSo9j>@PfQu|XTIm8EzwC0v`2lOYJCNnyvaw+a0}|bGSonhqB^LsUPmR} zT~rQKqjDpXM9=`77z+9V$wG~ABx(k;P%|p9*H@!fU@xX&1$M^TZtptnDk zPDgb-&wjq%x*JJi#~h=ej&EQXR$&sl*swtCiAtXSsMm5Fx^Nk4#_N#pAhQd#66Y`o zFXAS=ffI0cg7>%K7o1N0Xd*vIdjC7nn;NRbV5~yrK<#92$1c>s;!zE!V>f&Om4u7Y z2iICRqGn!h=B`m87Bk;3Uw$Nu;3HW|VcIwG`FC1=I@th#Kf)RJPYi z@jmB9eLe{F`6Sc|%|Ugz6t(ADP+MJU>wD4B4F@S`gcYa`AE0u;qXsQcqE z6nohEAXJAFQ61!=+L?#?DlWokEJdyG*Qk}en#%e&pis#L?craj2g68B*$OqIPS_v& zVk2CMno%j%$9<^WIE8vU?%3<~(!2v`ff`tMRJ$4WdS)8yAI^mwE@%LYP}#c8dICuY za~%`VMapYHJx~q3Z0p&miA=TE3v7KQHs*Q>YT(B)3@@Wr@OOuT8m>kqO9Ed@N{->E z2J=x%ScqD>o!A7+Q8T}Y8pzM6C4Gq6ifU96y1IIQE1IA>?t+@YK-3mHqbcad$*3I2 zL#@CDYdJqJhLPx?a%Q7-yLAuN;(7+b5oQi^*38}@ z77$yBGoGTLaOV)EfkYWGn9zFYSVVkDXs2fqTZm?J1Yfx|KW}sJGhzVISc7_o!b^mXHJ&6_q;t?)G5M(Fo@nc0wJmE^Hrq0jHB)U_ zyha=#vWa#?Ya)wiLVQf<7*%uT{|alab&^(V8kJf0LT{W-Z1mi6#k!AC`hZ9z))7OA zK}0n15ur`e;UQLdl7eIV?4@*qc#lXXJ|}ccAo>!|s=~3HApdKAhbH3=LdPoN3(xxC zgw*kr^nSiYka+(eQz$7Z-nUmu(Vr+L)_eX94j*#Lelo@?cqeQA8SnShwH#ZXfy(34 z#5O`N=RV>cVmL8^IO&;KFV2+ccv64{I>d-fBQB8^05jWX#B=)rBak!t@PAs(7 z`rs~NBr%qFmCz5O4qxJJVjdAi%+^QmQdmmp_>h=Od_oiwpL*JaG>`j=($mKVDn7&! tqJY><%rDCc$qOvI7m*$4N^>VAx;rLCCwA$Y)Uj+>+@YYd=E)}m{sUbVlMDa= diff --git a/locales/tr_TR.mo b/locales/tr_TR.mo index 6230c6fd6405d8e4554398145389df0ce7d5a441..26e4cea3761546d083ec6a24c94dfdad3d825033 100644 GIT binary patch delta 5876 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 delta 5145 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 M^{{$R!SLGu0~4DC`2YX_ diff --git a/locales/uk_UA.mo b/locales/uk_UA.mo index 7dbbf9854c597c778e844f8564c0a2ed6b457a72..9dfa87dd0d2c9f715be177508df6e86a8c477d6b 100644 GIT binary patch delta 3744 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 SBX^AIzr6d7zn=X{r~d=g>~(Db From 28046c1f5154d0cf955ab8d6ba966d5fdf1f925e Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 12 Feb 2018 11:02:22 +0100 Subject: [PATCH 18/20] docs: use a better commit type when building an archive --- RoboFile.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RoboFile.php b/RoboFile.php index 324032a44..79000f0cf 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -98,8 +98,8 @@ public function archiveBuild() { $this->updateChangelog(); - $this->gitCommit(['package.json', 'composer.json'], "docs: bump version in JSON files"); - $this->gitCommit(['CHANGELOG.md'], "docs(changelog): update changelog"); + $this->gitCommit(['package.json', 'composer.json'], "build: bump version in JSON files"); + $this->gitCommit(['CHANGELOG.md'], "build(changelog): update changelog"); $pluginName = $this->getPluginName(); $pluginPath = $this->getProjectPath(); From 28fcc37cc91da002d2a2015d0070ca857f3e5e56 Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 12 Feb 2018 11:02:44 +0100 Subject: [PATCH 19/20] build: bump version in JSON files --- composer.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index a2998cd0e..7c17844cf 100644 --- a/composer.json +++ b/composer.json @@ -10,5 +10,5 @@ "glpi-project/tools": "^0.1.0", "glpi-project/coding-standard": "0.5.0" }, - "version": "2.6.1" + "version": "2.6.2" } diff --git a/package.json b/package.json index 1b7dc3b05..362b0ce0d 100644 --- a/package.json +++ b/package.json @@ -11,5 +11,5 @@ } }, "dependencies": [], - "version": "2.6.1" + "version": "2.6.2" } From 0e83d60050c54e1ab3d53f8c7ecb69da3ffd343f Mon Sep 17 00:00:00 2001 From: btry Date: Mon, 12 Feb 2018 11:02:44 +0100 Subject: [PATCH 20/20] build(changelog): update changelog --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e16a5d59..20df9ee33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ + +## [2.6.2](https://github.com-btry/pluginsGLPI/formcreator/compare/2.6.1...2.6.2) (2018-02-12) + + +### Bug Fixes + +* **condition:** fix multiple condition process when a question is unanswered ([6bce6e7](https://github.com-btry/pluginsGLPI/formcreator/commit/6bce6e7)) +* **condition:** questions conditions may lead to wring result in complex cases ([42cb852](https://github.com-btry/pluginsGLPI/formcreator/commit/42cb852)), closes [#880](https://github.com-btry/pluginsGLPI/formcreator/issues/880) +* **field:** fix quote escaping for file field ([0280acf](https://github.com-btry/pluginsGLPI/formcreator/commit/0280acf)), closes [#832](https://github.com-btry/pluginsGLPI/formcreator/issues/832) +* **field:** inability to save properties of a tag question ([faf304b](https://github.com-btry/pluginsGLPI/formcreator/commit/faf304b)) +* **form_answer:** fix search option ([1c8f38f](https://github.com-btry/pluginsGLPI/formcreator/commit/1c8f38f)), closes [#602](https://github.com-btry/pluginsGLPI/formcreator/issues/602) +* **notification:** pending validation email for groups ([54c2a2e](https://github.com-btry/pluginsGLPI/formcreator/commit/54c2a2e)), closes [#871](https://github.com-btry/pluginsGLPI/formcreator/issues/871) +* **question:** fields hidden under condition not rendered in tickets ([9d87dd7](https://github.com-btry/pluginsGLPI/formcreator/commit/9d87dd7)), closes [#880](https://github.com-btry/pluginsGLPI/formcreator/issues/880) +* **target:** answer rendering issues ([6d73872](https://github.com-btry/pluginsGLPI/formcreator/commit/6d73872)), closes [#877](https://github.com-btry/pluginsGLPI/formcreator/issues/877) [#817](https://github.com-btry/pluginsGLPI/formcreator/issues/817) +* **target:** remove abusive encoding in target names ([a0dca23](https://github.com-btry/pluginsGLPI/formcreator/commit/a0dca23)) + + + ## [2.6.1](https://github.com-btry/pluginsGLPI/formcreator/compare/2.6.0...2.6.1) (2018-01-02)