Use project contact form handler and superuser-only snippet access
This commit is contained in:
@@ -4,4 +4,3 @@ Ocyan loads contact form handlers via module labels like `contact_form.views`.
|
||||
By shipping this package in the project repository we can extend behavior
|
||||
without forking the upstream plugin.
|
||||
"""
|
||||
|
||||
|
||||
@@ -12,9 +12,10 @@ from django.utils.translation import gettext as _
|
||||
from django.views.decorators.http import require_http_methods
|
||||
from django.views.generic import TemplateView
|
||||
|
||||
from oscar.core.utils import redirect_to_referrer
|
||||
from wagtail.models import Locale, Site
|
||||
|
||||
from oscar.core.utils import redirect_to_referrer
|
||||
|
||||
from ocyan.core.fender import config
|
||||
from ocyan.plugin.contact_form.forms import ContactForm
|
||||
from ocyan.plugin.contact_form.utils import get_from_email, get_to_email
|
||||
@@ -30,6 +31,7 @@ def _client_ip(request) -> str | None:
|
||||
return forwarded_for.split(",")[0].strip() or None
|
||||
return request.META.get("REMOTE_ADDR")
|
||||
|
||||
|
||||
def _active_locale(request) -> Locale:
|
||||
language_code = (getattr(request, "LANGUAGE_CODE", "") or "").split("-")[0]
|
||||
if language_code:
|
||||
@@ -51,7 +53,11 @@ def post_contact_form(request):
|
||||
message_obj = ContactMessage.objects.create(
|
||||
site=site,
|
||||
locale=locale,
|
||||
user=request.user if getattr(request.user, "is_authenticated", False) else None,
|
||||
user=(
|
||||
request.user
|
||||
if getattr(request.user, "is_authenticated", False)
|
||||
else None
|
||||
),
|
||||
ip_address=_client_ip(request),
|
||||
path=request.path or "",
|
||||
name=str(cleaned.get("name", "")),
|
||||
@@ -59,7 +65,11 @@ def post_contact_form(request):
|
||||
phone_number=str(cleaned.get("phonenumber") or ""),
|
||||
message=str(cleaned.get("message", "")),
|
||||
)
|
||||
logger.info("Saved ContactMessage id=%s email=%s", message_obj.id, message_obj.email)
|
||||
logger.info(
|
||||
"Saved ContactMessage id=%s email=%s",
|
||||
message_obj.id,
|
||||
message_obj.email,
|
||||
)
|
||||
|
||||
context = {
|
||||
"website_url": request.build_absolute_uri(),
|
||||
|
||||
Reference in New Issue
Block a user