diff --git a/app/Http/Controllers/AccountGatewayController.php b/app/Http/Controllers/AccountGatewayController.php index 844cd2175462..004418d44528 100644 --- a/app/Http/Controllers/AccountGatewayController.php +++ b/app/Http/Controllers/AccountGatewayController.php @@ -411,6 +411,7 @@ class AccountGatewayController extends BaseController 'description' => trans('texts.wepay_account_description'), 'theme_object' => json_decode(WEPAY_THEME), 'callback_uri' => $accountGateway->getWebhookUrl(), + 'rbits' => $account->present()->rBits, ]; if (WEPAY_ENABLE_CANADA) { diff --git a/app/Models/InvoiceItem.php b/app/Models/InvoiceItem.php index 303c437f9167..ef9a43f4eb25 100644 --- a/app/Models/InvoiceItem.php +++ b/app/Models/InvoiceItem.php @@ -1,5 +1,6 @@ invoice()->present()->rBits; + return $data; } diff --git a/app/Ninja/Presenters/AccountPresenter.php b/app/Ninja/Presenters/AccountPresenter.php index cd829fd4f44d..5408d4f1afd4 100644 --- a/app/Ninja/Presenters/AccountPresenter.php +++ b/app/Ninja/Presenters/AccountPresenter.php @@ -1,5 +1,6 @@ code; } -} \ No newline at end of file + + public function industry() + { + return $this->entity->industry ? $this->entity->industry->name : ''; + } + + public function size() + { + return $this->entity->size ? $this->entity->size->name : ''; + } + + private function createRBit($type, $source, $properties) + { + $data = new stdClass(); + $data->receive_time = time(); + $data->type = $type; + $data->source = $source; + $data->properties = new stdClass(); + + foreach ($properties as $key => $val) { + $data->properties->$key = $val; + } + + return $data; + } + + public function rBits() + { + $account = $this->entity; + $user = $account->users()->first(); + $data = []; + + $data[] = $this->createRBit('business_name', 'user', ['business_name' => $account->name]); + $data[] = $this->createRBit('industry_code', 'user', ['industry_detail' => $account->present()->industry]); + $data[] = $this->createRBit('comment', 'partner_database', ['comment_text' => 'Logo image not present']); + $data[] = $this->createRBit('business_description', 'user', ['business_description' => $account->present()->size]); + + $data[] = $this->createRBit('person', 'user', ['name' => $user->getFullName()]); + $data[] = $this->createRBit('email', 'user', ['email' => $user->email]); + $data[] = $this->createRBit('phone', 'user', ['phone' => $user->phone]); + $data[] = $this->createRBit('website_uri', 'user', ['uri' => $account->website]); + $data[] = $this->createRBit('external_account', 'partner_database', ['is_partner_account' => 'yes', 'account_type' => 'Invoice Ninja', 'create_time' => time()]); + + return $data; + } +} diff --git a/app/Ninja/Presenters/InvoiceItemPresenter.php b/app/Ninja/Presenters/InvoiceItemPresenter.php new file mode 100644 index 000000000000..67150df771ca --- /dev/null +++ b/app/Ninja/Presenters/InvoiceItemPresenter.php @@ -0,0 +1,17 @@ +description = $this->entity->notes; + $data->item_price = floatval($this->entity->cost); + $data->quantity = floatval($this->entity->qty); + $data->amount = round($data->item_price * $data->quantity, 2); + + return $data; + } +} diff --git a/app/Ninja/Presenters/InvoicePresenter.php b/app/Ninja/Presenters/InvoicePresenter.php index 9f9870cb1fe0..16554c3b168c 100644 --- a/app/Ninja/Presenters/InvoicePresenter.php +++ b/app/Ninja/Presenters/InvoicePresenter.php @@ -1,5 +1,6 @@ entity); } + + public function rBits() + { + $properties = new stdClass(); + $properties->terms_text = $this->entity->terms; + $properties->note = $this->entity->public_notes; + $properties->itemized_receipt = []; + + foreach ($this->entity->invoice_items as $item) { + $properties->itemized_receipt[] = $item->present()->rBits; + } + + $data = new stdClass(); + $data->receive_time = time(); + $data->type = 'transaction_details'; + $data->source = 'user'; + $data->properties = $properties; + + return [$data]; + } } diff --git a/composer.lock b/composer.lock index 8639e1a79ad7..5b4b89fc0542 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "5d41e236e8354f33899fbac05995eaee", + "hash": "5268e0c573a4094ea670e2eb7555b962", "content-hash": "cf263546eb8ba91f81f26bdc5470573e", "packages": [ { @@ -1088,12 +1088,12 @@ "source": { "type": "git", "url": "https://github.com/hillelcoren/omnipay-wepay.git", - "reference": "916785146c5433e9216f295d09d1cbcec2fdf33a" + "reference": "f8bb3e4010c236018e4bd936f1b930b87f17e063" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hillelcoren/omnipay-wepay/zipball/916785146c5433e9216f295d09d1cbcec2fdf33a", - "reference": "916785146c5433e9216f295d09d1cbcec2fdf33a", + "url": "https://api.github.com/repos/hillelcoren/omnipay-wepay/zipball/f8bb3e4010c236018e4bd936f1b930b87f17e063", + "reference": "f8bb3e4010c236018e4bd936f1b930b87f17e063", "shasum": "" }, "require": { @@ -1125,7 +1125,7 @@ "support": { "source": "https://github.com/hillelcoren/omnipay-wepay/tree/address-fix" }, - "time": "2016-11-01 10:54:54" + "time": "2016-12-12 18:28:29" }, { "name": "container-interop/container-interop", @@ -7270,7 +7270,7 @@ }, { "name": "symfony/event-dispatcher", - "version": "v2.8.13", + "version": "v2.8.14", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", @@ -7379,16 +7379,16 @@ }, { "name": "symfony/http-foundation", - "version": "v2.8.13", + "version": "v2.8.14", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a6e6c34d337f3c74c39b29c5f54d33023de8897c" + "reference": "4f8c167732bbf3ba4284c0915f57b332091f6b68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a6e6c34d337f3c74c39b29c5f54d33023de8897c", - "reference": "a6e6c34d337f3c74c39b29c5f54d33023de8897c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4f8c167732bbf3ba4284c0915f57b332091f6b68", + "reference": "4f8c167732bbf3ba4284c0915f57b332091f6b68", "shasum": "" }, "require": { @@ -7430,7 +7430,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2016-10-24 15:52:36" + "time": "2016-11-15 23:02:12" }, { "name": "symfony/http-kernel", @@ -7570,16 +7570,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "dff51f72b0706335131b00a7f49606168c582594" + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", - "reference": "dff51f72b0706335131b00a7f49606168c582594", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", "shasum": "" }, "require": { @@ -7591,7 +7591,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -7625,20 +7625,20 @@ "portable", "shim" ], - "time": "2016-05-18 14:26:46" + "time": "2016-11-14 01:06:16" }, { "name": "symfony/polyfill-php54", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php54.git", - "reference": "34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1" + "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1", - "reference": "34d761992f6f2cc6092cc0e5e93f38b53ba5e4f1", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0", + "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0", "shasum": "" }, "require": { @@ -7647,7 +7647,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -7683,20 +7683,20 @@ "portable", "shim" ], - "time": "2016-05-18 14:26:46" + "time": "2016-11-14 01:06:16" }, { "name": "symfony/polyfill-php55", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d" + "reference": "03e3f0350bca2220e3623a0e340eef194405fc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d", - "reference": "bf2ff9ad6be1a4772cb873e4eea94d70daa95c6d", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67", + "reference": "03e3f0350bca2220e3623a0e340eef194405fc67", "shasum": "" }, "require": { @@ -7706,7 +7706,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -7739,7 +7739,7 @@ "portable", "shim" ], - "time": "2016-05-18 14:26:46" + "time": "2016-11-14 01:06:16" }, { "name": "symfony/polyfill-php56",