1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 05:02:36 +01:00
invoiceninja/app/Models/Activity.php

83 lines
2.2 KiB
PHP
Raw Normal View History

2015-03-18 00:39:03 +01:00
<?php namespace App\Models;
2015-03-16 22:45:25 +01:00
2015-03-31 11:38:24 +02:00
use Auth;
2015-03-26 04:52:42 +01:00
use Eloquent;
2015-03-31 11:38:24 +02:00
use Utils;
use Session;
use Request;
2015-03-31 19:42:37 +02:00
use Carbon;
2015-03-26 04:52:42 +01:00
2015-03-16 22:45:25 +01:00
class Activity extends Eloquent
{
2015-03-31 19:42:37 +02:00
public $timestamps = true;
2015-03-16 22:45:25 +01:00
public function scopeScope($query)
{
return $query->whereAccountId(Auth::user()->account_id);
}
public function account()
{
2015-03-31 11:38:24 +02:00
return $this->belongsTo('App\Models\Account');
2015-03-16 22:45:25 +01:00
}
public function user()
{
2015-10-28 20:22:07 +01:00
return $this->belongsTo('App\Models\User')->withTrashed();
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public function contact()
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
return $this->belongsTo('App\Models\Contact')->withTrashed();
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public function client()
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
return $this->belongsTo('App\Models\Client')->withTrashed();
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public function invoice()
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
return $this->belongsTo('App\Models\Invoice')->withTrashed();
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public function credit()
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
return $this->belongsTo('App\Models\Credit')->withTrashed();
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public function payment()
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
return $this->belongsTo('App\Models\Payment')->withTrashed();
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public static function calcMessage($activityTypeId, $client, $user, $invoice, $contactId, $payment, $credit, $isSystem)
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
$data = [
'client' => link_to($client->getRoute(), $client->getDisplayName()),
'user' => $isSystem ? '<i>' . trans('texts.system') . '</i>' : $user->getDisplayName(),
'invoice' => $invoice ? link_to($invoice->getRoute(), $invoice->getDisplayName()) : null,
'quote' => $invoice ? link_to($invoice->getRoute(), $invoice->getDisplayName()) : null,
'contact' => $contactId ? $client->getDisplayName() : $user->getDisplayName(),
'payment' => $payment ? $payment->transaction_reference : null,
'credit' => $credit ? Utils::formatMoney($credit->amount, $client->currency_id) : null,
];
2015-03-16 22:45:25 +01:00
2015-10-28 20:22:07 +01:00
return trans("texts.activity_{$activityTypeId}", $data);
2015-03-16 22:45:25 +01:00
}
2015-10-28 20:22:07 +01:00
public function getMessage()
2015-03-16 22:45:25 +01:00
{
2015-10-28 20:22:07 +01:00
return static::calcMessage(
$this->activity_type_id,
$this->client,
$this->user,
$this->invoice,
$this->contact_id,
$this->payment,
$this->credit,
$this->is_system
);
2015-03-16 22:45:25 +01:00
}
}