Ejemplo n.º 1
0
 /**
  * Solo el usuario creador de la inscripción podrá descargar la factura si:
  * - Está pagada.
  * - Están publicadas.
  * - Tiene número de factura.
  *
  * @param string               $attribute
  * @param Participant          $object
  * @param UserInterface|string $user
  *
  * @return bool
  */
 protected function isGranted($attribute, $object, $user = null)
 {
     if (!$user instanceof UserInterface) {
         return false;
     }
     $registration = $object->getRegistration();
     if ($registration->getStatus() !== Registration::STATUS_PAID) {
         return false;
     }
     if (!$registration->getConvention()->isPublishedInvoices()) {
         return false;
     }
     if (empty($object->getInvoiceNumber())) {
         return false;
     }
     return $user == $registration->getUser();
 }