예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 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;
 }