Magento_Company
Magento Modules:
- Magento_Company
- Magento_CompanyGraphQl
- Magento_CompanyPayment
- Magento_CompanyShipping
Adobe Commerce Packages
- magento/module-company
- magento/module-company-graph-ql
- magento/module-company-payment
- magento/module-company-shipping
Repository
Note: this repo is only accessible with a Hyvä Enterprise license or as a contributor.
For more details, see: https://www.hyva.io/hyva-enterprise.html.
https://gitlab.hyva.io/hyva-enterprise/b2b/magento2-ee-magento-company
Features
All points are rated according to priority as P1 (critical), P2 (important), P3 (minor).
-
basic - does not break layout/design
Note: All below features assume output only if company accounts are enabled in Stores > Configuration:
btob/website_configuration/company_active
.
Global
Customer Account Header Navigation Menu
Feature complete (click to expand items checklist)
-
[P1] Add 'Create New Company Account' when logged out -
[P3] Add 'Company Structure' when logged in -
[P3] Visible with relevant permissions only (view or manage users/teams)
-
Company Blocked Header Notice
-
[P2] Global header blocked notice
Visual QA
-
[P3] Blocked notice needs styling (center text and add red background to match Luma)
/customer/account/login/
)
Account Login (-
[P1] Add create company section alongside create account option
/company/account/create
)
Company Create (Feature complete (click to expand items checklist)
-
[P1] Show form fields and inputs -
[P2] Validation works -
[P2] Show region dropdown for supported countries -
[P1] Successful Company Creation from frontend -
[P3] Support for customer custom attributes - #24 -
[P3] Client-side validation for existing customer/company accounts (email check)
Luma bug: file/image customer custom attributes are not saved
Future enhancement: Postcode is always required regardless of country (doesn't respect 'postcode is optional' admin setting). This is a bug in Luma/default Magento.
Customer Account Area (all pages)
Feature complete (click to expand items checklist)
-
[P1] Add menu items - Company profile, company users, company structure, roles & permissions
-
[P2] Each item visible with relevant permissions only
Visual QA
-
[P3] Menu items ordering - Should match Luma
/customer/account/
)
Customer Account Dashboard (-
[P3] Output role
/customer/account/edit/
)
Customer Account Edit (
/company/profile/
)
Company Profile Detail Page (Feature complete (click to expand items checklist)
-
[P2] Accessible with relevant permissions only (view/edit profile) -
[P2] Edit profile link -
[P2] Only output if user has relevant permissions
-
-
[P2] View account information -
[P3] Only output if user has relevant permissions [x] [P2] View legal address -
[P3] Only output if user has relevant permissions
-
-
[P2] View available payment methods -
[P3] Only output if user has relevant permissions
-
-
[P2] View available shipping methods -
[P3] Only output if user has relevant permissions
Does not work in Luma - core bug - should be fixed at block level like payments (e.g. suppress
toHtml()
) -
/company/profile/edit/
)
Company Profile Edit Page (Feature complete (click to expand items checklist)
-
[P2] Accessible with relevant permissions only (edit profile) -
[P2] Form fields output - Company information, legal address
-
[P2] Form fields populated with saved data -
[P2] Form fields validation -
[P2] Submit form (update profile)
Future refactoring: review/combine region field implementation with create company page
/company/role/
)
Company Roles and Permissions Listing (Feature complete (click to expand items checklist)
-
[P1] Accessible with relevant permissions only (view/manage roles) -
[P1] Roles listing table - ID, Role, Users (count) and Actions columns
-
[P1] Edit role action -
[P2] Visible with relevant permissions only (manage roles)
-
-
[P1] Delete role action (see modal features below) -
[P2] Visible with relevant permissions only (manage roles)
-
-
[P2] Duplicate role action -
[P2] Visible with relevant permissions only (manage roles)
-
-
[P2] Pagination works -
[P2] Limiter works -
[P1] Add new role button -
[P2] Visible with relevant permissions only (manage roles)
-
Delete Role Modal
-
[P1] Modal with 'are you sure' message and ok/cancel buttons -
[P1] Delete role -
[P1] Error message if role cannot be deleted (i.e. has users associated to it) Implemented on page reload as global message, not in modal like Luma
/company/role/edit/
)
Company Roles and Permissions Add New (Feature complete (click to expand items checklist)
-
[P1] Accessible with relevant permissions only (manage roles) -
[P2] Add role name -
[P2] Role name required field validation
-
-
[P1] Role permissions tree output -
[P1] Select/deselect permissions -
[P2] Expand/collapse permissions - via each section in tree -
[P2] Expand/collapse permissions - globally (links above) -
[P1] Submit / create role
Visual QA
-
[P2] Title should be 'Add New Role' on main page -
[P2] Lowest tree level nodes need indenting further (currently align with parent) -
[P3] Tree chevrons/arrows are the wrong way round (should be ˄ when expanded and ˅ when collapsed)
/company/role/edit/id/{id}/
)
Company Roles and Permissions Edit (Feature complete (click to expand items checklist)
-
[P1] Accessible with relevant permissions only (manage roles) -
[P2] Update role name -
[P2] Role name required field validation
-
-
[P1] Role permissions tree output -
[P1] Select/deselect permissions -
[P2] Expand/collapse permissions - via each section in tree -
[P2] Expand/collapse permissions - globally (links above) -
[P1] Submit / update role
Visual QA
-
[P2] Lowest tree level nodes need indenting further (currently align with parent) -
[P3] Tree chevrons/arrows are the wrong way round (should be ˄ when expanded and ˅ when collapsed)
/company/users/
)
Company Users (Feature complete (click to expand items checklist)
-
[P1] Accessible with relevant permissions only (view/manage users) -
[P1] Users listing table - ID, Name, Email, Role, Team, Status and Actions columns
-
[P1] Edit user action (see modal features below) -
[P2] Visible with relevant permissions only (manage users)
-
-
[P1] Delete user action (see modal features below) -
[P2] Visible with relevant permissions only (manage users)
-
-
[P2] Switch between all/active/inactive users -
[P3] Show active users by default -
[P2] Pagination works -
[P2] Limiter works -
[P3] No results message (when filtering inactive with no results) -
[P1] Add new user button (see modal features below) -
[P2] Visible with relevant permissions only (manage users)
-
Add User Modal
-
[P1] Modal with form fields - Title, Role Selection, First/Last Name, Email, Phone, Status
-
[P2] Modal form field validation -
[P3] Don't allow a duplicate email address to be set (see company structure below for detail)
-
-
[P1] Submit form / add user -
[P2] Don't show / allow selection of 'Company Administrator' in 'User Role' select field for all other users - Should only display for 'Company Administrator' user (but be disabled)
-
[P3] Support for customer custom attributes - #24
Luma bug: file/image customer custom attributes are not saved
Edit User Modal
-
[P1] Modal with form fields pre-populated from existing data - Title, Role Selection, First/Last Name, Email, Phone, Status
-
[P2] Modal form field validation -
[P1] Submit form / update user -
[P2] Don't allow updating of 'User Role' or 'Status' of company administrator account (should be disabled) -
[P2] Don't show / allow selection of 'Company Administrator' in 'User Role' select field for all other users - Should only display for 'Company Administrator' user (but be disabled)
-
[P3] Support for customer custom attributes - #24
Luma bug: file/image customer custom attributes are not saved
Delete User Modal
-
[P1] Modal with message and delete/make inactive buttons -
[P2] Only show inactive button if user is currently active -
[P1] Update user to inactive status -
[P1] Delete user
/company/
)
Company Structure (Completed features (click to expand items checklist)
Non-Company Account Users
-
[P2] Show 'create company account' message and button (link) for non company users only
View Only
-
[P1] Accessible with relevant permissions only (view users/teams only) -
[P1] View company structure tree output -
[P2] Expand/collapse tree sections -
[P2] Expand/collapse all sections -
[P2] View team tooltip
View & Manage
-
[P1] Accessible with relevant permissions only (manage users/teams) -
[P1] Company structure tree output -
[P2] Expand/collapse tree sections -
[P2] Expand/collapse all sections -
[P2] Team tooltip -
[P1] Add user link (see modal features below) -
[P1] Add team link (see modal features below) -
[P1] Edit selected user/team link (see modal features below) -
[P1] Delete selected user/team link (see modal features below) -
[P1] Select/move users/teams
Add User Modal
-
[P1] Modal with form fields - Title, Role Selection, First/Last Name, Email, Phone, Status
-
[P2] Modal form field validation -
[P3] Don't allow a duplicate email address to be set
-
-
[P2] Don't show / allow selection of 'Company Administrator' in 'User Role' select field for all other users
-
[P1] Submit form / add user -
[P2] Don't show / allow selection of 'Company Administrator' in 'User Role' select field -
[P3] Support for customer custom attributes - #24
Luma bug: file/image customer custom attributes are not saved
Edit User Modal
-
[P2] Show error message if no user selected -
[P2] Show error message if no items selected -
[P1] Modal with form fields pre-populated from existing data - Title, Role Selection, First/Last Name, Email, Phone, Status
-
[P2] Modal form field validation -
[P1] Submit form / update user -
[P2] Don't allow updating of 'User Role' or 'Status' of company administrator account (should be disabled) -
[P2] Don't show / allow selection of 'Company Administrator' in 'User Role' select field for all other users - Should only display for 'Company Administrator' user (but be disabled)
-
[P3] Support for customer custom attributes - #24
Luma bug: file/image customer custom attributes are not saved
Add Team Modal
-
[P1] Modal with form fields - Title, Description
-
[P2] Modal form field validation -
[P1] Submit form / add team
Edit Team Modal
-
[P2] Show error message if no team selected -
[P2] Show error message if no items selected -
[P1] Modal with form fields pre-populated from existing data - Title, Description
-
[P2] Modal form field validation -
[P1] Submit form / update team
Delete User Modal
-
[P2] Show error message if no user selected -
[P2] Show error message if no items selected -
[P1] Modal with message and delete button -
[P1] Delete user
Delete Team Modal
-
[P2] Show error message if no team selected -
[P2] Show error message if no items selected -
[P1] Modal with message and delete button -
[P1] Delete team
Unsupported features (click to expand items checklist)
-
[P3] Drag user/team to a new position in the same level Feature will not be added. While this can be done in Luma, on page refresh these positions are not saved (it is always alphabetical)
-
[P3] Multiple select/move users/teams - Cmd/ctrl select (or shift for a range), then drag as one
Feature unlikely to be added (at least anytime soon).
/company/accessdenied/
)
Access Denied Page (For when current user does not have relevant permissions to view a page (they get redirected to this page)
-
[P2] Access Denied Title and Message
Contributors
Voting
Use