From 4f04924e29b3fdda53aab431411868dc117607f2 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Wed, 24 Oct 2018 14:33:44 +0200 Subject: [PATCH] Privileges: grant user work log permissions to shikos & cleanup Closes #478 (Make user work log available) --- ..._01_01_000004_cleanup_group_privileges.php | 66 +++++++++++++++++++ tests/Unit/HasDatabase.php | 1 + 2 files changed, 67 insertions(+) create mode 100644 db/migrations/2018_01_01_000004_cleanup_group_privileges.php diff --git a/db/migrations/2018_01_01_000004_cleanup_group_privileges.php b/db/migrations/2018_01_01_000004_cleanup_group_privileges.php new file mode 100644 index 00000000..aead4422 --- /dev/null +++ b/db/migrations/2018_01_01_000004_cleanup_group_privileges.php @@ -0,0 +1,66 @@ +schema->hasTable('GroupPrivileges')) { + return; + } + + $connection = $this->schema->getConnection(); + + // Add permissions to shikos to assign worklog entries + $connection->insert( + ' + INSERT INTO `GroupPrivileges` (`group_id`, `privilege_id`) + VALUES (?, ?) + ', + [ + -40, // Shift Coordinator + 43, // admin_user_worklog + ] + ); + + // Delete unused privileges + $connection->delete(' + DELETE FROM `Privileges` + WHERE `name` IN( + \'user_wakeup\', + \'faq\', + \'credits\' + ) + '); + } + + /** + * Reverse the migration + */ + public function down() + { + if (!$this->schema->hasTable('GroupPrivileges')) { + return; + } + + // Add permissions to shikos to assign worklog entries + $this->schema->getConnection()->delete( + ' + DELETE FROM `GroupPrivileges` + WHERE + group_id = ? + AND privilege_id = ? + ', + [ + -40, // Shift Coordinator + 43, // admin_user_worklog + ] + ); + } +} diff --git a/tests/Unit/HasDatabase.php b/tests/Unit/HasDatabase.php index 36f9fba2..467f95fc 100644 --- a/tests/Unit/HasDatabase.php +++ b/tests/Unit/HasDatabase.php @@ -41,6 +41,7 @@ trait HasDatabase ['migration' => '2018_01_01_000001_import_install_sql'], ['migration' => '2018_01_01_000002_import_update_sql'], ['migration' => '2018_01_01_000003_fix_old_tables'], + ['migration' => '2018_01_01_000004_cleanup_group_privileges'], ]); $migration->run(__DIR__ . '/../../db/migrations');