Commit c3693eda authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Mise en place d'un droit de super-édition de services même après clôture ET après mise en paiement.

parent 476f419f
......@@ -314,13 +314,16 @@ class ServiceAssertion extends AbstractAssertion
protected function assertCloture(Role $role, Intervenant $intervenant)
{
if ($intervenant->getStatut()->getPeutCloturerSaisie()) {
if (!$role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES)) { // si on peut éditer toujours alors pas la peine de tester...
$cloture = $this->getServiceValidation()->getValidationClotureServices($intervenant);
if ($cloture->getId() !== null) return false; // pas de saisie si c'est clôturé
$softPassCloture = $role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES);
$hardPassCloture = $role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES_AVEC_MEP);
if ($hardPassCloture) return true; // on n'a toujours le droit
if ($softPassCloture) { // si on peut éditer toujours alors pas la peine de tester...
return ! $intervenant->hasMiseEnPaiement(); // on n'a le droit s'il n'y a pas de MEP
} else {
if ($intervenant->hasMiseEnPaiement()) {
return false;
}
$cloture = $this->getServiceValidation()->getValidationClotureServices($intervenant);
if ($cloture && $cloture->getId()) return false; // pas de saisie si c'est clôturé
}
}
return true;
......
......@@ -50,6 +50,7 @@ class Privileges extends \UnicaenAuth\Provider\Privilege\Privileges {
const CHARGENS_VISUALISATION = 'chargens-visualisation';
const CLOTURE_CLOTURE = 'cloture-cloture';
const CLOTURE_EDITION_SERVICES = 'cloture-edition-services';
const CLOTURE_EDITION_SERVICES_AVEC_MEP = 'cloture-edition-services-avec-mep';
const CLOTURE_REOUVERTURE = 'cloture-reouverture';
const CONTRAT_CONTRAT_GENERATION = 'contrat-contrat-generation';
const CONTRAT_CREATION = 'contrat-creation';
......
......@@ -14,7 +14,8 @@ $isCloture = $cloture->getId() !== null;
$canCloturer = $this->isAllowed($cloture, Privileges::CLOTURE_CLOTURE);
$canDecloturer = $this->isAllowed($cloture, Privileges::CLOTURE_REOUVERTURE);
$canEditAfter = $this->isAllowed(Privileges::getResourceId(Privileges::CLOTURE_EDITION_SERVICES));
$canEditAfter = $this->isAllowed(Privileges::getResourceId(Privileges::CLOTURE_EDITION_SERVICES))
|| $this->isAllowed(Privileges::getResourceId(Privileges::CLOTURE_EDITION_SERVICES_AVEC_MEP));
?>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment