2017-01-30 21:40:43 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Ninja\Presenters;
|
2015-11-12 22:36:28 +02:00
|
|
|
|
2017-01-22 12:09:29 +02:00
|
|
|
use Carbon;
|
2015-11-12 22:36:28 +02:00
|
|
|
use Utils;
|
|
|
|
|
|
2017-01-30 18:05:31 +02:00
|
|
|
class PaymentPresenter extends EntityPresenter
|
|
|
|
|
{
|
2016-12-25 13:15:58 +02:00
|
|
|
public function amount()
|
|
|
|
|
{
|
|
|
|
|
return Utils::formatMoney($this->entity->amount, $this->entity->client->currency_id);
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-09 12:49:57 +02:00
|
|
|
public function completedAmount()
|
|
|
|
|
{
|
|
|
|
|
return Utils::formatMoney($this->entity->getCompletedAmount(), $this->entity->client->currency_id);
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-09 12:46:58 +02:00
|
|
|
public function currencySymbol()
|
|
|
|
|
{
|
2018-03-22 15:31:23 +02:00
|
|
|
return Utils::getFromCache($this->entity->client->currency_id ? $this->entity->client->currency_id : DEFAULT_CURRENCY, 'currencies')->symbol;
|
2017-02-09 12:46:58 +02:00
|
|
|
}
|
|
|
|
|
|
2015-11-12 22:36:28 +02:00
|
|
|
public function client()
|
|
|
|
|
{
|
|
|
|
|
return $this->entity->client ? $this->entity->client->getDisplayName() : '';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function payment_date()
|
|
|
|
|
{
|
|
|
|
|
return Utils::fromSqlDate($this->entity->payment_date);
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-22 12:09:29 +02:00
|
|
|
public function month()
|
|
|
|
|
{
|
|
|
|
|
return Carbon::parse($this->entity->payment_date)->format('Y m');
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-01 15:47:19 +03:00
|
|
|
public function payment_type()
|
|
|
|
|
{
|
2018-07-29 10:26:37 +03:00
|
|
|
if ($this->payer_id) {
|
|
|
|
|
return 'PayPal';
|
|
|
|
|
} else {
|
|
|
|
|
return $this->entity->payment_type ? $this->entity->payment_type->name : trans('texts.manual_entry');
|
|
|
|
|
}
|
2018-05-01 15:47:19 +03:00
|
|
|
}
|
|
|
|
|
|
2015-11-12 22:36:28 +02:00
|
|
|
public function method()
|
|
|
|
|
{
|
|
|
|
|
if ($this->entity->account_gateway) {
|
|
|
|
|
return $this->entity->account_gateway->gateway->name;
|
|
|
|
|
} elseif ($this->entity->payment_type) {
|
2017-01-29 22:16:04 +02:00
|
|
|
return trans('texts.payment_type_' . $this->entity->payment_type->name);
|
2015-11-12 22:36:28 +02:00
|
|
|
}
|
|
|
|
|
}
|
2017-09-12 13:43:59 +03:00
|
|
|
|
2017-09-13 00:20:18 +03:00
|
|
|
public function calendarEvent($subColors = false)
|
2017-09-12 13:43:59 +03:00
|
|
|
{
|
|
|
|
|
$data = parent::calendarEvent();
|
|
|
|
|
$payment = $this->entity;
|
|
|
|
|
$invoice = $payment->invoice;
|
|
|
|
|
|
2017-09-13 14:40:07 +03:00
|
|
|
$data->title = trans('texts.payment') . ' ' . $invoice->invoice_number . ' | ' . $this->completedAmount() . ' | ' . $this->client();
|
2017-09-12 13:43:59 +03:00
|
|
|
$data->start = $payment->payment_date;
|
2017-09-13 14:40:07 +03:00
|
|
|
|
|
|
|
|
if ($subColors) {
|
|
|
|
|
$data->borderColor = $data->backgroundColor = Utils::brewerColor($payment->payment_status_id);
|
|
|
|
|
} else {
|
2017-09-18 08:27:40 +03:00
|
|
|
$data->borderColor = $data->backgroundColor = '#5fa213';
|
2017-09-13 14:40:07 +03:00
|
|
|
}
|
2017-09-12 13:43:59 +03:00
|
|
|
|
|
|
|
|
return $data;
|
|
|
|
|
}
|
2016-05-23 12:26:08 +03:00
|
|
|
}
|