dodil/erp-brick-contracts

tests/scenarios/roles.yaml

# The role catalogue for contracts' scenarios — modules/contracts actors, permission for permission (the pool is
# seeded from this file: dodil appid roles set). An approval GROUP is a pool role: the gb pack's policy routes a
# clause deviation to `legal`, a value outside its band to `finance`, both with `director` as the mandatory fallback.
# bp:* lines are what the business-partner spec gives each role (the scenarios make their own partners).
roles:
  contract_admin: [contract:type:write, contract:clause:write, contract:template:write, contract:template:approve,
                   contract:contract:read, contract:contract:read_all, contract:employment:read, contract:contract:write,
                   contract:contract:send, contract:contract:recall, contract:contract:upload_executed,
                   contract:evidence:read, contract:amendment:write, contract:settings:write, bp:partner:write,
                   bp:person:read]
  owner:          [contract:contract:read, contract:contract:write, contract:contract:send, contract:contract:recall,
                   contract:contract:upload_executed, contract:evidence:read, contract:amendment:write]
  hr_admin:       [contract:contract:read, contract:contract:write, contract:contract:send, contract:contract:recall,
                   contract:contract:upload_executed, contract:evidence:read, contract:amendment:write,
                   contract:employment:read]
  manager:        [contract:contract:read_all]
  legal:          [contract:approval:decide, contract:contract:read]
  finance:        [contract:approval:decide, contract:contract:read]
  director:       [contract:approval:decide, contract:contract:read, contract:contract:sign]
  our_signatory:  [contract:contract:sign]
  hr_service:     [contract:capability:invoke, bp:person:sync, bp:person:read]
  crm_service:    [contract:capability:invoke]
  clock:          [contract:run:tick]
service_clients: [clock, hr_service, crm_service]