1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 12:12:48 +01:00
invoiceninja/app/Services/PaymentTermService.php
2019-01-30 22:25:37 +11:00

78 lines
1.8 KiB
PHP

<?php
namespace App\Services;
use App\Ninja\Repositories\PaymentTermRepository;
use App\Ninja\Datatables\PaymentTermDatatable;
use URL;
class PaymentTermService extends BaseService
{
protected $paymentTermRepo;
protected $datatableService;
/**
* PaymentTermService constructor.
*
* @param PaymentTermRepository $paymentTermRepo
* @param DatatableService $datatableService
*/
public function __construct(PaymentTermRepository $paymentTermRepo, DatatableService $datatableService)
{
$this->paymentTermRepo = $paymentTermRepo;
$this->datatableService = $datatableService;
}
/**
* @return PaymentTermRepository
*/
protected function getRepo()
{
return $this->paymentTermRepo;
}
/**
* @param int $accountId
*
* @return \Illuminate\Http\JsonResponse
*/
public function getDatatable($accountId = 0)
{
$datatable = new PaymentTermDatatable(false);
$query = $this->paymentTermRepo->find($accountId);
return $this->datatableService->createDatatable($datatable, $query);
}
public function columns($entityType, $hideClient)
{
return [
[
'name',
function ($model) {
return link_to("payment_terms/{$model->public_id}/edit", $model->name)->toHtml();
},
],
[
'days',
function ($model) {
return $model->num_days;
},
],
];
}
public function actions($entityType)
{
return [
[
uctrans('texts.edit_payment_terms'),
function ($model) {
return URL::to("payment_terms/{$model->public_id}/edit");
},
],
];
}
}