mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Add trusted proxy config
This commit is contained in:
parent
575a3b3190
commit
01ee9529b6
@ -29,7 +29,10 @@ use Illuminate\Support\Facades\Config;
|
|||||||
use Illuminate\Support\Facades\Lang;
|
use Illuminate\Support\Facades\Lang;
|
||||||
use Turbo124\Beacon\Facades\LightLogs;
|
use Turbo124\Beacon\Facades\LightLogs;
|
||||||
|
|
||||||
/*Multi Mailer implemented*/
|
/*
|
||||||
|
Multi Mailer implemented
|
||||||
|
@Deprecated 14/02/2021
|
||||||
|
*/
|
||||||
|
|
||||||
class BaseMailerJob implements ShouldQueue
|
class BaseMailerJob implements ShouldQueue
|
||||||
{
|
{
|
||||||
|
@ -34,6 +34,7 @@ use App\Http\ValidationRules\ValidUserForCompany;
|
|||||||
use App\Jobs\Company\CreateCompanyToken;
|
use App\Jobs\Company\CreateCompanyToken;
|
||||||
use App\Jobs\Ninja\CheckCompanyData;
|
use App\Jobs\Ninja\CheckCompanyData;
|
||||||
use App\Jobs\Ninja\CompanySizeCheck;
|
use App\Jobs\Ninja\CompanySizeCheck;
|
||||||
|
use App\Jobs\Util\VersionCheck;
|
||||||
use App\Libraries\MultiDB;
|
use App\Libraries\MultiDB;
|
||||||
use App\Mail\MigrationCompleted;
|
use App\Mail\MigrationCompleted;
|
||||||
use App\Models\Activity;
|
use App\Models\Activity;
|
||||||
@ -74,6 +75,7 @@ use App\Utils\Traits\CompanyGatewayFeesAndLimitsSaver;
|
|||||||
use App\Utils\Traits\MakesHash;
|
use App\Utils\Traits\MakesHash;
|
||||||
use App\Utils\Traits\SavesDocuments;
|
use App\Utils\Traits\SavesDocuments;
|
||||||
use App\Utils\Traits\Uploadable;
|
use App\Utils\Traits\Uploadable;
|
||||||
|
use Dacastro4\LaravelGmail\Services\Message\Mail;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
@ -81,7 +83,6 @@ use Illuminate\Foundation\Bus\Dispatchable;
|
|||||||
use Illuminate\Http\UploadedFile;
|
use Illuminate\Http\UploadedFile;
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
use Illuminate\Support\Facades\Mail;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Turbo124\Beacon\Facades\LightLogs;
|
use Turbo124\Beacon\Facades\LightLogs;
|
||||||
@ -226,15 +227,22 @@ class Import implements ShouldQueue
|
|||||||
private function setInitialCompanyLedgerBalances()
|
private function setInitialCompanyLedgerBalances()
|
||||||
{
|
{
|
||||||
Client::cursor()->each(function ($client) {
|
Client::cursor()->each(function ($client) {
|
||||||
|
|
||||||
|
$invoice_balances = $client->invoices->where('is_deleted', false)->where('status_id', '>', 1)->sum('balance');
|
||||||
|
|
||||||
$company_ledger = CompanyLedgerFactory::create($client->company_id, $client->user_id);
|
$company_ledger = CompanyLedgerFactory::create($client->company_id, $client->user_id);
|
||||||
$company_ledger->client_id = $client->id;
|
$company_ledger->client_id = $client->id;
|
||||||
$company_ledger->adjustment = $client->balance;
|
$company_ledger->adjustment = $invoice_balances;
|
||||||
$company_ledger->notes = 'Migrated Client Balance';
|
$company_ledger->notes = 'Migrated Client Balance';
|
||||||
$company_ledger->balance = $client->balance;
|
$company_ledger->balance = $invoice_balances;
|
||||||
$company_ledger->activity_id = Activity::CREATE_CLIENT;
|
$company_ledger->activity_id = Activity::CREATE_CLIENT;
|
||||||
$company_ledger->save();
|
$company_ledger->save();
|
||||||
|
|
||||||
$client->company_ledger()->save($company_ledger);
|
$client->company_ledger()->save($company_ledger);
|
||||||
|
|
||||||
|
$client->balance = $invoice_balances;
|
||||||
|
$client->save();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1031,17 +1039,20 @@ class Import implements ShouldQueue
|
|||||||
if (array_key_exists('invoice_id', $resource) && $resource['invoice_id'] && array_key_exists('invoices', $this->ids)) {
|
if (array_key_exists('invoice_id', $resource) && $resource['invoice_id'] && array_key_exists('invoices', $this->ids)) {
|
||||||
|
|
||||||
$try_quote = false;
|
$try_quote = false;
|
||||||
$exception = null;
|
$exception = false;
|
||||||
|
|
||||||
try{
|
try{
|
||||||
$invoice_id = $this->transformId('invoices', $resource['invoice_id']);
|
$invoice_id = $this->transformId('invoices', $resource['invoice_id']);
|
||||||
$entity = Invoice::where('id', $invoice_id)->withTrashed()->first();
|
$entity = Invoice::where('id', $invoice_id)->withTrashed()->first();
|
||||||
}
|
}
|
||||||
catch(\Exception $e){
|
catch(\Exception $e){
|
||||||
|
nlog("i couldn't find the invoice document {$resource['invoice_id']}, perhaps it is a quote?");
|
||||||
|
nlog($e->getMessage());
|
||||||
|
|
||||||
$try_quote = true;
|
$try_quote = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($try_quote) {
|
if($try_quote && array_key_exists('quotes', $this->ids) ) {
|
||||||
|
|
||||||
$quote_id = $this->transformId('quotes', $resource['invoice_id']);
|
$quote_id = $this->transformId('quotes', $resource['invoice_id']);
|
||||||
$entity = Quote::where('id', $quote_id)->withTrashed()->first();
|
$entity = Quote::where('id', $quote_id)->withTrashed()->first();
|
||||||
@ -1049,7 +1060,7 @@ class Import implements ShouldQueue
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if($exception)
|
if(!$entity)
|
||||||
throw new Exception("Resource invoice/quote document not available.");
|
throw new Exception("Resource invoice/quote document not available.");
|
||||||
|
|
||||||
|
|
||||||
|
50
config/trustedproxy.php
Normal file
50
config/trustedproxy.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set trusted proxy IP addresses.
|
||||||
|
*
|
||||||
|
* Both IPv4 and IPv6 addresses are
|
||||||
|
* supported, along with CIDR notation.
|
||||||
|
*
|
||||||
|
* The "*" character is syntactic sugar
|
||||||
|
* within TrustedProxy to trust any proxy
|
||||||
|
* that connects directly to your server,
|
||||||
|
* a requirement when you cannot know the address
|
||||||
|
* of your proxy (e.g. if using ELB or similar).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
'proxies' => null, // [<ip addresses>,], '*', '<ip addresses>,'
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To trust one or more specific proxies that connect
|
||||||
|
* directly to your server, use an array or a string separated by comma of IP addresses:
|
||||||
|
*/
|
||||||
|
// 'proxies' => ['192.168.1.1'],
|
||||||
|
// 'proxies' => '192.168.1.1, 192.168.1.2',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Or, to trust all proxies that connect
|
||||||
|
* directly to your server, use a "*"
|
||||||
|
*/
|
||||||
|
// 'proxies' => '*',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Which headers to use to detect proxy related data (For, Host, Proto, Port)
|
||||||
|
*
|
||||||
|
* Options include:
|
||||||
|
*
|
||||||
|
* - Illuminate\Http\Request::HEADER_X_FORWARDED_ALL (use all x-forwarded-* headers to establish trust)
|
||||||
|
* - Illuminate\Http\Request::HEADER_FORWARDED (use the FORWARDED header to establish trust)
|
||||||
|
* - Illuminate\Http\Request::HEADER_X_FORWARDED_AWS_ELB (If you are using AWS Elastic Load Balancer)
|
||||||
|
*
|
||||||
|
* - 'HEADER_X_FORWARDED_ALL' (use all x-forwarded-* headers to establish trust)
|
||||||
|
* - 'HEADER_FORWARDED' (use the FORWARDED header to establish trust)
|
||||||
|
* - 'HEADER_X_FORWARDED_AWS_ELB' (If you are using AWS Elastic Load Balancer)
|
||||||
|
*
|
||||||
|
* @link https://symfony.com/doc/current/deployment/proxies.html
|
||||||
|
*/
|
||||||
|
'headers' => Illuminate\Http\Request::HEADER_X_FORWARDED_ALL,
|
||||||
|
|
||||||
|
];
|
Loading…
x
Reference in New Issue
Block a user