From f96fef94feea00a83e300757414a610b628e9e0a Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 4 Apr 2022 19:40:54 +0800 Subject: [PATCH] finalize last mile delivery --- .../seeders/LastMileDeliveryTableSeeder.php | 28 +++++++- ...eliveryCustomerProfileSectionComponent.vue | 6 +- .../DeliveryOrdersTableSectionComponent.vue | 64 ++++--------------- resources/assets/vue/general/mixins/guards.js | 4 +- .../assets/vue/vuex/modules/crudRequest.js | 5 +- .../views/pages/delivery/admin.blade.php | 40 +----------- ...customers.blade.php => customer.blade.php} | 2 +- .../views/pages/delivery/dashboard.blade.php | 2 +- 8 files changed, 50 insertions(+), 101 deletions(-) rename resources/views/pages/delivery/{customers.blade.php => customer.blade.php} (56%) diff --git a/database/seeders/LastMileDeliveryTableSeeder.php b/database/seeders/LastMileDeliveryTableSeeder.php index e56a1ea8..4a79803b 100644 --- a/database/seeders/LastMileDeliveryTableSeeder.php +++ b/database/seeders/LastMileDeliveryTableSeeder.php @@ -2,10 +2,14 @@ namespace Database\Seeders; +use App\Classes\Modules\Accounts\DataTransferObjects\RegistrationObject; +use App\Classes\Modules\Accounts\Services\CreatesUser; use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject; use App\Classes\Modules\Addresses\Processors\CreateAddressFromOldAddressProcessor; use App\Classes\Modules\Addresses\Services\CreatesAddress; use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject; +use App\Classes\Modules\Companies\DataTransferObjects\EmploymentObject; +use App\Classes\Modules\Companies\Processors\AssignEmployeeProcessor; use App\Classes\Modules\Companies\Processors\CreateCompanyModuleProcessor; use App\Classes\Modules\Companies\Processors\CreateCompanyProcessor; use App\Classes\Modules\Companies\Services\ApprovesCompanyConnection; @@ -20,7 +24,9 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\CompanyType; use App\Classes\ValueObjects\Constants\BusinessType; +use App\Classes\ValueObjects\Constants\RoleTypes; use App\Models\CompanyModule; +use App\Models\User; use Illuminate\Database\Seeder; use App\Models\Company; @@ -58,8 +64,14 @@ class LastMileDeliveryTableSeeder extends Seeder /** @var CreatesContact */ private $createsContact; + /** @var CreatesUser */ + private $createsUser; + + /** @var AssignEmployeeProcessor */ + private $assignEmployeeProcessor; + /** - * CompaniesTableSeeder constructor. + * LastMileDeliveryTableSeeder constructor. * @param CreateCompanyProcessor $createCompanyProcessor * @param UpdatesCompanyStatus $updatesCompanyStatus * @param CreateCompanyModuleProcessor $createCompanyModuleProcessor @@ -70,8 +82,10 @@ class LastMileDeliveryTableSeeder extends Seeder * @param CreatesAddress $createsAddress * @param CreatesCompany $createsCompany * @param CreatesContact $createsContact + * @param CreatesUser $createsUser + * @param AssignEmployeeProcessor $assignEmployeeProcessor */ - public function __construct(CreateCompanyProcessor $createCompanyProcessor, UpdatesCompanyStatus $updatesCompanyStatus, CreateCompanyModuleProcessor $createCompanyModuleProcessor, CreateContactProcessor $createContactProcessor, CreatesCompanyConnection $createsCompanyConnection, ApprovesCompanyConnection $approvesCompanyConnection, CreateAddressFromOldAddressProcessor $createAddressFromOldAddressProcessor, CreatesAddress $createsAddress, CreatesCompany $createsCompany, CreatesContact $createsContact) + public function __construct(CreateCompanyProcessor $createCompanyProcessor, UpdatesCompanyStatus $updatesCompanyStatus, CreateCompanyModuleProcessor $createCompanyModuleProcessor, CreateContactProcessor $createContactProcessor, CreatesCompanyConnection $createsCompanyConnection, ApprovesCompanyConnection $approvesCompanyConnection, CreateAddressFromOldAddressProcessor $createAddressFromOldAddressProcessor, CreatesAddress $createsAddress, CreatesCompany $createsCompany, CreatesContact $createsContact, CreatesUser $createsUser, AssignEmployeeProcessor $assignEmployeeProcessor) { $this->createCompanyProcessor = $createCompanyProcessor; $this->updatesCompanyStatus = $updatesCompanyStatus; @@ -83,6 +97,8 @@ class LastMileDeliveryTableSeeder extends Seeder $this->createsAddress = $createsAddress; $this->createsCompany = $createsCompany; $this->createsContact = $createsContact; + $this->createsUser = $createsUser; + $this->assignEmployeeProcessor = $assignEmployeeProcessor; } @@ -116,6 +132,14 @@ class LastMileDeliveryTableSeeder extends Seeder $contact = new ContactObject('Office Number', '0182909252', '', ''); $this->createsContact->execute($companyModule, $contact); + $user_object = new RegistrationObject('Winson', 'admin@last-mile-delivery.com', '1234567abcabc', '1234567abcabc', RoleTypes::USER, ApprovalStatus::APPROVED); + + /** @var User $user */ + $user = $this->createsUser->execute($user_object); + + $Object = new EmploymentObject($companyModule, $user); + $this->assignEmployeeProcessor->execute($Object); + continue; } diff --git a/resources/assets/vue/components/companies/sections/DeliveryCustomerProfileSectionComponent.vue b/resources/assets/vue/components/companies/sections/DeliveryCustomerProfileSectionComponent.vue index 171e18a4..efa44347 100644 --- a/resources/assets/vue/components/companies/sections/DeliveryCustomerProfileSectionComponent.vue +++ b/resources/assets/vue/components/companies/sections/DeliveryCustomerProfileSectionComponent.vue @@ -52,8 +52,7 @@ - - + @@ -64,9 +63,6 @@ diff --git a/resources/assets/vue/general/mixins/guards.js b/resources/assets/vue/general/mixins/guards.js index 14265d6c..64602155 100644 --- a/resources/assets/vue/general/mixins/guards.js +++ b/resources/assets/vue/general/mixins/guards.js @@ -1,8 +1,8 @@ export default { methods: { routesGuard(){ - (!this.$store.getters.isAuthenticated && this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = this.route('login') : ''; - (this.$store.getters.isAuthenticated && !this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = this.route('dashboard') : ''; + (!this.$store.getters.isAuthenticated && this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = window.location.href.indexOf(this.route('last_mile_delivery.login')) === 0 ? this.route('last_mile_delivery.login') : this.route('login') : ''; + (this.$store.getters.isAuthenticated && !this.isProtectedRoute()&& this.isWithTokenRoute()) ? window.location.href = [7, 8].includes(this.$store.getters.getCompanyModuleType) ? this.route('last_mile_delivery.dashboard') : this.route('dashboard') : ''; }, isProtectedRoute(){ const unprotectedRoutes = [this.route('login'), this.route('account.email.verification'), this.route('company.claim'), this.route('last_mile_delivery.login')]; diff --git a/resources/assets/vue/vuex/modules/crudRequest.js b/resources/assets/vue/vuex/modules/crudRequest.js index f4f6c37f..758b28d9 100644 --- a/resources/assets/vue/vuex/modules/crudRequest.js +++ b/resources/assets/vue/vuex/modules/crudRequest.js @@ -10,9 +10,8 @@ export default { 'Authorization': 'Bearer '+getters.getAccessToken } }).then(response => { - - if(response.status === 401 && window.location.href !== route('login')){ - dispatch('userAuthentication', {access_token: '', redirect_url: '/'}); + if(response.status === 401 && (window.location.href !== route('login') || window.location.href.indexOf(this.route('last_mile_delivery.login')) <= -1)){ + dispatch('userAuthentication', {access_token: '', redirect_url: [7, 8].includes(getters.getCompanyModuleType) ? route('last_mile_delivery.login') : route('login')}); } return response; diff --git a/resources/views/pages/delivery/admin.blade.php b/resources/views/pages/delivery/admin.blade.php index b435a520..2d508d08 100644 --- a/resources/views/pages/delivery/admin.blade.php +++ b/resources/views/pages/delivery/admin.blade.php @@ -1,42 +1,8 @@ -
+
-
-
-
-
Orders List
-
-
-
-
- - - - - - -
-
-
-
-
-
-
Customers List
-
-
-
-
- - - -
-
+
+
diff --git a/resources/views/pages/delivery/customers.blade.php b/resources/views/pages/delivery/customer.blade.php similarity index 56% rename from resources/views/pages/delivery/customers.blade.php rename to resources/views/pages/delivery/customer.blade.php index 6deabe2f..13905ecc 100644 --- a/resources/views/pages/delivery/customers.blade.php +++ b/resources/views/pages/delivery/customer.blade.php @@ -1,4 +1,4 @@ -
+
diff --git a/resources/views/pages/delivery/dashboard.blade.php b/resources/views/pages/delivery/dashboard.blade.php index c4a2362c..b8c64015 100644 --- a/resources/views/pages/delivery/dashboard.blade.php +++ b/resources/views/pages/delivery/dashboard.blade.php @@ -1,5 +1,5 @@ @extends('layouts.base_portal') @section('inner_content') - @include('pages.delivery.customers') + @include('pages.delivery.customer') @include('pages.delivery.admin') @endsection \ No newline at end of file