diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/final-changelog-tenant.xml b/fineract-provider/src/main/resources/db/changelog/tenant/final-changelog-tenant.xml index 15554ba53..02bfb8312 100644 --- a/fineract-provider/src/main/resources/db/changelog/tenant/final-changelog-tenant.xml +++ b/fineract-provider/src/main/resources/db/changelog/tenant/final-changelog-tenant.xml @@ -69,4 +69,9 @@ + + + + + diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0543_remove_unused_roles_and_merge_manager_roles.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0543_remove_unused_roles_and_merge_manager_roles.xml new file mode 100644 index 000000000..881b798cf --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0543_remove_unused_roles_and_merge_manager_roles.xml @@ -0,0 +1,60 @@ + + + + + + + DELETE FROM m_role_permission + WHERE role_id IN (SELECT id FROM m_role WHERE name = 'Self Service User') + + + DELETE FROM m_appuser_role + WHERE role_id IN (SELECT id FROM m_role WHERE name = 'Self Service User') + + + DELETE FROM m_role WHERE name = 'Self Service User' + + + + + + + INSERT INTO m_role_permission (role_id, permission_id) + SELECT (SELECT id FROM m_role WHERE name = 'Branch Manager'), rp.permission_id + FROM m_role_permission rp + WHERE rp.role_id = (SELECT id FROM m_role WHERE name = 'As Manager') + AND NOT EXISTS ( + SELECT 1 FROM m_role_permission existing + WHERE existing.role_id = (SELECT id FROM m_role WHERE name = 'Branch Manager') + AND existing.permission_id = rp.permission_id) + + + INSERT INTO m_appuser_role (appuser_id, role_id) + SELECT ur.appuser_id, (SELECT id FROM m_role WHERE name = 'Branch Manager') + FROM m_appuser_role ur + WHERE ur.role_id = (SELECT id FROM m_role WHERE name = 'As Manager') + AND NOT EXISTS ( + SELECT 1 FROM m_appuser_role existing + WHERE existing.appuser_id = ur.appuser_id + AND existing.role_id = (SELECT id FROM m_role WHERE name = 'Branch Manager')) + + + DELETE FROM m_appuser_role WHERE role_id = (SELECT id FROM m_role WHERE name = 'As Manager') + + + DELETE FROM m_role_permission WHERE role_id = (SELECT id FROM m_role WHERE name = 'As Manager') + + + DELETE FROM m_role WHERE name = 'As Manager' + + + diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0546_rename_cashier_role_to_title_case.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0546_rename_cashier_role_to_title_case.xml new file mode 100644 index 000000000..b2ffb76e2 --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0546_rename_cashier_role_to_title_case.xml @@ -0,0 +1,16 @@ + + + + + + + UPDATE m_role SET name = 'Cashier' WHERE name = 'CASHIER' + + + diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0547_revoke_all_functions_from_clerk.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0547_revoke_all_functions_from_clerk.xml new file mode 100644 index 000000000..519b7261a --- /dev/null +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0547_revoke_all_functions_from_clerk.xml @@ -0,0 +1,19 @@ + + + + + + + DELETE FROM m_role_permission + WHERE role_id = (SELECT id FROM m_role WHERE name = 'Clerk') + AND permission_id = (SELECT id FROM m_permission WHERE code = 'ALL_FUNCTIONS') + + +