mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-27 00:13:59 +00:00
Merge branch 'dillon/90-e-invoice-b' into vapor/development
This commit is contained in:
@@ -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()) {
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
+18
-6
@@ -184,9 +184,7 @@
|
||||
<div class="font-heading fs-10 muted all-caps">TIN</div>
|
||||
<p class="m-b-0 fs-12">
|
||||
<span :class="[{'text-danger bold': !booking.company.e_invoice && !booking.company.tin }]">
|
||||
{{ booking.company.e_invoice
|
||||
? (booking.company.tin ? booking.company.tin : 'INCOMPLETE E-INVOICE INFO')
|
||||
: 'NOT PROVIDED' }}
|
||||
{{ invoiceInfo }}
|
||||
</span><br />
|
||||
<a v-if="booking.company.e_invoice && booking.company.tin" class="pointer requestModal" data-type="eInvoiceInfo">View E-Invoice Info
|
||||
</a>
|
||||
@@ -312,7 +310,7 @@
|
||||
</div>
|
||||
<div class="row m-t-10" v-if="$store.getters.isSuperAdmin">
|
||||
<div class="col-sm col-md-auto">
|
||||
<div class="btn btn-sm btn block all-caps b-rad-none btn-danger pointer requestModal" data-type="deleteTransfer">Delete Transfer</div>
|
||||
<div class="btn btn-sm btn block all-caps b-rad-none btn-danger pointer requestModal equal-width-button" data-type="deleteTransfer">Delete Transfer</div>
|
||||
</div>
|
||||
<modal-component class="animate__animated animate__fast animate__fadeIn" type="deleteTransfer">
|
||||
<general-confirmation-form-component
|
||||
@@ -483,7 +481,7 @@
|
||||
</div>
|
||||
<div class="row m-t-5" v-if="$store.getters.isAdmin">
|
||||
<div class="col">
|
||||
<div class="btn btn-xs all-caps b-rad-none btn-warning pointer requestModal" data-type="changeBookingOwner">Change Booking Owner</div>
|
||||
<div class="btn btn-xs all-caps b-rad-none btn-warning pointer requestModal equal-width-button" data-type="changeBookingOwner">Change Booking Owner</div>
|
||||
<modal-component type="changeBookingOwner">
|
||||
<change-booking-owner-form-component :data="booking" :section="section" class="text-center"></change-booking-owner-form-component>
|
||||
</modal-component>
|
||||
@@ -535,7 +533,14 @@
|
||||
},
|
||||
companySegmentIds() {
|
||||
return this.booking.company.segments.map(obj => parseInt(obj.id));
|
||||
}
|
||||
},
|
||||
invoiceInfo() {
|
||||
const company = this.booking.company;
|
||||
if (company.e_invoice) {
|
||||
return company.tin ? company.tin : 'INCOMPLETE E-INVOICE INFO';
|
||||
}
|
||||
return 'NOT PROVIDED';
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
pendingQueue(inComplete){
|
||||
@@ -570,3 +575,10 @@
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.equal-width-button {
|
||||
min-width: 165px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user