...
Objective
The module Role management needs to be migrated from the legacy application Web Application (Profile menu entry) to the new modular architecture . This module and will be part of the Core module. The Role management, in particular Add/Edit Role screen, should take contributions from the other modules to defines add additional specific authorities.
Use
...
cases
Web application
UC13-1:
search profileSearch Role:
ProfileRole list > enter search criteria > search
UC13-2:
add profileAdd Role:
ProfileRole list > add > select the authorities and define name > save
UC13-3:
update profileUpdate Role:
ProfileRole list > Select Profile > update the authorities and name > save
UC13-4:
replace profileReplace Role:
ProfileRole list > Select Profile > update the authorities and name > replace > define replacement date
UC13-5:
remove profileRemove Role: :
ProfileRole list > Select Profile > remove > select replacement
profileRole >
confconfirm
UC13-8: Duplicate
profileRole:
ProfileRole list > Select Profile >duplicate > give the new name
> conf
...
and, if required, update authorities > confirm
Backend
UC13-7: propagation of replacing / removing to user
Authority
Roles
Roles
C/R/U/D
Duplicate
Replace
Entities
(already Already existing):
tblRole
tblRoleRight
Details design
...
Backend module
Because openimis care openIMIS core already have an adapter to read the openIMIS roles and authorityauthorities, no business function will be required outside the database updates and profile replacementsRole management.
Mutations
Mutation as part of the schema file:
create roles => CreateRolesMutation
update roles => UpdateRolesMutation
submit roles => SubmitRolesMutation
replace roles => ReplaceRolesMutation
delete roles => DeleteRolesMutation
duplicate roles => DuplicateRolesMutation
Permissions
"gql_query_roles_perms": ["122001"]
...
"gql_mutation_create_roles_perms": ["122002"]
...
"gql_mutation_update_roles_perms": ["122003"]
...
"gql_mutation_replace_roles_perms": ["122006"]
...
"gql_mutation_duplicate_roles_perms": ["122005"]
...
"gql_mutation_delete_roles_perms": ["122004"]
...
"role_print_perms": ["122001"]
...
Models
the The models should be created based on the existing tables.
Services
none
...
Frontend
The front end frontend should group the authorities/rights per managing module, in . In order to do that the two first digits for the authorities/rights code. The authorities contributed from other modules should be grouped with the associated module’s name.
...
Role search page
The list of role roles should use the same layout as other existing list in openimis openIMIS (claims, insuree ...)
...
Role add/edit page
Ideally when reading or editing a role/profileRole, each module will have a "box" containing its authorities/rights; in . In read mode, the box will appear only if at least one of the authority right is selected. The box should move be placed according to the screen size (responsive design).
...
open Open point: Xavier Gillmann (Unlicensed) how to get the string for the rights and module name ? should we use the module configurations json ? will it support standard translation ?
...