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

Merge branch 'master' into payments

parents 8e1adf4c 66b6e5ac
No related branches found
No related tags found
1 merge request!14Payments
Pipeline #59284 failed
......@@ -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",
)
],
},
......
......@@ -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
......@@ -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)
......@@ -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>
......
......@@ -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.")
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