mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Add reminder schedules to invoice transformer selectively
This commit is contained in:
parent
90c9c50623
commit
63c7c0718c
@ -123,6 +123,10 @@ class TwilioController extends BaseController
|
||||
return response()->json(['message' => 'Unable to retrieve user.'], 400);
|
||||
}
|
||||
|
||||
if (!$user->phone || $user->phone == '') {
|
||||
return response()->json(['message' => 'User found, but no valid phone number on file, please contact support.'], 400);
|
||||
}
|
||||
|
||||
$sid = config('ninja.twilio_account_sid');
|
||||
$token = config('ninja.twilio_auth_token');
|
||||
|
||||
|
@ -745,4 +745,55 @@ class Invoice extends BaseModel
|
||||
return $type;
|
||||
|
||||
}
|
||||
|
||||
public function reminderSchedule(): string
|
||||
{
|
||||
$reminder_schedule = '';
|
||||
$settings = $this->client->getMergedSettings();
|
||||
|
||||
$send_email_enabled = ctrans('texts.send_email') . " " .ctrans('texts.enabled');
|
||||
$send_email_disabled = ctrans('texts.send_email') . " " .ctrans('texts.disabled');
|
||||
|
||||
$sends_email_1 = $settings->enable_reminder2 ? $send_email_enabled : $send_email_disabled;
|
||||
$days_1 = $settings->num_days_reminder1 . " " . ctrans('texts.days');
|
||||
$schedule_1 = ctrans("texts.{$settings->schedule_reminder1}"); //after due date etc or disabled
|
||||
$label_1 = ctrans('texts.reminder1');
|
||||
|
||||
$sends_email_2 = $settings->enable_reminder2 ? $send_email_enabled : $send_email_disabled;
|
||||
$days_2 = $settings->num_days_reminder2 . " " . ctrans('texts.days');
|
||||
$schedule_2 = ctrans("texts.{$settings->schedule_reminder2}"); //after due date etc or disabled
|
||||
$label_2 = ctrans('texts.reminder2');
|
||||
|
||||
$sends_email_3 = $settings->enable_reminder2 ? $send_email_enabled : $send_email_disabled;
|
||||
$days_3 = $settings->num_days_reminder3 . " " . ctrans('texts.days');
|
||||
$schedule_3 = ctrans("texts.{$settings->schedule_reminder3}"); //after due date etc or disabled
|
||||
$label_3 = ctrans('texts.reminder3');
|
||||
|
||||
$sends_email_endless = $settings->enable_reminder_endless ? $send_email_enabled : $send_email_disabled;
|
||||
$days_endless = \App\Models\RecurringInvoice::frequencyForKey($settings->endless_reminder_frequency_id);
|
||||
$label_endless = ctrans('texts.reminder_endless');
|
||||
|
||||
if($schedule_1 == ctrans('texts.disabled') || $settings->schedule_reminder1 == 'disabled' || $settings->schedule_reminder1 == '')
|
||||
$reminder_schedule .= "{$label_1}: " . ctrans('texts.disabled') ."<br>";
|
||||
else
|
||||
$reminder_schedule .= "{$label_1}: {$days_1} {$schedule_1} [{$sends_email_1}]<br>";
|
||||
|
||||
if($schedule_2 == ctrans('texts.disabled') || $settings->schedule_reminder2 == 'disabled' || $settings->schedule_reminder2 == '')
|
||||
$reminder_schedule .= "{$label_2}: " . ctrans('texts.disabled') ."<br>";
|
||||
else
|
||||
$reminder_schedule .= "{$label_2}: {$days_2} {$schedule_2} [{$sends_email_2}]<br>";
|
||||
|
||||
if($schedule_3 == ctrans('texts.disabled') || $settings->schedule_reminder3 == 'disabled' || $settings->schedule_reminder3 == '')
|
||||
$reminder_schedule .= "{$label_3}: " . ctrans('texts.disabled') ."<br>";
|
||||
else
|
||||
$reminder_schedule .= "{$label_3}: {$days_3} {$schedule_3} [{$sends_email_3}]<br>";
|
||||
|
||||
if($sends_email_endless == ctrans('texts.disabled') || $settings->endless_reminder_frequency_id == '0' || $settings->endless_reminder_frequency_id == '')
|
||||
$reminder_schedule .= "{$label_endless}: " . ctrans('texts.disabled') ."<br>";
|
||||
else
|
||||
$reminder_schedule .= "{$label_endless}: {$days_endless} [{$sends_email_endless}]<br>";
|
||||
|
||||
|
||||
return $reminder_schedule;
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ class InvoiceTransformer extends EntityTransformer
|
||||
|
||||
public function transform(Invoice $invoice)
|
||||
{
|
||||
return [
|
||||
$data = [
|
||||
'id' => $this->encodePrimaryKey($invoice->id),
|
||||
'user_id' => $this->encodePrimaryKey($invoice->user_id),
|
||||
'project_id' => $this->encodePrimaryKey($invoice->project_id),
|
||||
@ -151,5 +151,12 @@ class InvoiceTransformer extends EntityTransformer
|
||||
'auto_bill_enabled' => (bool) $invoice->auto_bill_enabled,
|
||||
'tax_info' => $invoice->tax_data ?: new \stdClass,
|
||||
];
|
||||
|
||||
if (request()->has('reminder_schedule') && request()->query('reminder_schedule') == 'true') {
|
||||
$data['reminder_schedule'] = (string) $invoice->reminderSchedule();
|
||||
}
|
||||
|
||||
return $data;
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user