Skip to content

Commit

Permalink
Merge pull request #59 from buckaroo-it/BP-4157-Incorrect-Billink-fie…
Browse files Browse the repository at this point in the history
…ld-display-based-on-B2B-B2C-selection

BP-4157-Incorrect-Billink-field-display-based-on-B2B-B2C-selection
  • Loading branch information
AlbinaBaraliu authored Feb 3, 2025
2 parents 8f0164c + 7794efc commit 23c1026
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 50 deletions.
42 changes: 31 additions & 11 deletions Magewire/Payment/Method/Billink.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public function __construct(
if($validator->getValidator("nlBeDePhone") === null) {
$validator->addValidator("nlBeDePhone", new NlBeDePhone());
}

parent::__construct($validator);

$this->sessionCheckout = $sessionCheckout;
Expand Down Expand Up @@ -295,23 +295,26 @@ private function getFullName(): string
private function getFormValues(): array
{
$values = [
'tos' => $this->tos,
'dateOfBirth' => $this->dateOfBirth,
'gender' => $this->gender
'tos' => $this->tos
];

if ($this->showPhone()) {
$values = array_merge($values, ['phone' => $this->phone]);
}

if(!$this->showB2b()) {
$values = array_merge($values, [
'dateOfBirth' => $this->dateOfBirth,
'gender' => $this->gender
]);
}
if($this->showB2b()) {
$values = array_merge($values, [
'coc' => $this->coc
]);
}



return $values;
}

Expand All @@ -323,12 +326,16 @@ private function getFormValues(): array
private function getFormRules(): array
{
$rules = [
'tos' => self::RULES_TOS,
'dateOfBirth' => self::RULES_DATE_OF_BIRTH,
'gender' => $this->getGenderRules()
'tos' => self::RULES_TOS
];

if(!$this->showB2b()) {
$rules = array_merge($rules, [
'dateOfBirth' => self::RULES_DATE_OF_BIRTH,
'gender' => $this->getGenderRules()
]);

}
if ($this->showPhone()) {
$rules = array_merge($rules, ['phone' => $this->getPhoneRules()]);
}
Expand All @@ -344,7 +351,20 @@ private function getFormRules(): array

public function showB2b()
{
return $this->helper->checkCustomerGroup('buckaroo_magento2_billink');
$quote = $this->getQuote();
if ($quote === null) {
return false;
}

$shippingCountry = $quote->getShippingAddress()->getCountryId();
$billingCompany = $quote->getBillingAddress()->getCompany();
$shippingCompany = $quote->getShippingAddress()->getCompany();

return
(
($this->getCountryId() === 'NL' && !empty(trim((string)$billingCompany))) ||
($shippingCountry === 'NL' && !empty(trim((string)$shippingCompany)))
);
}


Expand Down
81 changes: 42 additions & 39 deletions view/frontend/templates/component/payment/method/billink.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -14,44 +14,47 @@ use Magento\Framework\Escaper;
<input type="text" wire:model.lazy="fullName" disabled id="buckaroo_billink_tos_fullname" class="bg-gray-200">
</div>

<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_klarna_gender"><?= $escaper->escapeHtml(__('Salutation:')); ?></label>
<select name="issuer" id="buckaroo_klarna_gender" wire:model="gender" class="form-select">
<option value=""><?= $escaper->escapeHtml(__('-- Please Select Your Gender--')); ?></option>
<?php
foreach ($magewire->getGenderList() as $gender) {
?>
<option value="<?= $escaper->escapeHtmlAttr($gender["code"]) ?>">
<?= $escaper->escapeHtml($gender["name"]) ?>
</option>
<?php
}
?>
</select>
<?php if ($magewire->hasError('gender')) : ?>
<div class="text-red-600"><?= $escaper->escapeHtmlAttr($magewire->getError('gender')) ?></div>
<?php endif; ?>
</div>

<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_billink_dob">
<?= $escaper->escapeHtml(__('Date of Birth:')); ?>
<span class="text-red-600">*</span>
</label>
<input
type="date"
x-data
value="<?= $magewire->dateOfBirth ?>" @blur="$wire.call('updatedDateOfBirth', $event.target.value)"
id="buckaroo_billink_dob"
>
<?php if ($magewire->hasError('dateOfBirth')) : ?>
<div class="text-red-600"><?= $escaper->escapeHtmlAttr($magewire->getError('dateOfBirth')) ?></div>
<?php endif; ?>
</div>
<?php if (!$magewire->showB2b()) {
?>
<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_klarna_gender"><?= $escaper->escapeHtml(__('Salutation:')); ?></label>
<select name="issuer" id="buckaroo_klarna_gender" wire:model="gender" class="form-select">
<option value=""><?= $escaper->escapeHtml(__('-- Please Select Your Gender--')); ?></option>
<?php
foreach ($magewire->getGenderList() as $gender) {
?>
<option value="<?= $escaper->escapeHtmlAttr($gender["code"]) ?>">
<?= $escaper->escapeHtml($gender["name"]) ?>
</option>
<?php
}
?>
</select>
<?php if ($magewire->hasError('gender')) : ?>
<div class="text-red-600"><?= $escaper->escapeHtmlAttr($magewire->getError('gender')) ?></div>
<?php endif; ?>
</div>

<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_billink_dob">
<?= $escaper->escapeHtml(__('Date of Birth:')); ?>
<span class="text-red-600">*</span>
</label>
<input
type="date"
x-data
value="<?= $magewire->dateOfBirth ?>" @blur="$wire.call('updatedDateOfBirth', $event.target.value)"
id="buckaroo_billink_dob"
>
<?php if ($magewire->hasError('dateOfBirth')) : ?>
<div class="text-red-600"><?= $escaper->escapeHtmlAttr($magewire->getError('dateOfBirth')) ?></div>
<?php endif; ?>
</div>

<?php
} ?>
<?php if ($magewire->showPhone()) {
?>
?>
<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_billink_phone">
<?= $escaper->escapeHtml(__('Telephone:')); ?>
Expand All @@ -62,11 +65,11 @@ use Magento\Framework\Escaper;
<div class="text-red-600"><?= $escaper->escapeHtmlAttr($magewire->getError('phone')) ?></div>
<?php endif; ?>
</div>
<?php
<?php
} ?>

<?php if ($magewire->showB2b()) {
?>
?>
<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_billink_coc">
<?= $escaper->escapeHtml(__('COC Number:')); ?>
Expand All @@ -80,14 +83,14 @@ use Magento\Framework\Escaper;

<div class="flex flex-col gap-y-2 field field-reserved">
<label for="buckaroo_billink_vat_number">
<?= $escaper->escapeHtml(__( 'Bank Account Number:')); ?>
<?= $escaper->escapeHtml(__('Bank Account Number:')); ?>
</label>
<input type="text" wire:model.lazy="vatNumber" id="buckaroo_billink_vat_number">
<?php if ($magewire->hasError('vatNumber')) : ?>
<div class="text-red-600"><?= $escaper->escapeHtmlAttr($magewire->getError('vatNumber')) ?></div>
<?php endif; ?>
</div>
<?php
<?php
} ?>

<div class="flex flex-col gap-y-2 ">
Expand Down

0 comments on commit 23c1026

Please sign in to comment.