Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions admin/themes/default/template/controllers/orders/form.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -760,7 +760,11 @@
$('#total_taxes').html(formatCurrency(parseFloat(jsonSummary.summary.total_tax_without_discount), currency_format, currency_sign, currency_blank));
$('#total_with_taxes').html(formatCurrency(parseFloat(jsonSummary.summary.total_price), currency_format, currency_sign, currency_blank));

$('#payment_amount').val(jsonSummary.summary.total_price);
if (parseInt($('input[name="is_full_payment"]:checked').val())) {
$('#payment_amount').val(jsonSummary.summary.total_price);
}
$('#full_payment_amount_value').html(formatCurrency(parseFloat(jsonSummary.summary.total_price), currency_format, currency_sign, currency_blank));

if (jsonSummary.summary.is_advance_payment_active) {
$('#advance_payment_amount').html(formatCurrency(parseFloat(jsonSummary.summary.advance_payment_amount_with_tax), currency_format, currency_sign, currency_blank));
$('#advance_payment_amount_block').show();
Expand All @@ -772,7 +776,8 @@
if (jsonSummary.summary.total_price == 0) { // if free order
$('#send_email_to_customer, [name="is_full_payment"], #payment_amount, #payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').hide(200);
} else {
$('#send_email_to_customer, [name="is_full_payment"], #payment_amount, #payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').show(200);
$('#send_email_to_customer, [name="is_full_payment"], #payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').show(200);
$('#payment_amount').closest('.form-group').toggle(!parseInt($('input[name="is_full_payment"]:checked').val()));
}
}

Expand Down Expand Up @@ -1289,7 +1294,11 @@
}
$('#order_message').val(jsonSummary.order_message);
$('#payment_amount').siblings('.input-group-addon').html(currency_sign);
$('#payment_amount').val(jsonSummary.summary.total_price);
if (parseInt($('input[name="is_full_payment"]:checked').val())) {
$('#payment_amount').val(jsonSummary.summary.total_price);
}
$('#full_payment_amount_value').html(formatCurrency(parseFloat(jsonSummary.summary.total_price), currency_format, currency_sign, currency_blank));

if (jsonSummary.summary.is_advance_payment_active) {
$('#advance_payment_amount').html(formatCurrency(parseFloat(jsonSummary.summary.advance_payment_amount_with_tax), currency_format, currency_sign, currency_blank));
$('#advance_payment_amount_block').show();
Expand All @@ -1301,7 +1310,8 @@
if (jsonSummary.summary.total_price == 0) { // if free order
$('#send_email_to_customer, [name="is_full_payment"], #payment_amount, #payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').hide(200);
} else {
$('#send_email_to_customer, [name="is_full_payment"], #payment_amount, #payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').show(200);
$('#send_email_to_customer, [name="is_full_payment"], #payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').show(200);
$('#payment_amount').closest('.form-group').toggle(!parseInt($('input[name="is_full_payment"]:checked').val()));
}

resetBind();
Expand Down Expand Up @@ -1713,11 +1723,13 @@

$(document).on('change', 'input[name="is_full_payment"]', function() {
if (parseInt($('input[name="is_full_payment"]:checked').val())) {
$('#payment_amount').attr('disabled', true);
$('#payment_amount').val({$order_total|floatval}).attr('disabled', true);
$('#payment_amount').closest('.form-group').hide(200);

$('#payment_type, #payment_transaction_id').closest('.form-group').show(200);
$('#payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').show(200);
} else {
$('#payment_amount').attr('disabled', false);
$('#payment_amount').val({$order_total|floatval}).attr('disabled', false);
$('#payment_amount').closest('.form-group').show(200);

managePaymentOptions();
}
Expand All @@ -1731,9 +1743,9 @@
let paymentAmount = parseFloat($('#payment_amount').val().trim());

if (paymentAmount != 0) {
$('#payment_type, #payment_transaction_id').closest('.form-group').show(200);
$('#payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').show(200);
} else {
$('#payment_type, #payment_transaction_id').closest('.form-group').hide(200);
$('#payment_type, #payment_module_name, #payment_transaction_id').closest('.form-group').hide(200);
}
}

Expand Down Expand Up @@ -2388,14 +2400,18 @@
<a class="slide-button btn"></a>
</span>
<p class="help-block">{l s='Keep this option enabled for full payment and disable it to take partial payment of the booking.'}</p>
<p class="help-block">
<span>{l s='Total amount: '}</span>
<span id="full_payment_amount_value">{displayPrice price=$order_total currency=$currency->id}</span>
</p>
</div>
</div>
<div class="form-group" {if $order_total <= 0}style="display: none;"{/if}>
<div class="form-group" {if $order_total <= 0 || $is_full_payment}style="display: none;"{/if}>
<label class="control-label required col-lg-3">{l s='Payment amount'}</label>
<div class="col-lg-9">
<div class="input-group fixed-width-xxl">
<span class="input-group-addon">{$currency->sign}</span>
<input type="text" name="payment_amount" id="payment_amount" value="{if isset($smarty.post.payment_amount)}{$smarty.post.payment_amount|escape:'html':'UTF-8'}{elseif $is_full_payment}{$order_total}{/if}" {if $is_full_payment}disabled{/if} />
<input type="text" name="payment_amount" id="payment_amount" value="{if !$is_full_payment && isset($smarty.post.payment_amount)}{$smarty.post.payment_amount|escape:'html':'UTF-8'}{else}{$order_total}{/if}" {if $is_full_payment}disabled{/if} />
</div>
<p class="help-block" id="advance_payment_amount_block" {if isset($is_advance_payment_active) && $is_advance_payment_active}style="display: block;"{else}style="display: none;"{/if}>
<span>{l s='Advance payment amount: '}</span>
Expand Down
12 changes: 7 additions & 5 deletions controllers/admin/AdminOrdersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2178,15 +2178,13 @@ public function postProcess()
$paymentAmount = $orderTotal;
}

if ($paymentAmount >= 0) {
if ($paymentAmount > 0) {
if (!$moduleName) {
$this->errors[] = Tools::displayError('Please enter Payment method.');
} elseif ($moduleName && !Validate::isGenericName($moduleName)) {
$this->errors[] = Tools::displayError('Payment method is invalid. Please enter a valid payment method.');
}
}

if ($paymentAmount > 0) {
if (!$paymentType) {
$this->errors[] = Tools::displayError('Please select a Payment source.');
} elseif ($paymentType && !Validate::isUnsignedInt($paymentType)) {
Expand All @@ -2203,10 +2201,14 @@ public function postProcess()

// Set payment module details
$objPaymentModule = new BoOrder();
$objPaymentModule->displayName = $moduleName;
if ($moduleName) {
$objPaymentModule->displayName = $moduleName;
}

if ($orderTotal > 0) {
$objPaymentModule->payment_type = $paymentType;
if ($paymentType) {
$objPaymentModule->payment_type = $paymentType;
}

// Set order state
if ($isFullPayment) {
Expand Down