Skip to content

Commit

Permalink
fix(isntal): fix upgrade to 2.5.0
Browse files Browse the repository at this point in the history
Signed-off-by: Thierry Bugier <tbugier@teclib.com>
  • Loading branch information
btry committed Sep 13, 2018
1 parent 32d940e commit 3d6917c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 51 deletions.
31 changes: 2 additions & 29 deletions install/update_0.0_2.5.php
Expand Up @@ -200,32 +200,7 @@ function plugin_formcreator_updateForm_Answer_2_5(Migration $migration) {
$migration->addKey('glpi_plugin_formcreator_forms_answers', 'requester_id');
$migration->addKey('glpi_plugin_formcreator_forms_answers', 'validator_id');
$migration->addField('glpi_plugin_formcreator_forms_answers', 'is_deleted', 'bool');

// Update Form Answers
$table = 'glpi_plugin_formcreator_forms_answers';

if ($DB->fieldExists($table, 'validator_id', false)) {
$migration->addField($table, 'users_id_validator', 'integer', ['after' => 'requester_id']);
$migration->addField($table, 'groups_id_validator', 'integer', ['after' => 'users_id_validator']);
$migration->addKey($table, 'users_id_validator');
$migration->addKey($table, 'groups_id_validator');
$migration->migrationOneTable($table);

$formTable = 'glpi_plugin_formcreator_forms';
$query = "UPDATE `$table`
INNER JOIN `$formTable` ON (`$table`.`plugin_formcreator_forms_id` = `$formTable`.`id`)
SET `users_id_validator` = 'validator_id'
WHERE `$formTable`.`validation_required` = '1'";
$DB->query($query) or plugin_formcreator_upgrade_error($migration);
$query = "UPDATE `$table`
INNER JOIN `$formTable` ON (`$table`.`plugin_formcreator_forms_id` = `$formTable`.`id`)
SET `groups_id_validator` = 'validator_id'
WHERE `$formTable`.`validation_required` = '2'";
$DB->query($query) or plugin_formcreator_upgrade_error($migration);

$migration->dropKey($table, 'validator_id');
$migration->dropField($table, 'validator_id');
}
$migration->migrationOneTable('glpi_plugin_formcreator_forms_answers');
}

function plugin_formcreator_updateForm_Profile_2_5(Migration $migration) {
Expand Down Expand Up @@ -453,7 +428,7 @@ function plugin_formcreator_updateIssue_2_5(Migration $migration) {
`fanswer`.`entities_id` AS `entities_id`,
`fanswer`.`is_recursive` AS `is_recursive`,
`fanswer`.`requester_id` AS `requester_id`,
`fanswer`.`users_id_validator` AS `validator_id`,
`fanswer`.`validator_id` AS `validator_id`,
`fanswer`.`comment` AS `comment`
FROM `glpi_plugin_formcreator_forms_answers` AS `fanswer`
LEFT JOIN `glpi_plugin_formcreator_forms` AS `f`
Expand All @@ -464,9 +439,7 @@ function plugin_formcreator_updateIssue_2_5(Migration $migration) {
WHERE `fanswer`.`is_deleted` = '0'
GROUP BY `original_id`
HAVING COUNT(`itic`.`tickets_id`) != 1
UNION
SELECT DISTINCT
NULL AS `id`,
CONCAT('t_',`tic`.`id`) AS `display_id`,
Expand Down
42 changes: 20 additions & 22 deletions install/update_2.5_2.6.php
Expand Up @@ -63,29 +63,27 @@ function plugin_formcreator_update_2_6(Migration $migration) {
$table = 'glpi_plugin_formcreator_forms_answers';
$migration->displayMessage("Upgrade $table");

if ($DB->fieldExists($table, 'validator_id', false)) {
$migration->addField($table, 'users_id_validator', 'integer', ['after' => 'requester_id']);
$migration->addField($table, 'groups_id_validator', 'integer', ['after' => 'users_id_validator']);
$migration->addKey($table, 'users_id_validator');
$migration->addKey($table, 'groups_id_validator');
$migration->migrationOneTable($table);

$formTable = 'glpi_plugin_formcreator_forms';
$query = "UPDATE `$table`
INNER JOIN `$formTable` ON (`$table`.`plugin_formcreator_forms_id` = `$formTable`.`id`)
SET `users_id_validator` = 'validator_id'
WHERE `$formTable`.`validation_required` = '1'";
$DB->query($query) or plugin_formcreator_upgrade_error($migration);
$query = "UPDATE `$table`
INNER JOIN `$formTable` ON (`$table`.`plugin_formcreator_forms_id` = `$formTable`.`id`)
SET `groups_id_validator` = 'validator_id'
WHERE `$formTable`.`validation_required` = '2'";
$DB->query($query) or plugin_formcreator_upgrade_error($migration);
$migration->addField($table, 'users_id_validator', 'integer', ['after' => 'requester_id']);
$migration->addField($table, 'groups_id_validator', 'integer', ['after' => 'users_id_validator']);
$migration->addKey($table, 'users_id_validator');
$migration->addKey($table, 'groups_id_validator');
$migration->migrationOneTable($table);

$formTable = 'glpi_plugin_formcreator_forms';
$query = "UPDATE `$table`
INNER JOIN `$formTable` ON (`$table`.`plugin_formcreator_forms_id` = `$formTable`.`id`)
SET `users_id_validator` = 'validator_id'
WHERE `$formTable`.`validation_required` = '1'";
$DB->query($query) or plugin_formcreator_upgrade_error($migration);
$query = "UPDATE `$table`
INNER JOIN `$formTable` ON (`$table`.`plugin_formcreator_forms_id` = `$formTable`.`id`)
SET `groups_id_validator` = 'validator_id'
WHERE `$formTable`.`validation_required` = '2'";
$DB->query($query) or plugin_formcreator_upgrade_error($migration);

$migration->dropKey($table, 'validator_id');
$migration->dropField($table, 'validator_id');

$migration->dropKey($table, 'validator_id');
$migration->dropField($table, 'validator_id');
}

// add location rule
$enum_location_rule = "'".implode("', '", array_keys(PluginFormcreatorTargetTicket::getEnumLocationRule()))."'";
if (!$DB->fieldExists('glpi_plugin_formcreator_targettickets', 'location_rule', false)) {
Expand Down

0 comments on commit 3d6917c

Please sign in to comment.