App\Ninja\Repositories\InvoiceRepository::findOpenInvoices PHP Method

findOpenInvoices() public method

public findOpenInvoices ( $clientId, $entityType = false ) : mixed
$clientId
return mixed
    public function findOpenInvoices($clientId, $entityType = false)
    {
        $query = Invoice::scope()->invoiceType(INVOICE_TYPE_STANDARD)->whereClientId($clientId)->whereIsRecurring(false)->whereDeletedAt(null);
        if ($entityType == ENTITY_TASK) {
            $query->whereHasTasks(true);
        } elseif ($entityType == ENTITY_EXPENSE) {
            $query->whereHasExpenses(true);
        }
        return $query->where('invoice_status_id', '<', 5)->select(['public_id', 'invoice_number'])->get();
    }

Usage Example

 public function edit(ExpenseRequest $request)
 {
     $expense = $request->entity();
     $expense->expense_date = Utils::fromSqlDate($expense->expense_date);
     $actions = [];
     if ($expense->invoice) {
         $actions[] = ['url' => URL::to("invoices/{$expense->invoice->public_id}/edit"), 'label' => trans('texts.view_invoice')];
     } else {
         $actions[] = ['url' => 'javascript:submitAction("invoice")', 'label' => trans('texts.invoice_expense')];
         // check for any open invoices
         $invoices = $expense->client_id ? $this->invoiceRepo->findOpenInvoices($expense->client_id, ENTITY_EXPENSE) : [];
         foreach ($invoices as $invoice) {
             $actions[] = ['url' => 'javascript:submitAction("add_to_invoice", ' . $invoice->public_id . ')', 'label' => trans('texts.add_to_invoice', ['invoice' => $invoice->invoice_number])];
         }
     }
     $actions[] = \DropdownButton::DIVIDER;
     if (!$expense->trashed()) {
         $actions[] = ['url' => 'javascript:submitAction("archive")', 'label' => trans('texts.archive_expense')];
         $actions[] = ['url' => 'javascript:onDeleteClick()', 'label' => trans('texts.delete_expense')];
     } else {
         $actions[] = ['url' => 'javascript:submitAction("restore")', 'label' => trans('texts.restore_expense')];
     }
     $data = ['vendor' => null, 'expense' => $expense, 'method' => 'PUT', 'url' => 'expenses/' . $expense->public_id, 'title' => 'Edit Expense', 'actions' => $actions, 'vendors' => Vendor::scope()->with('vendor_contacts')->orderBy('name')->get(), 'vendorPublicId' => $expense->vendor ? $expense->vendor->public_id : null, 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), 'clientPublicId' => $expense->client ? $expense->client->public_id : null, 'categoryPublicId' => $expense->expense_category ? $expense->expense_category->public_id : null];
     $data = array_merge($data, self::getViewModel());
     return View::make('expenses.edit', $data);
 }
All Usage Examples Of App\Ninja\Repositories\InvoiceRepository::findOpenInvoices