File "squareup_transaction_info.twig"
Full path: /home/cakedeco/retaildirectonline.co.uk/admin/view/template/extension/payment/squareup_transaction_info.twig
File
size: 14.82 B (14.82 KB bytes)
MIME-type: text/html
Charset: utf-8
Download Open Edit Advanced Editor &nnbsp; Back
{{ header }}{{ column_left }}
<div id="content">
<div class="page-header">
<div class="container-fluid">
<div class="pull-right">
{% if is_authorized %}
<a id="transaction_capture" data-url-transaction-capture="{{ url_capture }}" data-confirm-capture="{{ confirm_capture }}" class="btn btn-success">{{ button_capture }}</a>
<a id="transaction_void" data-url-transaction-void="{{ url_void }}" data-confirm-void="{{ confirm_void }}" class="btn btn-warning">{{ button_void }}</a>
{% endif %}
{% if is_captured %}
<a id="transaction_refund" data-url-transaction-refund="{{ url_refund }}" data-confirm-refund="{{ confirm_refund }}" data-insert-amount="{{ insert_amount }}" class="btn btn-danger">{{ button_refund }}</a>
{% endif %}
<a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
<h1>{{ heading_title }}</h1>
<ul class="breadcrumb">
{% for breadcrumb in breadcrumbs %}
<li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<div class="container-fluid">
<div id="transaction-alert" data-message="{{ text_loading }}">
{% for alert in alerts %}
<div class="alert alert-{{ alert.type }}"><i class="fa fa-{{ alert.icon }}"></i> {{ alert.text }}
<button type="button" class="close" data-dismiss="alert">×</button>
</div>
{% endfor %}
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-info-circle"></i> {{ text_edit }}</h3>
</div>
<div class="panel-body">
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_transaction_id }}</label>
<div class="col-sm-10">
<div class="form-control-static"><a href="{{ url_transaction }}" target="_blank">{{ transaction_id }}</a></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_merchant }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ merchant }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_order_id }}</label>
<div class="col-sm-10">
<div class="form-control-static"><a href="{{ url_order }}" target="_blank">{{ order_id }}</a></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_type }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ type }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_amount }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ amount }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_billing_address_company }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ billing_address_company }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_billing_address_street }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ billing_address_street }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_billing_address_city }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ billing_address_city }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_billing_address_postcode }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ billing_address_postcode }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_billing_address_province }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ billing_address_province }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_billing_address_country }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ billing_address_country }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_browser }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ browser }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_ip }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ ip }}</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{{ entry_date_created }}</label>
<div class="col-sm-10">
<div class="form-control-static">{{ date_created }}</div>
</div>
</div>
{% if has_refunds %}
<hr />
<h3>{{ text_refunds }}</h3>
<table class="table table-bordered table-striped">
<thead>
<th>{{ column_date_created }}</th>
<th>{{ column_reason }}</th>
<th>{{ column_status }}</th>
<th>{{ column_amount }}</th>
<th>{{ column_fee }}</th>
</thead>
<tbody>
{% for refund in refunds %}
<tr>
<td>{{ refund.date_created }}</td>
<td>{{ refund.reason }}</td>
<td>{{ refund.status }}</td>
<td>{{ refund.amount }}</td>
<td>{{ refund.fee }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</form>
</div>
</div>
</div>
</div>
<div class="modal fade" id="squareup-confirm-modal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">{{ text_confirm_action }}</h4>
</div>
<div class="modal-body">
<h4 id="squareup-confirm-modal-content"></h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{ text_close }}</button>
<button id="squareup-confirm-ok" type="button" class="btn btn-primary">{{ text_ok }}</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="squareup-refund-modal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">{{ text_refund_details }}</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label class="control-label" id="squareup-refund-modal-content-reason"></label>
<textarea class="form-control" id="squareup-refund-reason" required></textarea>
</div>
<div class="form-group">
<label class="control-label" id="squareup-refund-modal-content-amount"></label>
<input class="form-control" type="text" id="squareup-refund-amount" required />
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{ text_close }}</button>
<button id="squareup-refund-ok" type="button" class="btn btn-primary">{{ text_ok }}</button>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
var transactionLoading = function() {
var message = $('#transaction-alert').attr('data-message');
$('#transaction-alert').html('<div class="text-center alert alert-info"><i class="fa fa-circle-o-notch fa-spin"></i> ' + message + '</div>');
}
var refreshPage = function() {
document.location = document.location;
}
var transactionError = function(message) {
$('#transaction-alert').html('<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert" aria-label="X"><span aria-hidden="true">×</span></button><i class="fa fa-exclamation-circle"></i> ' + message + '</div>');
}
var addOrderHistory = function(data, success_callback) {
$.ajax({
url: '{{ catalog }}index.php?route=api/order/history&api_token={{ api_token }}&order_id=' + data.order_id,
type: 'post',
dataType: 'json',
data: data,
success: function(json) {
if (json['error']) {
refreshPage();
}
if (json['success']) {
success_callback();
}
},
error: function(xhr, ajaxOptions, thrownError) {
transactionError(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
enableTransactionButtons();
}
});
}
var transactionRequest = function(type, url, data) {
$.ajax({
url : url,
dataType : 'json',
type : type,
data : data,
beforeSend : transactionLoading,
success : function(json) {
if (json.error) {
refreshPage();
}
if (json.success && json.order_history_data) {
addOrderHistory(json.order_history_data, function() {
refreshPage();
});
}
},
error : function(xhr, ajaxSettings, thrownError) {
transactionError(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
enableTransactionButtons();
}
});
}
var disableTransactionButtons = function() {
$('*[data-url-transaction-capture], *[data-url-transaction-void], *[data-url-transaction-refund]').attr('disabled', true);
}
var enableTransactionButtons = function() {
$('*[data-url-transaction-capture], *[data-url-transaction-void], *[data-url-transaction-refund]').attr('disabled', false);
}
var modalConfirm = function(url, text) {
var modal = '#squareup-confirm-modal';
var content = '#squareup-confirm-modal-content';
var button = '#squareup-confirm-ok';
$(content).html(text);
$(button).unbind().click(function() {
disableTransactionButtons();
$(modal).modal('hide');
transactionRequest('GET', url);
});
$(modal).modal('show');
}
var refundInputValidate = function(reason_input, amount_input) {
var result = true;
if (!$(reason_input)[0].checkValidity()) {
$(reason_input).closest('.form-group').addClass('has-error');
result = false;
} else {
$(reason_input).closest('.form-group').removeClass('has-error');
}
if (!$(amount_input)[0].checkValidity()) {
$(amount_input).closest('.form-group').addClass('has-error');
result = false;
} else {
$(amount_input).closest('.form-group').removeClass('has-error');
}
return result;
}
var modalRefund = function(url, text_reason, text_amount) {
var modal = '#squareup-refund-modal';
var content_reason = '#squareup-refund-modal-content-reason';
var content_amount = '#squareup-refund-modal-content-amount';
var button = '#squareup-refund-ok';
var reason_input = '#squareup-refund-reason';
var amount_input = '#squareup-refund-amount';
$(content_reason).html(text_reason);
$(content_amount).html(text_amount);
$(reason_input).val('');
$(amount_input).val('');
$(button).unbind().click(function() {
if (!refundInputValidate(reason_input, amount_input)) {
return;
}
disableTransactionButtons();
$(modal).modal('hide');
transactionRequest('POST', url, {
reason : $(reason_input).val(),
amount : $(amount_input).val()
});
});
$(modal).modal('show');
}
$(document).on('click', '*[data-url-transaction-capture]', function() {
if ($(this).attr('disabled')) return;
modalConfirm(
$(this).attr('data-url-transaction-capture'),
$(this).attr('data-confirm-capture')
);
});
$(document).on('click', '*[data-url-transaction-void]', function() {
if ($(this).attr('disabled')) return;
modalConfirm(
$(this).attr('data-url-transaction-void'),
$(this).attr('data-confirm-void')
);
});
$(document).on('click', '*[data-url-transaction-refund]', function() {
if ($(this).attr('disabled')) return;
modalRefund(
$(this).attr('data-url-transaction-refund'),
$(this).attr('data-confirm-refund'),
$(this).attr('data-insert-amount')
);
});
});
</script>
{{ footer }}