base_language: en-us
entities:
AbstractCase:
title:
Abstract Case
description:
This is a case compliant for anything
type:
Case
tile:
abstract: true
roles_spec:
complainant:
status_spec:
invite:
permissions:
- acceptComplainantInvite
- declineComplainantInvite
active:
permissions:
# roles
- inviteComplainant
- cancelComplainantInvite
- inviteDefendant
- inviteWitness
# details
- addDamageEvent
- updateDamageEvent
- addEvent
- updateEvent
- addComment
- updateComment
- addCompensation
- updateCompensation
- addEvidence
# publishing
- callTheJudges
# judge research
- acceptJudgeProposal
- declineJudgeProposal
# inviting defendant
- sendDefendandInvite
- uploadInviteConfirmation
declined:
permissions: null
complainant_representative:
status_spec:
invite:
permissions:
- acceptInvite
- declineInvite
active:
permissions:
- addEvent
- updateEvent
- addComment
- updateComment
- addCompensation
- updateCompensation
- addEvidence
defendant:
status_spec:
invite:
permissions:
- acceptInvite
- declineInvite
expiration:
- >14d
active:
permissions:
- addEvent
- addComment
- proposeCompensation
expired:
permissions:
- answer_case
defendant_representative:
status_spec:
invite:
permissions:
- acceptInvite
- declineInvite
expiration:
- >14d
active:
permissions:
- addComment
- addEvent
- proposeCompensation
expired:
permissions:
- answer_case
witness:
status_spec:
invite:
permissions:
- acceptInvite
- declineInvite
active:
permissions:
- addComment
- updateComment
- addEvent
- updateEvent
judge:
status_spec:
call:
permissions:
- sendJudgeProposal
- declineJudgeCall
proposal:
permissions:
- cancelProposal
active:
permissions:
- scheduleMeeting
- startMeeting
- addComment
- publishJudgement
actions:
inviteComplainant:
assert:
and:
- EQUAL this.status draft
- self.roles.humanity.human.active
- or:
- self.roles.this.complainant.active
- self.roles.this.complainant_representative.active
args:
email: email
self: id
code:
- CONDITION:
cond:
- email
true:
- INVITE_self email -> self
- CREATE_ROLE self this.complainant.invite
false:
- CREATE_ROLE self this.complainant.invite
acceptComplainantInvite:
assert:
and:
- EQUAL this.status draft
- self.roles.humanity.human.active
- or:
- EQUAL self.type human
- EQUAL self.type company
code:
- UPDATE_ROLE_STATUS self.roles.this.invite self.roles.this.active
declineComplainantInvite:
assert:
and:
- EQUAL this.status draft
- self.roles.humanity.human.active
- or:
- EQUAL self.type human
- EQUAL self.type company
code:
- UPDATE_ROLE_STATUS self.roles.this.invite self.roles.this.declined