Example #1
0
 /**
  * Get additional workflow documents
  *
  * @param Workflow $workflow
  * @return array
  */
 public function getAdditionalDocuments(Workflow $workflow)
 {
     $documents = array();
     $code = $workflow->getMessageCode();
     switch ($code) {
         case Workflow::MESSAGE_CODE_PAPERWORK_UPDATE_DISTRIBUTIONS:
         case Workflow::MESSAGE_CODE_PAPERWORK_UPDATE_CONTRIBUTIONS:
             /** @var Distribution|BaseContribution $object */
             $object = $this->getObject($workflow);
             $bankInfo = $object->getBankInformation();
             break;
         case Workflow::MESSAGE_CODE_PAPERWORK_UPDATE_BANKING_INFORMATION:
             /** @var BankInformation $object */
             $bankInfo = $this->getObject($workflow);
             break;
         default:
             $bankInfo = null;
             break;
     }
     if ($bankInfo) {
         $bankPdfDocument = $bankInfo->getPdfDocument();
         if ($bankPdfDocument) {
             $documents[] = $bankPdfDocument;
         }
     }
     /** @var DocumentSignature $signature */
     foreach ($workflow->getDocumentSignatures() as $signature) {
         $signatureAdditionalDocuments = $this->signatureManager->getAdditionalDocuments($signature);
         $documents = array_merge($documents, $signatureAdditionalDocuments);
     }
     return $documents;
 }