private function getAccountSigningErrorMessage(DocumentSignature $signature, DocumentOwnerSignature $ownerSignature) { $status = $signature->getStatus(); switch ($status) { case Envelope::STATUS_SIGNED: $error = 'Signing completed.'; break; case Envelope::STATUS_COMPLETED: $error = 'Signing completed.'; break; case Envelope::STATUS_DECLINED: $error = 'Signing declined.'; break; case Envelope::STATUS_VOIDED: $error = 'Envelope has been voted.'; break; case Envelope::STATUS_DELETED: $error = 'Envelope has been deleted.'; break; case Envelope::STATUS_TIMED_OUT: $error = 'Timed out. Please try again later.'; break; default: $error = null; break; } if (null !== $error) { return $error; } $ownerStatus = $ownerSignature->getStatus(); switch ($ownerStatus) { case DocumentOwnerSignature::STATUS_SIGNED: $error = 'You already complete signing.'; break; case DocumentOwnerSignature::STATUS_COMPLETED: $error = 'You already complete signing.'; break; case DocumentOwnerSignature::STATUS_DECLINED: $error = 'Signing was declined.'; break; default: $error = null; break; } return $error; }
/** * Create new account owner signature object * * @param DocumentSignature $documentSignature * @param AccountOwnerInterface $owner * @param string $status * @return DocumentOwnerSignature */ public function createOwnerSignature(DocumentSignature $documentSignature, AccountOwnerInterface $owner, $status = DocumentOwnerSignature::STATUS_CREATED) { $signature = new DocumentOwnerSignature(); $signature->setDocumentSignature($documentSignature); $signature->setStatus($status); $ownerObject = $owner->getObjectToSave(); if ($ownerObject instanceof User && $ownerObject->hasRole('ROLE_CLIENT')) { $signature->setClientOwner($ownerObject); } elseif ($ownerObject instanceof ClientAdditionalContact) { $signature->setContactOwner($ownerObject); } return $signature; }