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