From 68f879506a5c0475364a8e0e8e7981fe28547108 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 23 Sep 2021 15:29:14 +0800 Subject: [PATCH 01/28] add download button to pdf file viewer --- .../general/elements/DocumentFileViewerComponent.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/assets/vue/components/general/elements/DocumentFileViewerComponent.vue b/resources/assets/vue/components/general/elements/DocumentFileViewerComponent.vue index 7e577da0..8143541c 100644 --- a/resources/assets/vue/components/general/elements/DocumentFileViewerComponent.vue +++ b/resources/assets/vue/components/general/elements/DocumentFileViewerComponent.vue @@ -9,7 +9,8 @@
-
Open in new window
+
Open in new window
+
Download
From a6eefd0824dcd4230844b00a0f73e602fd674f39 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 12:29:42 +0800 Subject: [PATCH 02/28] dubug completed bookings with unapproved po's --- routes/web.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/routes/web.php b/routes/web.php index 24507191..81cd247c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,5 +1,6 @@ whereHas('transactions', function (Builder $query){ + $query->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED); + })->get()); +}); + + + Route::get('/export/customers/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export'); From c209536c0a501d68de4da4caedf3ac313c750eda Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 12:37:12 +0800 Subject: [PATCH 03/28] dubug completed bookings with unapproved po's --- routes/web.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/routes/web.php b/routes/web.php index 81cd247c..1c0a69bd 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,7 +1,9 @@ whereHas('transactions', function (Builder $query){ $query->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED); })->get()); From 780a5ddcfc6e2f98bfab0a29c063a216b8f14681 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 12:38:18 +0800 Subject: [PATCH 04/28] dubug completed bookings with unapproved po's --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 1c0a69bd..1d72caef 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ Route::get('/mail', function () { }); Route::get('/test', function () { - Auth::login(User::findOrFail(3)); +// Auth::login(User::findOrFail(3)); dd(\App\Models\Booking::where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->whereHas('transactions', function (Builder $query){ $query->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED); })->get()); From 5b1fbdc9a353232bc2c72f3d1a21125d8e649d8f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 12:40:31 +0800 Subject: [PATCH 05/28] dubug completed bookings with unapproved po's --- routes/web.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/routes/web.php b/routes/web.php index 1d72caef..b22abd21 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,10 +73,16 @@ Route::get('/mail', function () { }); Route::get('/test', function () { -// Auth::login(User::findOrFail(3)); - dd(\App\Models\Booking::where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->whereHas('transactions', function (Builder $query){ + Auth::login(User::findOrFail(3)); + $bookings = \App\Models\Booking::where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->whereHas('transactions', function (Builder $query){ $query->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED); - })->get()); + })->get(); + + foreach ($bookings as $booking){ + $modal = $booking->transactions()->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->first(); + $modal->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; + $modal->save(); + } }); From 409fdff0625d93ce6cc956f2a12fb2ebc4a8c558 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 12:41:01 +0800 Subject: [PATCH 06/28] dubug completed bookings with unapproved po's --- routes/web.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/routes/web.php b/routes/web.php index b22abd21..563156b6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -78,11 +78,7 @@ Route::get('/test', function () { $query->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED); })->get(); - foreach ($bookings as $booking){ - $modal = $booking->transactions()->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->first(); - $modal->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; - $modal->save(); - } +dd($bookings); }); From f476f52d4d9e74f09cdaed66a3a55921b60ea8b5 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 12:41:32 +0800 Subject: [PATCH 07/28] dubug completed bookings with unapproved po's --- routes/web.php | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/routes/web.php b/routes/web.php index 563156b6..d912b631 100644 --- a/routes/web.php +++ b/routes/web.php @@ -68,22 +68,5 @@ Route::get('/transfer/merge/{marking}', function ($marking) { return view('pages.booking_merge', ['marking' => $marking]); })->name('booking.merge'); -Route::get('/mail', function () { - echo route('login'); -}); - -Route::get('/test', function () { - Auth::login(User::findOrFail(3)); - $bookings = \App\Models\Booking::where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->whereHas('transactions', function (Builder $query){ - $query->where('type', '=', \App\Classes\ValueObjects\Constants\TransactionType::PURCHASE_ORDER)->where('status', '!=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED); - })->get(); - -dd($bookings); -}); - - - - - Route::get('/export/customers/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export'); Route::get('/export/transactions/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@transactions'); From b7f23b5f93d3d46f004cea639f2a2a154c63c770 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 13:31:34 +0800 Subject: [PATCH 08/28] fix change email module --- .../ControllersLogic/AddNewMemberLogic.php | 62 +++++++++++-------- .../Companies/AddNewMemberController.php | 7 ++- app/Http/Resources/CompanyResource.php | 5 +- .../settings/forms/EditEmailFormComponent.vue | 33 ++++++---- 4 files changed, 65 insertions(+), 42 deletions(-) diff --git a/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php index 280cf188..5b15b689 100644 --- a/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php +++ b/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php @@ -3,14 +3,19 @@ namespace App\Classes\Modules\Accounts\ControllersLogic; use App\Classes\Exceptions\ErrorException; +use App\Classes\Exceptions\ResourceConflictException; use App\Classes\General\Abstracts\AbstractControllerLogic; +use App\Classes\Modules\Accounts\DataTransferObjects\RegistrationObject; use App\Classes\Modules\Accounts\Processors\CreateUserProcessor; use App\Classes\Modules\Accounts\Processors\GenerateEmailVerificationAttemptProcessor; use App\Classes\Modules\Companies\DataTransferObjects\EmploymentObject; use App\Classes\Modules\Companies\Processors\AssignEmployeeProcessor; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\RoleTypes; +use App\Http\Resources\UserResource; use App\Models\User; +use Carbon\Carbon; +use Illuminate\Database\QueryException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; @@ -19,6 +24,14 @@ use Illuminate\Support\Facades\Auth; class AddNewMemberLogic extends AbstractControllerLogic { + public function notification(): array + { + return [ + 'title' => 'Updated Email', + 'message' => 'Successfully updated email' + ]; + } + /** * @var AssignEmployeeProcessor */ @@ -31,14 +44,6 @@ class AddNewMemberLogic extends AbstractControllerLogic */ private $generateEmailVerificationAttemptProcessor; - public function notification(): array - { - return [ - 'title' => 'Updated Email', - 'message' => 'Successfully updated email' - ]; - } - public function __construct(CreateUserProcessor $createUserProcessor, AssignEmployeeProcessor $assignEmployeeProcessor, GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor) { @@ -47,29 +52,32 @@ class AddNewMemberLogic extends AbstractControllerLogic $this->generateEmailVerificationAttemptProcessor = $generateEmailVerificationAttemptProcessor; } + /** + * @param Request $request + * @return JsonResponse + * @throws ResourceConflictException + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ public function logic(Request $request): JsonResponse { - $new_email = $request->input('name'); - $user = Auth::user(); - $company = $user->company()->first(); - $user->email = $new_email; + try { + $user = Auth::user()->replicate(); + $user->email = $request->input('email'); + $user->status = ApprovalStatus::PENDING_VERIFICATION; + $user->save(); + } catch (QueryException $exception){ + throw new ResourceConflictException('Unable to change your email address as it already exists'); + } - request()->request->add([ - 'name' => $user->name, - 'email' => $new_email, - 'password' => $user->getAuthPassword(), - 'password_confirmation' => $user->getAuthPassword() - ]); - - /** @var User $user */ - $user = $this->createUserProcessor->execute($request, RoleTypes::USER, ApprovalStatus::PENDING_VERIFICATION); - - $Object = new EmploymentObject($company, $user); - $this->assignEmployeeProcessor->execute($Object); + if($company = Auth::user()->company()->first()){ + $Object = new EmploymentObject($company, $user); + $this->assignEmployeeProcessor->execute($Object); + } $this->generateEmailVerificationAttemptProcessor->execute($user); - return $this->response([ - 'message' => 'test' - ]); + + return $this->resourceResponse(new UserResource($user)); } } diff --git a/app/Http/Controllers/Companies/AddNewMemberController.php b/app/Http/Controllers/Companies/AddNewMemberController.php index e55f46b9..6307ac37 100644 --- a/app/Http/Controllers/Companies/AddNewMemberController.php +++ b/app/Http/Controllers/Companies/AddNewMemberController.php @@ -10,8 +10,13 @@ use Illuminate\Support\Facades\Auth; class AddNewMemberController { + /** + * @param Request $request + * @param AddNewMemberLogic $execute + * @return JsonResponse + */ public function create(Request $request, AddNewMemberLogic $execute) : JsonResponse { - return $execute->logic($request); + return $execute->execute($request); } } diff --git a/app/Http/Resources/CompanyResource.php b/app/Http/Resources/CompanyResource.php index 00ca7624..d6c2ed9e 100644 --- a/app/Http/Resources/CompanyResource.php +++ b/app/Http/Resources/CompanyResource.php @@ -3,13 +3,16 @@ namespace App\Http\Resources; use App\Classes\Modules\Companies\Services\FetchesCompanyServices; +use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\BankAccountType; use App\Classes\ValueObjects\Constants\BusinessType; use App\Classes\ValueObjects\Constants\DocumentType; +use App\Classes\ValueObjects\Constants\RoleTypes; use App\Classes\ValueObjects\Constants\SegmentConstants; use App\Models\Currency; use App\Models\SegmentConstant; use Illuminate\Http\Resources\Json\JsonResource; +use Illuminate\Support\Facades\Auth; class CompanyResource extends JsonResource { @@ -30,7 +33,7 @@ class CompanyResource extends JsonResource 'status' => (int) $this->status, 'contact' => new ContactResource ($this->when($this->has('contacts'), $this->contacts->first())), 'address' => new AddressResource($this->when($this->has('addresses'), $this->addresses->where('billing', true)->first())), - 'employee' => new UserResource($this->employees->first()), + 'employee' => new UserResource(Auth::user()->type === RoleTypes::USER ? $this->employees()->where('email', '=', Auth::user()->email)->first() : $this->employees()->where('status', '=', ApprovalStatus::APPROVED)->orderBy('id', 'DESC')->first()), 'identification' => new DocumentResource($this->documents->whereIn('document_type', DocumentType::IDENTIFICATION_DOCUMENTS)->first()), 'bookings' => $this->whenLoaded('bookings', $this->bookings()->orderBy('id', 'DESC')->get(), []), 'personal_banks' => BankResource::collection($this->banks->where('type', BankAccountType::PERSONAL)), diff --git a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue index 9fb3ae21..ca60b203 100644 --- a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue +++ b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue @@ -5,15 +5,7 @@
-

Edit Email Address

-
-
-
-
-
Email Address
- - - +
Change Email Address
@@ -21,12 +13,20 @@ {{error}}
+
+
+ + + + +
+
Cancel
-
Update
+
Update
@@ -35,17 +35,24 @@ From 6733778edfa7babfcca21b326f5b521f2b53ceb4 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 13:38:12 +0800 Subject: [PATCH 09/28] fix change email module --- app/Http/Resources/CompanyResource.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Resources/CompanyResource.php b/app/Http/Resources/CompanyResource.php index d6c2ed9e..655cfc98 100644 --- a/app/Http/Resources/CompanyResource.php +++ b/app/Http/Resources/CompanyResource.php @@ -33,7 +33,7 @@ class CompanyResource extends JsonResource 'status' => (int) $this->status, 'contact' => new ContactResource ($this->when($this->has('contacts'), $this->contacts->first())), 'address' => new AddressResource($this->when($this->has('addresses'), $this->addresses->where('billing', true)->first())), - 'employee' => new UserResource(Auth::user()->type === RoleTypes::USER ? $this->employees()->where('email', '=', Auth::user()->email)->first() : $this->employees()->where('status', '=', ApprovalStatus::APPROVED)->orderBy('id', 'DESC')->first()), + 'employee' => new UserResource(Auth::user()->type === RoleTypes::USER ? $this->employees()->where('email', '=', Auth::user()->email)->first() : $this->employees()->where('users.status', '=', ApprovalStatus::APPROVED)->orderBy('id', 'DESC')->first()), 'identification' => new DocumentResource($this->documents->whereIn('document_type', DocumentType::IDENTIFICATION_DOCUMENTS)->first()), 'bookings' => $this->whenLoaded('bookings', $this->bookings()->orderBy('id', 'DESC')->get(), []), 'personal_banks' => BankResource::collection($this->banks->where('type', BankAccountType::PERSONAL)), From 61605c8efab6a740de6a8c8a4432dfc9e47423b3 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 18:11:34 +0800 Subject: [PATCH 10/28] fix booking rate average bug --- .../CalculatesBookingCurrencyAverageRate.php | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php b/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php index 235d897a..2a6de8d2 100644 --- a/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php +++ b/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php @@ -9,27 +9,29 @@ use Carbon\Carbon; class CalculatesBookingCurrencyAverageRate { + /** @var CalculatesBookingPayableAmount */ + private $calculatesBookingPayableAmount; + + /** + * CalculatesBookingCurrencyAverageRate constructor. + * @param CalculatesBookingPayableAmount $calculatesBookingPayableAmount + */ + public function __construct(CalculatesBookingPayableAmount $calculatesBookingPayableAmount) + { + $this->calculatesBookingPayableAmount = $calculatesBookingPayableAmount; + } + + public function execute(Booking $booking, $type){ if ($type == TransactionType::PAYMENT) { - - $amount_without_service = $booking->transactions() - ->where('type', TransactionType::PAYMENT) - ->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]) - ->selectRaw('ROUND(amount,2)-ROUND(service_charge,2) AS amount_without_service') - ->get()->sum('amount_without_service'); + $totalPayment = $booking->fix_currency_id === 1 ? $booking->transactions()->payments()->complete()->sum('original_amount') : + $booking->transactions()->payments()->complete()->selectRaw('sum(amount - service_charge - tax) as sub_total')->get()->sum('sub_total'); + return $this->calculatesBookingPayableAmount->execute($booking, $booking->fix_currency_id) / $totalPayment; - return number_format($booking->fix_amount/$amount_without_service,2); } else if ($type == TransactionType::BILL) { - - $amount_without_service = $booking->transactions() - ->where('type', TransactionType::BILL) - ->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]) - ->selectRaw('ROUND(amount,2)-ROUND(service_charge,2) AS amount_without_service') - ->get()->sum('amount_without_service'); - - return number_format($booking->fix_amount/$amount_without_service,2); + return $booking->transactions()->bills()->complete()->sum('original_amount') / $booking->transactions()->bills()->complete()->sum('amount'); } } From 2db9b06cc691d19a52f05c5f1d2a48127c427fa2 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:04:48 +0800 Subject: [PATCH 11/28] regenerate incorrect invoices --- routes/web.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/routes/web.php b/routes/web.php index d912b631..c03a7d4e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -4,6 +4,7 @@ use App\Models\User; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Route; @@ -68,5 +69,29 @@ Route::get('/transfer/merge/{marking}', function ($marking) { return view('pages.booking_merge', ['marking' => $marking]); })->name('booking.merge'); + +Route::get('/test', function () { + Auth::login(User::findOrFail(3)); + DB::beginTransaction(); + $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::yesterday())->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + foreach ($bookings as $booking){ + $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; + $booking->save(); + + $booking->transactions()->whereIn('type', [\App\Classes\ValueObjects\Constants\TransactionType::INVOICE, \App\Classes\ValueObjects\Constants\TransactionType::SUPPLIER_DELIVER])->forceDelete(); + + $booking->documents()->delete(); + + (App()->make(\App\Classes\Modules\Transactions\Processors\CreateInvoiceTransactionProcessor::class))->execute($booking); + + } + DB::commit(); + +}); + + + + + Route::get('/export/customers/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export'); Route::get('/export/transactions/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@transactions'); From 1af433155e4c845bb98090ce760ec7af99da0493 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:05:43 +0800 Subject: [PATCH 12/28] regenerate incorrect invoices --- routes/web.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index c03a7d4e..3b3864a5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,8 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::yesterday())->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + dd($bookings); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; $booking->save(); From d14bf4fc019f8f44b74d592b942b8cfd8ecb33fd Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:06:40 +0800 Subject: [PATCH 13/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 3b3864a5..5bd7c467 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->pluck('marking'); dd($bookings); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; From 7d258edb366054c5c4d65f95642533844288090c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:08:28 +0800 Subject: [PATCH 14/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 5bd7c467..49d6a30d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -74,7 +74,7 @@ Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->pluck('marking'); - dd($bookings); + foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; $booking->save(); From e6e8b8fcbde22a4bbb3852e6e2eb000593c2cda0 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:09:04 +0800 Subject: [PATCH 15/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 49d6a30d..16277592 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->pluck('marking'); + $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; From 095652a91480afad4159c498bc479cc34dccbc40 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:12:47 +0800 Subject: [PATCH 16/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 16277592..ab776f57 100644 --- a/routes/web.php +++ b/routes/web.php @@ -87,7 +87,7 @@ Route::get('/test', function () { } DB::commit(); - +dd('invoices regenerated'); }); From da54c80fae5caff4529c79659834229956f87d5f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:14:26 +0800 Subject: [PATCH 17/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index ab776f57..213954bd 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + $bookings = \App\Models\Booking::where('updated_at', '=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; From dc7212db047ae5dcd3e0899c5243afcf50124261 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:14:56 +0800 Subject: [PATCH 18/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 213954bd..0b51bec9 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + $bookings = \App\Models\Booking::where('updated_at', '=', Carbon::parse('24-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; From f477423b2d435ae2252b1c536d3d3f0e545d2736 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:15:38 +0800 Subject: [PATCH 19/28] regenerate incorrect invoices --- routes/web.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routes/web.php b/routes/web.php index 0b51bec9..373016e3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,8 +73,8 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '=', Carbon::parse('24-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); - + $bookings = \App\Models\Booking::where('updated_at', '=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); +dd($bookings); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; $booking->save(); From 5a470cc08495ed455d193c56d90ba9cd86cb63ca Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:16:25 +0800 Subject: [PATCH 20/28] regenerate incorrect invoices --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 373016e3..d3c08a9b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,7 +73,7 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('updated_at', '<', Carbon::parse('24-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); dd($bookings); foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; From 08531cfd1166284ec84e5e54e737f6920d3f604f Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:17:43 +0800 Subject: [PATCH 21/28] regenerate incorrect invoices --- routes/web.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/routes/web.php b/routes/web.php index d3c08a9b..ab776f57 100644 --- a/routes/web.php +++ b/routes/web.php @@ -73,8 +73,8 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); DB::beginTransaction(); - $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('updated_at', '<', Carbon::parse('24-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); -dd($bookings); + $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); + foreach ($bookings as $booking){ $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; $booking->save(); From 7dd6eb915760b8905e628a9b236d248783ae08bf Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 24 Sep 2021 19:26:08 +0800 Subject: [PATCH 22/28] regenerate incorrect invoices --- routes/web.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/routes/web.php b/routes/web.php index ab776f57..d8553122 100644 --- a/routes/web.php +++ b/routes/web.php @@ -72,7 +72,6 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/test', function () { Auth::login(User::findOrFail(3)); - DB::beginTransaction(); $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); foreach ($bookings as $booking){ @@ -86,7 +85,6 @@ Route::get('/test', function () { (App()->make(\App\Classes\Modules\Transactions\Processors\CreateInvoiceTransactionProcessor::class))->execute($booking); } - DB::commit(); dd('invoices regenerated'); }); From e522bbe919d0578af8e59df22aaa9aef68631170 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 27 Sep 2021 12:36:34 +0800 Subject: [PATCH 23/28] add booking reference --- .../BookingDetailsSectionComponent.vue | 2 +- routes/web.php | 22 ------------------- 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue index ca969f3b..79fe0509 100644 --- a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue +++ b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue @@ -324,7 +324,7 @@
-
Payment History
+
Payment History of {{booking.marking}}
diff --git a/routes/web.php b/routes/web.php index d8553122..1578a131 100644 --- a/routes/web.php +++ b/routes/web.php @@ -70,27 +70,5 @@ Route::get('/transfer/merge/{marking}', function ($marking) { })->name('booking.merge'); -Route::get('/test', function () { - Auth::login(User::findOrFail(3)); - $bookings = \App\Models\Booking::where('updated_at', '>=', Carbon::parse('23-09-2021'))->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::COMPLETED)->get(); - - foreach ($bookings as $booking){ - $booking->status = \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED; - $booking->save(); - - $booking->transactions()->whereIn('type', [\App\Classes\ValueObjects\Constants\TransactionType::INVOICE, \App\Classes\ValueObjects\Constants\TransactionType::SUPPLIER_DELIVER])->forceDelete(); - - $booking->documents()->delete(); - - (App()->make(\App\Classes\Modules\Transactions\Processors\CreateInvoiceTransactionProcessor::class))->execute($booking); - - } -dd('invoices regenerated'); -}); - - - - - Route::get('/export/customers/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export'); Route::get('/export/transactions/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@transactions'); From 6a0589364fc363028426881365c1aef1b9abbb4c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 27 Sep 2021 12:58:53 +0800 Subject: [PATCH 24/28] add booking reference --- .../bookings/sections/BookingDetailsSectionComponent.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue index 79fe0509..013a511e 100644 --- a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue +++ b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue @@ -324,7 +324,10 @@
-
Payment History of {{booking.marking}}
+
Payment History
+
+
+
of {{booking.marking}}
From 18ec3e2c3dd58d4a6cdab83508b960345a96502b Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 28 Sep 2021 14:10:02 +0800 Subject: [PATCH 25/28] protect user routes with valid token middleware --- routes/account.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/routes/account.php b/routes/account.php index 5b4d45f9..2da67709 100644 --- a/routes/account.php +++ b/routes/account.php @@ -10,6 +10,14 @@ Route::group(['prefix' => 'account', 'namespace' => 'Accounts', 'as' => 'account Route::group(['middleware' => 'valid.token'], function () { Route::get('/logout', 'UserAuthenticationLogoutController@logout')->name('logout'); Route::get('/refresh', 'RefreshAuthenticationTokenController@refresh')->name('refresh'); + Route::group(['prefix' => 'user', 'as' => 'user.'], function () { + Route::post('/show', 'FetchUserController@fetch')->name('show'); + Route::get('/list', 'ListUsersController@list')->name('list'); + Route::put('/update/{id}', 'UpdateUserController@update')->name('update'); + + Route::post('/admin/create', 'CreateAdminUserController@create')->name('admin.create'); + Route::delete('/delete/{id}', 'DeleteUserController@delete')->name('delete'); + }); }); Route::group(['prefix' => 'login', 'as' => 'authenticate.'], function () { @@ -34,12 +42,5 @@ Route::group(['prefix' => 'account', 'namespace' => 'Accounts', 'as' => 'account }); - Route::group(['prefix' => 'user', 'as' => 'user.'], function () { - Route::post('/show', 'FetchUserController@fetch')->name('show'); - Route::get('/list', 'ListUsersController@list')->name('list'); - Route::put('/update/{id}', 'UpdateUserController@update')->name('update'); - - Route::post('/admin/create', 'CreateAdminUserController@create')->name('admin.create'); - Route::delete('/delete/{id}', 'DeleteUserController@delete')->name('delete'); - }); + }); \ No newline at end of file From 7282c24ee086a0b2e1b748c14506378ea4bd39d3 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 28 Sep 2021 19:02:52 +0800 Subject: [PATCH 26/28] clean up add new member logic --- .../ControllersLogic/AddNewMemberLogic.php | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php index 5b15b689..1744f50c 100644 --- a/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php +++ b/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php @@ -2,23 +2,17 @@ namespace App\Classes\Modules\Accounts\ControllersLogic; -use App\Classes\Exceptions\ErrorException; use App\Classes\Exceptions\ResourceConflictException; use App\Classes\General\Abstracts\AbstractControllerLogic; -use App\Classes\Modules\Accounts\DataTransferObjects\RegistrationObject; use App\Classes\Modules\Accounts\Processors\CreateUserProcessor; use App\Classes\Modules\Accounts\Processors\GenerateEmailVerificationAttemptProcessor; use App\Classes\Modules\Companies\DataTransferObjects\EmploymentObject; use App\Classes\Modules\Companies\Processors\AssignEmployeeProcessor; use App\Classes\ValueObjects\Constants\ApprovalStatus; -use App\Classes\ValueObjects\Constants\RoleTypes; use App\Http\Resources\UserResource; -use App\Models\User; -use Carbon\Carbon; use Illuminate\Database\QueryException; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; -use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Auth; class AddNewMemberLogic extends AbstractControllerLogic @@ -37,17 +31,18 @@ class AddNewMemberLogic extends AbstractControllerLogic */ private $assignEmployeeProcessor; - /** @var CreateUserProcessor */ - private $createUserProcessor; /** * @var GenerateEmailVerificationAttemptProcessor */ private $generateEmailVerificationAttemptProcessor; - - public function __construct(CreateUserProcessor $createUserProcessor, AssignEmployeeProcessor $assignEmployeeProcessor, GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor) + /** + * AddNewMemberLogic constructor. + * @param AssignEmployeeProcessor $assignEmployeeProcessor + * @param GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor + */ + public function __construct(AssignEmployeeProcessor $assignEmployeeProcessor, GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor) { - $this->createUserProcessor = $createUserProcessor; $this->assignEmployeeProcessor = $assignEmployeeProcessor; $this->generateEmailVerificationAttemptProcessor = $generateEmailVerificationAttemptProcessor; } From dbfe8751d6326aeb6d9d3c4879e50e14d4fb7d6c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 30 Sep 2021 14:19:34 +0800 Subject: [PATCH 27/28] fix user routes and add middleware for logged in user --- routes/account.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/routes/account.php b/routes/account.php index 2da67709..1a05eb0d 100644 --- a/routes/account.php +++ b/routes/account.php @@ -10,14 +10,6 @@ Route::group(['prefix' => 'account', 'namespace' => 'Accounts', 'as' => 'account Route::group(['middleware' => 'valid.token'], function () { Route::get('/logout', 'UserAuthenticationLogoutController@logout')->name('logout'); Route::get('/refresh', 'RefreshAuthenticationTokenController@refresh')->name('refresh'); - Route::group(['prefix' => 'user', 'as' => 'user.'], function () { - Route::post('/show', 'FetchUserController@fetch')->name('show'); - Route::get('/list', 'ListUsersController@list')->name('list'); - Route::put('/update/{id}', 'UpdateUserController@update')->name('update'); - - Route::post('/admin/create', 'CreateAdminUserController@create')->name('admin.create'); - Route::delete('/delete/{id}', 'DeleteUserController@delete')->name('delete'); - }); }); Route::group(['prefix' => 'login', 'as' => 'authenticate.'], function () { @@ -41,6 +33,15 @@ Route::group(['prefix' => 'account', 'namespace' => 'Accounts', 'as' => 'account Route::post('/verification/resend', 'ResendEmailVerificationController@resend')->name('verification.resend'); }); + Route::group(['prefix' => 'user', 'as' => 'user.', 'middleware' => 'valid.token'], function () { + Route::post('/show', 'FetchUserController@fetch')->name('show'); + Route::get('/list', 'ListUsersController@list')->name('list'); + Route::put('/update/{id}', 'UpdateUserController@update')->name('update'); + + Route::post('/admin/create', 'CreateAdminUserController@create')->name('admin.create'); + Route::delete('/delete/{id}', 'DeleteUserController@delete')->name('delete'); + }); + }); \ No newline at end of file From dd05231b2779067cee8566afd3b68c140da4308c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 1 Oct 2021 15:04:24 +0800 Subject: [PATCH 28/28] fix image routes --- .../vue/components/bookings/forms/BookingFormComponent.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/assets/vue/components/bookings/forms/BookingFormComponent.vue b/resources/assets/vue/components/bookings/forms/BookingFormComponent.vue index 414f1a42..65b355f8 100644 --- a/resources/assets/vue/components/bookings/forms/BookingFormComponent.vue +++ b/resources/assets/vue/components/bookings/forms/BookingFormComponent.vue @@ -7,7 +7,7 @@
- +
@@ -21,7 +21,7 @@
- +