mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 16:54:31 -04:00
Merge pull request #6255 from turbo124/v5-develop
FIxes for Hosted Channel
This commit is contained in:
commit
313dbd4da3
@ -45,14 +45,15 @@ class ClientMap
|
|||||||
26 => 'client.vat_number',
|
26 => 'client.vat_number',
|
||||||
27 => 'client.id_number',
|
27 => 'client.id_number',
|
||||||
28 => 'client.public_notes',
|
28 => 'client.public_notes',
|
||||||
29 => 'contact.first_name',
|
29 => 'client.phone',
|
||||||
30 => 'contact.last_name',
|
30 => 'contact.first_name',
|
||||||
31 => 'contact.email',
|
31 => 'contact.last_name',
|
||||||
32 => 'contact.phone',
|
32 => 'contact.email',
|
||||||
33 => 'contact.custom_value1',
|
33 => 'contact.phone',
|
||||||
34 => 'contact.custom_value2',
|
34 => 'contact.custom_value1',
|
||||||
35 => 'contact.custom_value3',
|
35 => 'contact.custom_value2',
|
||||||
36 => 'contact.custom_value4',
|
36 => 'contact.custom_value3',
|
||||||
|
37 => 'contact.custom_value4',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,14 +89,15 @@ class ClientMap
|
|||||||
26 => 'texts.vat_number',
|
26 => 'texts.vat_number',
|
||||||
27 => 'texts.id_number',
|
27 => 'texts.id_number',
|
||||||
28 => 'texts.public_notes',
|
28 => 'texts.public_notes',
|
||||||
29 => 'texts.first_name',
|
29 => 'texts.client_phone',
|
||||||
30 => 'texts.last_name',
|
30 => 'texts.first_name',
|
||||||
31 => 'texts.email',
|
31 => 'texts.last_name',
|
||||||
32 => 'texts.phone',
|
32 => 'texts.email',
|
||||||
33 => 'texts.custom_value',
|
33 => 'texts.phone',
|
||||||
34 => 'texts.custom_value',
|
34 => 'texts.custom_value',
|
||||||
35 => 'texts.custom_value',
|
35 => 'texts.custom_value',
|
||||||
36 => 'texts.custom_value',
|
36 => 'texts.custom_value',
|
||||||
|
37 => 'texts.custom_value',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ class ExpenseTransformer extends BaseTransformer {
|
|||||||
'currency_id' => $this->getCurrencyByCode( $data, 'expense.currency_id' ),
|
'currency_id' => $this->getCurrencyByCode( $data, 'expense.currency_id' ),
|
||||||
'vendor_id' => isset( $data['expense.vendor'] ) ? $this->getVendorId( $data['expense.vendor'] ) : null,
|
'vendor_id' => isset( $data['expense.vendor'] ) ? $this->getVendorId( $data['expense.vendor'] ) : null,
|
||||||
'client_id' => isset( $data['expense.client'] ) ? $this->getClientId( $data['expense.client'] ) : null,
|
'client_id' => isset( $data['expense.client'] ) ? $this->getClientId( $data['expense.client'] ) : null,
|
||||||
'expense_date' => isset( $data['expense.date'] ) ? date( 'Y-m-d', strtotime( $data['expense.date'] ) ) : null,
|
'date' => isset( $data['expense.date'] ) ? date( 'Y-m-d', strtotime( $data['expense.date'] ) ) : null,
|
||||||
'public_notes' => $this->getString( $data, 'expense.public_notes' ),
|
'public_notes' => $this->getString( $data, 'expense.public_notes' ),
|
||||||
'private_notes' => $this->getString( $data, 'expense.private_notes' ),
|
'private_notes' => $this->getString( $data, 'expense.private_notes' ),
|
||||||
'expense_category_id' => isset( $data['expense.category'] ) ? $this->getExpenseCategoryId( $data['expense.category'] ) : null,
|
'expense_category_id' => isset( $data['expense.category'] ) ? $this->getExpenseCategoryId( $data['expense.category'] ) : null,
|
||||||
|
@ -192,6 +192,8 @@ class Import implements ShouldQueue
|
|||||||
|
|
||||||
nlog("Starting Migration");
|
nlog("Starting Migration");
|
||||||
nlog($this->user->email);
|
nlog($this->user->email);
|
||||||
|
info("Starting Migration");
|
||||||
|
info($this->user->email);
|
||||||
|
|
||||||
auth()->login($this->user, false);
|
auth()->login($this->user, false);
|
||||||
auth()->user()->setCompany($this->company);
|
auth()->user()->setCompany($this->company);
|
||||||
@ -1239,6 +1241,7 @@ class Import implements ShouldQueue
|
|||||||
|
|
||||||
$try_quote = false;
|
$try_quote = false;
|
||||||
$exception = false;
|
$exception = false;
|
||||||
|
$entity = false;
|
||||||
|
|
||||||
try{
|
try{
|
||||||
$invoice_id = $this->transformId('invoices', $resource['invoice_id']);
|
$invoice_id = $this->transformId('invoices', $resource['invoice_id']);
|
||||||
|
@ -59,7 +59,7 @@ class MultiDB
|
|||||||
$current_db = config('database.default');
|
$current_db = config('database.default');
|
||||||
|
|
||||||
foreach (self::$dbs as $db) {
|
foreach (self::$dbs as $db) {
|
||||||
if (Company::on($db)->whereSubdomain($subdomain)->get()->count() >= 1) {
|
if (Company::on($db)->whereSubdomain($subdomain)->exists()) {
|
||||||
self::setDb($current_db);
|
self::setDb($current_db);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -73,12 +73,12 @@ class MultiDB
|
|||||||
public static function checkUserEmailExists($email) : bool
|
public static function checkUserEmailExists($email) : bool
|
||||||
{
|
{
|
||||||
if (! config('ninja.db.multi_db_enabled'))
|
if (! config('ninja.db.multi_db_enabled'))
|
||||||
return User::where(['email' => $email])->get()->count() >= 1 ?? false; // true >= 1 emails found / false -> == emails found
|
return User::where(['email' => $email])->exists(); // true >= 1 emails found / false -> == emails found
|
||||||
|
|
||||||
$current_db = config('database.default');
|
$current_db = config('database.default');
|
||||||
|
|
||||||
foreach (self::$dbs as $db) {
|
foreach (self::$dbs as $db) {
|
||||||
if (User::on($db)->where(['email' => $email])->get()->count() >= 1) { // if user already exists, validation will fail
|
if (User::on($db)->where(['email' => $email])->exists()) { // if user already exists, validation will fail
|
||||||
self::setDb($current_db);
|
self::setDb($current_db);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -196,7 +196,7 @@ class MultiDB
|
|||||||
//multi-db active
|
//multi-db active
|
||||||
foreach (self::$dbs as $db) {
|
foreach (self::$dbs as $db) {
|
||||||
|
|
||||||
if (User::on($db)->where('email', $email)->count() >= 1){
|
if (User::on($db)->where('email', $email)->exists()){
|
||||||
self::setDb($db);
|
self::setDb($db);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -214,7 +214,7 @@ class MultiDB
|
|||||||
//multi-db active
|
//multi-db active
|
||||||
foreach (self::$dbs as $db) {
|
foreach (self::$dbs as $db) {
|
||||||
|
|
||||||
if (Document::on($db)->where('hash', $hash)->count() >= 1){
|
if (Document::on($db)->where('hash', $hash)->exists()){
|
||||||
self::setDb($db);
|
self::setDb($db);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ class SupportMessageSent extends Mailable
|
|||||||
else
|
else
|
||||||
$subject = "Self Host {$user->present()->name} - [{$plan} - {$company->db}]";
|
$subject = "Self Host {$user->present()->name} - [{$plan} - {$company->db}]";
|
||||||
|
|
||||||
return $this->from(config('mail.from.address'), config('mail.from.name'))
|
return $this->from(config('mail.from.address'), $user->present()->name())
|
||||||
->replyTo($user->email, $user->present()->name())
|
->replyTo($user->email, $user->present()->name())
|
||||||
->subject($subject)
|
->subject($subject)
|
||||||
->view('email.support.message', [
|
->view('email.support.message', [
|
||||||
|
@ -14,6 +14,7 @@ namespace App\PaymentDrivers\WePay;
|
|||||||
use App\Exceptions\PaymentFailed;
|
use App\Exceptions\PaymentFailed;
|
||||||
use App\Jobs\Mail\PaymentFailureMailer;
|
use App\Jobs\Mail\PaymentFailureMailer;
|
||||||
use App\Jobs\Util\SystemLogger;
|
use App\Jobs\Util\SystemLogger;
|
||||||
|
use App\Models\GatewayType;
|
||||||
use App\Models\PaymentType;
|
use App\Models\PaymentType;
|
||||||
use App\Models\SystemLog;
|
use App\Models\SystemLog;
|
||||||
|
|
||||||
|
@ -173,9 +173,15 @@ class HtmlEngine
|
|||||||
$data['$balance_due'] = ['value' => Number::formatMoney($this->entity->partial, $this->client) ?: ' ', 'label' => ctrans('texts.balance_due')];
|
$data['$balance_due'] = ['value' => Number::formatMoney($this->entity->partial, $this->client) ?: ' ', 'label' => ctrans('texts.balance_due')];
|
||||||
$data['$balance_due_raw'] = ['value' => $this->entity->partial, 'label' => ctrans('texts.balance_due')];
|
$data['$balance_due_raw'] = ['value' => $this->entity->partial, 'label' => ctrans('texts.balance_due')];
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
if($this->entity->status_id == 1){
|
||||||
|
$data['$balance_due'] = ['value' => Number::formatMoney($this->entity->amount, $this->client) ?: ' ', 'label' => ctrans('texts.balance_due')];
|
||||||
|
$data['$balance_due_raw'] = ['value' => $this->entity->amount, 'label' => ctrans('texts.balance_due')];
|
||||||
|
}
|
||||||
|
else{
|
||||||
$data['$balance_due'] = ['value' => Number::formatMoney($this->entity->balance, $this->client) ?: ' ', 'label' => ctrans('texts.balance_due')];
|
$data['$balance_due'] = ['value' => Number::formatMoney($this->entity->balance, $this->client) ?: ' ', 'label' => ctrans('texts.balance_due')];
|
||||||
$data['$balance_due_raw'] = ['value' => $this->entity->balance, 'label' => ctrans('texts.balance_due')];
|
$data['$balance_due_raw'] = ['value' => $this->entity->balance, 'label' => ctrans('texts.balance_due')];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['$quote.balance_due'] = &$data['$balance_due'];
|
$data['$quote.balance_due'] = &$data['$balance_due'];
|
||||||
|
@ -1957,3 +1957,5 @@ INSERT INTO `migrations` VALUES (78,'2021_05_30_100933_make_documents_assigned_u
|
|||||||
INSERT INTO `migrations` VALUES (79,'2021_06_10_221012_add_ninja_portal_column_to_accounts_table',2);
|
INSERT INTO `migrations` VALUES (79,'2021_06_10_221012_add_ninja_portal_column_to_accounts_table',2);
|
||||||
INSERT INTO `migrations` VALUES (80,'2021_06_24_095942_payments_table_currency_nullable',2);
|
INSERT INTO `migrations` VALUES (80,'2021_06_24_095942_payments_table_currency_nullable',2);
|
||||||
INSERT INTO `migrations` VALUES (81,'2021_06_24_115919_update_designs',2);
|
INSERT INTO `migrations` VALUES (81,'2021_06_24_115919_update_designs',2);
|
||||||
|
INSERT INTO `migrations` VALUES (82,'2021_07_08_115919_update_designs',3);
|
||||||
|
INSERT INTO `migrations` VALUES (83,'2021_07_10_085821_activate_payfast_payment_driver',3);
|
||||||
|
13404
package-lock.json
generated
13404
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,2 +1,2 @@
|
|||||||
/*! For license information please see authorize-authorize-card.js.LICENSE.txt */
|
/*! For license information please see authorize-authorize-card.js.LICENSE.txt */
|
||||||
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=1)}({1:function(e,t,n){e.exports=n("6vDv")},"6vDv":function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}new(function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.publicKey=t,this.loginId=n,this.cardHolderName=document.getElementById("cardholder_name"),this.cardButton=document.getElementById("card_button")}var t,r,a;return t=e,(r=[{key:"handleAuthorization",value:function(){var e=$("#my-card"),t={};t.clientKey=this.publicKey,t.apiLoginID=this.loginId;var n={};n.cardNumber=e.CardJs("cardNumber"),n.month=e.CardJs("expiryMonth"),n.year=e.CardJs("expiryYear"),n.cardCode=document.getElementById("cvv").value;var r={};return r.authData=t,r.cardData=n,document.getElementById("card_button").disabled=!0,document.querySelector("#card_button > svg").classList.remove("hidden"),document.querySelector("#card_button > span").classList.add("hidden"),Accept.dispatchData(r,this.responseHandler),!1}},{key:"responseHandler",value:function(e){return"Error"===e.messages.resultCode?($("#errors").show().html("<p>"+e.messages.message[0].code+": "+e.messages.message[0].text+"</p>"),document.getElementById("card_button").disabled=!1,document.querySelector("#card_button > svg").classList.add("hidden"),document.querySelector("#card_button > span").classList.remove("hidden")):"Ok"===e.messages.resultCode&&(document.getElementById("dataDescriptor").value=e.opaqueData.dataDescriptor,document.getElementById("dataValue").value=e.opaqueData.dataValue,document.getElementById("server_response").submit()),!1}},{key:"handle",value:function(){var e=this;return this.cardButton.addEventListener("click",(function(){e.cardButton.disabled=!e.cardButton.disabled,e.handleAuthorization()})),this}}])&&n(t.prototype,r),a&&n(t,a),e}())(document.querySelector('meta[name="authorize-public-key"]').content,document.querySelector('meta[name="authorize-login-id"]').content).handle()}});
|
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=1)}({1:function(e,t,n){e.exports=n("6vDv")},"6vDv":function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}new(function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.publicKey=t,this.loginId=n,this.cardHolderName=document.getElementById("cardholder_name"),this.cardButton=document.getElementById("card_button")}var t,r,a;return t=e,(r=[{key:"handleAuthorization",value:function(){var e=$("#my-card"),t={};t.clientKey=this.publicKey,t.apiLoginID=this.loginId;var n={};n.cardNumber=e.CardJs("cardNumber").replace(/[^\d]/g,""),n.month=e.CardJs("expiryMonth"),n.year=e.CardJs("expiryYear"),n.cardCode=document.getElementById("cvv").value;var r={};return r.authData=t,r.cardData=n,document.getElementById("card_button").disabled=!0,document.querySelector("#card_button > svg").classList.remove("hidden"),document.querySelector("#card_button > span").classList.add("hidden"),Accept.dispatchData(r,this.responseHandler),!1}},{key:"responseHandler",value:function(e){return"Error"===e.messages.resultCode?($("#errors").show().html("<p>"+e.messages.message[0].code+": "+e.messages.message[0].text+"</p>"),document.getElementById("card_button").disabled=!1,document.querySelector("#card_button > svg").classList.add("hidden"),document.querySelector("#card_button > span").classList.remove("hidden")):"Ok"===e.messages.resultCode&&(document.getElementById("dataDescriptor").value=e.opaqueData.dataDescriptor,document.getElementById("dataValue").value=e.opaqueData.dataValue,document.getElementById("server_response").submit()),!1}},{key:"handle",value:function(){var e=this;return this.cardButton.addEventListener("click",(function(){e.cardButton.disabled=!e.cardButton.disabled,e.handleAuthorization()})),this}}])&&n(t.prototype,r),a&&n(t,a),e}())(document.querySelector('meta[name="authorize-public-key"]').content,document.querySelector('meta[name="authorize-login-id"]').content).handle()}});
|
@ -4,7 +4,7 @@
|
|||||||
"/js/clients/invoices/action-selectors.js": "/js/clients/invoices/action-selectors.js?id=a09bb529b8e1826f13b4",
|
"/js/clients/invoices/action-selectors.js": "/js/clients/invoices/action-selectors.js?id=a09bb529b8e1826f13b4",
|
||||||
"/js/clients/invoices/payment.js": "/js/clients/invoices/payment.js?id=8ce8955ba775ea5f47d1",
|
"/js/clients/invoices/payment.js": "/js/clients/invoices/payment.js?id=8ce8955ba775ea5f47d1",
|
||||||
"/js/clients/linkify-urls.js": "/js/clients/linkify-urls.js?id=0dc8c34010d09195d2f7",
|
"/js/clients/linkify-urls.js": "/js/clients/linkify-urls.js?id=0dc8c34010d09195d2f7",
|
||||||
"/js/clients/payment_methods/authorize-authorize-card.js": "/js/clients/payment_methods/authorize-authorize-card.js?id=206d7de4ac97612980ff",
|
"/js/clients/payment_methods/authorize-authorize-card.js": "/js/clients/payment_methods/authorize-authorize-card.js?id=c4cae3b736c9b186deec",
|
||||||
"/js/clients/payment_methods/wepay-bank-account.js": "/js/clients/payment_methods/wepay-bank-account.js?id=8fea0be371d430064a89",
|
"/js/clients/payment_methods/wepay-bank-account.js": "/js/clients/payment_methods/wepay-bank-account.js?id=8fea0be371d430064a89",
|
||||||
"/js/clients/payments/authorize-credit-card-payment.js": "/js/clients/payments/authorize-credit-card-payment.js?id=a376eff2227da398b0ba",
|
"/js/clients/payments/authorize-credit-card-payment.js": "/js/clients/payments/authorize-credit-card-payment.js?id=a376eff2227da398b0ba",
|
||||||
"/js/clients/payments/braintree-credit-card.js": "/js/clients/payments/braintree-credit-card.js?id=81957e7cb1cb49f23b90",
|
"/js/clients/payments/braintree-credit-card.js": "/js/clients/payments/braintree-credit-card.js?id=81957e7cb1cb49f23b90",
|
||||||
|
@ -26,7 +26,7 @@ class AuthorizeAuthorizeCard {
|
|||||||
authData.apiLoginID = this.loginId;
|
authData.apiLoginID = this.loginId;
|
||||||
|
|
||||||
var cardData = {};
|
var cardData = {};
|
||||||
cardData.cardNumber = myCard.CardJs('cardNumber');
|
cardData.cardNumber = myCard.CardJs('cardNumber').replace(/[^\d]/g, '');
|
||||||
cardData.month = myCard.CardJs('expiryMonth');
|
cardData.month = myCard.CardJs('expiryMonth');
|
||||||
cardData.year = myCard.CardJs('expiryYear');;
|
cardData.year = myCard.CardJs('expiryYear');;
|
||||||
cardData.cardCode = document.getElementById("cvv").value;
|
cardData.cardCode = document.getElementById("cvv").value;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user