Enforce newsletter campaign add permissions
This commit is contained in:
parent
61a67b8d4a
commit
9b14e392d8
@ -1,11 +1,11 @@
|
||||
from django import forms
|
||||
from django.contrib.admin.views.decorators import staff_member_required
|
||||
from django.urls import path
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext as _
|
||||
from django.shortcuts import redirect
|
||||
from django.shortcuts import render
|
||||
from wagtail import hooks
|
||||
from wagtail.admin.auth import permission_required, require_admin_access
|
||||
from wagtail.admin.menu import MenuItem
|
||||
from wagtail.admin.panels import FieldPanel
|
||||
from wagtail.admin.ui.tables import Column
|
||||
@ -29,6 +29,7 @@ from .models import (
|
||||
)
|
||||
|
||||
SEND_NEWSLETTER_PERMISSION = "base.send_newslettercampaign"
|
||||
ADD_NEWSLETTER_PERMISSION = "base.add_newslettercampaign"
|
||||
|
||||
|
||||
def _contact_status_value(submission):
|
||||
@ -58,7 +59,8 @@ def _newsletter_campaign_add_url() -> str:
|
||||
return "/admin/snippets/base/newslettercampaign/add/"
|
||||
|
||||
|
||||
@staff_member_required
|
||||
@require_admin_access
|
||||
@permission_required(ADD_NEWSLETTER_PERMISSION)
|
||||
def newsletter_campaign_type_select_view(request):
|
||||
return render(
|
||||
request,
|
||||
@ -72,7 +74,8 @@ def newsletter_campaign_type_select_view(request):
|
||||
)
|
||||
|
||||
|
||||
@staff_member_required
|
||||
@require_admin_access
|
||||
@permission_required(ADD_NEWSLETTER_PERMISSION)
|
||||
def newsletter_campaign_add_by_type_view(request, campaign_type: str):
|
||||
campaign_type = (campaign_type or "").strip()
|
||||
allowed = {NewsletterCampaign.TYPE_GENERAL, NewsletterCampaign.TYPE_WEEKLY_NEWS}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user