From 6683062d9e349694ded4a869282504c3ef800cd0 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 3 Feb 2016 09:10:54 +1100 Subject: [PATCH 1/2] fixed bug in migration --- .../2016_02_01_135956_add_source_currency_to_expenses.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/database/migrations/2016_02_01_135956_add_source_currency_to_expenses.php b/database/migrations/2016_02_01_135956_add_source_currency_to_expenses.php index bdce9926eac7..16c2f38a1012 100644 --- a/database/migrations/2016_02_01_135956_add_source_currency_to_expenses.php +++ b/database/migrations/2016_02_01_135956_add_source_currency_to_expenses.php @@ -20,6 +20,10 @@ class AddSourceCurrencyToExpenses extends Migration $table->renameColumn('currency_id', 'invoice_currency_id'); $table->unsignedInteger('expense_currency_id'); + }); + + Schema::table('expenses', function (Blueprint $table) { + // set account value so we're able to create foreign constraint DB::statement('update expenses e left join accounts a on a.id = e.account_id From ead2b335d5c9c81a68315f112c724ae79177ecbc Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 3 Feb 2016 14:21:13 +1100 Subject: [PATCH 2/2] Added Credit Transformer --- app/Models/Client.php | 6 +++++ app/Ninja/Transformers/ClientTransformer.php | 7 ++++++ app/Ninja/Transformers/CreditTransformer.php | 24 ++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 app/Ninja/Transformers/CreditTransformer.php diff --git a/app/Models/Client.php b/app/Models/Client.php index 6655a9ef2e67..2984f7372fd5 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -136,6 +136,12 @@ class Client extends EntityModel return $this->belongsTo('App\Models\Industry'); } + public function credits() + { + return $this->hasMany('App\Models\Credit'); + } + + public function addContact($data, $isPrimary = false) { $publicId = isset($data['public_id']) ? $data['public_id'] : false; diff --git a/app/Ninja/Transformers/ClientTransformer.php b/app/Ninja/Transformers/ClientTransformer.php index 4289545673c7..66fdd35bf064 100644 --- a/app/Ninja/Transformers/ClientTransformer.php +++ b/app/Ninja/Transformers/ClientTransformer.php @@ -43,6 +43,7 @@ class ClientTransformer extends EntityTransformer protected $availableIncludes = [ 'contacts', 'invoices', + 'credits', ]; public function includeContacts(Client $client) @@ -57,6 +58,12 @@ class ClientTransformer extends EntityTransformer return $this->includeCollection($client->invoices, $transformer, ENTITY_INVOICE); } + public function includeCredits(Client $client) + { + $transformer = new CreditTransformer($this->account, $this->serializer); + return $this->includeCollection($client->credits, $transformer, ENTITY_CREDIT); + } + public function transform(Client $client) { return [ diff --git a/app/Ninja/Transformers/CreditTransformer.php b/app/Ninja/Transformers/CreditTransformer.php new file mode 100644 index 000000000000..a33185d2ff39 --- /dev/null +++ b/app/Ninja/Transformers/CreditTransformer.php @@ -0,0 +1,24 @@ + (int) $credit->public_id, + 'amount' => (float) $credit->amount, + 'balance' => (float) $credit->balance, + 'updated_at' => $this->getTimestamp($credit->updated_at), + 'archived_at' => $this->getTimestamp($credit->deleted_at), + 'is_deleted' => (bool) $credit->is_deleted, + 'account_key' => $this->account->account_key, + 'credit_date' => $credit->credit_date, + 'credit_number' => $credit->credit_number, + 'private_notes' => $credit->private_notes, + ]; + } +} \ No newline at end of file