invoiceninja/app/Http/Controllers/ActivityController.php

53 lines
2.3 KiB
PHP
Raw Normal View History

2015-03-17 11:30:56 +10:00
<?php namespace App\Http\Controllers;
use Auth;
use DB;
use Datatable;
use Utils;
2015-04-23 00:40:21 +03:00
use View;
2015-10-28 21:22:07 +02:00
use App\Models\Client;
use App\Models\Activity;
use App\Ninja\Repositories\ActivityRepository;
2015-03-17 07:45:25 +10:00
2015-04-02 16:12:12 +03:00
class ActivityController extends BaseController
2015-03-17 07:45:25 +10:00
{
2015-10-28 21:22:07 +02:00
protected $activityRepo;
public function __construct(ActivityRepository $activityRepo)
{
parent::__construct();
$this->activityRepo = $activityRepo;
}
2015-03-17 07:45:25 +10:00
public function getDatatable($clientPublicId)
{
2015-10-28 21:22:07 +02:00
$clientId = Client::getPrivateId($clientPublicId);
if ( ! $clientId) {
app()->abort(404);
}
$query = $this->activityRepo->findByClientId($clientId);
2015-03-17 07:45:25 +10:00
return Datatable::query($query)
2015-05-27 13:29:52 -04:00
->addColumn('activities.id', function ($model) { return Utils::timestampToDateTimeString(strtotime($model->created_at)); })
2015-10-28 21:22:07 +02:00
->addColumn('activity_type_id', function ($model) {
$data = [
'client' => link_to('/clients/' . $model->client_public_id, Utils::getClientDisplayName($model)),
'user' => $model->is_system ? '<i>' . trans('texts.system') . '</i>' : Utils::getPersonDisplayName($model->user_first_name, $model->user_last_name, $model->user_email),
'invoice' => $model->invoice ? link_to('/invoices/' . $model->invoice_public_id, $model->is_recurring ? trans('texts.recurring_invoice') : $model->invoice) : null,
'quote' => $model->invoice ? link_to('/quotes/' . $model->invoice_public_id, $model->invoice) : null,
'contact' => $model->contact_id ? link_to('/clients/' . $model->client_public_id, Utils::getClientDisplayName($model)) : Utils::getPersonDisplayName($model->user_first_name, $model->user_last_name, $model->user_email),
'payment' => $model->payment ?: '',
'credit' => Utils::formatMoney($model->credit, $model->currency_id)
];
return trans("texts.activity_{$model->activity_type_id}", $data);
})
2015-03-17 07:45:25 +10:00
->addColumn('balance', function ($model) { return Utils::formatMoney($model->balance, $model->currency_id); })
2015-10-13 18:44:01 +03:00
->addColumn('adjustment', function ($model) { return $model->adjustment != 0 ? Utils::wrapAdjustment($model->adjustment, $model->currency_id) : ''; })
2015-03-17 07:45:25 +10:00
->make();
}
}