1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00
invoiceninja/app/Ninja/Presenters/ProductPresenter.php

48 lines
1.3 KiB
PHP
Raw Normal View History

2017-01-30 20:40:43 +01:00
<?php
namespace App\Ninja\Presenters;
2016-08-10 16:04:17 +02:00
2017-11-03 10:25:14 +01:00
use DropdownButton;
2016-08-10 16:04:17 +02:00
use App\Libraries\Skype\HeroCard;
class ProductPresenter extends EntityPresenter
{
2016-12-15 14:28:24 +01:00
public function user()
{
return $this->entity->user->getDisplayName();
}
2016-08-10 16:04:17 +02:00
public function skypeBot($account)
{
$product = $this->entity;
$card = new HeroCard();
$card->setTitle($product->product_key);
$card->setSubitle($account->formatMoney($product->cost));
$card->setText($product->notes);
return $card;
}
2017-11-03 10:25:14 +01:00
public function moreActions()
{
$product = $this->entity;
if (! $product->trashed()) {
if (auth()->user()->can('create', ENTITY_INVOICE)) {
$actions[] = ['url' => 'javascript:submitAction("invoice")', 'label' => trans('texts.invoice_product')];
$actions[] = DropdownButton::DIVIDER;
}
$actions[] = ['url' => 'javascript:submitAction("archive")', 'label' => trans("texts.archive_product")];
} else {
$actions[] = ['url' => 'javascript:submitAction("restore")', 'label' => trans("texts.restore_product")];
}
if (! $product->is_deleted) {
$actions[] = ['url' => 'javascript:onDeleteClick()', 'label' => trans("texts.delete_product")];
}
return $actions;
}
2016-08-10 16:04:17 +02:00
}