当前位置: 首页>>代码示例>>PHP>>正文


PHP Invoice::hasDocuments方法代码示例

本文整理汇总了PHP中app\models\Invoice::hasDocuments方法的典型用法代码示例。如果您正苦于以下问题:PHP Invoice::hasDocuments方法的具体用法?PHP Invoice::hasDocuments怎么用?PHP Invoice::hasDocuments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在app\models\Invoice的用法示例。


在下文中一共展示了Invoice::hasDocuments方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: sendInvoice

 public function sendInvoice(Invoice $invoice, $reminder = false, $pdfString = false)
 {
     $invoice->load('invitations', 'client.language', 'account');
     $entityType = $invoice->getEntityType();
     $client = $invoice->client;
     $account = $invoice->account;
     $response = null;
     if ($client->trashed()) {
         return trans('texts.email_errors.inactive_client');
     } elseif ($invoice->trashed()) {
         return trans('texts.email_errors.inactive_invoice');
     }
     $account->loadLocalizationSettings($client);
     $emailTemplate = $account->getEmailTemplate($reminder ?: $entityType);
     $emailSubject = $account->getEmailSubject($reminder ?: $entityType);
     $sent = false;
     if ($account->attatchPDF() && !$pdfString) {
         $pdfString = $invoice->getPDFString();
     }
     $documentStrings = array();
     if ($account->document_email_attachment && $invoice->hasDocuments()) {
         $documents = $invoice->documents;
         foreach ($invoice->expenses as $expense) {
             $documents = $documents->merge($expense->documents);
         }
         $documents = $documents->sortBy('size');
         $size = 0;
         $maxSize = MAX_EMAIL_DOCUMENTS_SIZE * 1000;
         foreach ($documents as $document) {
             $size += $document->size;
             if ($size > $maxSize) {
                 break;
             }
             $documentStrings[] = array('name' => $document->name, 'data' => $document->getRaw());
         }
     }
     foreach ($invoice->invitations as $invitation) {
         $response = $this->sendInvitation($invitation, $invoice, $emailTemplate, $emailSubject, $pdfString, $documentStrings);
         if ($response === true) {
             $sent = true;
         }
     }
     $account->loadLocalizationSettings();
     if ($sent === true) {
         if ($invoice->is_quote) {
             event(new QuoteWasEmailed($invoice));
         } else {
             event(new InvoiceWasEmailed($invoice));
         }
     }
     return $response;
 }
开发者ID:hannenijhuis,项目名称:invoiceninja,代码行数:52,代码来源:ContactMailer.php


注:本文中的app\models\Invoice::hasDocuments方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。