feat: assignments with disabled formalities
addresses #869dnvm8c
This commit is contained in:
@@ -50,11 +50,17 @@ class DispositionVoter extends Voter
|
||||
$disposition = $subject;
|
||||
|
||||
return match ($attribute) {
|
||||
static::VIEW, static::EDIT, static::CONTRACT, static::INVOICE => $this->security->isGranted('ROLE_ADMINISTRATIVE')
|
||||
static::VIEW, static::EDIT => $this->security->isGranted('ROLE_ADMINISTRATIVE')
|
||||
|| $this->assertTeamerAccess($token, $disposition),
|
||||
// The documents themselves do not exist on a skip-formalities assignment, so neither
|
||||
// the blank PDFs nor the upload screens may be reachable for it.
|
||||
static::CONTRACT, static::INVOICE => false === $disposition->isSkipFormalities()
|
||||
&& ($this->security->isGranted('ROLE_ADMINISTRATIVE')
|
||||
|| $this->assertTeamerAccess($token, $disposition)),
|
||||
static::DELETE => $this->security->isGranted('ROLE_ADMIN'),
|
||||
static::FEEDBACK => $this->security->isGranted('ROLE_ADMINISTRATIVE')
|
||||
|| $this->assertHouseManagerAccess($token, $disposition),
|
||||
static::FEEDBACK => false === $disposition->isSkipFormalities()
|
||||
&& ($this->security->isGranted('ROLE_ADMINISTRATIVE')
|
||||
|| $this->assertHouseManagerAccess($token, $disposition)),
|
||||
static::CONTRACT_SUPPLEMENTARY => $this->assertContractUploadAllowed($disposition),
|
||||
static::ADMIN_DOCUMENT_UPLOAD => $this->assertAdminDocumentUploadAllowed($disposition),
|
||||
static::CALL_OFF => $this->security->isGranted('ROLE_ADMINISTRATIVE')
|
||||
@@ -105,6 +111,10 @@ class DispositionVoter extends Voter
|
||||
return false;
|
||||
}
|
||||
|
||||
if (true === $disposition->isSkipFormalities()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Disposition::STATUS_CALLED_OFF === $disposition->getStatus()) {
|
||||
return false;
|
||||
}
|
||||
@@ -121,6 +131,10 @@ class DispositionVoter extends Voter
|
||||
return false;
|
||||
}
|
||||
|
||||
if (true === $disposition->isSkipFormalities()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Disposition::STATUS_CALLED_OFF !== $disposition->getStatus();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user