diff --git a/aleksis/apps/paweljong/menus.py b/aleksis/apps/paweljong/menus.py index 149cd54a637869ca14489f308f5caaf87ec7c370..446d6b95f7a2dc0b17f768e131806341b1b9998a 100644 --- a/aleksis/apps/paweljong/menus.py +++ b/aleksis/apps/paweljong/menus.py @@ -18,7 +18,7 @@ MENUS = { "validators": [ ( "aleksis.core.util.predicates.permission_validator", - "paweljong.change_events_rule", + "paweljong.view_menu", ) ], "submenu": [ @@ -95,7 +95,7 @@ MENUS = { "validators": [ ( "aleksis.core.util.predicates.permission_validator", - "paweljong.view_registrations_rule", + "paweljong.manage_registrations", ) ], }, diff --git a/aleksis/apps/paweljong/predicates.py b/aleksis/apps/paweljong/predicates.py index 7288954a4858f7508debda30ea30e331a44fa86a..1816f377c6605fc719dec4d98408e1120445bbc9 100644 --- a/aleksis/apps/paweljong/predicates.py +++ b/aleksis/apps/paweljong/predicates.py @@ -11,28 +11,23 @@ User = get_user_model() @predicate -def see_group_by_grouptype(user: User, group: Group) -> bool: - """Predicate which checks if the user is allowed to see the groups GroupType.""" - grouptype = group.group_type - - return check_object_permission(user, "core.view_grouptype", grouptype) +def is_own_voucher(user: User, obj: Voucher) -> bool: + """Predicate which checks if the voucher belongs to the user.""" + return obj.person == user.person @predicate -def see_owned_groups_members(user: User, person: Person) -> bool: - """Owners of groups can see their members.""" - groups_list = user.person.owner_of.all().values_list("id", flat=True) - - return Person.member_of.filter(id__in=groups_list).exists() +def is_own_registration(user: User, registration: EventRegistration) -> bool: + """Predicate which checks if the registration belongs to the user.""" + return obj.person == user.person @predicate -def is_own_voucher(user: User, voucher: Voucher) -> bool: - """Predicate which checks if the voucher belongs to the user.""" - return voucher.person == user.person - +def is_organiser(user: User, obj: EventRegistration) -> bool: + """Predicate which checks if the user is an organiser.""" + return user.person in obj.event.linked_group.owners.all() @predicate -def is_own_registration(user: User, registration: EventRegistration) -> bool: - """Predicate which checks if the registration belongs to the user.""" - return registration.person == user.person +def is_event_published(obj: EventRegistration) -> bool: + """Predicate which checks if the event is published.""" + return obj.published diff --git a/aleksis/apps/paweljong/rules.py b/aleksis/apps/paweljong/rules.py index 056af3de4f17ea5c2fed2fce93b168a7c5fd8f74..f6e1a80f459749abd236bcbd4db5f19c121ac218 100644 --- a/aleksis/apps/paweljong/rules.py +++ b/aleksis/apps/paweljong/rules.py @@ -9,34 +9,41 @@ from aleksis.core.util.predicates import ( is_group_member, ) -from .models import Event, EventRegistration, Terms, Voucher +from .models import Event, EventRegistration, Terms, Voucher, RegistrationState, InfoMailing from .predicates import ( is_own_registration, is_own_voucher, - see_group_by_grouptype, - see_owned_groups_members, + is_organiser, + is_event_published, ) +## Vouchers + # View vouchers view_vouchers_predicate = has_person & ( has_global_perm("paweljong.view_voucher") | has_any_object("paweljong.view_voucher", Voucher) ) rules.add_perm("paweljong.view_vouchers_rule", view_vouchers_predicate) -# Edit vouchers -change_vouchers_predicate = has_person & ( - has_global_perm("paweljong.change_voucher") - | has_any_object("paweljong.change_voucher", Voucher) +# View voucher +view_voucher_predicate = has_person & ( + is_own_voucher | has_global_perm("paweljong.view_voucher") | has_object_perm("paweljong.view_voucher") ) -rules.add_perm("paweljong.change_vouchers_rule", change_vouchers_predicate) +rules.add_perm("paweljong.view_voucher_rule", view_voucher_predicate) +# Edit voucher +change_voucher_predicate = has_person & ( + has_global_perm("paweljong.change_voucher") + | has_object_perm("paweljong.change_voucher") +) +rules.add_perm("paweljong.change_voucher_rule", change_voucher_predicate) -# Delete vouchers -delete_vouchers_predicate = has_person & ( +# Delete voucher +delete_voucher_predicate = has_person & ( has_global_perm("paweljong.delete_voucher") - | has_any_object("paweljong.delete_voucher", Voucher) + | has_object_perm("paweljong.delete_voucher") ) -rules.add_perm("paweljong.delete_vouchers_rule", delete_vouchers_predicate) +rules.add_perm("paweljong.delete_voucher_rule", delete_voucher_predicate) # Create vouchers create_vouchers_predicate = has_person & ( @@ -45,18 +52,29 @@ create_vouchers_predicate = has_person & ( ) rules.add_perm("paweljong.create_vouchers_rule", create_vouchers_predicate) -# Edit events -change_events_predicate = has_person & ( - has_global_perm("paweljong.change_event") | has_any_object("paweljong.change_event", Event) +## Events + +# View events +view_events_predicate = has_person & ( + has_global_perm("paweljong.view_event") | has_any_object("paweljong.view_event", Event) +) +rules.add_perm("paweljong.view_events_rule", view_events_predicate) + +# Edit event +change_event_predicate = has_person & ( + has_global_perm("paweljong.change_event") | has_object_perm("paweljong.change_event") ) -rules.add_perm("paweljong.change_events_rule", change_events_predicate) +rules.add_perm("paweljong.change_event_rule", change_event_predicate) +# View event +view_event_predicate = (is_event_published | (has_person & is_organiser) | has_object_perm("paweljong.view_event")) +rules.add_perm("paweljong.view_event_rule", view_event_predicate) -# Delete events -delete_events_predicate = has_person & ( - has_global_perm("paweljong.delete_event") | has_any_object("paweljong.delete_event", Event) +# Delete event +delete_event_predicate = has_person & ( + has_global_perm("paweljong.delete_event") | has_object_perm("paweljong.delete_event") ) -rules.add_perm("paweljong.delete_events_rule", delete_events_predicate) +rules.add_perm("paweljong.delete_event_rule", delete_event_predicate) # Create events create_events_predicate = has_person & ( @@ -64,45 +82,39 @@ create_events_predicate = has_person & ( ) rules.add_perm("paweljong.create_events_rule", create_events_predicate) -# Allowed to see group -may_see_group_predicate = has_person & ( - is_group_member | has_any_object("core.view_group", Group) | see_group_by_grouptype -) -rules.add_perm("paweljong.may_see_group_rule", may_see_group_predicate) +## Registrations -may_see_person_predicate = has_person & ( - see_owned_groups_members | has_object_perm("core.view_person") +# View registration +view_registration_predicate = has_person & ( + has_global_perm("paweljong.view_eventregistration") + | has_object_perm("paweljong.view_eventregistration") + | is_organiser + | is_own_registration ) -rules.add_perm("paweljong.see_person_rule", may_see_person_predicate) +rules.add_perm("paweljong.view_registration_rule", view_registration_predicate) # View registrations view_registrations_predicate = has_person & ( has_global_perm("paweljong.view_eventregistration") - | has_any_object("paweljong.view_eventregistration", EventRegistration) + | has_any_object("paweljong.view_registration_rule", EventRegistration) ) rules.add_perm("paweljong.view_registrations_rule", view_registrations_predicate) - -# Manage registrations -manage_registrations_predicate = has_person & ( - has_global_perm("paweljong.manage_registration") - | is_own_registration - | has_any_object("paweljong.manage_registration", EventRegistration) -) -rules.add_perm("paweljong.manage_registrations_rule", manage_registrations_predicate) - -# Delete registrations -delete_registrations_predicate = has_person & ( +# Delete registration +delete_registration_predicate = has_person & ( has_global_perm("paweljong.delete_eventregistration") - | has_any_object("paweljong.delete_eventregistration", EventRegistration) + | has_object_perm("paweljong.delete_eventregistration") ) -rules.add_perm("paweljong.delete_registrations_rule", delete_registrations_predicate) - +rules.add_perm("paweljong.delete_registration_rule", delete_registration_predicate) -# Is own voucher? -is_own_voucher_predicate = has_person & (is_own_voucher) -rules.add_perm("paweljong.is_own_voucher_rule", is_own_voucher_predicate) +# Change registration +change_registration_predicate = has_person & ( + has_global_perm("paweljong.change_eventregistration") + | has_object_perm("paweljong.change_eventregistration") +) +rules.add_perm("paweljong.change_registration_rule", change_registration_predicate) +## Terms # View terms view_terms_predicate = has_person & ( @@ -110,6 +122,33 @@ view_terms_predicate = has_person & ( ) rules.add_perm("paweljong.view_terms_rule", view_terms_predicate) +# View term +view_term_predicate = has_person & ( + has_global_perm("paweljong.view_term") | has_object_perm("paweljong.view_term") +) +rules.add_perm("paweljong.view_term_rule", view_term_predicate) + +# Delete term +delete_term_predicate = has_person & ( + has_global_perm("paweljong.delete_eventterm") + | has_object_perm("paweljong.delete_eventterm") +) +rules.add_perm("paweljong.delete_term_rule", delete_term_predicate) + +# Change term +change_term_predicate = has_person & ( + has_global_perm("paweljong.change_eventterm") + | has_object_perm("paweljong.change_eventterm") +) +rules.add_perm("paweljong.change_term_rule", change_term_predicate) + +# Create terms +create_terms_predicate = has_person & ( + has_global_perm("paweljong.create_term") | has_any_object("paweljong.create_term", Event) +) +rules.add_perm("paweljong.create_terms_rule", create_terms_predicate) + +## Info mailings # View info_mailings view_info_mailings_predicate = has_person & ( @@ -117,3 +156,75 @@ view_info_mailings_predicate = has_person & ( | has_any_object("paweljong.view_info_mailing", Terms) ) rules.add_perm("paweljong.view_info_mailings_rule", view_info_mailings_predicate) + +# View info_mailing +view_info_mailing_predicate = has_person & ( + has_global_perm("paweljong.view_info_mailing") | has_object_perm("paweljong.view_info_mailing") +) +rules.add_perm("paweljong.view_info_mailing_rule", view_info_mailing_predicate) + +# Delete info_mailing +delete_info_mailing_predicate = has_person & ( + has_global_perm("paweljong.delete_eventinfo_mailing") + | has_object_perm("paweljong.delete_eventinfo_mailing") +) +rules.add_perm("paweljong.delete_info_mailing_rule", delete_info_mailing_predicate) + +# Change info_mailing +change_info_mailing_predicate = has_person & ( + has_global_perm("paweljong.change_eventinfo_mailing") + | has_object_perm("paweljong.change_eventinfo_mailing") +) +rules.add_perm("paweljong.change_info_mailing_rule", change_info_mailing_predicate) + +# Create info_mailings +create_info_mailings_predicate = has_person & ( + has_global_perm("paweljong.create_info_mailing") | has_any_object("paweljong.create_info_mailing", Event) +) +rules.add_perm("paweljong.create_info_mailings_rule", create_info_mailings_predicate) + +## Registration states + +# View registration_states +view_registration_states_predicate = has_person & ( + has_global_perm("paweljong.view_registration_state") + | has_any_object("paweljong.view_registration_state", Terms) +) +rules.add_perm("paweljong.view_registration_states_rule", view_registration_states_predicate) + +# View registration_state +view_registration_state_predicate = has_person & ( + has_global_perm("paweljong.view_registration_state") | has_object_perm("paweljong.view_registration_state") +) +rules.add_perm("paweljong.view_registration_state_rule", view_registration_state_predicate) + +# Delete registration_state +delete_registration_state_predicate = has_person & ( + has_global_perm("paweljong.delete_eventregistration_state") + | has_object_perm("paweljong.delete_eventregistration_state") +) +rules.add_perm("paweljong.delete_registration_state_rule", delete_registration_state_predicate) + +# Change registration_state +change_registration_state_predicate = has_person & ( + has_global_perm("paweljong.change_eventregistration_state") + | has_object_perm("paweljong.change_eventregistration_state") +) +rules.add_perm("paweljong.change_registration_state_rule", change_registration_state_predicate) + +# Create registration_states +create_registration_states_predicate = has_person & ( + has_global_perm("paweljong.create_registration_state") | has_any_object("paweljong.create_registration_state", Event) +) +rules.add_perm("paweljong.create_registration_states_rule", create_registration_states_predicate) + +# View menu +can_view_menu_predicate = has_person & ( + view_registrations_predicate + | view_info_mailings_predicate + | view_terms_predicate + | view_vouchers_predicate + | view_events_predicate + | view_events_registration_states_predicate +) +rules.add_perm("paweljong.view_menu", can_view_menu_predicate) diff --git a/aleksis/apps/paweljong/templates/paweljong/event_registration/full.html b/aleksis/apps/paweljong/templates/paweljong/event_registration/full.html index 4c7931f704b9a5d3c93f087da7751e7b99c935c5..c7b30e4fd4f4ab331f78b7501e1bafaecf4756ef 100644 --- a/aleksis/apps/paweljong/templates/paweljong/event_registration/full.html +++ b/aleksis/apps/paweljong/templates/paweljong/event_registration/full.html @@ -51,8 +51,7 @@ <h5>{% blocktrans %}Contact details{% endblocktrans %}</h5> <div class="row"> <div class="col s12 m4"> - {% has_perm 'core.view_photo' user registration.person as can_view_photo %} - {% if registration.person.photo and can_view_photo %} + {% if registration.person.photo %} <img class="person-img" src="{{ registration.person.photo.url }}" alt="{{ registration.person.first_name }} {{ registration.person.last_name }}"/> {% else %} @@ -64,7 +63,6 @@ <table class="responsive-table highlight"> <tr> <td rowspan="6"> - </td> <td> <i class="material-icons small">person</i> @@ -89,31 +87,25 @@ <td colspan="2">{{ registration.person.postal_code }} {{ registration.person.place }}</td> </tr> {% endif %} - {% has_perm 'core.view_contact_details' user registration.person as can_view_contact_details %} - {% if can_view_contact_details %} - <tr> - <td> - <i class="material-icons small">phone</i> - </td> - <td>{{ registration.person.phone_number }}</td> - <td>{{ registration.person.mobile_number }}</td> - </tr> - <tr> - <td> - <i class="material-icons small">email</i> - </td> - <td colspan="3">{{ registration.person.email }}</td> - </tr> - {% endif %} - {% has_perm 'core.view_personal_details' user registration.person as can_view_personal_details %} - {% if can_view_personal_details %} - <tr> - <td> - <i class="material-icons small">cake</i> - </td> - <td colspan="3">{{ registration.person.date_of_birth|date }}</td> - </tr> - {% endif %} + <tr> + <td> + <i class="material-icons small">phone</i> + </td> + <td>{{ registration.person.phone_number }}</td> + <td>{{ registration.person.mobile_number }}</td> + </tr> + <tr> + <td> + <i class="material-icons small">email</i> + </td> + <td colspan="3">{{ registration.person.email }}</td> + </tr> + <tr> + <td> + <i class="material-icons small">cake</i> + </td> + <td colspan="3">{{ registration.person.date_of_birth|date }}</td> + </tr> <tr> <td></td> <td> @@ -164,7 +156,6 @@ </tr> {% endfor %} {% endif %} - <tr> <tr> <td> @@ -189,7 +180,7 @@ </div> </div> - {% if registration.person.guardians.all and can_view_personal_details %} + {% if registration.person.guardians.all %} <h5>{% trans "Guardians / Parents "%}</h5> {% for person in registration.person.guardians.all %} <div class="col s12 m8"> @@ -221,22 +212,19 @@ <td colspan="2">{{ person.postal_code }} {{ person.place }}</td> </tr> {% endif %} - {% has_perm 'core.view_contact_details' user person as can_view_contact_details %} - {% if can_view_contact_details %} - <tr> - <td> - <i class="material-icons small">phone</i> - </td> - <td>{{ person.phone_number }}</td> - <td>{{ person.mobile_number }}</td> - </tr> - <tr> - <td> - <i class="material-icons small">email</i> - </td> - <td colspan="3">{{ person.email }}</td> - </tr> - {% endif %} + <tr> + <td> + <i class="material-icons small">phone</i> + </td> + <td>{{ person.phone_number }}</td> + <td>{{ person.mobile_number }}</td> + </tr> + <tr> + <td> + <i class="material-icons small">email</i> + </td> + <td colspan="3">{{ person.email }}</td> + </tr> {% has_perm 'core.view_personal_details' user person as can_view_personal_details %} {% if can_view_personal_details %} <tr> diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py index 6a7bd98bfcaf9ad92efeae4f7880ae3faadb4578..da4a03860bf84c58d3639f01578b54f3bf533473 100644 --- a/aleksis/apps/paweljong/views.py +++ b/aleksis/apps/paweljong/views.py @@ -26,6 +26,7 @@ from aleksis.apps.postbuero.models import MailAddress from aleksis.core.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView from aleksis.core.models import Activity, Person from aleksis.core.util import messages +from aleksis.core.util.predicates import queryset_rules_filter from aleksis.core.util.core_helpers import get_site_preferences, objectgetter_optional from .filters import EventFilter, EventRegistrationFilter, VoucherFilter @@ -56,7 +57,7 @@ User = get_user_model() class CreateEventView(PermissionRequiredMixin, AdvancedCreateView): form_class = EditEventForm model = Event - permission_required = "paweljong.change_event" + permission_required = "paweljong.create_events_rule" template_name = "paweljong/event/create.html" success_url = reverse_lazy("manage_events") success_message = _("The event has been saved.") @@ -67,14 +68,14 @@ class EditEventView(PermissionRequiredMixin, RevisionMixin, AdvancedEditView): form_class = EditEventForm model = Event slug_field = "slug" - permission_required = "paweljong.change_event" + permission_required = "paweljong.change_event_rule" context_object_name = "manage_events" template_name = "paweljong/event/edit.html" success_url = reverse_lazy("manage_events") success_message = _("The event has been saved.") -@permission_required("paweljong.change_events") +@permission_required("paweljong.view_events_rule") def manage_events(request: HttpRequest) -> HttpResponse: """List view listing all registrations.""" context = {} @@ -95,7 +96,7 @@ def manage_events(request: HttpRequest) -> HttpResponse: return render(request, "paweljong/event/manage.html", context) -@permission_required("paweljong.view_vouchers") +@permission_required("paweljong.view_vouchers_rule") def vouchers(request): context = {} @@ -114,7 +115,7 @@ def vouchers(request): return render(request, "paweljong/voucher/list.html", context) -@permission_required("paweljong.generate_lists") +@permission_required("paweljong.generate_lists_rule") def generate_lists(request: HttpRequest) -> HttpResponse: context = {} @@ -134,13 +135,13 @@ def generate_lists(request: HttpRequest) -> HttpResponse: return render(request, "paweljong/print/manage.html", context) -@permission_required("paweljong.view_registrations") +@permission_required("paweljong.view_registrations_rule") def registrations(request: HttpRequest) -> HttpResponse: """List view listing all registrations.""" context = {} # Get all registrations - registrations = EventRegistration.objects.all() + registrations = queryset_rules_filter(request.user, EventRegistration.objects.all(), "paweljong.manage_registrations_rule") # Get filter registrations_filter = EventRegistrationFilter(request.GET, queryset=registrations) @@ -160,7 +161,7 @@ class EventRegistrationCreateView(PermissionRequiredMixin, AdvancedCreateView): model = EventRegistration form_class = EditEventRegistrationForm - permission_required = "paweljong.manage_registration" + permission_required = "paweljong.create_eventregistration_rule" template_name = "paweljong/event_registration/create.html" success_url = reverse_lazy("registrations") success_message = _("The event registration has been created.") @@ -172,14 +173,14 @@ class EventRegistrationEditView(PermissionRequiredMixin, AdvancedEditView): model = EventRegistration form_class = EditEventRegistrationForm - permission_required = "paweljong.manage_eventregistration" + permission_required = "paweljong.change_eventregistration_rule" template_name = "paweljong/event_registration/edit.html" success_url = reverse_lazy("registrations") success_message = _("The event registration has been saved.") @permission_required( - "paweljong.manage_registrations", + "paweljong.change_eventregistration_rule", fn=objectgetter_optional(EventRegistration, None, False), ) def edit_registration(request: HttpRequest, pk) -> HttpResponse: @@ -205,7 +206,7 @@ def edit_registration(request: HttpRequest, pk) -> HttpResponse: return render(request, "paweljong/event_registration/edit.html", context) -@permission_required("paweljong.is_own_voucher", fn=objectgetter_optional(Voucher, None, False)) +@permission_required("paweljong.view_voucher_rule", fn=objectgetter_optional(Voucher, None, False)) def print_voucher(request: HttpRequest, pk) -> HttpResponse: context = {} @@ -219,7 +220,7 @@ class EventRegistrationDetailView(PermissionRequiredMixin, DetailView): """Detail view for an application instance.""" context_object_name = "registration" - permission_required = "paweljong.view_registration" + permission_required = "paweljong.view_registration_rule" template_name = "paweljong/event_registration/full.html" def get_queryset(self): @@ -230,7 +231,7 @@ class EventRegistrationDeleteView(PermissionRequiredMixin, AdvancedDeleteView): """Delete view for registrations.""" model = EventRegistration - permission_required = "paweljong.delete_eventregistration" + permission_required = "paweljong.delete_eventregistration_rule" template_name = "core/pages/delete.html" success_url = reverse_lazy("registrations") success_message = _("The registration has been deleted.") @@ -242,7 +243,7 @@ class VoucherCreateView(PermissionRequiredMixin, AdvancedCreateView): model = Voucher form_class = EditVoucherForm - permission_required = "paweljong.add_voucher" + permission_required = "paweljong.create_voucher_rule" template_name = "paweljong/voucher/create.html" success_url = reverse_lazy("vouchers") success_message = _("The voucher has been created.") @@ -254,7 +255,7 @@ class VoucherEditView(PermissionRequiredMixin, AdvancedEditView): model = Voucher form_class = EditVoucherForm - permission_required = "paweljong.edit_voucher" + permission_required = "paweljong.change_voucher_rule" template_name = "paweljong/voucher/edit.html" success_url = reverse_lazy("vouchers") success_message = _("The voucher has been saved.") @@ -264,7 +265,7 @@ class VoucherDeleteView(PermissionRequiredMixin, AdvancedDeleteView): """Delete view for vouchers.""" model = Voucher - permission_required = "paweljong.delete_voucher" + permission_required = "paweljong.delete_voucher_rule" template_name = "core/pages/delete.html" success_url = reverse_lazy("vouchers") success_message = _("The voucher has been deleted.") @@ -686,12 +687,13 @@ class RegisterEventWizardView(SessionWizardView): return redirect("do_payment", registration.get_invoice().token) -class EventFullView(DetailView): +class EventFullView(PermissionRequiredMixin, DetailView): model = Event slug_field = "slug" template_name = "paweljong/event/full.html" object_context_name = "event" + permission_required = "paweljong.view_event_rule" def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) @@ -701,12 +703,13 @@ class EventFullView(DetailView): return context -class RegisterEventStart(DetailView): +class RegisterEventStart(PermissionRequiredMixin, DetailView): model = Event slug_field = "slug" template_name = "paweljong/event/register_start.html" object_context_name = "event" + permission_required = "paweljong.view_event_rule" def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) @@ -720,7 +723,7 @@ class TermListView(PermissionRequiredMixin, SingleTableView): model = Terms table_class = TermsTable - permission_required = "paweljong.view_terms" + permission_required = "paweljong.view_terms_rule" template_name = "paweljong/term/list.html" @@ -730,7 +733,7 @@ class TermCreateView(PermissionRequiredMixin, AdvancedCreateView): model = Terms form_class = EditTermForm - permission_required = "paweljong.add_terms" + permission_required = "paweljong.create_terms_rule" template_name = "paweljong/term/create.html" success_url = reverse_lazy("terms") success_message = _("The term has been created.") @@ -742,7 +745,7 @@ class TermEditView(PermissionRequiredMixin, AdvancedEditView): model = Terms form_class = EditTermForm - permission_required = "paweljong.edit_terms" + permission_required = "paweljong.change_terms_rule" template_name = "paweljong/term/edit.html" success_url = reverse_lazy("terms") success_message = _("The term has been saved.") @@ -789,7 +792,7 @@ class InfoMailingListView(PermissionRequiredMixin, SingleTableView): model = InfoMailing table_class = InfoMailingsTable - permission_required = "paweljong.view_info_mailing" + permission_required = "paweljong.view_info_mailings_rule" template_name = "paweljong/info_mailing/list.html" @@ -799,7 +802,7 @@ class InfoMailingCreateView(PermissionRequiredMixin, AdvancedCreateView): model = InfoMailing form_class = EditInfoMailingForm - permission_required = "paweljong.add_info_mailing" + permission_required = "paweljong.create_info_mailing_rule" template_name = "paweljong/info_mailing/create.html" success_url = reverse_lazy("info_mailings") success_message = _("The info mailing has been created.") @@ -811,7 +814,7 @@ class InfoMailingEditView(PermissionRequiredMixin, AdvancedEditView): model = InfoMailing form_class = EditInfoMailingForm - permission_required = "paweljong.edit_info_mailing" + permission_required = "paweljong.change_info_mailing_rule" template_name = "paweljong/info_mailing/edit.html" success_url = reverse_lazy("info_mailings") success_message = _("The info mailing has been saved.") @@ -821,7 +824,7 @@ class InfoMailingDeleteView(PermissionRequiredMixin, AdvancedDeleteView): """Delete view for info mailings.""" model = InfoMailing - permission_required = "paweljong.delete_info_mailing" + permission_required = "paweljong.delete_info_mailing_rule" template_name = "core/pages/delete.html" success_url = reverse_lazy("info_mailings") success_message = _("The info mailing has been deleted.") @@ -830,7 +833,7 @@ class InfoMailingDeleteView(PermissionRequiredMixin, AdvancedDeleteView): class SendMailFromRegistration(PermissionRequiredMixin, FormView): template_name = "paweljong/event_registration/notification.html" - permission_required = "paweljong.send_notification_mail" + permission_required = "paweljong.send_notification_mail_rule" form_class = RegistrationNotificationForm success_url = reverse_lazy("registrations") @@ -871,7 +874,7 @@ class RegistrationStateListView(PermissionRequiredMixin, SingleTableView): model = RegistrationState table_class = RegistrationStatesTable - permission_required = "paweljong.view_registration_states" + permission_required = "paweljong.view_registration_states_rule" template_name = "paweljong/registration_state/list.html" @@ -881,7 +884,7 @@ class RegistrationStateCreateView(PermissionRequiredMixin, AdvancedCreateView): model = RegistrationState form_class = RegistrationStatesForm - permission_required = "paweljong.add_registration_states" + permission_required = "paweljong.create_registration_states_rule" template_name = "paweljong/registration_state/create.html" success_url = reverse_lazy("registration_states") success_message = _("The term has been created.") @@ -893,7 +896,7 @@ class RegistrationStateEditView(PermissionRequiredMixin, AdvancedEditView): model = RegistrationState form_class = RegistrationStatesForm - permission_required = "paweljong.edit_registration_states" + permission_required = "paweljong.change_registration_states_rule" template_name = "paweljong/registration_state/edit.html" success_url = reverse_lazy("registration_states") success_message = _("The term has been saved.")