Skip to content

Commit a17e459

Browse files
committed
fix(targetticket,targetchange): covnert question ID into UUID for export of target settings
Signed-off-by: Thierry Bugier <tbugier@teclib.com>
1 parent 5fb8fd4 commit a17e459

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

inc/targetchange.class.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,23 @@ public function export($remove_uuid = false) {
125125
} else {
126126
// Convert IDs into UUIDs
127127
$export = $this->convertTags($export);
128+
$questionLinks = [
129+
'due_date_rule' => ['values' => self::DUE_DATE_RULE_ANSWER, 'field' => 'due_date_question'],
130+
'urgency_rule' => ['values' => self::URGENCY_RULE_ANSWER, 'field' => 'urgency_question'],
131+
'tag_type' => ['values' => self::TAG_TYPE_QUESTIONS, 'field' => 'tag_questions'],
132+
'category_rule' => ['values' => self::CATEGORY_RULE_ANSWER, 'field' => 'category_question'],
133+
];
134+
foreach ($questionLinks as $field => $fieldSetting) {
135+
if (!is_array($fieldSetting['values'])) {
136+
$fieldSetting['values'] = [$fieldSetting['values']];
137+
}
138+
if (!in_array($export[$field], $fieldSetting['values'])) {
139+
continue;
140+
}
141+
$question = new PluginFormcreatorQuestion();
142+
$question->getFromDB($export[$fieldSetting['field']]);
143+
$export[$fieldSetting['field']] = $question->fields['uuid'];
144+
}
128145
}
129146
unset($export[$idToRemove]);
130147

inc/targetticket.class.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1172,6 +1172,26 @@ public function export($remove_uuid = false) {
11721172
} else {
11731173
// Convert IDs into UUIDs
11741174
$export = $this->convertTags($export);
1175+
$questionLinks = [
1176+
'type_rule' => ['values' => self::REQUESTTYPE_ANSWER, 'field' => 'type_question'],
1177+
'due_date_rule' => ['values' => self::DUE_DATE_RULE_ANSWER, 'field' => 'due_date_question'],
1178+
'urgency_rule' => ['values' => self::URGENCY_RULE_ANSWER, 'field' => 'urgency_question'],
1179+
'tag_type' => ['values' => self::TAG_TYPE_QUESTIONS, 'field' => 'tag_questions'],
1180+
'category_rule' => ['values' => self::CATEGORY_RULE_ANSWER, 'field' => 'category_question'],
1181+
'associate_rule' => ['values' => self::ASSOCIATE_RULE_ANSWER, 'field' => 'associate_question'],
1182+
'location_rule' => ['values' => self::LOCATION_RULE_ANSWER, 'field' => 'location_question'],
1183+
];
1184+
foreach ($questionLinks as $field => $fieldSetting) {
1185+
if (!is_array($fieldSetting['values'])) {
1186+
$fieldSetting['values'] = [$fieldSetting['values']];
1187+
}
1188+
if (!in_array($export[$field], $fieldSetting['values'])) {
1189+
continue;
1190+
}
1191+
$question = new PluginFormcreatorQuestion();
1192+
$question->getFromDB($export[$fieldSetting['field']]);
1193+
$export[$fieldSetting['field']] = $question->fields['uuid'];
1194+
}
11751195
}
11761196
unset($export[$idToRemove]);
11771197

0 commit comments

Comments
 (0)