1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 08:21:34 +02:00

Limit bulk emailing

This commit is contained in:
Hillel Coren 2018-02-04 10:45:50 +02:00
parent 0da944a887
commit 3906c13c77
3 changed files with 13 additions and 3 deletions

View File

@ -206,7 +206,9 @@ class InvoiceApiController extends BaseAPIController
$invoice = $recurringInvoice;
}
$reminder = isset($data['email_type']) ? $data['email_type'] : false;
$this->dispatch(new SendInvoiceEmail($invoice, auth()->user()->id, $reminder));
if (auth()->user()->isTrusted()) {
$this->dispatch(new SendInvoiceEmail($invoice, auth()->user()->id, $reminder));
}
}
}
@ -337,6 +339,10 @@ class InvoiceApiController extends BaseAPIController
public function emailInvoice(InvoiceRequest $request)
{
if (! auth()->user()->isTrusted()) {
return $this->errorResponse('Requires paid pro plan', 400);
}
$invoice = $request->entity();
if ($invoice->is_recurring && $recurringInvoice = $this->invoiceRepo->createRecurringInvoice($invoice)) {

View File

@ -138,8 +138,12 @@ class User extends Authenticatable
/**
* @return mixed
*/
public function isPaidPro()
public function isTrusted()
{
if (Utils::isSelfHost()) {
true;
}
return $this->account->isPro() && ! $this->account->isTrial();
}

View File

@ -196,7 +196,7 @@ class InvoiceDatatable extends EntityDatatable
'label' => mtrans($this->entityType, 'download_' . $this->entityType),
'url' => 'javascript:submitForm_'.$this->entityType.'("download")',
];
if (Utils::isSelfHost() || auth()->user()->isPaidPro()) {
if (auth()->user()->isTrusted()) {
$actions[] = [
'label' => mtrans($this->entityType, 'email_' . $this->entityType),
'url' => 'javascript:submitForm_'.$this->entityType.'("emailInvoice")',