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
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(":")),
subscribe_to_newsletter(
email,
settings.CZECH_INSPIRATIONAL_NEWSLETTER_ID,
settings.CZECH_INSPIRATIONAL_NEWSLETTER_SOURCE,
)
if response.status_code != 200:
logger.error(
"Failed to subscribe!",
extra={"email": email, "response": response.text},
)
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.
Finish editing this message first!
Please register or to comment