From 0d6c8f05e1a8eae0d69cd2e6d23cba57b7355e5e Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 23 Feb 2023 18:36:56 +1100 Subject: [PATCH 1/5] Limit per page to 5000 --- app/Http/Controllers/BaseController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index 39190ee809fc..c06002899303 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -555,7 +555,7 @@ class BaseController extends Controller private function resolveQueryLimit(): int { if (request()->has('per_page')) { - return abs((int)request()->input('per_page', 20)); + return min(abs((int)request()->input('per_page', 20)), 5000); } return 20; From 36655eabec7bb4bf7fb39991b11aaa4331033e94 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 23 Feb 2023 18:37:15 +1100 Subject: [PATCH 2/5] Limit per page to 5000 --- app/Http/Controllers/BaseController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index c06002899303..9afcc12c7155 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -556,6 +556,7 @@ class BaseController extends Controller { if (request()->has('per_page')) { return min(abs((int)request()->input('per_page', 20)), 5000); + // return abs((int)request()->input('per_page', 20)); } return 20; From 1e96eeecb0a64dd0cbb634c97fd159703cc2173b Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 23 Feb 2023 22:39:51 +1100 Subject: [PATCH 3/5] Updates for default task settings --- app/DataMapper/CompanySettings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 05b9ee944f6a..b5aa38a104b9 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -463,7 +463,7 @@ class CompanySettings extends BaseSettings public $accept_client_input_quote_approval = false; - public $allow_billable_task_items = false; + public $allow_billable_task_items = true; public $show_task_item_description = false; From 1a44955f0f09a6504aa9972825fdb5707f789dc9 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 24 Feb 2023 07:36:21 +1100 Subject: [PATCH 4/5] Exclude users from list --- app/Filters/UserFilters.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/Filters/UserFilters.php b/app/Filters/UserFilters.php index ec3c0a08fd9a..b0079e339189 100644 --- a/app/Filters/UserFilters.php +++ b/app/Filters/UserFilters.php @@ -88,4 +88,25 @@ class UserFilters extends QueryFilters ->orderByRaw("{$this->with_property} = ? DESC", [$value]) ->where('account_id', auth()->user()->account_id); } + + /** + * Exclude a list of user_ids, can pass multiple + * user IDs by separating them with a comma. + * + * @param string $user_id + * @return Builder + */ + public function without(string $user_id = ''): Builder + { + if (strlen($user_id) == 0) { + return $this->builder; + } + + $user_array = $this->transformKeys(explode(',', $user_id)); + + return $this->builder->where(function ($query) use ($user_array) { + $query->whereNotIn('id', $user_array) + ->where('account_id', auth()->user()->account_id); + }); + } } From 7730b398d8434652248f68831d42078f584800f2 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 24 Feb 2023 07:40:48 +1100 Subject: [PATCH 5/5] Fixes for conflicts --- lang/en/texts.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lang/en/texts.php b/lang/en/texts.php index fa4ff6933e1e..fad5214c85cc 100644 --- a/lang/en/texts.php +++ b/lang/en/texts.php @@ -5000,7 +5000,8 @@ $LANG = array( 'sync_from' => 'Sync From', 'gateway_payment_text' => 'Invoices: :invoices for :amount for client :client', 'gateway_payment_text_no_invoice' => 'Payment with no invoice for amount :amount for client :client', - + 'click_to_variables' => 'Client here to see all variables.', + 'ship_to' => 'Ship to', );