mirror of
https://github.com/pretix/pretix.git
synced 2026-08-25 13:12:00 +00:00
Improved permission testing
This commit is contained in:
@@ -223,6 +223,9 @@ class OrderInvoiceCreate(OrderView):
|
|||||||
messages.success(self.request, _('The invoice has been generated.'))
|
messages.success(self.request, _('The invoice has been generated.'))
|
||||||
return redirect(self.get_order_url())
|
return redirect(self.get_order_url())
|
||||||
|
|
||||||
|
def get(self, *args, **kwargs):
|
||||||
|
return HttpResponseNotAllowed(['POST'])
|
||||||
|
|
||||||
|
|
||||||
class OrderResendLink(OrderView):
|
class OrderResendLink(OrderView):
|
||||||
permission = 'can_change_orders'
|
permission = 'can_change_orders'
|
||||||
@@ -245,6 +248,9 @@ class OrderResendLink(OrderView):
|
|||||||
self.order.log_action('pretix.event.order.resend', user=self.request.user)
|
self.order.log_action('pretix.event.order.resend', user=self.request.user)
|
||||||
return redirect(self.get_order_url())
|
return redirect(self.get_order_url())
|
||||||
|
|
||||||
|
def get(self, *args, **kwargs):
|
||||||
|
return HttpResponseNotAllowed(['POST'])
|
||||||
|
|
||||||
|
|
||||||
class InvoiceDownload(EventPermissionRequiredMixin, View):
|
class InvoiceDownload(EventPermissionRequiredMixin, View):
|
||||||
permission = 'can_view_orders'
|
permission = 'can_view_orders'
|
||||||
|
|||||||
@@ -31,10 +31,15 @@ event_urls = [
|
|||||||
"settings/plugins",
|
"settings/plugins",
|
||||||
"settings/payment",
|
"settings/payment",
|
||||||
"settings/tickets",
|
"settings/tickets",
|
||||||
|
"settings/permissions",
|
||||||
|
"settings/email",
|
||||||
"items/",
|
"items/",
|
||||||
"items/add",
|
"items/add",
|
||||||
"items/1/",
|
"items/1/",
|
||||||
"items/1/variations",
|
"items/1/variations",
|
||||||
|
"items/1/up",
|
||||||
|
"items/1/down",
|
||||||
|
"items/1/delete",
|
||||||
"categories/",
|
"categories/",
|
||||||
"categories/add",
|
"categories/add",
|
||||||
"categories/2/",
|
"categories/2/",
|
||||||
@@ -49,15 +54,19 @@ event_urls = [
|
|||||||
"vouchers/2/delete",
|
"vouchers/2/delete",
|
||||||
"vouchers/2/",
|
"vouchers/2/",
|
||||||
"vouchers/add",
|
"vouchers/add",
|
||||||
|
"vouchers/bulk_add",
|
||||||
"quotas/",
|
"quotas/",
|
||||||
"quotas/2/delete",
|
"quotas/2/delete",
|
||||||
"quotas/2/",
|
"quotas/2/",
|
||||||
"quotas/add",
|
"quotas/add",
|
||||||
"orders/ABC/transition",
|
"orders/ABC/transition",
|
||||||
|
"orders/ABC/resend",
|
||||||
|
"orders/ABC/invoice",
|
||||||
"orders/ABC/extend",
|
"orders/ABC/extend",
|
||||||
"orders/ABC/download/pdf",
|
"orders/ABC/download/pdf",
|
||||||
"orders/ABC/",
|
"orders/ABC/",
|
||||||
"orders/",
|
"orders/",
|
||||||
|
"attendees/",
|
||||||
"invoice/1",
|
"invoice/1",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -98,15 +107,22 @@ event_permission_urls = [
|
|||||||
("can_change_settings", "settings/plugins", 200),
|
("can_change_settings", "settings/plugins", 200),
|
||||||
("can_change_settings", "settings/payment", 200),
|
("can_change_settings", "settings/payment", 200),
|
||||||
("can_change_settings", "settings/tickets", 200),
|
("can_change_settings", "settings/tickets", 200),
|
||||||
|
("can_change_settings", "settings/email", 200),
|
||||||
|
("can_change_permissions", "settings/permissions", 200),
|
||||||
# Lists are currently not access-controlled
|
# Lists are currently not access-controlled
|
||||||
# ("can_change_items", "items/", 200),
|
# ("can_change_items", "items/", 200),
|
||||||
("can_change_items", "items/add", 200),
|
("can_change_items", "items/add", 200),
|
||||||
|
("can_change_items", "items/1/up", 404),
|
||||||
|
("can_change_items", "items/1/down", 404),
|
||||||
|
("can_change_items", "items/1/delete", 404),
|
||||||
# ("can_change_items", "categories/", 200),
|
# ("can_change_items", "categories/", 200),
|
||||||
# We don't have to create categories and similar objects
|
# We don't have to create categories and similar objects
|
||||||
# for testing this, it is enough to test that a 404 error
|
# for testing this, it is enough to test that a 404 error
|
||||||
# is returned instead of a 403 one.
|
# is returned instead of a 403 one.
|
||||||
("can_change_items", "categories/2/", 404),
|
("can_change_items", "categories/2/", 404),
|
||||||
("can_change_items", "categories/2/delete", 404),
|
("can_change_items", "categories/2/delete", 404),
|
||||||
|
("can_change_items", "categories/2/up", 404),
|
||||||
|
("can_change_items", "categories/2/down", 404),
|
||||||
("can_change_items", "categories/add", 200),
|
("can_change_items", "categories/add", 200),
|
||||||
# ("can_change_items", "questions/", 200),
|
# ("can_change_items", "questions/", 200),
|
||||||
("can_change_items", "questions/2/", 404),
|
("can_change_items", "questions/2/", 404),
|
||||||
@@ -118,10 +134,14 @@ event_permission_urls = [
|
|||||||
("can_change_items", "quotas/add", 200),
|
("can_change_items", "quotas/add", 200),
|
||||||
("can_view_orders", "orders/overview/", 200),
|
("can_view_orders", "orders/overview/", 200),
|
||||||
("can_view_orders", "orders/", 200),
|
("can_view_orders", "orders/", 200),
|
||||||
|
("can_view_orders", "attendees/", 200),
|
||||||
("can_view_orders", "orders/FOO/", 200),
|
("can_view_orders", "orders/FOO/", 200),
|
||||||
("can_change_orders", "orders/FOO/extend", 200),
|
("can_change_orders", "orders/FOO/extend", 200),
|
||||||
("can_change_orders", "orders/FOO/transition", 405),
|
("can_change_orders", "orders/FOO/transition", 405),
|
||||||
|
("can_change_orders", "orders/FOO/resend", 405),
|
||||||
|
("can_change_orders", "orders/FOO/invoice", 405),
|
||||||
("can_change_vouchers", "vouchers/add", 200),
|
("can_change_vouchers", "vouchers/add", 200),
|
||||||
|
("can_change_vouchers", "vouchers/bulk_add", 200),
|
||||||
("can_change_vouchers", "vouchers/", 200),
|
("can_change_vouchers", "vouchers/", 200),
|
||||||
("can_change_vouchers", "vouchers/1234/", 404),
|
("can_change_vouchers", "vouchers/1234/", 404),
|
||||||
("can_change_vouchers", "vouchers/1234/delete", 404),
|
("can_change_vouchers", "vouchers/1234/delete", 404),
|
||||||
|
|||||||
Reference in New Issue
Block a user