diff --git a/app/Classes/General/Eloquent/AbstractListRecord.php b/app/Classes/General/Eloquent/AbstractListRecord.php index fec2ee3b..c5d2e6e6 100644 --- a/app/Classes/General/Eloquent/AbstractListRecord.php +++ b/app/Classes/General/Eloquent/AbstractListRecord.php @@ -34,15 +34,12 @@ abstract class AbstractListRecord extends AbstractGetRecord */ public function getResults(Builder $query) { $filters = $this->getDecorationFilters(); + if($filters->has('order_by')){ $query = $query->orderBy($filters->get('order_by')->column, $filters->get('order_by')->DESC ? 'DESC': 'ASC'); } - if($filters->has('per_page')){ - return $query->paginate($filters->get('per_page')); - } - - return $query->get(); + return $filters->has('per_page') ? $query->paginate($filters->get('per_page')) : $query->get(); } diff --git a/app/Classes/General/Eloquent/Filters/Email.php b/app/Classes/General/Eloquent/Filters/Email.php index c03ffe09..c02c97f7 100644 --- a/app/Classes/General/Eloquent/Filters/Email.php +++ b/app/Classes/General/Eloquent/Filters/Email.php @@ -14,7 +14,7 @@ class Email implements Filter */ public static function apply(Builder $builder, $value) { - return $builder->where('email', $value); + return $builder->where('email', 'LIKE', '%' . $value . '%'); } } \ No newline at end of file diff --git a/app/Classes/Modules/Accounts/ControllersLogic/ListUsersLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/ListUsersLogic.php index 706a6053..2899073d 100644 --- a/app/Classes/Modules/Accounts/ControllersLogic/ListUsersLogic.php +++ b/app/Classes/Modules/Accounts/ControllersLogic/ListUsersLogic.php @@ -6,6 +6,7 @@ use App\Classes\Modules\Accounts\Services\ListsUsers; use App\Classes\Modules\Accounts\Standards\Rules\CanListUsers; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Http\Resources\UserResource; +use ErrorException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -43,16 +44,21 @@ class ListUsersLogic extends AbstractControllerLogic /** * @param Request $request * @return JsonResponse - * @throws \App\Classes\Exceptions\AccessForbiddenException - * @throws \App\Classes\Exceptions\MalformedRequestException - * @throws \App\Classes\Exceptions\RequestValidationException + * @throws ErrorException */ public function logic(Request $request) : JsonResponse { + try { - if($this->canListUser->passes()){ - $filters = json_decode($request->input('filters')); - return UserResource::collection($this->listsUsers->execute(collect($filters)->toArray()))->response(); + $this->canListUser->passes(); + + $query = $this->listsUsers->execute($this->listsUsers->deserializeFilters($request->input('filters'))); + + return $this->collectionResponse(UserResource::collection($query)); + + + } catch (\Exception $exception){ + throw new ErrorException($exception->getMessage(), $exception->getCode()); } } diff --git a/app/Classes/Modules/Accounts/Services/AuthenticationRedirect.php b/app/Classes/Modules/Accounts/Services/AuthenticationRedirect.php index 1dbc05d2..2bdcdd95 100644 --- a/app/Classes/Modules/Accounts/Services/AuthenticationRedirect.php +++ b/app/Classes/Modules/Accounts/Services/AuthenticationRedirect.php @@ -15,7 +15,7 @@ class AuthenticationRedirect return route('admin.dashboard'); } - return route('company.profile', ['id' => Auth()->user()->employers->first()->company->id]); + return route('dashboard.importer', ['id' => Auth()->user()->employers->first()->company->id]); } diff --git a/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php b/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php index abacaa67..67f74657 100644 --- a/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php +++ b/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php @@ -115,21 +115,6 @@ class AddressObject implements DataTransferObject return $this->country; } - /** - * @return int - */ - public function getDefault(): int - { - return $this->default; - } - - /** - * @return int - */ - public function getBilling(): int - { - return $this->billing; - } } \ No newline at end of file diff --git a/app/Http/Resources/AddressResource.php b/app/Http/Resources/AddressResource.php index 4e5ec196..1b2bebe9 100644 --- a/app/Http/Resources/AddressResource.php +++ b/app/Http/Resources/AddressResource.php @@ -23,8 +23,8 @@ class AddressResource extends JsonResource 'state' => $this->state, 'post_code' => $this->post_code, 'country' => $this->country, - 'default' => $this->default, - 'billing' => $this->billing + 'default' => (int) $this->default, + 'billing' => (int) $this->billing ]; } } diff --git a/config/auth.php b/config/auth.php index 3a2555c1..9a2c2632 100644 --- a/config/auth.php +++ b/config/auth.php @@ -96,7 +96,7 @@ return [ 'users' => [ 'provider' => 'users', 'table' => 'password_resets', - 'expire' => 60, + 'expire' => 1440, 'throttle' => 60, ], ], diff --git a/resources/assets/vue/app.js b/resources/assets/vue/app.js index 7421d1d6..269b4dee 100644 --- a/resources/assets/vue/app.js +++ b/resources/assets/vue/app.js @@ -23,30 +23,37 @@ let handleOutsideClick; Vue.directive('closable', { bind (el, binding, vnode) { handleOutsideClick = (e) => { + e.stopPropagation(); + const { handler, exclude } = binding.value; let clickedOnExcludedEl = false; + exclude.forEach(refName => { if (!clickedOnExcludedEl) { const excludedEl = vnode.context.$refs[refName]; - clickedOnExcludedEl = excludedEl.contains(e.target) + + + if (excludedEl) { + clickedOnExcludedEl = excludedEl.contains(e.target) + } + } }); if (!el.contains(e.target) && !clickedOnExcludedEl) { vnode.context[handler]() } - }; - document.addEventListener('click', handleOutsideClick); + } + document.addEventListener('click', handleOutsideClick) document.addEventListener('touchstart', handleOutsideClick) }, - unbind () { - document.removeEventListener('click', handleOutsideClick); + document.removeEventListener('click', handleOutsideClick) document.removeEventListener('touchstart', handleOutsideClick) } -}) +}); /** * Next, we will create a fresh Vue application instance and attach it to diff --git a/resources/assets/vue/components/address/elements/AddressComponent.vue b/resources/assets/vue/components/address/elements/AddressComponent.vue new file mode 100644 index 00000000..589213f2 --- /dev/null +++ b/resources/assets/vue/components/address/elements/AddressComponent.vue @@ -0,0 +1,84 @@ + + + \ No newline at end of file diff --git a/resources/assets/vue/components/address/forms/AddressFormComponent.vue b/resources/assets/vue/components/address/forms/AddressFormComponent.vue index d35dcbec..ad0c091f 100644 --- a/resources/assets/vue/components/address/forms/AddressFormComponent.vue +++ b/resources/assets/vue/components/address/forms/AddressFormComponent.vue @@ -85,9 +85,7 @@ city: '', state: '', post_code: '', - country: '', - default: 1, - billing: 1 + country: '' } } diff --git a/resources/assets/vue/components/company/sections/CompanyProfileSectionComponent.vue b/resources/assets/vue/components/company/sections/CompanyProfileSectionComponent.vue deleted file mode 100644 index 91d754c1..00000000 --- a/resources/assets/vue/components/company/sections/CompanyProfileSectionComponent.vue +++ /dev/null @@ -1,398 +0,0 @@ - - \ No newline at end of file diff --git a/resources/assets/vue/components/forwarder/section/ForwarderDashboardComponent.vue b/resources/assets/vue/components/forwarder/section/ForwarderDashboardComponent.vue new file mode 100644 index 00000000..361062d8 --- /dev/null +++ b/resources/assets/vue/components/forwarder/section/ForwarderDashboardComponent.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/resources/assets/vue/components/general/elements/ListComponent.vue b/resources/assets/vue/components/general/elements/ListComponent.vue index e0219a53..b49e2e97 100644 --- a/resources/assets/vue/components/general/elements/ListComponent.vue +++ b/resources/assets/vue/components/general/elements/ListComponent.vue @@ -1,67 +1,55 @@ - - \ No newline at end of file diff --git a/resources/assets/vue/components/general/elements/ListComponentOld.vue b/resources/assets/vue/components/general/elements/ListComponentOld.vue new file mode 100644 index 00000000..92052707 --- /dev/null +++ b/resources/assets/vue/components/general/elements/ListComponentOld.vue @@ -0,0 +1,115 @@ + + + + + \ No newline at end of file diff --git a/resources/assets/vue/components/general/elements/PaginationComponent.vue b/resources/assets/vue/components/general/elements/PaginationComponent.vue index 5d8b70c0..c00a240e 100644 --- a/resources/assets/vue/components/general/elements/PaginationComponent.vue +++ b/resources/assets/vue/components/general/elements/PaginationComponent.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/resources/assets/vue/components/company/sections/OnboardingSectionComponent.vue b/resources/assets/vue/components/importer/sections/OnboardingSectionComponent.vue similarity index 99% rename from resources/assets/vue/components/company/sections/OnboardingSectionComponent.vue rename to resources/assets/vue/components/importer/sections/OnboardingSectionComponent.vue index 871dfddb..4e4a92ff 100644 --- a/resources/assets/vue/components/company/sections/OnboardingSectionComponent.vue +++ b/resources/assets/vue/components/importer/sections/OnboardingSectionComponent.vue @@ -1,5 +1,5 @@