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)); }