Skip to content
Snippets Groups Projects
Commit f0ef002e authored by jan.bednarik's avatar jan.bednarik
Browse files

czech inspirational: Newsletter subscribe refactoring

parent 2d7f1805
No related branches found
No related tags found
2 merge requests!263release,!262Volby
This commit is part of merge request !263. Comments created here will be created in the context of that merge request.
import json
import logging
import requests
from django.conf import settings
from django.core.exceptions import ValidationError
from django.core.validators import validate_email
......@@ -20,11 +16,10 @@ from wagtail.images.edit_handlers import ImageChooserPanel
from wagtailmetadata.models import MetadataPageMixin
from shared.models import SubpageMixin
from shared.utils import subscribe_to_newsletter
from tuning import help
from uniweb.constants import RICH_TEXT_FEATURES
logger = logging.getLogger()
class CzechInspirationalHomePage(Page, MetadataPageMixin):
### FIELDS
......@@ -285,19 +280,10 @@ class CzechInspirationalDownloadPage(Page, SubpageMixin, MetadataPageMixin):
except ValidationError:
pass
else:
payload = {
"email": email,
"news_id": settings.CZECH_INSPIRATIONAL_NEWSLETTER_ID,
}
response = requests.post(
settings.NALODENI_API_NEWS_SUBSCRIBE_URL,
data=json.dumps(payload),
auth=tuple(settings.NALODENI_API_CREDENTIALS.split(":")),
)
if response.status_code != 200:
logger.error(
"Failed to subscribe!",
extra={"email": email, "response": response.text},
subscribe_to_newsletter(
email,
settings.CZECH_INSPIRATIONAL_NEWSLETTER_ID,
settings.CZECH_INSPIRATIONAL_NEWSLETTER_SOURCE,
)
return context
......@@ -254,7 +254,15 @@ DONATE_PORTAL_API_CACHE_TIMEOUT = 60 * 5
CZECH_INSPIRATIONAL_NEWSLETTER_ID = env.int(
"CZECH_INSPIRATIONAL_NEWSLETTER_ID", default=0
)
CZECH_INSPIRATIONAL_NEWSLETTER_SOURCE = env.str(
"CZECH_INSPIRATIONAL_NEWSLETTER_SOURCE", default="Česko inspirativní"
)
NALODENI_API_NEWS_SUBSCRIBE_URL = env.str("NALODENI_API_NEWS_SUBSCRIBE_URL", default="")
NALODENI_API_CREDENTIALS = env.str("NALODENI_API_CREDENTIALS", default="")
ELECTIONS2021_COOKIE_NAME = "program"
ELECTIONS2021_NEWSLETTER_ID = env.int("ELECTIONS2021_NEWSLETTER_ID", default=0)
ELECTIONS2021_NEWSLETTER_SOURCE = env.str(
"ELECTIONS2021_NEWSLETTER_SOURCE", "Koalice 2021"
)
import json
import logging
import requests
from django.conf import settings
from wagtail.core.models import Page
logger = logging.getLogger()
def get_subpage_url(page, dest_page_type):
try:
return page.get_descendants().type(dest_page_type).live().first().get_url()
except (Page.DoesNotExist, AttributeError):
return "#"
def subscribe_to_newsletter(email, news_id, source):
payload = {
"email": email,
"news_id": news_id,
"source": source,
}
response = requests.post(
settings.NALODENI_API_NEWS_SUBSCRIBE_URL,
data=json.dumps(payload),
auth=tuple(settings.NALODENI_API_CREDENTIALS.split(":")),
)
if response.status_code != 200:
logger.error(
"Failed to subscribe!",
extra={"payload": payload, "response": response.text},
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment