mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-01 20:17:35 -04:00 
			
		
		
		
	sort early returns + type_id/category_id&event_id as strings
This commit is contained in:
		
							parent
							
								
									6e9a420bea
								
							
						
					
					
						commit
						e8d19abf7a
					
				| @ -94,6 +94,10 @@ class BankIntegrationFilters extends QueryFilters | ||||
|     public function sort(string $sort): Builder | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
|          | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
|  | ||||
| @ -128,8 +128,9 @@ class BankTransactionFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if(!is_array($sort_col)) | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
|          | ||||
|         if($sort_col[0] == 'deposit') | ||||
|             return $this->builder->where('base_type', 'CREDIT')->orderBy('amount', $sort_col[1]); | ||||
|  | ||||
| @ -65,6 +65,10 @@ class BankTransactionRuleFilters extends QueryFilters | ||||
|     public function sort(string $sort): Builder | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
|          | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
|  | ||||
| @ -143,6 +143,10 @@ class ClientFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         if($sort_col[0] == 'display_name') | ||||
|             $sort_col[0] = 'name'; | ||||
|          | ||||
|  | ||||
| @ -47,6 +47,10 @@ class CompanyGatewayFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -104,6 +104,10 @@ class CreditFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -48,10 +48,11 @@ class DesignFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if(is_array($sort_col)) | ||||
|             return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder; | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | ||||
| @ -58,10 +58,11 @@ class DocumentFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if(is_array($sort_col)) | ||||
|             return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder; | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -45,6 +45,10 @@ class ExpenseCategoryFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         if (is_array($sort_col) && in_array($sort_col[1], ['asc', 'desc']) && in_array($sort_col[0], ['name'])) | ||||
|             return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|          | ||||
|  | ||||
| @ -151,6 +151,10 @@ class ExpenseFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         if (is_array($sort_col) && in_array($sort_col[1], ['asc', 'desc']) && in_array($sort_col[0], ['public_notes', 'date', 'id_number', 'custom_value1', 'custom_value2', 'custom_value3', 'custom_value4'])) { | ||||
|             return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|         } | ||||
|  | ||||
| @ -179,8 +179,7 @@ class InvoiceFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         //catch invalid explode array count
 | ||||
|         if (count($sort_col) == 1) { | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,10 @@ class PaymentTermFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -62,8 +62,9 @@ class ProductFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if(!is_array($sort_col)) | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
|  | ||||
| @ -57,6 +57,10 @@ class ProjectFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         if(is_array($sort_col)) | ||||
|             return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
|  | ||||
| @ -119,6 +119,10 @@ class PurchaseOrderFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -130,6 +130,10 @@ class QuoteFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         if($sort_col[0] == 'valid_until') | ||||
|             $sort_col[0] = 'due_date'; | ||||
| 
 | ||||
|  | ||||
| @ -59,6 +59,10 @@ class RecurringExpenseFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -102,6 +102,10 @@ class RecurringInvoiceFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -58,6 +58,10 @@ class RecurringQuoteFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,10 @@ class SubscriptionFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -18,27 +18,27 @@ use Illuminate\Database\Eloquent\Builder; | ||||
|  */ | ||||
| class SystemLogFilters extends QueryFilters | ||||
| { | ||||
|     public function type_id(int $type_id): Builder | ||||
|     public function type_id(string $type_id = ''): Builder | ||||
|     { | ||||
|         if (isset($event_id)) { | ||||
|         if (strlen($type_id)) { | ||||
|             return $this->builder; | ||||
|         } | ||||
|          | ||||
|         return $this->builder->where('type_id', $type_id); | ||||
|     } | ||||
| 
 | ||||
|     public function category_id(int $category_id): Builder | ||||
|     public function category_id(string $category_id = ''): Builder | ||||
|     { | ||||
|         if (isset($event_id)) { | ||||
|         if (strlen($category_id)) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->where('category_id', $category_id); | ||||
|     } | ||||
| 
 | ||||
|     public function event_id(int $event_id): Builder | ||||
|     public function event_id(string $event_id = ''): Builder | ||||
|     { | ||||
|         if (isset($event_id)) { | ||||
|         if (strlen($event_id)) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
| @ -71,6 +71,10 @@ class SystemLogFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -101,6 +101,10 @@ class TaskFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,10 @@ class TaskStatusFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,10 @@ class TaxRateFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,10 @@ class TokenFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
|      | ||||
|  | ||||
| @ -50,6 +50,10 @@ class UserFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -65,6 +65,10 @@ class VendorFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -46,6 +46,10 @@ class WebhookFilters extends QueryFilters | ||||
|     { | ||||
|         $sort_col = explode('|', $sort); | ||||
| 
 | ||||
|         if (!is_array($sort_col) || count($sort_col) != 2) { | ||||
|             return $this->builder; | ||||
|         } | ||||
| 
 | ||||
|         return $this->builder->orderBy($sort_col[0], $sort_col[1]); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user