App\Ninja\Repositories\InvoiceRepository::getClientRecurringDatatable PHP Метод

getClientRecurringDatatable() публичный Метод

public getClientRecurringDatatable ( $contactId )
    public function getClientRecurringDatatable($contactId)
    {
        $query = DB::table('invitations')->join('accounts', 'accounts.id', '=', 'invitations.account_id')->join('invoices', 'invoices.id', '=', 'invitations.invoice_id')->join('clients', 'clients.id', '=', 'invoices.client_id')->join('frequencies', 'frequencies.id', '=', 'invoices.frequency_id')->where('invitations.contact_id', '=', $contactId)->where('invitations.deleted_at', '=', null)->where('invoices.invoice_type_id', '=', INVOICE_TYPE_STANDARD)->where('invoices.is_deleted', '=', false)->where('clients.deleted_at', '=', null)->where('invoices.is_recurring', '=', true)->whereIn('invoices.auto_bill', [AUTO_BILL_OPT_IN, AUTO_BILL_OPT_OUT])->select(DB::raw('COALESCE(clients.currency_id, accounts.currency_id) currency_id'), DB::raw('COALESCE(clients.country_id, accounts.country_id) country_id'), 'invitations.invitation_key', 'invoices.invoice_number', 'invoices.due_date', 'clients.public_id as client_public_id', 'clients.name as client_name', 'invoices.public_id', 'invoices.amount', 'invoices.start_date', 'invoices.end_date', 'invoices.client_enable_auto_bill', 'frequencies.name as frequency');
        $table = \Datatable::query($query)->addColumn('frequency', function ($model) {
            return $model->frequency;
        })->addColumn('start_date', function ($model) {
            return Utils::fromSqlDate($model->start_date);
        })->addColumn('end_date', function ($model) {
            return Utils::fromSqlDate($model->end_date);
        })->addColumn('amount', function ($model) {
            return Utils::formatMoney($model->amount, $model->currency_id, $model->country_id);
        })->addColumn('client_enable_auto_bill', function ($model) {
            if ($model->client_enable_auto_bill) {
                return trans('texts.enabled') . ' - <a href="javascript:setAutoBill(' . $model->public_id . ',false)">' . trans('texts.disable') . '</a>';
            } else {
                return trans('texts.disabled') . ' - <a href="javascript:setAutoBill(' . $model->public_id . ',true)">' . trans('texts.enable') . '</a>';
            }
        });
        return $table->make();
    }