Add users automatically to groups when created via api#6216
Closed
fthobe wants to merge 9 commits intosolidusio:mainfrom
Closed
Add users automatically to groups when created via api#6216fthobe wants to merge 9 commits intosolidusio:mainfrom
fthobe wants to merge 9 commits intosolidusio:mainfrom
Conversation
Added associations in Spree::User model for user groups to support grouping users for targeted pricing and management. Created Spree::UserGroup model with associations to users and stores to enable flexible user group management. Updated locale files to include translations for user groups. Added migrations to create spree_user_groups table and add user group references to users and stores.
- Added UserGroupsController to manage user groups. - Created views for user group management, including: - New user group form (`new.html.erb`) - User group edit form (`edit.html.erb`) - User group index view (`index.html.erb`) - Partial view for user group form fields. - Enhanced user management by allowing assignment of user groups to users in the user form. - Updated store form to include a selection for the default cart user group. - Added breadcrumb navigation for improved user experience in the admin panel. This feature allows administrators to create, edit, and manage user groups, facilitating better organization and access control for users within the Spree application.
- Created a new users sub-menu partial to manage user-related navigation, including links to users and user groups. These enhancements improve the organization of the admin interface, making it easier for administrators to manage user groups effectively.
- Updated UsersController to assign the default user group to new users if the current store has the `enforce_group_upon_signup` setting enabled. - Added a checkbox in the store settings form to allow administrators to enable or disable the `enforce_group_upon_signup` feature. - Included a new translation key for the `enforce_group_upon_signup` label in the English locale file. This feature ensures that all new users are automatically added to a specified user group, improving user management and organization within the Spree application.
- Implemented the `set_user_group` method in `Spree::Api::UsersController`. - This method assigns the default user group to a new user if the current store has the `enforce_group_upon_signup` setting enabled. - Ensures that new users are automatically added to the specified user group during signup.
- Modified the `user_attributes` preference in `Spree::ApiConfiguration` to include `:user_group_id`. - This change allows the user group information to be included in API responses for user details.
- Updated the user request specs to test the assignment of the default user group upon user creation. - Added scenarios to verify that the user group is assigned when `enforce_group_upon_signup` is enabled and not assigned when it is disabled.
- Updated the `@@user_attributes` in `Spree::PermittedAttributes` to include `:user_group_id`. - This allows the user group to be permitted during user creation and updates via the API.
b19d82d to
d6bea81
Compare
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview:
This pull request introduces functionality to automatically assign a user group to new users upon signup, based on the store's configuration. This enhancement allows for better user management and organization within the application by ensuring that users are categorized into appropriate groups from the moment they register.
Key Changes:
User Group Assignment Logic:
set_user_groupmethod in theSpree::Api::UsersController. This method checks if the current store has theenforce_group_upon_signupsetting enabled and assigns the default user group to new users accordingly.API Configuration Update:
user_attributespreference inSpree::ApiConfigurationto include:user_group_id. This change allows the user group information to be included in API responses for user details.Request Specs for User Group Assignment:
enforce_group_upon_signupis enabled and not assigned when it is disabled.Permitted Attributes Update:
@@user_attributesinSpree::PermittedAttributesto include:user_group_id, allowing the user group to be permitted during user creation and updates via the API.Benefits:
Checklist
Check out our PR guidelines for more details.
The following are mandatory for all PRs:
The following are not always needed: