Exemplo n.º 1
0
 public function create(CreateEventArgs $eventArgs)
 {
     if ($eventArgs->getReject()) {
         //don't do anything if the create has already been rejected
         return;
     }
     $document = $eventArgs->getDocument();
     //Check create permissions
     if ($this->getAccessController()->areAllowed([Actions::CREATE], $eventArgs->getMetadata(), $document)->getAllowed()) {
         return;
     }
     $eventArgs->setReject(true);
     $eventArgs->getEventManager()->dispatchEvent(AccessControlEvents::CREATE_DENIED, new EventArgs($document, Actions::CREATE));
 }
Exemplo n.º 2
0
 public function create(CreateEventArgs $eventArgs)
 {
     if ($eventArgs->getReject()) {
         return;
     }
     $metadata = $eventArgs->getMetadata();
     if (!($stateMetadata = $metadata->getState())) {
         return;
     }
     $field = array_keys($stateMetadata)[0];
     $document = $eventArgs->getDocument();
     if (count($stateMetadata[$field]) > 0 && !in_array($metadata->getFieldValue($document, $field), $stateMetadata[$field])) {
         $eventArgs->getEventManager()->dispatchEvent(Events::BAD_STATE, $eventArgs);
         $eventArgs->setReject(true);
     }
 }