first commit
This commit is contained in:
208
apps/backend/modules/stOrder/templates/_payment.php
Normal file
208
apps/backend/modules/stOrder/templates/_payment.php
Normal file
@@ -0,0 +1,208 @@
|
||||
<?php use_helper('stCurrency', 'stAllegro'); ?>
|
||||
|
||||
<div class="st-responsive">
|
||||
<?php echo form_error('order{payments}', [
|
||||
'class' => 'form-error-msg',
|
||||
]) ?>
|
||||
<?php if (!$sf_user->getAttribute('edit_mode', false, 'soteshop/stOrder')) : ?>
|
||||
<?php if (count($payments) > 1): ?>
|
||||
<table class="st_record_list" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="1%"><?php echo __('Data płatności') ?></th>
|
||||
<th><?php echo __('Typ płatności') ?></th>
|
||||
<th width="1%" class="text-right"><?php echo __('Kwota') ?></th>
|
||||
<th width="1%"><?php echo __('Rozliczona') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($payments as $index => $ohp) : $payment = $ohp->getPayment();
|
||||
$transaction_id = $payment->getTransactionId(); ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?php echo $payment->getPayedAt() ? st_format_date($payment->getPayedAt()) : '-' ?>
|
||||
<?php echo input_hidden_tag('order[payment][' . $index . '][payment_id]', $payment->getId()) ?>
|
||||
</td>
|
||||
<?php if ($payment->getGiftCard()) : ?>
|
||||
<td><?php echo st_external_link_to(__('Bon zakupowy: %code%', array('%code%' => $payment->getGiftCard()->getCode())), 'stGiftCardBackend/edit?id=' . $payment->getGiftCard()->getId()) ?></td>
|
||||
<?php else : ?>
|
||||
<td>
|
||||
<?php echo $payment->getPaymentTypeName() ?>
|
||||
<?php if ($payment->getAllegroPaymentType()) : ?>
|
||||
<?php echo st_allegro_payment_type($payment->getAllegroPaymentType()) ?>
|
||||
<?php endif ?>
|
||||
<?php if ($transaction_id) : ?>
|
||||
<p style="color: #848484"><?php echo __('Numer transakcji', null, 'stPayment') ?>: <?php echo $transaction_id ?></p>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<td class="text-right text-nowrap"><?php echo st_order_price_format($payment->getAmount(), $order->getOrderCurrency()) ?></td>
|
||||
<td>
|
||||
<?php echo st_admin_checkbox_tag('order[payment][' . $index . '][payment_status]', 1, $payment->getStatus(), array('disabled' => $payment->getGiftCard(), 'style' => 'vertical-align: middle')); ?>
|
||||
<?php if ($payment->getGiftCard()) : ?>
|
||||
<?php echo input_hidden_tag('order[payment][' . $index . '][payment_status]', true); ?>
|
||||
<?php endif; ?>
|
||||
<?php if ($payment->getStatus() && !$payment->isValid()) : ?>
|
||||
<?php echo image_tag('/images/backend/icons/warning.png', array('title' => __('Status płatności został zmieniony bezpośrednio w bazie danych', null, 'stPayment'), 'class' => 'list_tooltip', 'style' => 'vertical-align: middle')) ?>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: $payment = !empty($payments) ? $payments[0]->getPayment() : null ?>
|
||||
<div class="st-responsive">
|
||||
<?php if (null !== $payment): ?>
|
||||
<?php echo input_hidden_tag('order[payment][0][payment_id]', $payment->getId()) ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Typ płatności'), $payment, '_order_payment_type', array('type' => 'custom')) ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Kwota'), st_order_price_format($payment->getAmount(), $order->getOrderCurrency()), 'plain') ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Data płatności'), $payment->getPayedAt() ? st_format_date($payment->getPayedAt()) : '-', 'plain') ?>
|
||||
<?php echo st_admin_get_form_field('order[payment][0][payment_status]', __('Rozliczona'), 1, 'checkbox_tag', array('disabled' => $payment->getGiftCard(), 'checked' => $payment->getStatus())) ?>
|
||||
<?php else: ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Typ płatności'), __('Brak'), 'plain', array('type' => 'custom')) ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Kwota'), st_order_price_format($order->getUnpaidAmount(), $order->getOrderCurrency()), 'plain') ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Data płatności'), '-', 'plain') ?>
|
||||
<?php echo st_admin_get_form_field(null, __('Rozliczona'), __('Nie'), 'plain') ?>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<?php else : ?>
|
||||
<table id="st_record_manager-payment" class="st_record_list st_record_manager" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="1%"><?php echo __('Data płatności') ?></th>
|
||||
<th><?php echo __('Typ płatności') ?></th>
|
||||
<th width="1%"><?php echo __('Kwota') ?></th>
|
||||
<th width="1%"><?php echo __('Rozliczona') ?></th>
|
||||
<th width="1%"> </th>
|
||||
</tr>
|
||||
<tr class="template">
|
||||
<th> <?php echo input_hidden_tag('payment_id', null) ?></th>
|
||||
<th><?php echo select_tag("payment_type", options_for_select($paymentsType), array("class" => 'st-responsive')) ?></th>
|
||||
<th><?php echo input_tag("payment_amount", '0.00', array('class' => 'price-field')) ?></th>
|
||||
<th><?php echo st_admin_checkbox_tag("payment_status", true, false, array('class' => 'payment-status')) ?></th>
|
||||
<th class="actions">
|
||||
<?php echo link_to(st_admin_get_icon('add-circle', array('size' => 'medium')), "#", array('class' => 'create')) ?>
|
||||
<?php echo link_to(st_admin_get_icon('delete-circle', array('size' => 'medium')), "#", array('class' => 'remove')) ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($payments as $index => $ohp) : $payment = $ohp->getPayment() ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?php echo $payment->getPayedAt() ? st_format_date($payment->getPayedAt()) : '-' ?>
|
||||
<?php echo input_hidden_tag('order[payment][' . $index . '][payment_id]', $payment->getId()) ?>
|
||||
</td>
|
||||
<?php if ($payment->getAllegroPaymentType()) : ?>
|
||||
<td>
|
||||
<?php echo input_hidden_tag('order[payment][' . $index . '][payment_type]', $payment->getPaymentTypeId()) ?>
|
||||
<?php echo $payment->getPaymentType() ?> - <?php echo st_allegro_payment_type($payment->getAllegroPaymentType()) ?>
|
||||
</td>
|
||||
<?php elseif ($payment->getGiftCard()) : ?>
|
||||
<td><?php echo st_external_link_to($payment->getGiftCard()->getCode(), 'stGiftCardBackend/edit?id=' . $payment->getGiftCard()->getId()) ?></td>
|
||||
<?php else : ?>
|
||||
<td><?php echo select_tag("order[payment][" . $index . "][payment_type]", options_for_select($paymentsType, $payment->getPaymentTypeId())) ?></td>
|
||||
<?php endif; ?>
|
||||
<td>
|
||||
<?php echo input_tag('order[payment][' . $index . '][payment_amount]', stPrice::round($payment->getAmount()), array('disabled' => $payment->getGiftCard() || $payment->getStatus(), 'class' => 'price-field', 'data-gift-card' => null !== $payment->getGiftCard())) ?>
|
||||
|
||||
<?php echo input_hidden_tag('order[payment][' . $index . '][payment_amount]', stPrice::round($payment->getAmount()), array('disabled' => !$payment->getStatus(), 'id' => 'order_payment_' . $index . '_payment_amount_hidden')) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo st_admin_checkbox_tag('order[payment][' . $index . '][payment_status]', 1, $payment->getStatus(), array('disabled' => $payment->getGiftCard(), 'class' => 'payment-status')); ?>
|
||||
</td>
|
||||
<td class="actions">
|
||||
<?php if (!$payment->getGiftCard()) : ?>
|
||||
<a href="#" class="remove"><?php echo st_admin_get_icon('delete-circle', array('size' => 'medium')) ?></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
jQuery(function($) {
|
||||
function statusUpdate() {
|
||||
|
||||
var status = $(this);
|
||||
var priceField = status.closest('tr').find('.price-field');
|
||||
|
||||
if (priceField.data('gift-card')) {
|
||||
return;
|
||||
}
|
||||
|
||||
priceField.prop('disabled', status.prop('checked'));
|
||||
|
||||
var hiddenId = priceField.attr('id') + '_hidden';
|
||||
|
||||
var hidden = $('#' + hiddenId);
|
||||
|
||||
if (hidden.length) {
|
||||
hidden.prop('disabled', !status.prop('checked'));
|
||||
hidden.val(priceField.val());
|
||||
} else {
|
||||
hidden = $('<input type="hidden" id="' + hiddenId + '" name="' + priceField.attr('name') + '" value="' + priceField.val() + '">');
|
||||
priceField.after(hidden);
|
||||
}
|
||||
|
||||
|
||||
|
||||
totalAmountUpdate();
|
||||
|
||||
|
||||
}
|
||||
|
||||
function paymentAmountUpdate() {
|
||||
var input = $(this);
|
||||
input.val(stPrice.fixNumberFormat(input.val()));
|
||||
var value = Number(input.val());
|
||||
var payment = $('#st_record_manager-payment tbody tr .price-field').not('[data-gift-card=1]');
|
||||
|
||||
var leftToPay = Number($('#st_order-product-list').data('total-amount'));
|
||||
|
||||
payment.each(function() {
|
||||
var current = $(this);
|
||||
if (input.attr('id') !== current.attr('id')) {
|
||||
leftToPay -= Number(current.val());
|
||||
}
|
||||
});
|
||||
|
||||
if (leftToPay < 0) {
|
||||
leftToPay = 0;
|
||||
}
|
||||
|
||||
if (value > leftToPay) {
|
||||
value = leftToPay;
|
||||
}
|
||||
|
||||
input.val(value.toFixed(2));
|
||||
}
|
||||
|
||||
function totalAmountUpdate() {
|
||||
manager = $('#st_record_manager-payment');
|
||||
manager.data('update', true);
|
||||
$('#order_summary_discount').change();
|
||||
manager.data('update', false);
|
||||
}
|
||||
|
||||
$('#st_record_manager-payment').stTableRecordManager({
|
||||
namespace: 'order[payment]',
|
||||
confirmMsg: '<?php echo __('Jesteś pewien?', null, 'stAdminGeneratorPlugin') ?>'
|
||||
});
|
||||
$('#payment_amount').change(paymentAmountUpdate);
|
||||
|
||||
$('#st_record_manager-payment').on('postAdd', function(event, row, fields) {
|
||||
statusUpdate.call(fields.payment_status);
|
||||
totalAmountUpdate();
|
||||
}).on('postRemove', function() {
|
||||
totalAmountUpdate();
|
||||
});
|
||||
|
||||
$('#st_record_manager-payment tbody')
|
||||
.on('change', '.price-field', paymentAmountUpdate)
|
||||
.on('change', '.payment-status', statusUpdate);
|
||||
});
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
Reference in New Issue
Block a user