1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 16:31:33 +02:00

Merge pull request #4050 from turbo124/v2

Fixes for Designs
This commit is contained in:
David Bomba 2020-09-09 20:40:11 +10:00 committed by GitHub
commit 091da7b26a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 240 additions and 159 deletions

View File

@ -47,6 +47,10 @@ class StoreDesignRequest extends Request
$input['design']['task'] = '';
}
if (! array_key_exists('includes', $input['design']) || is_null($input['design']['includes'])) {
$input['design']['includes'] = '';
}
$this->replace($input);
}
}

View File

@ -37,7 +37,7 @@ class RecurringInvoicesCron
public function handle() : void
{
/* Get all invoices where the send date is less than NOW + 30 minutes() */
info("Sending recurring invoices {Carbon::now()->format('Y-m-d h:i:s')}");
info("Sending recurring invoices ".Carbon::now()->format('Y-m-d h:i:s'));
if (! config('ninja.db.multi_db_enabled')) {

View File

@ -16,6 +16,7 @@ use App\Events\Invoice\InvoiceWasPaid;
use App\Factory\PaymentFactory;
use App\Http\Requests\ClientPortal\Payments\PaymentResponseRequest;
use App\Models\Client;
use App\Models\ClientContact;
use App\Models\ClientGatewayToken;
use App\Models\CompanyGateway;
use App\Models\Invoice;
@ -192,4 +193,21 @@ class BaseDriver extends AbstractPaymentDriver
}
});
}
/**
* Return the contact if possible.
*
* @return ClientContact The ClientContact object
*/
public function getContact()
{
if ($this->invitation) {
return ClientContact::find($this->invitation->client_contact_id);
} elseif (auth()->guard('contact')->user()) {
return auth()->user();
} else {
return false;
}
}
}

View File

@ -21,6 +21,7 @@ use App\Models\Payment;
use App\Models\PaymentHash;
use App\Models\PaymentType;
use App\Models\SystemLog;
use App\PaymentDrivers\BaseDriver;
use App\PaymentDrivers\CheckoutCom\Utilities;
use App\Utils\Ninja;
use App\Utils\Traits\SystemLogTrait;
@ -30,7 +31,7 @@ use Checkout\Models\Payments\IdSource;
use Checkout\Models\Payments\Payment as CheckoutPayment;
use Checkout\Models\Payments\TokenSource;
class CheckoutComPaymentDriver extends BasePaymentDriver
class CheckoutComPaymentDriver extends BaseDriver
{
use SystemLogTrait, Utilities;
@ -38,16 +39,16 @@ class CheckoutComPaymentDriver extends BasePaymentDriver
public $company_gateway;
/* The Invitation */
protected $invitation;
public $invitation;
/* Gateway capabilities */
protected $refundable = true;
public $refundable = true;
/* Token billing */
protected $token_billing = true;
public $token_billing = true;
/* Authorise payment methods */
protected $can_authorise_credit_card = true;
public $can_authorise_credit_card = true;
/** Instance of \Checkout\CheckoutApi */
public $gateway;
@ -56,6 +57,16 @@ class CheckoutComPaymentDriver extends BasePaymentDriver
GatewayType::CREDIT_CARD => '',
];
/**
* Returns the default gateway type.
*/
public function gatewayTypes()
{
return [
GatewayType::CREDIT_CARD,
];
}
/** Since with Checkout.com we handle only credit cards, this method should be empty. */
public function setPaymentMethod($string = null)
{
@ -92,6 +103,7 @@ class CheckoutComPaymentDriver extends BasePaymentDriver
public function processPaymentView(array $data)
{
$data['gateway'] = $this;
$data['company_gateway'] = $this->company_gateway;
$data['client'] = $this->client;
$data['currency'] = $this->client->getCurrencyCode();
$data['value'] = $this->convertToCheckoutAmount($data['amount_with_fee'], $this->client->getCurrencyCode());
@ -288,7 +300,7 @@ class CheckoutComPaymentDriver extends BasePaymentDriver
}
}
public function refund(Payment $payment, $amount)
public function refund(Payment $payment, $amount, $return_client_response = false)
{
$this->init();

View File

@ -122,7 +122,7 @@ class ClientTransformer extends EntityTransformer
'last_login' => (int) $client->last_login,
'size_id' => (string) $client->size_id,
'public_notes' => $client->public_notes ?: '',
// 'currency_id' => (string)$client->currency_id,
'client_hash' => (string)$client->client_hash,
'address1' => $client->address1 ?: '',
'address2' => $client->address2 ?: '',
'phone' => $client->phone ?: '',

View File

@ -105,10 +105,6 @@ class InvoiceTransformer extends EntityTransformer
'date' => $invoice->date ?: '',
'last_sent_date' => $invoice->last_sent_date ?: '',
'next_send_date' => $invoice->date ?: '',
'reminder1_sent' => $invoice->reminder1_sent ?: '',
'reminder2_sent' => $invoice->reminder2_sent ?: '',
'reminder3_sent' => $invoice->reminder3_sent ?: '',
'reminder_last_sent' => $invoice->reminder_last_sent ?: '',
'due_date' => $invoice->due_date ?: '',
'terms' => $invoice->terms ?: '',
'public_notes' => $invoice->public_notes ?: '',
@ -142,6 +138,10 @@ class InvoiceTransformer extends EntityTransformer
'custom_surcharge_tax4' => (bool) $invoice->custom_surcharge_tax4,
'line_items' => $invoice->line_items ?: (array) [],
'entity_type' => 'invoice',
'reminder1_sent' => $invoice->reminder1_sent ?: '',
'reminder2_sent' => $invoice->reminder2_sent ?: '',
'reminder3_sent' => $invoice->reminder3_sent ?: '',
'reminder_last_sent' => $invoice->reminder_last_sent ?: '',
];
}
}

View File

@ -86,41 +86,54 @@ class RecurringInvoiceTransformer extends EntityTransformer
'amount' => (float) $invoice->amount ?: '',
'balance' => (float) $invoice->balance ?: '',
'client_id' => (string) $invoice->client_id,
'vendor_id' => (string) $this->encodePrimaryKey($invoice->vendor_id),
'status_id' => (string) ($invoice->status_id ?: 1),
'design_id' => (string) $this->encodePrimaryKey($invoice->design_id),
'created_at' => (int) $invoice->created_at,
'updated_at' => (int) $invoice->updated_at,
'archived_at' => (int) $invoice->deleted_at,
'is_deleted' => (bool) $invoice->is_deleted,
'number' => $invoice->number ?: '',
'discount' => (float) $invoice->discount ?: '',
'po_number' => $invoice->po_number ?: '',
'date' => $invoice->date ?: '',
'last_sent_date' => $invoice->last_sent_date ?: '',
'next_send_date' => $invoice->next_send_date ?: '',
'due_date' => $invoice->due_date ?: '',
'terms' => $invoice->terms ?: '',
'public_notes' => $invoice->public_notes ?: '',
'private_notes' => $invoice->private_notes ?: '',
'is_deleted' => (bool) $invoice->is_deleted,
'uses_inclusive_taxes' => (bool) $invoice->uses_inclusive_taxes,
'tax_name1' => $invoice->tax_name1 ? $invoice->tax_name1 : '',
'tax_rate1' => (float) $invoice->tax_rate1 ?: '',
'tax_name2' => $invoice->tax_name2 ? $invoice->tax_name2 : '',
'tax_rate2' => (float) $invoice->tax_rate2 ?: '',
'tax_name3' => $invoice->tax_name3 ? $invoice->tax_name3 : '',
'tax_rate3' => (float) $invoice->tax_rate3 ?: '',
'total_taxes' => (float) $invoice->total_taxes,
'is_amount_discount' => (bool) ($invoice->is_amount_discount ?: false),
'invoice_footer' => $invoice->invoice_footer ?: '',
'footer' => $invoice->footer ?: '',
'partial' => (float) ($invoice->partial ?: 0.0),
'partial_due_date' => $invoice->partial_due_date ?: '',
'custom_value1' => (float) $invoice->custom_value1 ?: '',
'custom_value2' => (float) $invoice->custom_value2 ?: '',
'custom_taxes1' => (bool) $invoice->custom_taxes1 ?: '',
'custom_taxes2' => (bool) $invoice->custom_taxes2 ?: '',
'custom_value3' => (bool) $invoice->custom_value3 ?: '',
'custom_value4' => (bool) $invoice->custom_value4 ?: '',
'has_tasks' => (bool) $invoice->has_tasks,
'has_expenses' => (bool) $invoice->has_expenses,
'custom_text_value1' => $invoice->custom_text_value1 ?: '',
'custom_text_value2' => $invoice->custom_text_value2 ?: '',
'settings' => $invoice->settings ?: '',
'custom_surcharge1' => (float) $invoice->custom_surcharge1,
'custom_surcharge2' => (float) $invoice->custom_surcharge2,
'custom_surcharge3' => (float) $invoice->custom_surcharge3,
'custom_surcharge4' => (float) $invoice->custom_surcharge4,
'exchange_rate' => (float) $invoice->exchange_rate,
'custom_surcharge_tax1' => (bool) $invoice->custom_surcharge_tax1,
'custom_surcharge_tax2' => (bool) $invoice->custom_surcharge_tax2,
'custom_surcharge_tax3' => (bool) $invoice->custom_surcharge_tax3,
'custom_surcharge_tax4' => (bool) $invoice->custom_surcharge_tax4,
'line_items' => $invoice->line_items ?: (array) [],
'entity_type' => 'recurring_invoice',
'frequency_id' => (string) $invoice->frequency_id,
'start_date' => $invoice->start_date ?: '',
'last_sent_date' => $invoice->last_sent_date ?: '',
'next_send_date' => $invoice->next_send_date ?: '',
'remaining_cycles' => (int) $invoice->remaining_cycles,
];
}

278
composer.lock generated
View File

@ -60,6 +60,7 @@
"open financial exchange",
"parser"
],
"abandoned": true,
"time": "2018-10-29T10:10:13+00:00"
},
{
@ -159,16 +160,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.152.0",
"version": "3.152.1",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "c5b43109dc0ecf77c4a18a8504ca3023f705b306"
"reference": "65e10d45a3ecfdc112b7efe9f839343179a86879"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/c5b43109dc0ecf77c4a18a8504ca3023f705b306",
"reference": "c5b43109dc0ecf77c4a18a8504ca3023f705b306",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/65e10d45a3ecfdc112b7efe9f839343179a86879",
"reference": "65e10d45a3ecfdc112b7efe9f839343179a86879",
"shasum": ""
},
"require": {
@ -240,7 +241,7 @@
"s3",
"sdk"
],
"time": "2020-09-04T18:16:32+00:00"
"time": "2020-09-08T18:13:04+00:00"
},
{
"name": "brick/math",
@ -528,16 +529,16 @@
},
{
"name": "composer/composer",
"version": "1.10.10",
"version": "1.10.12",
"source": {
"type": "git",
"url": "https://github.com/composer/composer.git",
"reference": "32966a3b1d48bc01472a8321fd6472b44fad033a"
"reference": "a6cc92b39c796ec3fb9a360f9c0e578afc2fc96d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/composer/zipball/32966a3b1d48bc01472a8321fd6472b44fad033a",
"reference": "32966a3b1d48bc01472a8321fd6472b44fad033a",
"url": "https://api.github.com/repos/composer/composer/zipball/a6cc92b39c796ec3fb9a360f9c0e578afc2fc96d",
"reference": "a6cc92b39c796ec3fb9a360f9c0e578afc2fc96d",
"shasum": ""
},
"require": {
@ -618,7 +619,7 @@
"type": "tidelift"
}
],
"time": "2020-08-03T09:35:19+00:00"
"time": "2020-09-08T20:58:51+00:00"
},
{
"name": "composer/package-versions-deprecated",
@ -691,16 +692,16 @@
},
{
"name": "composer/semver",
"version": "1.5.1",
"version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de"
"reference": "9787c20e39dfeea673665abee0679c73ba67105d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/c6bea70230ef4dd483e6bbcab6005f682ed3a8de",
"reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de",
"url": "https://api.github.com/repos/composer/semver/zipball/9787c20e39dfeea673665abee0679c73ba67105d",
"reference": "9787c20e39dfeea673665abee0679c73ba67105d",
"shasum": ""
},
"require": {
@ -748,7 +749,21 @@
"validation",
"versioning"
],
"time": "2020-01-13T12:06:48+00:00"
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2020-09-08T20:42:08+00:00"
},
{
"name": "composer/spdx-licenses",
@ -1758,33 +1773,30 @@
},
{
"name": "fruitcake/laravel-cors",
"version": "v2.0.1",
"version": "v2.0.2",
"source": {
"type": "git",
"url": "https://github.com/fruitcake/laravel-cors.git",
"reference": "dbfc311b25d4873c3c2382b26860be3567492bd6"
"reference": "4b19bfc3bd422948af37a42a62fad7f49025894a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/dbfc311b25d4873c3c2382b26860be3567492bd6",
"reference": "dbfc311b25d4873c3c2382b26860be3567492bd6",
"url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/4b19bfc3bd422948af37a42a62fad7f49025894a",
"reference": "4b19bfc3bd422948af37a42a62fad7f49025894a",
"shasum": ""
},
"require": {
"asm89/stack-cors": "^2.0.1",
"illuminate/contracts": "^5.6|^6.0|^7.0|^8.0",
"illuminate/support": "^5.6|^6.0|^7.0|^8.0",
"php": ">=7.1",
"symfony/http-foundation": "^4.0|^5.0",
"symfony/http-kernel": "^4.0|^5.0"
"illuminate/contracts": "^6|^7|^8",
"illuminate/support": "^6|^7|^8",
"php": ">=7.2",
"symfony/http-foundation": "^4|^5",
"symfony/http-kernel": "^4.3.4|^5"
},
"require-dev": {
"laravel/framework": "^5.5|^6.0|^7.0|^8.0",
"orchestra/dusk-updater": "^1.2",
"orchestra/testbench": "^3.5|^4.0|^5.0|^6.0",
"orchestra/testbench-dusk": "^5.1",
"phpro/grumphp": "^0.16|^0.17",
"phpunit/phpunit": "^6.0|^7.0|^8.0",
"laravel/framework": "^6|^7|^8",
"orchestra/testbench-dusk": "^4|^5|^6",
"phpunit/phpunit": "^6|^7|^8",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
@ -1830,7 +1842,7 @@
"type": "github"
}
],
"time": "2020-05-31T07:30:16+00:00"
"time": "2020-09-07T11:48:52+00:00"
},
{
"name": "fzaninotto/faker",
@ -1884,16 +1896,16 @@
},
{
"name": "google/apiclient",
"version": "v2.7.0",
"version": "v2.7.1",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-api-php-client.git",
"reference": "48ec94577b51bde415270116118b07a294e07c43"
"reference": "e748d1d5a51166754f13809d35f1fa162cbec530"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/48ec94577b51bde415270116118b07a294e07c43",
"reference": "48ec94577b51bde415270116118b07a294e07c43",
"url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/e748d1d5a51166754f13809d35f1fa162cbec530",
"reference": "e748d1d5a51166754f13809d35f1fa162cbec530",
"shasum": ""
},
"require": {
@ -1942,7 +1954,7 @@
"keywords": [
"google"
],
"time": "2020-07-23T21:37:43+00:00"
"time": "2020-09-08T16:38:08+00:00"
},
{
"name": "google/apiclient-services",
@ -1983,16 +1995,16 @@
},
{
"name": "google/auth",
"version": "v1.11.1",
"version": "v1.12.0",
"source": {
"type": "git",
"url": "https://github.com/googleapis/google-auth-library-php.git",
"reference": "bb959e91bd8ffbd352ab76cbf11d656ce6435088"
"reference": "74cad289014f7ef747618480f6b59f6303357f34"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/bb959e91bd8ffbd352ab76cbf11d656ce6435088",
"reference": "bb959e91bd8ffbd352ab76cbf11d656ce6435088",
"url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/74cad289014f7ef747618480f6b59f6303357f34",
"reference": "74cad289014f7ef747618480f6b59f6303357f34",
"shasum": ""
},
"require": {
@ -2031,7 +2043,7 @@
"google",
"oauth2"
],
"time": "2020-07-27T18:33:35+00:00"
"time": "2020-09-08T16:33:56+00:00"
},
{
"name": "guzzlehttp/guzzle",
@ -2527,20 +2539,20 @@
},
{
"name": "laracasts/presenter",
"version": "0.2.3",
"version": "0.2.4",
"source": {
"type": "git",
"url": "https://github.com/laracasts/Presenter.git",
"reference": "66ef61dac416f119de75788b5d50eacef3174303"
"reference": "65fd3a79ef4caafa3db2fb35f2b7c6a4ffa13f6e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laracasts/Presenter/zipball/66ef61dac416f119de75788b5d50eacef3174303",
"reference": "66ef61dac416f119de75788b5d50eacef3174303",
"url": "https://api.github.com/repos/laracasts/Presenter/zipball/65fd3a79ef4caafa3db2fb35f2b7c6a4ffa13f6e",
"reference": "65fd3a79ef4caafa3db2fb35f2b7c6a4ffa13f6e",
"shasum": ""
},
"require": {
"illuminate/support": "~5.0|~6.0|~7.0",
"illuminate/support": "~5.0|~6.0|~7.0|~8.0",
"php": ">=5.4.0"
},
"require-dev": {
@ -2569,20 +2581,20 @@
"presenter",
"view"
],
"time": "2020-03-09T15:02:31+00:00"
"time": "2020-09-07T13:30:46+00:00"
},
{
"name": "laravel/framework",
"version": "v7.27.0",
"version": "v7.28.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "17777a92da9b3cf0026f26462d289d596420e6d0"
"reference": "5d3b4e3e62294716e3c810be3d2eb1375685b87d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/17777a92da9b3cf0026f26462d289d596420e6d0",
"reference": "17777a92da9b3cf0026f26462d289d596420e6d0",
"url": "https://api.github.com/repos/laravel/framework/zipball/5d3b4e3e62294716e3c810be3d2eb1375685b87d",
"reference": "5d3b4e3e62294716e3c810be3d2eb1375685b87d",
"shasum": ""
},
"require": {
@ -2727,7 +2739,7 @@
"framework",
"laravel"
],
"time": "2020-09-01T13:41:48+00:00"
"time": "2020-09-08T15:10:40+00:00"
},
{
"name": "laravel/slack-notification-channel",
@ -2917,16 +2929,16 @@
},
{
"name": "laravel/ui",
"version": "v2.2.0",
"version": "v2.2.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
"reference": "fb1404f04ece6eee128e3fb750d3a1e064238b33"
"reference": "456daa330a32483b0fa9794334e60af6b2db3bf6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/ui/zipball/fb1404f04ece6eee128e3fb750d3a1e064238b33",
"reference": "fb1404f04ece6eee128e3fb750d3a1e064238b33",
"url": "https://api.github.com/repos/laravel/ui/zipball/456daa330a32483b0fa9794334e60af6b2db3bf6",
"reference": "456daa330a32483b0fa9794334e60af6b2db3bf6",
"shasum": ""
},
"require": {
@ -2968,7 +2980,7 @@
"laravel",
"ui"
],
"time": "2020-08-25T18:30:43+00:00"
"time": "2020-09-08T13:09:39+00:00"
},
{
"name": "league/commonmark",
@ -4968,16 +4980,16 @@
},
{
"name": "phpseclib/phpseclib",
"version": "2.0.28",
"version": "2.0.29",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
"reference": "d1ca58cf33cb21046d702ae3a7b14fdacd9f3260"
"reference": "497856a8d997f640b4a516062f84228a772a48a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d1ca58cf33cb21046d702ae3a7b14fdacd9f3260",
"reference": "d1ca58cf33cb21046d702ae3a7b14fdacd9f3260",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/497856a8d997f640b4a516062f84228a772a48a8",
"reference": "497856a8d997f640b4a516062f84228a772a48a8",
"shasum": ""
},
"require": {
@ -4986,7 +4998,6 @@
"require-dev": {
"phing/phing": "~2.7",
"phpunit/phpunit": "^4.8.35|^5.7|^6.0",
"sami/sami": "~2.0",
"squizlabs/php_codesniffer": "~2.0"
},
"suggest": {
@ -5070,7 +5081,7 @@
"type": "tidelift"
}
],
"time": "2020-07-08T09:08:33+00:00"
"time": "2020-09-08T04:24:43+00:00"
},
{
"name": "predis/predis",
@ -6396,16 +6407,16 @@
},
{
"name": "spatie/temporary-directory",
"version": "1.2.3",
"version": "1.2.4",
"source": {
"type": "git",
"url": "https://github.com/spatie/temporary-directory.git",
"reference": "eeb84a7a3543e90759cd852ccb468e3d3340d99d"
"reference": "8efe8e61e0ca943d84341f10e51ef3a9606af932"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/temporary-directory/zipball/eeb84a7a3543e90759cd852ccb468e3d3340d99d",
"reference": "eeb84a7a3543e90759cd852ccb468e3d3340d99d",
"url": "https://api.github.com/repos/spatie/temporary-directory/zipball/8efe8e61e0ca943d84341f10e51ef3a9606af932",
"reference": "8efe8e61e0ca943d84341f10e51ef3a9606af932",
"shasum": ""
},
"require": {
@ -6438,7 +6449,7 @@
"spatie",
"temporary-directory"
],
"time": "2020-06-08T08:58:45+00:00"
"time": "2020-09-07T20:41:15+00:00"
},
{
"name": "staudenmeir/eloquent-has-many-deep",
@ -6485,16 +6496,16 @@
},
{
"name": "stripe/stripe-php",
"version": "v7.51.0",
"version": "v7.52.0",
"source": {
"type": "git",
"url": "https://github.com/stripe/stripe-php.git",
"reference": "879a3545126ebc77218c53d2055572b7e473fbcf"
"reference": "51e95c514aff45616dff09791ca5b2f10cf5c4e8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/879a3545126ebc77218c53d2055572b7e473fbcf",
"reference": "879a3545126ebc77218c53d2055572b7e473fbcf",
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/51e95c514aff45616dff09791ca5b2f10cf5c4e8",
"reference": "51e95c514aff45616dff09791ca5b2f10cf5c4e8",
"shasum": ""
},
"require": {
@ -6538,7 +6549,7 @@
"payment processing",
"stripe"
],
"time": "2020-09-02T21:04:02+00:00"
"time": "2020-09-08T19:29:20+00:00"
},
{
"name": "swiftmailer/swiftmailer",
@ -6764,16 +6775,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.1.3",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14"
"reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14",
"reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
"reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
"shasum": ""
},
"require": {
@ -6782,7 +6793,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -6824,7 +6835,7 @@
"type": "tidelift"
}
],
"time": "2020-06-06T08:49:21+00:00"
"time": "2020-09-07T11:33:47+00:00"
},
{
"name": "symfony/error-handler",
@ -6985,16 +6996,16 @@
},
{
"name": "symfony/event-dispatcher-contracts",
"version": "v2.1.3",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b"
"reference": "0ba7d54483095a198fa51781bc608d17e84dffa2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f6f613d74cfc5a623fc36294d3451eb7fa5a042b",
"reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2",
"reference": "0ba7d54483095a198fa51781bc608d17e84dffa2",
"shasum": ""
},
"require": {
@ -7007,7 +7018,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -7057,7 +7068,7 @@
"type": "tidelift"
}
],
"time": "2020-07-06T13:23:11+00:00"
"time": "2020-09-07T11:33:47+00:00"
},
{
"name": "symfony/filesystem",
@ -8536,16 +8547,16 @@
},
{
"name": "symfony/service-contracts",
"version": "v2.1.3",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "58c7475e5457c5492c26cc740cc0ad7464be9442"
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442",
"reference": "58c7475e5457c5492c26cc740cc0ad7464be9442",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"shasum": ""
},
"require": {
@ -8558,7 +8569,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -8608,7 +8619,7 @@
"type": "tidelift"
}
],
"time": "2020-07-06T13:23:11+00:00"
"time": "2020-09-07T11:33:47+00:00"
},
{
"name": "symfony/string",
@ -8789,16 +8800,16 @@
},
{
"name": "symfony/translation-contracts",
"version": "v2.1.3",
"version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "616a9773c853097607cf9dd6577d5b143ffdcd63"
"reference": "77ce1c3627c9f39643acd9af086631f842c50c4d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/616a9773c853097607cf9dd6577d5b143ffdcd63",
"reference": "616a9773c853097607cf9dd6577d5b143ffdcd63",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/77ce1c3627c9f39643acd9af086631f842c50c4d",
"reference": "77ce1c3627c9f39643acd9af086631f842c50c4d",
"shasum": ""
},
"require": {
@ -8810,7 +8821,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -8860,7 +8871,7 @@
"type": "tidelift"
}
],
"time": "2020-07-06T13:23:11+00:00"
"time": "2020-09-07T11:33:47+00:00"
},
{
"name": "symfony/var-dumper",
@ -9386,35 +9397,36 @@
},
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.4.2",
"version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "91ee8b3acf0d72a4937f4855bd245acbda9910ac"
"reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/91ee8b3acf0d72a4937f4855bd245acbda9910ac",
"reference": "91ee8b3acf0d72a4937f4855bd245acbda9910ac",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/233c10688f4c1a6e66ed2ef123038b1363d1bedc",
"reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc",
"shasum": ""
},
"require": {
"illuminate/routing": "^5.5|^6|^7",
"illuminate/session": "^5.5|^6|^7",
"illuminate/support": "^5.5|^6|^7",
"illuminate/routing": "^6|^7|^8",
"illuminate/session": "^6|^7|^8",
"illuminate/support": "^6|^7|^8",
"maximebf/debugbar": "^1.16.3",
"php": ">=7.0",
"symfony/debug": "^3|^4|^5",
"symfony/finder": "^3|^4|^5"
"php": ">=7.2",
"symfony/debug": "^4.3|^5",
"symfony/finder": "^4.3|^5"
},
"require-dev": {
"orchestra/testbench": "^3.5|^4.0|^5.0",
"phpunit/phpunit": "^6.0|^7.0|^8.5|^9.0"
"orchestra/testbench-dusk": "^4|^5|^6",
"phpunit/phpunit": "^8.5|^9.0",
"squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.2-dev"
"dev-master": "3.5-dev"
},
"laravel": {
"providers": [
@ -9457,7 +9469,7 @@
"type": "github"
}
],
"time": "2020-08-30T07:08:17+00:00"
"time": "2020-09-07T19:32:39+00:00"
},
{
"name": "darkaonline/l5-swagger",
@ -9736,16 +9748,16 @@
},
{
"name": "facade/ignition",
"version": "2.3.6",
"version": "2.3.7",
"source": {
"type": "git",
"url": "https://github.com/facade/ignition.git",
"reference": "d7d05dba5a0bdbf018a2cb7be268f22f5d73eb81"
"reference": "b364db8860a63c1fb58b72b9718863c21df08762"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/facade/ignition/zipball/d7d05dba5a0bdbf018a2cb7be268f22f5d73eb81",
"reference": "d7d05dba5a0bdbf018a2cb7be268f22f5d73eb81",
"url": "https://api.github.com/repos/facade/ignition/zipball/b364db8860a63c1fb58b72b9718863c21df08762",
"reference": "b364db8860a63c1fb58b72b9718863c21df08762",
"shasum": ""
},
"require": {
@ -9764,7 +9776,7 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.14",
"mockery/mockery": "^1.3",
"orchestra/testbench": "5.0",
"orchestra/testbench": "^5.0|^6.0",
"psalm/plugin-laravel": "^1.2"
},
"suggest": {
@ -9804,7 +9816,7 @@
"laravel",
"page"
],
"time": "2020-08-10T13:50:38+00:00"
"time": "2020-09-06T19:26:27+00:00"
},
{
"name": "facade/ignition-contracts",
@ -9965,16 +9977,16 @@
},
{
"name": "laravel/dusk",
"version": "v6.5.1",
"version": "v6.6.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/dusk.git",
"reference": "ebf081d312bc1e702337668e13831d25ab324ce3"
"reference": "be00c525f9bde15bcfec1afc4857ab26afa6b369"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/dusk/zipball/ebf081d312bc1e702337668e13831d25ab324ce3",
"reference": "ebf081d312bc1e702337668e13831d25ab324ce3",
"url": "https://api.github.com/repos/laravel/dusk/zipball/be00c525f9bde15bcfec1afc4857ab26afa6b369",
"reference": "be00c525f9bde15bcfec1afc4857ab26afa6b369",
"shasum": ""
},
"require": {
@ -10029,32 +10041,32 @@
"testing",
"webdriver"
],
"time": "2020-08-28T14:37:02+00:00"
"time": "2020-09-08T16:09:25+00:00"
},
{
"name": "laravelcollective/html",
"version": "v6.1.2",
"version": "v6.2.0",
"source": {
"type": "git",
"url": "https://github.com/LaravelCollective/html.git",
"reference": "5ef9a3c9ae2423fe5618996f3cde375d461a3fc6"
"reference": "3bb99be7502feb2129b375cd026ccb0fa4b66628"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/LaravelCollective/html/zipball/5ef9a3c9ae2423fe5618996f3cde375d461a3fc6",
"reference": "5ef9a3c9ae2423fe5618996f3cde375d461a3fc6",
"url": "https://api.github.com/repos/LaravelCollective/html/zipball/3bb99be7502feb2129b375cd026ccb0fa4b66628",
"reference": "3bb99be7502feb2129b375cd026ccb0fa4b66628",
"shasum": ""
},
"require": {
"illuminate/http": "^6.0|^7.0",
"illuminate/routing": "^6.0|^7.0",
"illuminate/session": "^6.0|^7.0",
"illuminate/support": "^6.0|^7.0",
"illuminate/view": "^6.0|^7.0",
"illuminate/http": "^6.0|^7.0|^8.0",
"illuminate/routing": "^6.0|^7.0|^8.0",
"illuminate/session": "^6.0|^7.0|^8.0",
"illuminate/support": "^6.0|^7.0|^8.0",
"illuminate/view": "^6.0|^7.0|^8.0",
"php": ">=7.2.5"
},
"require-dev": {
"illuminate/database": "^6.0|^7.0",
"illuminate/database": "^6.0|^7.0|^8.0",
"mockery/mockery": "~1.0",
"phpunit/phpunit": "~7.1"
},
@ -10097,7 +10109,7 @@
],
"description": "HTML and Form Builders for the Laravel Framework",
"homepage": "https://laravelcollective.com",
"time": "2020-05-19T18:02:16+00:00"
"time": "2020-09-07T19:59:40+00:00"
},
{
"name": "maximebf/debugbar",

View File

@ -45,6 +45,18 @@ class AddIsPublicToDocumentsTable extends Migration
Schema::table('recurring_invoices', function ($table) {
$table->boolean('auto_bill')->default(0);
$table->unsignedInteger('design_id')->nullable();
$table->boolean('uses_inclusive_taxes')->default(0);
$table->string('custom_surcharge1')->nullable();
$table->string('custom_surcharge2')->nullable();
$table->string('custom_surcharge3')->nullable();
$table->string('custom_surcharge4')->nullable();
$table->boolean('custom_surcharge_tax1')->default(false);
$table->boolean('custom_surcharge_tax2')->default(false);
$table->boolean('custom_surcharge_tax3')->default(false);
$table->boolean('custom_surcharge_tax4')->default(false);
$table->decimal('exchange_rate', 13, 6)->default(1);
});
Schema::table('companies', function ($table) {

View File

@ -15,10 +15,8 @@
@csrf
<input type="hidden" name="gateway_response">
<input type="hidden" name="store_card">
@foreach($invoices as $invoice)
<input type="hidden" name="hashed_ids[]" value="{{ $invoice->hashed_id }}">
@endforeach
<input type="hidden" name="company_gateway_id" value="{{ $gateway->getCompanyGatewayId() }}">
<input type="hidden" name="payment_hash" value="{{ $payment_hash }}">
<input type="hidden" name="company_gateway_id" value="{{ $company_gateway->id }}">
<input type="hidden" name="payment_method_id" value="{{ $payment_method_id }}">
<input type="hidden" name="value" value="{{ $value }}">
<input type="hidden" name="raw_value" value="{{ $raw_value }}">
@ -50,11 +48,23 @@
</dd>
</div>
<div class="bg-white px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6 flex items-center">
<dt class="text-sm leading-5 font-medium text-gray-500">
{{ ctrans('texts.subtotal') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ App\Utils\Number::formatMoney($total['invoice_totals'], $client) }}
</dd>
<dt class="text-sm leading-5 font-medium text-gray-500">
{{ ctrans('texts.gateway_fees') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
{{ App\Utils\Number::formatMoney($total['fee_total'], $client) }}
</dd>
<dt class="text-sm leading-5 font-medium text-gray-500 mr-4">
{{ ctrans('texts.amount') }}
</dt>
<dd class="mt-1 text-sm leading-5 text-gray-900 sm:mt-0 sm:col-span-2">
<span class="font-bold">{{ App\Utils\Number::formatMoney($amount, $client) }}</span>
<span class="font-bold">{{ App\Utils\Number::formatMoney($total['amount_with_fee'], $client) }}</span>
</dd>
</div>
@isset($token)