/** * * @param \Zoop\Shard\SoftDelete\SoftDeleteEventArgs $eventArgs */ public function postRestore(SoftDeleteEventArgs $eventArgs) { $document = $eventArgs->getDocument(); $metadata = $eventArgs->getMetadata(); $softDeleteMetadata = $metadata->getSoftDelete(); if (isset($softDeleteMetadata['restoredBy'])) { $metadata->setFieldValue($document, $softDeleteMetadata['restoredBy'], $this->getUsername()); } if (isset($softDeleteMetadata['restoredOn'])) { $metadata->setFieldValue($document, $softDeleteMetadata['restoredOn'], time()); } }
/** * * @param \Zoop\Shard\SoftDelete\SoftDeleteEventArgs $eventArgs * @return type */ public function preRestore(SoftDeleteEventArgs $eventArgs) { if (!($accessController = $this->getAccessController())) { //Access control is not enabled return; } $document = $eventArgs->getDocument(); $metadata = $eventArgs->getMetadata(); if (!$accessController->areAllowed([Actions::RESTORE], $metadata, $document)->getAllowed()) { //stop restore $this->getSoftDeleter()->softDelete($document, $metadata); $eventArgs->getEventManager()->dispatchEvent(Events::RESTORE_DENIED, $eventArgs); $eventArgs->setReject(true); } }