diff options
Diffstat (limited to 'db')
-rw-r--r-- | db/migrations/2018_01_01_000004_cleanup_group_privileges.php | 66 |
1 files changed, 66 insertions, 0 deletions
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 @@ +<?php + +namespace Engelsystem\Migrations; + +use Engelsystem\Database\Migration\Migration; + +class CleanupGroupPrivileges extends Migration +{ + /** + * Run the migration + */ + public function up() + { + if (!$this->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 + ] + ); + } +} |