/** * Get workflow documents to download * * @param Workflow $workflow * @param bool $filenameWithIndex * @return array */ public function getDocumentsToDownload(Workflow $workflow, $filenameWithIndex = true) { $signatures = $workflow->getDocumentSignatures(); $documents = array(); $applicationDocuments = array(); /** @var DocumentSignature $signature */ foreach ($signatures as $signature) { $applicationDocuments[$signature->getOrder()][] = $signature->getDocument(); } $otherDocuments = $this->getAdditionalDocuments($workflow); if (!$filenameWithIndex) { foreach ($applicationDocuments as $orderedDocuments) { $documents = array_merge($documents, $orderedDocuments); } $documents = array_merge($documents, $otherDocuments); } else { $index = 1; foreach ($applicationDocuments as $orderedDocuments) { /** @var Document $document */ foreach ($orderedDocuments as $document) { $document->setOriginalName($index . '.' . $document->getOriginalName()); $documents[] = $document; $index++; } } /** @var Document $document */ foreach ($otherDocuments as $document) { $document->setOriginalName($index . '.' . $document->getOriginalName()); $documents[] = $document; $index++; } } return $documents; }
public function sendCustodianWorkflowDocuments(User $ria, Workflow $workflow) { $documents = array(); if ($workflow->canHaveDocuments()) { /** @var DocumentSignature $signature */ foreach ($workflow->getDocumentSignatures() as $signature) { $document = $signature->getDocument(); $documents[$document->getOriginalName()] = $this->router->generate('rx_download_document', array('filename' => $document->getFilename(), 'originalName' => $document->getOriginalName()), true); } } if (count($documents)) { $template = $this->parameters['template']['docusign_custodian_workflow_documents']; $fromEmail = $this->parameters['from_email']['docusign_custodian_workflow_documents']; $custodian = $ria->getCustodian(); $context = array('custodian' => $custodian, 'ria' => $ria, 'logo' => $this->getRiaLogo($ria->getId())); return $this->sendMessage($template, $fromEmail, $custodian->getEmail(), $context, $documents); } return 0; }