Integrate Role and Permission Management from `solidus_user_roles` (solidus_core step)
Summary
Fixes #5105
This PR integrates role and permission management capabilities from the solidus_user_roles gem directly into Solidus, providing greater flexibility and control over user roles and permissions.
Major changes include:
-
Permission Sets: A newSpree::PermissionSetmodel has been added to the database schema. This model represents sets of permissions that can be assigned to roles. Each permission set has a name and a set identifier. -
Role Permissions: A newSpree::RolePermissionmodel has been added to the database schema. This model represents the association between roles and permission sets. -
Data Migration: Pull Request This rake task createsSpree::PermissionSetrecords for each existing permission set subclass inSpree::PermissionSets::*, andSpree::RolePermissionrecords for each role's associated permission sets. (It is designed to work with both new installations and existing Solidus stores that have custom roles and permissions).
bin/rails solidus:import_existing_permission_sets
-
~
Backend interface: closed~ -
~
Admin interface: Will only be merged intonebulab/adminbranch~
Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
- [ ] I have written a thorough PR description.
- [ ] I have kept my commits small and atomic.
- [ ] I have used clear, explanatory commit messages.
The following are not always needed:
I'm putting this on hold until we figure out a few things on how it will be used in the new admin dashboard.