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",