From 79e4555218bb6adac1c23bc5fc7276799cc6ac08 Mon Sep 17 00:00:00 2001 From: edmondlang Date: Sun, 22 Aug 2021 16:16:21 +0800 Subject: [PATCH 01/38] change email address ui --- .../elements/UserProfileComponent.vue | 6 ++- .../settings/forms/EditEmailFormComponent.vue | 44 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue diff --git a/resources/assets/vue/components/settings/elements/UserProfileComponent.vue b/resources/assets/vue/components/settings/elements/UserProfileComponent.vue index d2610144..05dff8bd 100644 --- a/resources/assets/vue/components/settings/elements/UserProfileComponent.vue +++ b/resources/assets/vue/components/settings/elements/UserProfileComponent.vue @@ -37,7 +37,7 @@
-
+
Request Email Change
@@ -50,6 +50,10 @@ + + + +
diff --git a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue new file mode 100644 index 00000000..13143db0 --- /dev/null +++ b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue @@ -0,0 +1,44 @@ + + \ No newline at end of file From 508e71aeb4a0374ed14423238c0ca62cea31840c Mon Sep 17 00:00:00 2001 From: omair saleh Date: Tue, 24 Aug 2021 13:03:05 +0800 Subject: [PATCH 02/38] hide announcement from user profile --- resources/views/pages/settings.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/pages/settings.blade.php b/resources/views/pages/settings.blade.php index 8fb76ae2..9157dbc5 100644 --- a/resources/views/pages/settings.blade.php +++ b/resources/views/pages/settings.blade.php @@ -570,7 +570,7 @@
-
+
From ca1936d4ebcd5ed684cdffaf96b50acc3053245f Mon Sep 17 00:00:00 2001 From: edmondlang Date: Tue, 24 Aug 2021 13:05:55 +0800 Subject: [PATCH 03/38] change email address ui, add input column for email --- .../settings/forms/EditEmailFormComponent.vue | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue index 13143db0..68ef720a 100644 --- a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue +++ b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue @@ -5,8 +5,15 @@
-

Edit Email

-

An edit email link will send to your email account

+

Edit Email Address

+
+
+
+
+
Email Address
+ + +
@@ -19,7 +26,7 @@
Cancel
-
Confirm
+
Update
@@ -28,17 +35,17 @@
\ No newline at end of file From 165d80537e6546058265d3cf150eec51bedd2ecb Mon Sep 17 00:00:00 2001 From: fuadzaidan7 Date: Mon, 6 Sep 2021 13:34:14 +0800 Subject: [PATCH 04/38] Signed-off-by: fuadzaidan7 --- .../CalculatesBookingCurrencyAverageRate.php | 16 +++++-- .../views/pages/pdfs/deliver_order.blade.php | 40 +++++++++++++----- resources/views/pages/pdfs/invoice.blade.php | 40 +++++++++++++----- .../views/pages/pdfs/purchase_order.blade.php | 42 ++++++++++++++----- .../pdfs/supplier_deliver_order.blade.php | 38 +++++++++++++---- 5 files changed, 132 insertions(+), 44 deletions(-) diff --git a/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php b/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php index e00ab114..235d897a 100644 --- a/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php +++ b/app/Classes/Modules/Bookings/Services/CalculatesBookingCurrencyAverageRate.php @@ -12,16 +12,24 @@ class CalculatesBookingCurrencyAverageRate public function execute(Booking $booking, $type){ if ($type == TransactionType::PAYMENT) { - return $booking->transactions() + + $amount_without_service = $booking->transactions() ->where('type', TransactionType::PAYMENT) ->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]) - ->avg('currency_rate'); + ->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); } else if ($type == TransactionType::BILL) { - return $booking->transactions() + + $amount_without_service = $booking->transactions() ->where('type', TransactionType::BILL) ->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED]) - ->avg('currency_rate'); + ->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); } } diff --git a/resources/views/pages/pdfs/deliver_order.blade.php b/resources/views/pages/pdfs/deliver_order.blade.php index c45d27f7..e7256b1f 100644 --- a/resources/views/pages/pdfs/deliver_order.blade.php +++ b/resources/views/pages/pdfs/deliver_order.blade.php @@ -77,18 +77,22 @@ Stock Code Description Quantity - Unit Price (RM) + Unit Price (RM) Total Amount
(RM) + @php + $subtotal = 0; + @endphp + @foreach ($po_order_transaction->transactionDetails as $key => $transaction_detail) {{ $key + 1 }} {{ $transaction_detail->product_code }} {{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - + @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2) }} @else @@ -97,9 +101,18 @@ @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->amount, 2) }} - @else - {{ number_format($transaction_detail->amount, 2) }} + + {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp + @else + {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp @endif @@ -110,11 +123,7 @@ Subtotal - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2) }} - @else - {{ number_format($invoice_transaction->amount, 2) }} - @endif + {{ number_format($subtotal, 2) }} @@ -124,6 +133,17 @@ {{ number_format($invoice_transaction->service_charge, 2) }} + + + Adjustment + + @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @else + {{ number_format((float)number_format($invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @endif + + @if($invoice_transaction->tax > 0) diff --git a/resources/views/pages/pdfs/invoice.blade.php b/resources/views/pages/pdfs/invoice.blade.php index 3bad3ac0..7d6e88ca 100644 --- a/resources/views/pages/pdfs/invoice.blade.php +++ b/resources/views/pages/pdfs/invoice.blade.php @@ -76,18 +76,22 @@ Stock Code Description Quantity - Unit Price (RM) + Unit Price (RM) Total Amount
(RM) + @php + $subtotal = 0; + @endphp + @foreach ($po_order_transaction->transactionDetails as $key => $transaction_detail) {{ $key + 1 }} {{ $transaction_detail->product_code }} {{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - + @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2) }} @else @@ -96,9 +100,18 @@ @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->amount, 2) }} - @else - {{ number_format($transaction_detail->amount, 2) }} + + {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp + @else + {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp @endif @@ -109,11 +122,7 @@ Subtotal - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2) }} - @else - {{ number_format($invoice_transaction->amount, 2) }} - @endif + {{ number_format($subtotal, 2) }} @@ -123,6 +132,17 @@ {{ number_format($invoice_transaction->service_charge, 2) }} + + + Adjustment + + @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @else + {{ number_format((float)number_format($invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @endif + + @if($invoice_transaction->tax > 0) diff --git a/resources/views/pages/pdfs/purchase_order.blade.php b/resources/views/pages/pdfs/purchase_order.blade.php index 2d1327cd..c2c17481 100644 --- a/resources/views/pages/pdfs/purchase_order.blade.php +++ b/resources/views/pages/pdfs/purchase_order.blade.php @@ -81,18 +81,22 @@ Stock Code Description Quantity - Unit Price (RM) + Unit Price (RM) Total Amount
(RM) + @php + $subtotal = 0; + @endphp + @foreach ($po_order_transaction->transactionDetails as $key => $transaction_detail) {{ $key + 1 }} {{ $transaction_detail->product_code }} {{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - + @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2) }} @else @@ -101,9 +105,18 @@ @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->amount, 2) }} - @else - {{ number_format($transaction_detail->amount, 2) }} + + {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp + @else + {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp @endif @@ -112,13 +125,9 @@ - Subtotal + Subtotal - @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2) }} - @else - {{ number_format($invoice_transaction->amount, 2) }} - @endif + {{ number_format($subtotal, 2) }} @@ -128,6 +137,17 @@ {{ number_format($invoice_transaction->service_charge, 2) }} + + + Adjustment + + @if($invoice_transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$invoice_transaction->currency_rate) * $invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @else + {{ number_format((float)number_format($invoice_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @endif + + @if($invoice_transaction->tax > 0) diff --git a/resources/views/pages/pdfs/supplier_deliver_order.blade.php b/resources/views/pages/pdfs/supplier_deliver_order.blade.php index 5b736e39..57b4ed0a 100644 --- a/resources/views/pages/pdfs/supplier_deliver_order.blade.php +++ b/resources/views/pages/pdfs/supplier_deliver_order.blade.php @@ -66,18 +66,22 @@ Stock Code Description Quantity - Unit Price (RM) + Unit Price (RM) Total Amount
(RM) + @php + $subtotal = 0; + @endphp + @foreach ($po_order_transaction->transactionDetails as $key => $transaction_detail) {{ $key + 1 }} {{ $transaction_detail->product_code }} {{ $transaction_detail->product_name }} {{ $transaction_detail->quantity }} - + @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) {{ number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->price, 2) }} @else @@ -86,9 +90,18 @@ @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->amount, 2) }} - @else - {{ number_format($transaction_detail->amount, 2) }} + + {{ number_format((float)number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp + @else + {{ number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2) }} + + @php + $subtotal += number_format((float)number_format($transaction_detail->price, 2,'.','')*$transaction_detail->quantity,2,'.',''); + @endphp @endif @@ -99,10 +112,17 @@ Subtotal - @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) - {{ number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $supplier_deliver_order_transaction->amount, 2) }} - @else - {{ number_format($supplier_deliver_order_transaction->amount, 2) }} + {{ number_format($subtotal, 2) }} + + + + + Adjustment + + @if($supplier_deliver_order_transaction->booking()->first()->fix_currency_id !== 1) + {{ number_format((float)number_format( (1/$supplier_deliver_order_transaction->currency_rate) * $supplier_deliver_order_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} + @else + {{ number_format((float)number_format($supplier_deliver_order_transaction->amount, 2,'.','') - (float)number_format($subtotal, 2,'.',''),2) }} @endif From af083bb7076b6410d33c4f2ddfea1bae02240ddb Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:24:21 +0800 Subject: [PATCH 05/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index ff76d197..513394a3 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -170,6 +170,7 @@ class CreateInvoiceTransactionProcessor $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); + dd($supplier); $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); $document_object = new DocumentObject( From 6750dfefdefa0211a8617ab9482663a48b6ca9d3 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:26:01 +0800 Subject: [PATCH 06/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index 513394a3..a79cbd5d 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -170,6 +170,7 @@ class CreateInvoiceTransactionProcessor $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); + dd($supplier); $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); From c28c5fc5459333dcc6bc2af9979d15816af108f2 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:29:35 +0800 Subject: [PATCH 07/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index a79cbd5d..8ed82f2c 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -167,12 +167,11 @@ class CreateInvoiceTransactionProcessor null, ApprovalStatus::APPROVED ); + $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); - dd($supplier); - $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); $document_object = new DocumentObject( DocumentType::PURCHASE_ORDER, From 8ce3bf85d80cd9a1e4d6a0b787324a2792c2e4c1 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:30:29 +0800 Subject: [PATCH 08/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index 8ed82f2c..ff76d197 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -167,7 +167,6 @@ class CreateInvoiceTransactionProcessor null, ApprovalStatus::APPROVED ); - $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); From ce20fd0d6aa71982f79c47c2c7c922902881ca33 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:33:36 +0800 Subject: [PATCH 09/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index ff76d197..790610a5 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -170,7 +170,7 @@ class CreateInvoiceTransactionProcessor $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); - +dd($supplier); $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); $document_object = new DocumentObject( DocumentType::PURCHASE_ORDER, From 007ae648e6f943a2e09645b1fbc77f047ec29547 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:34:30 +0800 Subject: [PATCH 10/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index 790610a5..d4d9e4ad 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -170,7 +170,7 @@ class CreateInvoiceTransactionProcessor $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); -dd($supplier); +dd($supplier->addresses()->first()); $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); $document_object = new DocumentObject( DocumentType::PURCHASE_ORDER, From fa6aab7df014f3c4f2859398f2203593a011fc1a Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:37:20 +0800 Subject: [PATCH 11/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index d4d9e4ad..c450a523 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -170,7 +170,7 @@ class CreateInvoiceTransactionProcessor $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); -dd($supplier->addresses()->first()); +dd($transaction->receiver); $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); $document_object = new DocumentObject( DocumentType::PURCHASE_ORDER, From da35d80fbe822d9610972101c90621d4caf2a083 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Mon, 6 Sep 2021 17:41:24 +0800 Subject: [PATCH 12/38] debug invoice --- .../Processors/CreateInvoiceTransactionProcessor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php index c450a523..ff76d197 100644 --- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php +++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php @@ -170,7 +170,7 @@ class CreateInvoiceTransactionProcessor $invoice_transaction = $this->createsTransaction->execute($po_order_transaction->booking, $transaction_object); $supplier = $this->fetchesCompany->execute(['id' => $transaction->receiver]); -dd($transaction->receiver); + $purchase_order_pdf = LaravelMpdf::loadView('pages.pdfs.purchase_order', ['invoice_transaction' => $invoice_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]); $document_object = new DocumentObject( DocumentType::PURCHASE_ORDER, From f68fd19b7f1058ab1aadeb38de046d933fae1d40 Mon Sep 17 00:00:00 2001 From: glovetleong Date: Wed, 8 Sep 2021 17:38:24 +0800 Subject: [PATCH 13/38] -created data on OP -fix payment proof file select bug --- .../bookings/elements/PaymentProofComponent.vue | 14 ++++++++++++-- resources/views/pages/pdfs/deliver_order.blade.php | 2 +- resources/views/pages/pdfs/invoice.blade.php | 2 +- .../pages/pdfs/supplier_deliver_order.blade.php | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue b/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue index b684d64e..5356070b 100644 --- a/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue +++ b/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue @@ -39,7 +39,7 @@
-
+
- +
@@ -63,6 +63,16 @@ diff --git a/resources/views/pages/pdfs/deliver_order.blade.php b/resources/views/pages/pdfs/deliver_order.blade.php index e7256b1f..a2c77a66 100644 --- a/resources/views/pages/pdfs/deliver_order.blade.php +++ b/resources/views/pages/pdfs/deliver_order.blade.php @@ -34,7 +34,7 @@
REF: {{ $invoice_transaction->payment_reference ?? '-' }}
-
Date: {{ $invoice_transaction->created_at }}
+
Date: {{ $po_order_transaction->created_at }}
 
diff --git a/resources/views/pages/pdfs/invoice.blade.php b/resources/views/pages/pdfs/invoice.blade.php index 7d6e88ca..611d4362 100644 --- a/resources/views/pages/pdfs/invoice.blade.php +++ b/resources/views/pages/pdfs/invoice.blade.php @@ -33,7 +33,7 @@
Ref# {{ $invoice_transaction->payment_reference ?? '-' }}
-
Date: {{ $invoice_transaction->created_at }}
+
Date: {{ $po_order_transaction->created_at }}
 
diff --git a/resources/views/pages/pdfs/supplier_deliver_order.blade.php b/resources/views/pages/pdfs/supplier_deliver_order.blade.php index 57b4ed0a..22de6719 100644 --- a/resources/views/pages/pdfs/supplier_deliver_order.blade.php +++ b/resources/views/pages/pdfs/supplier_deliver_order.blade.php @@ -20,7 +20,7 @@ PO#: {{ $supplier_deliver_order_transaction->bill_no }}
Ref#: {{ $supplier_deliver_order_transaction->payment_reference ?? '-' }}
- Date: {{ $supplier_deliver_order_transaction->created_at }} + Date: {{ $po_order_transaction->created_at }} From 6c39bc780ba7de0519a0542d7054307e028c8919 Mon Sep 17 00:00:00 2001 From: Haziq Danial Date: Sat, 11 Sep 2021 13:15:25 +0800 Subject: [PATCH 14/38] added update email controller and logic --- .../ControllersLogic/AddNewMemberLogic.php | 75 +++++++++++++++++++ .../Companies/AddNewMemberController.php | 17 +++++ .../settings/forms/EditEmailFormComponent.vue | 4 +- routes/company.php | 4 +- 4 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php create mode 100644 app/Http/Controllers/Companies/AddNewMemberController.php diff --git a/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php new file mode 100644 index 00000000..280cf188 --- /dev/null +++ b/app/Classes/Modules/Accounts/ControllersLogic/AddNewMemberLogic.php @@ -0,0 +1,75 @@ + 'Updated Email', + 'message' => 'Successfully updated email' + ]; + } + + + public function __construct(CreateUserProcessor $createUserProcessor, AssignEmployeeProcessor $assignEmployeeProcessor, GenerateEmailVerificationAttemptProcessor $generateEmailVerificationAttemptProcessor) + { + $this->createUserProcessor = $createUserProcessor; + $this->assignEmployeeProcessor = $assignEmployeeProcessor; + $this->generateEmailVerificationAttemptProcessor = $generateEmailVerificationAttemptProcessor; + } + + public function logic(Request $request): JsonResponse + { + $new_email = $request->input('name'); + $user = Auth::user(); + $company = $user->company()->first(); + $user->email = $new_email; + + 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); + + $this->generateEmailVerificationAttemptProcessor->execute($user); + return $this->response([ + 'message' => 'test' + ]); + } +} diff --git a/app/Http/Controllers/Companies/AddNewMemberController.php b/app/Http/Controllers/Companies/AddNewMemberController.php new file mode 100644 index 00000000..e55f46b9 --- /dev/null +++ b/app/Http/Controllers/Companies/AddNewMemberController.php @@ -0,0 +1,17 @@ +logic($request); + } +} diff --git a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue index 68ef720a..9fb3ae21 100644 --- a/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue +++ b/resources/assets/vue/components/settings/forms/EditEmailFormComponent.vue @@ -26,7 +26,7 @@
Cancel
-
Update
+
Update
@@ -48,4 +48,4 @@ mixins: [updateProfileFormValidation] } - \ No newline at end of file + diff --git a/routes/company.php b/routes/company.php index e964d741..f5c4dfbc 100644 --- a/routes/company.php +++ b/routes/company.php @@ -9,6 +9,8 @@ Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Compani Route::put('/update/{id}', 'UpdateCompanyController@update')->name('update'); Route::delete('/delete/{id}', 'DeleteCompanyController@destroy')->name('delete'); + Route::post('/team/create', 'AddNewMemberController@create')->name('team.create'); + Route::group(['prefix' => '{id}/segment', 'as' => 'segment.'], function () { Route::post('/assign', 'AssignCompanyToSegmentController@assign')->name('assign'); Route::delete('/detach/{segment_id}', 'RemoveCompanyFromSegmentController@detach')->name('detach'); @@ -25,4 +27,4 @@ Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Compani Route::put('/{document_id}/approval/{status}', 'ApproveIdentificationDocumentController@approve')->where('status', 'approve|reject')->name('approval'); }); -}); \ No newline at end of file +}); From 68f879506a5c0475364a8e0e8e7981fe28547108 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Thu, 23 Sep 2021 15:29:14 +0800 Subject: [PATCH 15/38] 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 16/38] 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 17/38] 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 18/38] 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 19/38] 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 20/38] 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 21/38] 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 22/38] 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 23/38] 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 24/38] 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 25/38] 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 26/38] 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 27/38] 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 28/38] 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 29/38] 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 30/38] 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 31/38] 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 32/38] 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 33/38] 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 34/38] 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 35/38] 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 36/38] 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 37/38] 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 38/38] 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}}