diff --git a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php index 9dfddfe8..3b00f11a 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php @@ -91,6 +91,18 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic /** @var CreateReceiptVoucherTransactionProcessor */ private $createReceiptVoucherTransactionProcessor; + /** @var CanPassOrderDurationLimitRule */ + protected $canPassOrderDurationLimitRule; + + /** @var CanPassEInvoicePromptedRule */ + protected $canPassEInvoicePromptedRule; + + /** @var CanPassTINRule */ + protected $canPassTINRule; + + /** @var CanPassPurchaseOrderRule */ + protected $canPassPurchaseOrderRule; + /** * @param FetchesBookingQuotation $fetchBookingQuotation * @param FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit @@ -105,8 +117,12 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic * @param CalculatesBookingRefundAmount $calculatesBookingRefundAmount * @param RuleEvaluator $ruleEvaluator * @param CreateReceiptVoucherTransactionProcessor $createReceiptVoucherTransactionProcessor + * @param CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule + * @param CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule + * @param CanPassTINRule $canPassTINRule + * @param CanPassPurchaseOrderRule $canPassPurchaseOrderRule */ - public function __construct(FetchesBookingQuotation $fetchBookingQuotation, FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction, CalculatesBookingOutstanding $calculatesBookingOutstanding, CreatesBillplzBill $createsBillplzBill, UpdatesWalletBalance $updatesWalletBalance, UpdatesTransactionStatus $updatesTransactionStatus, CreateCashBackTransactionProcessor $createCashBackTransactionProcessor, RecalculatesWalletBalance $recalculatesWalletBalance, BookingToVoucherifyProcessor $bookingToVoucherifyProcessor, CalculatesBookingRefundAmount $calculatesBookingRefundAmount, RuleEvaluator $ruleEvaluator, CreateReceiptVoucherTransactionProcessor $createReceiptVoucherTransactionProcessor) + public function __construct(FetchesBookingQuotation $fetchBookingQuotation, FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction, CalculatesBookingOutstanding $calculatesBookingOutstanding, CreatesBillplzBill $createsBillplzBill, UpdatesWalletBalance $updatesWalletBalance, UpdatesTransactionStatus $updatesTransactionStatus, CreateCashBackTransactionProcessor $createCashBackTransactionProcessor, RecalculatesWalletBalance $recalculatesWalletBalance, BookingToVoucherifyProcessor $bookingToVoucherifyProcessor, CalculatesBookingRefundAmount $calculatesBookingRefundAmount, RuleEvaluator $ruleEvaluator, CreateReceiptVoucherTransactionProcessor $createReceiptVoucherTransactionProcessor, CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule, CanPassTINRule $canPassTINRule, CanPassPurchaseOrderRule $canPassPurchaseOrderRule) { $this->fetchBookingQuotation = $fetchBookingQuotation; $this->fetchesCompanyPaymentAttemptLimit = $fetchesCompanyPaymentAttemptLimit; @@ -121,6 +137,10 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic $this->calculatesBookingRefundAmount = $calculatesBookingRefundAmount; $this->ruleEvaluator = $ruleEvaluator; $this->createReceiptVoucherTransactionProcessor = $createReceiptVoucherTransactionProcessor; + $this->canPassOrderDurationLimitRule = $canPassOrderDurationLimitRule; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; + $this->canPassTINRule = $canPassTINRule; + $this->canPassPurchaseOrderRule = $canPassPurchaseOrderRule; } /** @@ -133,10 +153,10 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic { $dto = new ConfirmBookingDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassOrderDurationLimitRule::class), - App()->make(CanPassEInvoicePromptedRule::class), - App()->make(CanPassTINRule::class), - App()->make(CanPassPurchaseOrderRule::class), + $this->canPassOrderDurationLimitRule, + $this->canPassEInvoicePromptedRule, + $this->canPassTINRule, + $this->canPassPurchaseOrderRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php index 3b7006ae..eb38294b 100644 --- a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php @@ -52,6 +52,9 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic /** @var UpdatesAddressMetadata */ private $updatesAddressMetadata; + /** @var CanPassEInvoicePromptedRule */ + private $canPassEInvoicePromptedRule; + /** * UpdateCompanyEInvoiceInfoLogic constructor. * @param CanCreateAddress $canCreateAddress @@ -61,8 +64,9 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic * @param RuleEvaluator $ruleEvaluator; * @param UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo; * @param UpdatesAddressMetadata $updatesAddressMetadata + * @param CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule */ - public function __construct(CanCreateAddress $canCreateAddress, FetchesDistrict $fetchesDistrict, FetchesCompany $fetchesCompany, CreatesAddress $createsAddress, RuleEvaluator $ruleEvaluator, UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo, UpdatesAddressMetadata $updatesAddressMetadata) + public function __construct(CanCreateAddress $canCreateAddress, FetchesDistrict $fetchesDistrict, FetchesCompany $fetchesCompany, CreatesAddress $createsAddress, RuleEvaluator $ruleEvaluator, UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo, UpdatesAddressMetadata $updatesAddressMetadata, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule) { $this->canCreateAddress = $canCreateAddress; $this->fetchesDistrict = $fetchesDistrict; @@ -71,6 +75,7 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic $this->ruleEvaluator = $ruleEvaluator; $this->updatesCompanyEInvoiceInfo = $updatesCompanyEInvoiceInfo; $this->updatesAddressMetadata = $updatesAddressMetadata; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; } /** @@ -85,7 +90,7 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic { $dto = new EInvoiceInfoDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassEInvoicePromptedRule::class), + $this->canPassEInvoicePromptedRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php b/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php index 780f8150..7a678bda 100644 --- a/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php +++ b/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php @@ -18,7 +18,9 @@ class UpdatesCompanyEInvoiceRequest extends AbstractUpdateRecord public function execute(Company $model, bool $eInvoice) { if (is_null($model->e_invoice) && is_null($model->e_invoice_requested_at)) { - $model->e_invoice_requested_at = now(); + if($eInvoice){ + $model->e_invoice_requested_at = now(); + } } $model->e_invoice = $eInvoice; diff --git a/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php b/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php index b2c314d9..9c690686 100644 --- a/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php +++ b/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php @@ -28,12 +28,20 @@ class CheckEInvoiceRuleLogic extends AbstractControllerLogic /** @var RuleEvaluator */ private $ruleEvaluator; + /** @var CanPassEInvoicePromptedRule */ + private $canPassEInvoicePromptedRule; + + /** @var CanPassTINRule */ + private $canPassTINRule; + /** * CheckEInvoiceRuleLogic constructor. */ - public function __construct(RuleEvaluator $ruleEvaluator) + public function __construct(RuleEvaluator $ruleEvaluator, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule, CanPassTINRule $canPassTINRule) { $this->ruleEvaluator = $ruleEvaluator; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; + $this->canPassTINRule = $canPassTINRule; } /** @@ -49,8 +57,8 @@ class CheckEInvoiceRuleLogic extends AbstractControllerLogic $dto = new CheckEInvoiceRuleDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassEInvoicePromptedRule::class), - App()->make(CanPassTINRule::class), + $this->canPassEInvoicePromptedRule, + $this->canPassTINRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php b/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php index a1c74aee..b6abaf1a 100644 --- a/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php +++ b/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php @@ -29,12 +29,30 @@ class CheckPurchaseOrderRuleLogic extends AbstractControllerLogic /** @var RuleEvaluator */ private $ruleEvaluator; + /** @var CanPassOrderDurationLimitRule */ + private $canPassOrderDurationLimitRule; + + /** @var CanPassEInvoicePromptedRule */ + private $canPassEInvoicePromptedRule; + + /** @var CanPassPurchaseOrderRule */ + private $canPassPurchaseOrderRule; + + /** * CheckPurchaseOrderRuleLogic constructor. + * @param RuleEvaluator $ruleEvaluator + * @param CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule + * @param CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule + * @param CanPassPurchaseOrderRule $canPassPurchaseOrderRule + */ - public function __construct(RuleEvaluator $ruleEvaluator) + public function __construct(RuleEvaluator $ruleEvaluator, CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule, CanPassPurchaseOrderRule $canPassPurchaseOrderRule) { $this->ruleEvaluator = $ruleEvaluator; + $this->canPassOrderDurationLimitRule = $canPassOrderDurationLimitRule; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; + $this->canPassPurchaseOrderRule = $canPassPurchaseOrderRule; } /** @@ -50,9 +68,9 @@ class CheckPurchaseOrderRuleLogic extends AbstractControllerLogic $dto = new CheckPurchaseOrderRuleDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassOrderDurationLimitRule::class), - App()->make(CanPassEInvoicePromptedRule::class), - App()->make(CanPassPurchaseOrderRule::class), + $this->canPassOrderDurationLimitRule, + $this->canPassEInvoicePromptedRule, + $this->canPassPurchaseOrderRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php b/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php index b17d8ed0..a87a00d5 100644 --- a/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php +++ b/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php @@ -27,12 +27,18 @@ class CheckTransferRuleLogic extends AbstractControllerLogic /** @var RuleEvaluator */ private $ruleEvaluator; + /** @var CanPassOrderDurationLimitRule */ + private $canPassOrderDurationLimitRule; + /** * CheckTransferRuleLogic constructor. + * @param RuleEvaluator $ruleEvaluator + * @param CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule */ - public function __construct(RuleEvaluator $ruleEvaluator) + public function __construct(RuleEvaluator $ruleEvaluator, CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule) { $this->ruleEvaluator = $ruleEvaluator; + $this->canPassOrderDurationLimitRule = $canPassOrderDurationLimitRule; } /** @@ -48,7 +54,7 @@ class CheckTransferRuleLogic extends AbstractControllerLogic $dto = new CheckTransferRuleDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassOrderDurationLimitRule::class), + $this->canPassOrderDurationLimitRule, ], $dto); if ($result->failed()) { diff --git a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue index eac51645..c010d5a9 100644 --- a/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue +++ b/resources/assets/vue/components/bookings/sections/BookingDetailsSectionComponent.vue @@ -184,9 +184,7 @@
- {{ booking.company.e_invoice
- ? (booking.company.tin ? booking.company.tin : 'INCOMPLETE E-INVOICE INFO')
- : 'NOT PROVIDED' }}
+ {{ invoiceInfo }}
View E-Invoice Info
@@ -312,7 +310,7 @@