mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Merge branch 'v5-develop' into yodlee
This commit is contained in:
commit
35098f5b14
8
.github/workflows/phpunit.yml
vendored
8
.github/workflows/phpunit.yml
vendored
@ -12,8 +12,8 @@ jobs:
|
|||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: ['ubuntu-18.04', 'ubuntu-20.04']
|
operating-system: ['ubuntu-18.04', 'ubuntu-20.04', 'ubuntu-22.04']
|
||||||
php-versions: ['7.4','8.0','8.1']
|
php-versions: ['8.1']
|
||||||
phpunit-versions: ['latest']
|
phpunit-versions: ['latest']
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@ -107,7 +107,3 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
DB_PORT: ${{ job.services.mysql.ports[3306] }}
|
DB_PORT: ${{ job.services.mysql.ports[3306] }}
|
||||||
PHP_CS_FIXER_IGNORE_ENV: true
|
PHP_CS_FIXER_IGNORE_ENV: true
|
||||||
|
|
||||||
- name: Run php-cs-fixer
|
|
||||||
run: |
|
|
||||||
PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix
|
|
||||||
|
@ -1 +1 @@
|
|||||||
5.5.7
|
5.5.8
|
@ -14,10 +14,14 @@ namespace App\Jobs\Cron;
|
|||||||
use App\Libraries\MultiDB;
|
use App\Libraries\MultiDB;
|
||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use Illuminate\Foundation\Bus\Dispatchable;
|
use Illuminate\Foundation\Bus\Dispatchable;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
class AutoBill
|
class AutoBill implements ShouldQueue
|
||||||
{
|
{
|
||||||
use Dispatchable;
|
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||||
|
|
||||||
public $tries = 1;
|
public $tries = 1;
|
||||||
|
|
||||||
|
@ -115,12 +115,12 @@ class TemplateEmail extends Mailable
|
|||||||
'company' => $company,
|
'company' => $company,
|
||||||
'whitelabel' => $this->client->user->account->isPaid() ? true : false,
|
'whitelabel' => $this->client->user->account->isPaid() ? true : false,
|
||||||
'logo' => $this->company->present()->logo($settings),
|
'logo' => $this->company->present()->logo($settings),
|
||||||
])
|
]);
|
||||||
->withSymfonyMessage(function ($message) use ($company) {
|
// ->withSymfonyMessage(function ($message) use ($company) {
|
||||||
$message->getHeaders()->addTextHeader('Tag', $company->company_key);
|
// $message->getHeaders()->addTextHeader('Tag', $company->company_key);
|
||||||
$message->invitation = $this->invitation;
|
// $message->invitation = $this->invitation;
|
||||||
})
|
//});
|
||||||
->tag($company->company_key);
|
// ->tag($company->company_key);
|
||||||
|
|
||||||
/*In the hosted platform we need to slow things down a little for Storage to catch up.*/
|
/*In the hosted platform we need to slow things down a little for Storage to catch up.*/
|
||||||
|
|
||||||
|
@ -109,12 +109,12 @@ class VendorTemplateEmail extends Mailable
|
|||||||
'company' => $this->company,
|
'company' => $this->company,
|
||||||
'whitelabel' => $this->vendor->user->account->isPaid() ? true : false,
|
'whitelabel' => $this->vendor->user->account->isPaid() ? true : false,
|
||||||
'logo' => $this->company->present()->logo($settings),
|
'logo' => $this->company->present()->logo($settings),
|
||||||
])
|
]);
|
||||||
->withSymfonyMessage(function ($message) {
|
//->withSymfonyMessage(function ($message) {
|
||||||
$message->getHeaders()->addTextHeader('Tag', $this->company->company_key);
|
// $message->getHeaders()->addTextHeader('Tag', $this->company->company_key);
|
||||||
$message->invitation = $this->invitation;
|
// $message->invitation = $this->invitation;
|
||||||
})
|
//});
|
||||||
->tag($this->company->company_key);
|
// ->tag($this->company->company_key);
|
||||||
|
|
||||||
if(Ninja::isHosted() && $this->invitation){
|
if(Ninja::isHosted() && $this->invitation){
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ class RecurringService
|
|||||||
|
|
||||||
if($this->recurring_entity instanceof RecurringInvoice && $this->recurring_entity->status_id == RecurringInvoice::STATUS_DRAFT){
|
if($this->recurring_entity instanceof RecurringInvoice && $this->recurring_entity->status_id == RecurringInvoice::STATUS_DRAFT){
|
||||||
$this->start()->save();
|
$this->start()->save();
|
||||||
SendRecurring::dispatchNow($this->recurring_entity, $this->recurring_entity->company->db);
|
SendRecurring::dispatch($this->recurring_entity, $this->recurring_entity->company->db);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->recurring_entity;
|
return $this->recurring_entity;
|
||||||
|
@ -162,4 +162,4 @@
|
|||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
}
|
}
|
||||||
|
488
composer.lock
generated
488
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -14,8 +14,8 @@ return [
|
|||||||
'require_https' => env('REQUIRE_HTTPS', true),
|
'require_https' => env('REQUIRE_HTTPS', true),
|
||||||
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
||||||
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
||||||
'app_version' => '5.5.7',
|
'app_version' => '5.5.8',
|
||||||
'app_tag' => '5.5.7',
|
'app_tag' => '5.5.8',
|
||||||
'minimum_client_version' => '5.0.16',
|
'minimum_client_version' => '5.0.16',
|
||||||
'terms_version' => '1.0.1',
|
'terms_version' => '1.0.1',
|
||||||
'api_secret' => env('API_SECRET', ''),
|
'api_secret' => env('API_SECRET', ''),
|
||||||
|
4
public/flutter_service_worker.js
vendored
4
public/flutter_service_worker.js
vendored
@ -7,9 +7,9 @@ const RESOURCES = {
|
|||||||
"canvaskit/profiling/canvaskit.wasm": "95e736ab31147d1b2c7b25f11d4c32cd",
|
"canvaskit/profiling/canvaskit.wasm": "95e736ab31147d1b2c7b25f11d4c32cd",
|
||||||
"canvaskit/canvaskit.js": "c2b4e5f3d7a3d82aed024e7249a78487",
|
"canvaskit/canvaskit.js": "c2b4e5f3d7a3d82aed024e7249a78487",
|
||||||
"canvaskit/canvaskit.wasm": "4b83d89d9fecbea8ca46f2f760c5a9ba",
|
"canvaskit/canvaskit.wasm": "4b83d89d9fecbea8ca46f2f760c5a9ba",
|
||||||
"/": "b9db60c6b1a6d278ceec1c30ae38c458",
|
"/": "784b9b59de6c49b2fa8bc36999656d6a",
|
||||||
"favicon.png": "dca91c54388f52eded692718d5a98b8b",
|
"favicon.png": "dca91c54388f52eded692718d5a98b8b",
|
||||||
"main.dart.js": "5a77b225d63f65c5eb997486884361c1",
|
"main.dart.js": "819a7e0f760429027b88f15315928b59",
|
||||||
"manifest.json": "ef43d90e57aa7682d7e2cfba2f484a40",
|
"manifest.json": "ef43d90e57aa7682d7e2cfba2f484a40",
|
||||||
"version.json": "c0a4deee2c1337ed484674fb0099de5c",
|
"version.json": "c0a4deee2c1337ed484674fb0099de5c",
|
||||||
"flutter.js": "eb2682e33f25cd8f1fc59011497c35f8",
|
"flutter.js": "eb2682e33f25cd8f1fc59011497c35f8",
|
||||||
|
54909
public/main.dart.js
vendored
54909
public/main.dart.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
54541
public/main.foss.dart.js
vendored
54541
public/main.foss.dart.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2888
public/main.profile.dart.js
vendored
2888
public/main.profile.dart.js
vendored
File diff suppressed because one or more lines are too long
@ -10,7 +10,6 @@
|
|||||||
| is assigned the "api" middleware group. Enjoy building your API!
|
| is assigned the "api" middleware group. Enjoy building your API!
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use App\Http\Controllers\AccountController;
|
use App\Http\Controllers\AccountController;
|
||||||
use App\Http\Controllers\ActivityController;
|
use App\Http\Controllers\ActivityController;
|
||||||
use App\Http\Controllers\Auth\ForgotPasswordController;
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
||||||
@ -350,4 +349,4 @@ Route::post('api/v1/get_migration_account', [HostedMigrationController::class, '
|
|||||||
Route::post('api/v1/confirm_forwarding', [HostedMigrationController::class, 'confirmForwarding'])->middleware('guest')->middleware('throttle:100,1');
|
Route::post('api/v1/confirm_forwarding', [HostedMigrationController::class, 'confirmForwarding'])->middleware('guest')->middleware('throttle:100,1');
|
||||||
Route::post('api/v1/process_webhook', [AppleController::class, 'process_webhook'])->middleware('throttle:1000,1');
|
Route::post('api/v1/process_webhook', [AppleController::class, 'process_webhook'])->middleware('throttle:1000,1');
|
||||||
Route::post('api/v1/confirm_purchase', [AppleController::class, 'confirm_purchase'])->middleware('throttle:1000,1');
|
Route::post('api/v1/confirm_purchase', [AppleController::class, 'confirm_purchase'])->middleware('throttle:1000,1');
|
||||||
Route::fallback([BaseController::class, 'notFound']);
|
Route::fallback([BaseController::class, 'notFound']);
|
@ -45,6 +45,7 @@ Route::get('client/ninja/{contact_key}/{company_key}', [App\Http\Controllers\Cli
|
|||||||
Route::post('client/ninja/trial_confirmation', [App\Http\Controllers\ClientPortal\NinjaPlanController::class, 'trial_confirmation'])->name('client.trial.response')->middleware(['domain_db']);
|
Route::post('client/ninja/trial_confirmation', [App\Http\Controllers\ClientPortal\NinjaPlanController::class, 'trial_confirmation'])->name('client.trial.response')->middleware(['domain_db']);
|
||||||
|
|
||||||
Route::group(['middleware' => ['auth:contact', 'locale', 'domain_db','check_client_existence'], 'prefix' => 'client', 'as' => 'client.'], function () {
|
Route::group(['middleware' => ['auth:contact', 'locale', 'domain_db','check_client_existence'], 'prefix' => 'client', 'as' => 'client.'], function () {
|
||||||
|
|
||||||
Route::get('dashboard', [App\Http\Controllers\ClientPortal\DashboardController::class, 'index'])->name('dashboard'); // name = (dashboard. index / create / show / update / destroy / edit
|
Route::get('dashboard', [App\Http\Controllers\ClientPortal\DashboardController::class, 'index'])->name('dashboard'); // name = (dashboard. index / create / show / update / destroy / edit
|
||||||
|
|
||||||
Route::get('plan', [App\Http\Controllers\ClientPortal\NinjaPlanController::class, 'plan'])->name('plan'); // name = (dashboard. index / create / show / update / destroy / edit
|
Route::get('plan', [App\Http\Controllers\ClientPortal\NinjaPlanController::class, 'plan'])->name('plan'); // name = (dashboard. index / create / show / update / destroy / edit
|
||||||
@ -134,4 +135,4 @@ Route::group(['middleware' => ['invite_db'], 'prefix' => 'client', 'as' => 'clie
|
|||||||
|
|
||||||
Route::get('phantom/{entity}/{invitation_key}', [Phantom::class, 'displayInvitation'])->middleware(['invite_db', 'phantom_secret'])->name('phantom_view');
|
Route::get('phantom/{entity}/{invitation_key}', [Phantom::class, 'displayInvitation'])->middleware(['invite_db', 'phantom_secret'])->name('phantom_view');
|
||||||
|
|
||||||
Route::fallback([BaseController::class, 'notFoundClient']);
|
Route::fallback([BaseController::class, 'notFoundClient']);
|
@ -50,4 +50,5 @@ Route::group(['middleware' => ['auth:vendor', 'vendor_locale', 'domain_db'], 'pr
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
Route::fallback([BaseController::class, 'notFoundVendor']);
|
Route::fallback([BaseController::class, 'notFoundVendor']);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user