From cd8b7649a17172c68443950284d7c097509489f2 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 17 Feb 2019 13:52:56 +0200 Subject: [PATCH] Fixes for mobile app --- .gitignore | 1 + app/Http/Controllers/TaskApiController.php | 2 +- app/Models/Task.php | 2 +- app/Ninja/Transformers/InvoiceTransformer.php | 1 + app/Ninja/Transformers/TaskTransformer.php | 2 ++ app/Ninja/Transformers/UserAccountTransformer.php | 5 ++++- resources/views/invoices/view_borderless.blade.php | 14 +++++++++++++- 7 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index de42f666a8b4..76a9e0437f4b 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ tests/_support/_generated/ /c3.php _ide_helper.php +storage/version.txt diff --git a/app/Http/Controllers/TaskApiController.php b/app/Http/Controllers/TaskApiController.php index 1ad8ecd6f2db..cead941fd910 100644 --- a/app/Http/Controllers/TaskApiController.php +++ b/app/Http/Controllers/TaskApiController.php @@ -45,7 +45,7 @@ class TaskApiController extends BaseAPIController { $tasks = Task::scope() ->withTrashed() - ->with('client', 'invoice', 'project') + ->with('client', 'invoice', 'project', 'task_status') ->orderBy('updated_at', 'desc'); return $this->listResponse($tasks); diff --git a/app/Models/Task.php b/app/Models/Task.php index 201fc3bba1d7..44849fa8c91c 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -154,7 +154,7 @@ class Task extends EntityModel $duration += max($endTime - $startTime, 0); } - return $duration; + return round($duration); } /** diff --git a/app/Ninja/Transformers/InvoiceTransformer.php b/app/Ninja/Transformers/InvoiceTransformer.php index b695311d291f..8c4188a60bf8 100644 --- a/app/Ninja/Transformers/InvoiceTransformer.php +++ b/app/Ninja/Transformers/InvoiceTransformer.php @@ -133,6 +133,7 @@ class InvoiceTransformer extends EntityTransformer 'is_quote' => (bool) $invoice->isType(INVOICE_TYPE_QUOTE), // Temp to support mobile app 'is_public' => (bool) $invoice->is_public, 'filename' => $invoice->getFileName(), + 'invoice_design_id' => $invoice->invoice_design_id, ]); } } diff --git a/app/Ninja/Transformers/TaskTransformer.php b/app/Ninja/Transformers/TaskTransformer.php index bb496b657a48..aedff5802d41 100644 --- a/app/Ninja/Transformers/TaskTransformer.php +++ b/app/Ninja/Transformers/TaskTransformer.php @@ -64,6 +64,8 @@ class TaskTransformer extends EntityTransformer 'is_running' => (bool) $task->is_running, 'custom_value1' => $task->custom_value1 ?: '', 'custom_value2' => $task->custom_value2 ?: '', + 'task_status_id' => $task->task_status ? (int) $task->task_status->public_id : 0, + 'task_status_sort_order' => $task->task_status_sort_order, ]); } } diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index 05b8a20492f4..9d90489de9a8 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -164,7 +164,7 @@ class UserAccountTransformer extends EntityTransformer 'name' => $account->present()->name ?: '', 'token' => $account->getToken($user->id, $this->tokenName), 'default_url' => SITE_URL, - 'plan' => $account->company->plan ?: '', + 'plan' => $company->hasActivePlan() && $company->plan ? $company->plan : '', 'logo' => $account->logo ?: '', 'logo_url' => $account->getLogoURL() ?: '', 'currency_id' => (int) $account->currency_id, @@ -216,6 +216,9 @@ class UserAccountTransformer extends EntityTransformer 'email_template_reminder1' => $account->getEmailTemplate('reminder1'), 'email_template_reminder2' => $account->getEmailTemplate('reminder2'), 'email_template_reminder3' => $account->getEmailTemplate('reminder3'), + 'has_custom_design1' => (bool) $account->custom_design1, + 'has_custom_design2' => (bool) $account->custom_design2, + 'has_custom_design3' => (bool) $account->custom_design3, ]; } } diff --git a/resources/views/invoices/view_borderless.blade.php b/resources/views/invoices/view_borderless.blade.php index db565d2fa1c8..b863b175bb76 100644 --- a/resources/views/invoices/view_borderless.blade.php +++ b/resources/views/invoices/view_borderless.blade.php @@ -69,7 +69,19 @@ @endif @endif @else - refreshPDF(); + @if (request()->download) + try { + var doc = generatePDF(invoice, invoice.invoice_design.javascript, true); + var fileName = invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice; + doc.save(fileName + '_' + invoice.invoice_number + '.pdf'); + } catch (exception) { + if (location.href.indexOf('/view/') > 0) { + location.href = location.href.replace('/view/', '/download/'); + } + } + @else + refreshPDF(); + @endif @endif });