From 50cf6dbccb4307e0c4e9f8dec9c8679da51570ed Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 31 Jan 2024 18:23:54 +1100 Subject: [PATCH 1/3] Fixes for company user counter --- .../ValidationRules/Ninja/CanAddUserRule.php | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/app/Http/ValidationRules/Ninja/CanAddUserRule.php b/app/Http/ValidationRules/Ninja/CanAddUserRule.php index 6e19dbd09b14..1e4a51b7b7f2 100644 --- a/app/Http/ValidationRules/Ninja/CanAddUserRule.php +++ b/app/Http/ValidationRules/Ninja/CanAddUserRule.php @@ -31,21 +31,37 @@ class CanAddUserRule implements Rule */ public function passes($attribute, $value) { + /** @var \App\Models\User $user */ + $user = auth()->user(); + /* If the user is active then we can add them to the company */ - if (User::where('email', request()->input('email'))->where('account_id', auth()->user()->account_id)->where('is_deleted', 0)->exists()) { + if (User::where('email', request()->input('email'))->where('account_id', $user->account_id)->where('is_deleted', 0)->exists()) { return true; } - /* Check that we have sufficient quota to allow this to happen */ + /* + Check that we have sufficient quota to allow this to happen + + @ 31-01-2024 - changed query to use email instead of user_id + $count = CompanyUser::query() - ->where('company_user.account_id', auth()->user()->account_id) + ->where('company_user.account_id', $user->account_id) ->join('users', 'users.id', '=', 'company_user.user_id') ->whereNull('users.deleted_at') ->whereNull('company_user.deleted_at') ->distinct() ->count('company_user.user_id'); + */ - return $count < auth()->user()->company()->account->num_users; + $count = CompanyUser::query() + ->where("company_user.account_id", $user->account_id) + ->join("users", "users.id", "=", "company_user.user_id") + ->whereNull("users.deleted_at") + ->whereNull("company_user.deleted_at") + ->distinct() + ->count("users.email"); + + return $count < $user->company()->account->num_users; } /** @@ -53,6 +69,11 @@ class CanAddUserRule implements Rule */ public function message() { - return ctrans('texts.limit_users', ['limit' => auth()->user()->company()->account->num_users]); + + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return ctrans('texts.limit_users', ['limit' => $user->company()->account->num_users]); + } } From 19f4db21437de0fcad58998f4322ef059621e355 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 1 Feb 2024 15:45:21 +1100 Subject: [PATCH 2/3] Fixes for data sanity --- app/Console/Commands/CheckData.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/Console/Commands/CheckData.php b/app/Console/Commands/CheckData.php index 709ccecc0d59..79c98f656c7f 100644 --- a/app/Console/Commands/CheckData.php +++ b/app/Console/Commands/CheckData.php @@ -934,6 +934,21 @@ class CheckData extends Command }); + Invoice::withTrashed() + ->where("partial", 0) + ->whereNotNull("partial_due_date") + ->cursor() + ->each(function ($i) { + $i->partial_due_date = null; + $i->saveQuietly(); + + + $this->logMessage("Fixing partial due date for # {$i->id}"); + + }); + + + } } From c065d1c85d3d58e4699fb9dcb61e50106b04d100 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 1 Feb 2024 19:45:45 +1100 Subject: [PATCH 3/3] v5.8.21 --- VERSION.txt | 2 +- config/ninja.php | 4 ++-- resources/views/email/template/plain.blade.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index fe4e95430601..0fe15a58a412 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.8.20 \ No newline at end of file +5.8.21 \ No newline at end of file diff --git a/config/ninja.php b/config/ninja.php index bb996122096e..a88e422fcaf3 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -17,8 +17,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => env('APP_VERSION', '5.8.20'), - 'app_tag' => env('APP_TAG', '5.8.20'), + 'app_version' => env('APP_VERSION', '5.8.21'), + 'app_tag' => env('APP_TAG', '5.8.21'), 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', false), diff --git a/resources/views/email/template/plain.blade.php b/resources/views/email/template/plain.blade.php index 3d87e093eb6e..c66249b20235 100644 --- a/resources/views/email/template/plain.blade.php +++ b/resources/views/email/template/plain.blade.php @@ -46,5 +46,5 @@ @endisset @isset($email_preferences) -

{{ ctrans('texts.unsubscribe') }}

+

{{ ctrans('texts.unsubscribe') }}

@endisset \ No newline at end of file