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);
}]];
}