From a16943986a53c68cd3ba7748e04aa79029f8cf26 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 30 Apr 2021 12:54:25 +1000 Subject: [PATCH 1/5] v5.1.57 --- VERSION.txt | 2 +- config/ninja.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index c554ea8c958d..3172f4f92dd6 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.1.56 \ No newline at end of file +5.1.57 \ No newline at end of file diff --git a/config/ninja.php b/config/ninja.php index ac6696c0f031..ebf67f544610 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -14,8 +14,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => '5.1.56', - 'app_tag' => '5.1.56-release', + 'app_version' => '5.1.57', + 'app_tag' => '5.1.57-release', 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', false), From dab7f5afba0a6f241b6f5424aeb44c068345ef0d Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 30 Apr 2021 14:22:36 +1000 Subject: [PATCH 2/5] explicitly define the unwritable file --- app/Http/Controllers/SelfUpdateController.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/SelfUpdateController.php b/app/Http/Controllers/SelfUpdateController.php index 70e3e03698a9..9141327a4530 100644 --- a/app/Http/Controllers/SelfUpdateController.php +++ b/app/Http/Controllers/SelfUpdateController.php @@ -62,8 +62,7 @@ class SelfUpdateController extends BaseController return response()->json(['message' => ctrans('texts.self_update_not_available')], 403); } - if(!$this->testWritable()) - throw new FilePermissionsFailure('Cannot update system because files are not writable!'); + $this->testWritable(); // Check if new version is available //if($updater->source()->isNewVersionAvailable()) { @@ -105,7 +104,8 @@ class SelfUpdateController extends BaseController // nlog($file->getPathname()); if ($file->isFile() && ! $file->isWritable()) { - throw new FilePermissionsFailure($file); + // throw new FilePermissionsFailure($file); + throw new FilePermissionsFailure("Cannot update system because {$file->getFileName()} is not writable"); return false; } } From 2eae22221f031055fe2c0260e8e485d58feed848 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 30 Apr 2021 14:29:27 +1000 Subject: [PATCH 3/5] Clean up update --- app/Console/Commands/PostUpdate.php | 25 +++++++------------ app/Http/Controllers/SelfUpdateController.php | 15 +++++------ app/Http/Controllers/SetupController.php | 5 ++-- 3 files changed, 17 insertions(+), 28 deletions(-) diff --git a/app/Console/Commands/PostUpdate.php b/app/Console/Commands/PostUpdate.php index fb6a014613d1..64f7adb29746 100644 --- a/app/Console/Commands/PostUpdate.php +++ b/app/Console/Commands/PostUpdate.php @@ -42,12 +42,12 @@ class PostUpdate extends Command { set_time_limit(0); - nlog('running post update'); + info('running post update'); try { Artisan::call('migrate', ['--force' => true]); } catch (\Exception $e) { - nlog("I wasn't able to migrate the data."); + info("I wasn't able to migrate the data."); } nlog("finished migrating"); @@ -56,35 +56,28 @@ class PostUpdate extends Command exec('vendor/bin/composer install --no-dev -o', $output); - info(print_r($output,1)); - - nlog($output); - - nlog("finished running composer install "); - + info(print_r($output,1)); + info("finished running composer install "); try { Artisan::call('optimize'); } catch (\Exception $e) { - nlog("I wasn't able to optimize."); + info("I wasn't able to optimize."); } - nlog("optimized"); + info("optimized"); try { Artisan::call('view:clear'); } catch (\Exception $e) { - nlog("I wasn't able to clear the views."); + info("I wasn't able to clear the views."); } - nlog("view cleared"); - - /* For the following to work, the web user (www-data) must own all the directories */ + info("view cleared"); VersionCheck::dispatch(); - nlog("sent for version check"); + info("Sent for version check"); - // echo "Done."; } } diff --git a/app/Http/Controllers/SelfUpdateController.php b/app/Http/Controllers/SelfUpdateController.php index 9141327a4530..cb3bcb1eff7c 100644 --- a/app/Http/Controllers/SelfUpdateController.php +++ b/app/Http/Controllers/SelfUpdateController.php @@ -64,18 +64,14 @@ class SelfUpdateController extends BaseController $this->testWritable(); - // Check if new version is available - //if($updater->source()->isNewVersionAvailable()) { + // Get the new version available + $versionAvailable = $updater->source()->getVersionAvailable(); - // Get the new version available - $versionAvailable = $updater->source()->getVersionAvailable(); + // Create a release + $release = $updater->source()->fetch($versionAvailable); - // Create a release - $release = $updater->source()->fetch($versionAvailable); + $updater->source()->update($release); - $updater->source()->update($release); - - //} $cacheCompiled = base_path('bootstrap/cache/compiled.php'); if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); } @@ -105,6 +101,7 @@ class SelfUpdateController extends BaseController if ($file->isFile() && ! $file->isWritable()) { // throw new FilePermissionsFailure($file); + nlog("Cannot update system because {$file->getFileName()} is not writable"); throw new FilePermissionsFailure("Cannot update system because {$file->getFileName()} is not writable"); return false; } diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 4bbbd63eba7b..6958204ca92b 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -284,18 +284,17 @@ class SetupController extends Controller if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); } + $cacheServices = base_path('bootstrap/cache/services.php'); if (file_exists($cacheServices)) { unlink ($cacheServices); } Artisan::call('clear-compiled'); - Artisan::call('cache:clear'); - Artisan::call('debugbar:clear'); Artisan::call('route:clear'); Artisan::call('view:clear'); Artisan::call('config:clear'); - Cache::flush(); + Artisan::call('migrate', ['--force' => true]); Artisan::call('db:seed', ['--force' => true]); From e6e8b21c5eaff8cb1333543eecc515af90ed5c8b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 1 May 2021 10:13:48 +1000 Subject: [PATCH 4/5] Fixes for deleting tokens from /logout route --- app/Http/Controllers/LogoutController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/LogoutController.php b/app/Http/Controllers/LogoutController.php index eda0c48d991c..b49fa716abca 100644 --- a/app/Http/Controllers/LogoutController.php +++ b/app/Http/Controllers/LogoutController.php @@ -59,9 +59,11 @@ class LogoutController extends BaseController */ public function index(Request $request) { - CompanyToken::with('company') + $ct = CompanyToken::with('company.tokens') ->whereRaw('BINARY `token`= ?', [$request->header('X-API-TOKEN')]) - ->company + ->first(); + + $ct->company ->tokens() ->where('is_system', true) ->forceDelete(); From 130f0e5749899aa43f6d8dd3578bdd0419628b57 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 1 May 2021 10:48:36 +1000 Subject: [PATCH 5/5] Fixes for no account in version check --- app/Jobs/Util/VersionCheck.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Jobs/Util/VersionCheck.php b/app/Jobs/Util/VersionCheck.php index 8348b984f6e1..56c6ea952238 100644 --- a/app/Jobs/Util/VersionCheck.php +++ b/app/Jobs/Util/VersionCheck.php @@ -46,6 +46,9 @@ class VersionCheck implements ShouldQueue { $account = Account::first(); + if(!$account) + return; + if($account->plan == 'white_label' && $account->plan_expires->lt(now())){ $account->plan = null; $account->plan_expires = null;