diff --git a/app/Console/Commands/CheckData.php b/app/Console/Commands/CheckData.php index 73c9fc5f7c6e..f7c63b8085da 100644 --- a/app/Console/Commands/CheckData.php +++ b/app/Console/Commands/CheckData.php @@ -303,7 +303,7 @@ class CheckData extends Command if ($ledger && number_format($invoice_balance, 4) != number_format($client->balance, 4)) { $wrong_balances++; - $this->logMessage($client->present()->name.' - '.$client->id." - balances do not match Invoice Balance = {$invoice_balance} Client Balance = {$client->balance} Ledger Balance = {$ledger->balance}"); + $this->logMessage($client->present()->name.' - '.$client->number." - Balance Failure - Invoice Balances = {$invoice_balance} Client Balance = {$client->balance} Ledger Balance = {$ledger->balance}"); $this->isValid = false; } @@ -352,11 +352,12 @@ class CheckData extends Command $total_credit = $invoice->credits->sum('amount'); $total_paid = $total_amount - $total_refund; + $calculated_paid_amount = $invoice->amount - $invoice->balance - $total_credit; - if ($total_paid != ($invoice->amount - $invoice->balance - $total_credit)) { + if ((string)$total_paid != (string)($invoice->amount - $invoice->balance - $total_credit)) { $wrong_balances++; - $this->logMessage($client->present()->name.' - '.$client->id." - balances do not match Invoice Amount = {$invoice->amount} - Invoice Balance = {$invoice->balance} Total paid = {$total_paid}"); + $this->logMessage($client->present()->name.' - '.$client->id." - Total Amount = {$total_amount} != Calculated Total = {$calculated_paid_amount} - Total Refund = {$total_refund} Total credit = {$total_credit}"); $this->isValid = false; } diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index a69893e728bf..ba7111ef860d 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -61,7 +61,7 @@ class BaseController extends Controller private $first_load = [ 'account', 'user.company_user', - 'token', + 'token.company_user', 'company.activities', 'company.users.company_user', 'company.tax_rates', @@ -81,6 +81,7 @@ class BaseController extends Controller 'company.recurring_invoices.invitations.company', 'company.recurring_invoices.documents', 'company.payments.paymentables', + 'company.payments.documents', 'company.quotes.invitations.contact', 'company.quotes.invitations.company', 'company.quotes.documents', @@ -89,10 +90,10 @@ class BaseController extends Controller 'company.credits.documents', 'company.payment_terms.company', 'company.vendors.contacts', - 'company.expenses', - 'company.tasks', - 'company.projects', - 'company.designs', + 'company.expenses.documents', + 'company.tasks.documents', + 'company.projects.documents', + 'company.designs.company', 'company.documents', 'company.webhooks', 'company.tokens_hashed', @@ -255,7 +256,7 @@ class BaseController extends Controller $query->where('updated_at', '>=', $updated_at); }, 'company.designs'=> function ($query) use ($updated_at) { - $query->where('updated_at', '>=', $updated_at); + $query->where('updated_at', '>=', $updated_at)->with('company'); }, ] ); diff --git a/app/Http/Middleware/QueryLogging.php b/app/Http/Middleware/QueryLogging.php index dc343832d86e..32d854d17b3b 100644 --- a/app/Http/Middleware/QueryLogging.php +++ b/app/Http/Middleware/QueryLogging.php @@ -52,7 +52,7 @@ class QueryLogging Log::info($request->method().' - '.$request->url().": $count queries - ".$time); - // if($count > 50) + // if($count > 50) // Log::info($queries); } } diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index b556b5c3d99a..400c393d605f 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -105,11 +105,10 @@ class Import implements ShouldQueue 'invoices', 'recurring_invoices', 'quotes', - 'payments', 'credits', + 'payments', 'company_gateways', 'client_gateway_tokens', - // //'documents', ]; @@ -722,7 +721,12 @@ class Import implements ShouldQueue if (isset($modified['invoices'])) { foreach ($modified['invoices'] as $key => $invoice) { - $modified['invoices'][$key]['invoice_id'] = $this->transformId('invoices', $invoice['invoice_id']); + + if($modified['amount'] >= 0) + $modified['invoices'][$key]['invoice_id'] = $this->transformId('invoices', $invoice['invoice_id']); + else + $modified['credits'][$key]['credit_id'] = $this->transformId('credits', $invoice['invoice_id']); + } } diff --git a/app/Repositories/Migration/PaymentMigrationRepository.php b/app/Repositories/Migration/PaymentMigrationRepository.php index 46b46ea114dd..b8a057b4b1ef 100644 --- a/app/Repositories/Migration/PaymentMigrationRepository.php +++ b/app/Repositories/Migration/PaymentMigrationRepository.php @@ -101,6 +101,7 @@ class PaymentMigrationRepository extends BaseRepository $invoice_totals = 0; $credit_totals = 0; + $invoices = false; /*Iterate through invoices and apply payments*/ if (array_key_exists('invoices', $data) && is_array($data['invoices']) && count($data['invoices']) > 0) { @@ -129,7 +130,7 @@ class PaymentMigrationRepository extends BaseRepository $this->activity_repo->save($fields, $invoice, Ninja::eventVars()); } - if (count($invoices) == 0) { + if ($invoices && count($invoices) == 0) { $this->activity_repo->save($fields, $payment, Ninja::eventVars()); }