Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 profile

    Search Role:

    Profile

    Role list > enter search criteria > search

  • UC13-2:

    add profile

    Add Role:

    Profile

    Role list > add > select the authorities and define name > save

  • UC13-3:

    update profile

    Update Role:

    Profile

    Role list > Select Profile > update the authorities and name > save

  • UC13-4:

    replace profile

    Replace Role:

    Profile

    Role list > Select Profile > update the authorities and name > replace > define replacement date

  • UC13-5:

    remove profile

    Remove Role: :

    Profile

    Role list > Select Profile > remove > select replacement

    profile

    Role >

    conf

    confirm

  • UC13-8: Duplicate

    profile

    Role:

    Profile

    Role 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).Image Removed

...

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 ?

...