diff --git a/src/pretix/control/templates/pretixcontrol/order/index.html b/src/pretix/control/templates/pretixcontrol/order/index.html
index 5c3693b0f2..eab4818fb5 100644
--- a/src/pretix/control/templates/pretixcontrol/order/index.html
+++ b/src/pretix/control/templates/pretixcontrol/order/index.html
@@ -489,7 +489,27 @@
{% if p.html_info %}
|
- {{ p.html_info|safe }} |
+
+ {{ p.html_info|safe }}
+ {% if staff_session %}
+
+
+
+ {% trans "Inspect" %}
+
+
+ {% endif %}
+ |
+
+ {% elif staff_session %}
+
+ |
+
+
+
+ {% trans "Inspect" %}
+
+ |
{% endif %}
{% endfor %}
@@ -574,6 +594,18 @@
{% endif %}
+ {% if staff_session %}
+
+ |
+
+
+
+ {% trans "Inspect" %}
+
+ |
+
+ {% endif %}
{% endfor %}
diff --git a/src/pretix/control/urls.py b/src/pretix/control/urls.py
index f0886c0afd..999416ebad 100644
--- a/src/pretix/control/urls.py
+++ b/src/pretix/control/urls.py
@@ -19,6 +19,8 @@ urlpatterns = [
url(r'^global/update/$', global_settings.UpdateCheckView.as_view(), name='global.update'),
url(r'^global/message/$', global_settings.MessageView.as_view(), name='global.message'),
url(r'^logdetail/$', global_settings.LogDetailView.as_view(), name='global.logdetail'),
+ url(r'^logdetail/payment/$', global_settings.PaymentDetailView.as_view(), name='global.paymentdetail'),
+ url(r'^logdetail/refund/$', global_settings.RefundDetailView.as_view(), name='global.refunddetail'),
url(r'^reauth/$', user.ReauthView.as_view(), name='user.reauth'),
url(r'^sudo/$', user.StartStaffSession.as_view(), name='user.sudo'),
url(r'^sudo/stop/$', user.StopStaffSession.as_view(), name='user.sudo.stop'),
diff --git a/src/pretix/control/views/global_settings.py b/src/pretix/control/views/global_settings.py
index 5986c3f050..60896e554c 100644
--- a/src/pretix/control/views/global_settings.py
+++ b/src/pretix/control/views/global_settings.py
@@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _
from django.views import View
from django.views.generic import FormView, TemplateView
-from pretix.base.models import LogEntry
+from pretix.base.models import LogEntry, OrderPayment, OrderRefund
from pretix.base.services.update_check import check_result_table, update_check
from pretix.base.settings import GlobalSettingsObject
from pretix.control.forms.global_settings import (
@@ -71,3 +71,15 @@ class LogDetailView(AdministratorPermissionRequiredMixin, View):
def get(self, request, *args, **kwargs):
le = get_object_or_404(LogEntry, pk=request.GET.get('pk'))
return JsonResponse({'data': le.parsed_data})
+
+
+class PaymentDetailView(AdministratorPermissionRequiredMixin, View):
+ def get(self, request, *args, **kwargs):
+ p = get_object_or_404(OrderPayment, pk=request.GET.get('pk'))
+ return JsonResponse({'data': p.info_data})
+
+
+class RefundDetailView(AdministratorPermissionRequiredMixin, View):
+ def get(self, request, *args, **kwargs):
+ p = get_object_or_404(OrderRefund, pk=request.GET.get('pk'))
+ return JsonResponse({'data': p.info_data})
diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js
index 3c82ccfdb3..b208c623d6 100644
--- a/src/pretix/static/pretixcontrol/js/ui/main.js
+++ b/src/pretix/static/pretixcontrol/js/ui/main.js
@@ -605,12 +605,18 @@ $(function () {
}
});
- $("a[data-expandlogs]").click(function (e) {
+ $("a[data-expandlogs], a[data-expandrefund], a[data-expandpayment]").click(function (e) {
e.preventDefault();
var $a = $(this);
var id = $(this).attr("data-id");
$a.find(".fa").removeClass("fa-eye").addClass("fa-cog fa-spin");
- $.getJSON('/control/logdetail/?pk=' + id, function (data) {
+ var url = '/control/logdetail/';
+ if ($a.is("[data-expandrefund]")) {
+ url += 'refund/'
+ } else if ($a.is("[data-expandpayment]")) {
+ url += 'payment/'
+ }
+ $.getJSON(url + '?pk=' + id, function (data) {
if ($a.parent().tagName === "p") {
$("").html(JSON.stringify(data.data, null, 2)).insertAfter($a.parent());
} else {
diff --git a/src/tests/control/test_permissions.py b/src/tests/control/test_permissions.py
index e892cf5c12..9a908d7f3b 100644
--- a/src/tests/control/test_permissions.py
+++ b/src/tests/control/test_permissions.py
@@ -27,6 +27,8 @@ def env():
superuser_urls = [
"global/settings/",
"logdetail/",
+ "logdetail/payment/",
+ "logdetail/refund/",
"users/select2",
"users/",
"users/add",