From 960802827a21950fbc67e40d83fa969403fb73d8 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 26 Apr 2016 15:16:25 +1000 Subject: [PATCH 1/9] Document Transformer --- .../Transformers/DocumentTransformer.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 app/Ninja/Transformers/DocumentTransformer.php diff --git a/app/Ninja/Transformers/DocumentTransformer.php b/app/Ninja/Transformers/DocumentTransformer.php new file mode 100644 index 000000000000..61d18506eba1 --- /dev/null +++ b/app/Ninja/Transformers/DocumentTransformer.php @@ -0,0 +1,21 @@ + (int) $document->public_id, + 'name' => $document->name, + 'account_key' => $this->account->account_key, + 'type' => $document->type, + 'invoice_id' => isset($document->invoice->public_id) ? (int) $document->invoice->public_id : null, + 'expense_id' => isset($document->expense->public_id) ? (int) $document->expense->public_id : null, + ]; + } +} \ No newline at end of file From 7cac31e7a64b1179ab4c2ec2e00d223756ff8b21 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 2 May 2016 19:40:54 +1000 Subject: [PATCH 2/9] Fix for cloning invoices from API --- app/Http/Controllers/InvoiceApiController.php | 10 ++++++++++ app/Http/routes.php | 1 + 2 files changed, 11 insertions(+) diff --git a/app/Http/Controllers/InvoiceApiController.php b/app/Http/Controllers/InvoiceApiController.php index ce5eaa1d72d6..6eb6df367e71 100644 --- a/app/Http/Controllers/InvoiceApiController.php +++ b/app/Http/Controllers/InvoiceApiController.php @@ -1,6 +1,7 @@ response($data); } + else if ($request->action == ACTION_CLONE) { + $invoice = Invoice::scope($publicId)->firstOrFail(); + $clonedInvoice = $this->invoiceRepo->cloneInvoice($invoice, null); + + $transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer')); + $data = $this->createItem($clonedInvoice, $transformer, 'invoice'); + + return $this->response($data); + } $data = $request->input(); $data['public_id'] = $publicId; $this->invoiceService->save($data); diff --git a/app/Http/routes.php b/app/Http/routes.php index 768c9c3d3d4c..bfeed103a99a 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -380,6 +380,7 @@ if (!defined('CONTACT_EMAIL')) { define('ACTION_RESTORE', 'restore'); define('ACTION_ARCHIVE', 'archive'); + define('ACTION_CLONE', 'clone'); define('ACTION_CONVERT', 'convert'); define('ACTION_DELETE', 'delete'); From f6abdedfac247e48dd2e201a0f9bbea7ec8f0ebb Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 9 May 2016 09:54:40 +1000 Subject: [PATCH 3/9] User Transformer permissions --- app/Ninja/Transformers/UserAccountTransformer.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index e914a25c663d..2351fdf22b24 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -33,6 +33,8 @@ class UserAccountTransformer extends EntityTransformer 'account_key' => $user->account->account_key, 'name' => $user->account->present()->name, 'token' => $user->account->getToken($user->id, $this->tokenName), + 'is_admin' => (bool) $user->is_admin, + 'permissions' => $user->permissions, 'default_url' => SITE_URL ]; } From 985c4eda34549655f3079bdde3f3dc8ee9a17d8b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 9 May 2016 10:02:15 +1000 Subject: [PATCH 4/9] working with permissions --- app/Ninja/Transformers/UserAccountTransformer.php | 2 -- app/Ninja/Transformers/UserTransformer.php | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index 2351fdf22b24..e914a25c663d 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -33,8 +33,6 @@ class UserAccountTransformer extends EntityTransformer 'account_key' => $user->account->account_key, 'name' => $user->account->present()->name, 'token' => $user->account->getToken($user->id, $this->tokenName), - 'is_admin' => (bool) $user->is_admin, - 'permissions' => $user->permissions, 'default_url' => SITE_URL ]; } diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index 532c1f6fa4f2..f6bab290b817 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -26,6 +26,8 @@ class UserTransformer extends EntityTransformer 'notify_viewed' => (bool) $user->notify_viewed, 'notify_paid' => (bool) $user->notify_paid, 'notify_approved' => (bool) $user->notify_approved, + 'is_admin' => (bool) $user->is_admin, + 'permissions' => $user->getPermissions, ]; } } \ No newline at end of file From 5233047ab103306f64578d1843f1cef49621d084 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 9 May 2016 10:09:51 +1000 Subject: [PATCH 5/9] working with permissions --- app/Ninja/Transformers/UserTransformer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index f6bab290b817..711d0723250e 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -27,7 +27,7 @@ class UserTransformer extends EntityTransformer 'notify_paid' => (bool) $user->notify_paid, 'notify_approved' => (bool) $user->notify_approved, 'is_admin' => (bool) $user->is_admin, - 'permissions' => $user->getPermissions, + 'permissions' => $user->permissions, ]; } } \ No newline at end of file From dbdd1ac15579ab8db92c17c29a1a1e265d362a10 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 9 May 2016 10:28:47 +1000 Subject: [PATCH 6/9] working with permissions --- app/Ninja/Transformers/UserTransformer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index 711d0723250e..32cd42d90476 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -27,7 +27,7 @@ class UserTransformer extends EntityTransformer 'notify_paid' => (bool) $user->notify_paid, 'notify_approved' => (bool) $user->notify_approved, 'is_admin' => (bool) $user->is_admin, - 'permissions' => $user->permissions, + 'permissions' => Auth()::user->permissions, ]; } } \ No newline at end of file From 050b79cc75ddfaeb71816536587a5135e1a35e2c Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 10 May 2016 09:26:44 +1000 Subject: [PATCH 7/9] user transformer - add fields --- app/Ninja/Transformers/UserTransformer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index 32cd42d90476..63428ed64bb6 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -27,7 +27,7 @@ class UserTransformer extends EntityTransformer 'notify_paid' => (bool) $user->notify_paid, 'notify_approved' => (bool) $user->notify_approved, 'is_admin' => (bool) $user->is_admin, - 'permissions' => Auth()::user->permissions, + 'permissions' => (int) $user->getOriginal('permissions'), ]; } } \ No newline at end of file From 2b23a80fda15fef9469f97f1ae1d0fbc1cabd976 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 12 May 2016 08:27:21 +1000 Subject: [PATCH 8/9] rewind --- app/Http/Controllers/InvoiceApiController.php | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/app/Http/Controllers/InvoiceApiController.php b/app/Http/Controllers/InvoiceApiController.php index 69149c6d5b1a..dca69d840862 100644 --- a/app/Http/Controllers/InvoiceApiController.php +++ b/app/Http/Controllers/InvoiceApiController.php @@ -316,16 +316,7 @@ class InvoiceApiController extends BaseAPIController } elseif ($request->action) { return $this->handleAction($request); } - else if ($request->action == ACTION_CLONE) { - - $invoice = Invoice::scope($publicId)->firstOrFail(); - $clonedInvoice = $this->invoiceRepo->cloneInvoice($invoice, null); - - $transformer = new InvoiceTransformer(\Auth::user()->account, Input::get('serializer')); - $data = $this->createItem($clonedInvoice, $transformer, 'invoice'); - - return $this->response($data); - } + $data = $request->input(); $data['public_id'] = $publicId; $this->invoiceService->save($data, $request->entity()); From 7c0e2f4420a62df9c60ceb15c047db691db03cc1 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 12 May 2016 08:28:49 +1000 Subject: [PATCH 9/9] added in additional fields for Invoice Transformer --- app/Http/Controllers/InvoiceApiController.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/Http/Controllers/InvoiceApiController.php b/app/Http/Controllers/InvoiceApiController.php index dca69d840862..983e8fa14d71 100644 --- a/app/Http/Controllers/InvoiceApiController.php +++ b/app/Http/Controllers/InvoiceApiController.php @@ -1,8 +1,6 @@ action) { return $this->handleAction($request); } - + $data = $request->input(); $data['public_id'] = $publicId; $this->invoiceService->save($data, $request->entity());