App\Ninja\Datatables\InvoiceDatatable::columns PHP Method

columns() public method

public columns ( )
    public function columns()
    {
        $entityType = $this->entityType;
        return [['invoice_number', function ($model) use($entityType) {
            if (!Auth::user()->can('viewByOwner', [ENTITY_INVOICE, $model->user_id])) {
                return $model->invoice_number;
            }
            return link_to("{$entityType}s/{$model->public_id}/edit", $model->invoice_number, ['class' => Utils::getEntityRowClass($model)])->toHtml();
        }], ['client_name', function ($model) {
            if (!Auth::user()->can('viewByOwner', [ENTITY_CLIENT, $model->client_user_id])) {
                return Utils::getClientDisplayName($model);
            }
            return link_to("clients/{$model->client_public_id}", Utils::getClientDisplayName($model))->toHtml();
        }, !$this->hideClient], ['invoice_date', function ($model) {
            return Utils::fromSqlDate($model->invoice_date);
        }], ['amount', function ($model) {
            return Utils::formatMoney($model->amount, $model->currency_id, $model->country_id);
        }], ['balance', function ($model) {
            return $model->partial > 0 ? trans('texts.partial_remaining', ['partial' => Utils::formatMoney($model->partial, $model->currency_id, $model->country_id), 'balance' => Utils::formatMoney($model->balance, $model->currency_id, $model->country_id)]) : Utils::formatMoney($model->balance, $model->currency_id, $model->country_id);
        }, $entityType == ENTITY_INVOICE], ['due_date', function ($model) {
            return Utils::fromSqlDate($model->due_date);
        }], ['invoice_status_name', function ($model) use($entityType) {
            return $model->quote_invoice_id ? link_to("invoices/{$model->quote_invoice_id}/edit", trans('texts.converted'))->toHtml() : self::getStatusLabel($model);
        }]];
    }