Skip to content
Snippets Groups Projects
Commit 5e2c1f5d authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Merge branch '34-fix-permission-manage_event' into 'master'

Resolve "Fix permission (manage_event)"

Closes #34

See merge request !31
parents 6c12dfe6 a89b4224
No related branches found
No related tags found
1 merge request!31Resolve "Fix permission (manage_event)"
Pipeline #76034 failed
......@@ -55,13 +55,21 @@ rules.add_perm("paweljong.create_vouchers_rule", create_vouchers_predicate)
# View events
view_events_predicate = has_person & (
has_global_perm("paweljong.view_event") | has_any_object("paweljong.view_event", Event)
has_global_perm("paweljong.view_event") | has_any_object("paweljong.view_event_rule", Event)
)
rules.add_perm("paweljong.view_events_rule", view_events_predicate)
# Edit events
change_events_predicate = has_person & (
has_global_perm("paweljong.change_event") | has_any_object("paweljong.change_event_rule", Event)
)
rules.add_perm("paweljong.change_events_rule", change_events_predicate)
# Edit event
change_event_predicate = has_person & (
has_global_perm("paweljong.change_event") | has_object_perm("paweljong.change_event")
has_global_perm("paweljong.change_event")
| has_object_perm("paweljong.change_event")
| is_organiser
)
rules.add_perm("paweljong.change_event_rule", change_event_predicate)
......
......@@ -14,17 +14,14 @@
{% block content %}
<h4>{{ event }}</h4>
{% has_perm 'paweljong.manage_event' user event as can_manage_event %}
{% has_perm 'paweljong.change_event_rule' user event as can_change_event_rule %}
{% if can_manage_event %}
{% if can_change_event_rule %}
<p>
{% if can_manage_event %}
<a href="{% url 'edit_event_by_slug' event.slug %}" class="btn waves-effect waves-light">
<i class="material-icons left iconify" data-icon="mdi:edit"></i>
{% trans "Edit" %}
</a>
{% endif %}
<a href="{% url 'edit_event_by_slug' event.slug %}" class="btn waves-effect waves-light">
<i class="material-icons left iconify" data-icon="mdi:edit"></i>
{% trans "Edit" %}
</a>
</p>
{% endif %}
......
......@@ -144,7 +144,7 @@ class EventRegistrationCreateView(PermissionRequiredMixin, AdvancedCreateView):
model = EventRegistration
form_class = EditEventRegistrationForm
permission_required = "paweljong.create_eventregistration_rule"
permission_required = "paweljong.create_registration_rule"
template_name = "paweljong/event_registration/create.html"
success_url = reverse_lazy("registrations")
success_message = _("The event registration has been created.")
......@@ -156,14 +156,14 @@ class EventRegistrationEditView(PermissionRequiredMixin, AdvancedEditView):
model = EventRegistration
form_class = EditEventRegistrationForm
permission_required = "paweljong.change_eventregistration_rule"
permission_required = "paweljong.change_registration_rule"
template_name = "paweljong/event_registration/edit.html"
success_url = reverse_lazy("registrations")
success_message = _("The event registration has been saved.")
@permission_required(
"paweljong.change_eventregistration_rule",
"paweljong.change_registration_rule",
fn=objectgetter_optional(EventRegistration, None, False),
)
def edit_registration(request: HttpRequest, pk) -> HttpResponse:
......@@ -894,8 +894,11 @@ class RetractRegistration(PermissionRequiredMixin, View):
permission_required = "paweljong.can_retract_registration_rule"
def get_object(self, *args, **kwargs):
return EventRegistration.objects.get(id=self.kwargs["pk"])
def get(self, *args, **kwargs):
registration = EventRegistration.objects.get(id=self.kwargs["pk"])
registration = self.get_object()
registration.retract()
messages.success(self.request, _("Registration successfully retracted."))
......@@ -979,8 +982,11 @@ class CheckInRegistration(PermissionRequiredMixin, View):
permission_required = "paweljong.change_registration_rule"
def get_object(self, *args, **kwargs):
return EventRegistration.objects.get(id=self.kwargs["pk"])
def get(self, *args, **kwargs):
registration = EventRegistration.objects.get(id=self.kwargs["pk"])
registration = self.get_object()
try:
registration.mark_checked_in()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment