Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<div class="moz24-newsletter">
{{ email_newsletter_form(
newsletters='mozilla-foundation' if switch('foundation-separate-newsletter') else 'mozilla-foundation, mozilla-and-you',
newsletters='mozilla-foundation',
title=None
)}}
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ <h2>{{ self.article_title() }}</h2>
{% if LANG.startswith('en-') %}
{{ email_newsletter_form(newsletters='mozilla-foundation', title='Sign up. Read up.<br> Make a difference.'|safe, desc='Get the Mozilla newsletter and help us keep the Web free and open.', button_class='button-red') }}
{% else %}
{{ email_newsletter_form(button_class='button-red') }}
{{ email_newsletter_form(newsletters='mozilla-foundation', button_class='button-red') }}
{% endif %}
</div>
</aside>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ <h2>{{ self.article_title() }}</h2>
{% if LANG.startswith('en-') %}
{{ email_newsletter_form(newsletters='mozilla-foundation', title='Sign up. Read up.<br> Make a difference.'|safe, desc='Get the Mozilla newsletter and help us keep the Web free and open.', button_class='button-red') }}
{% else %}
{{ email_newsletter_form(button_class='button-red') }}
{{ email_newsletter_form(newsletters='mozilla-foundation', button_class='button-red') }}
{% endif %}
</div>
</aside>
Expand Down
2 changes: 1 addition & 1 deletion bedrock/foundation/templates/foundation/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ <h2>{{ self.article_title() }}</h2>
{% if LANG.startswith('en-') %}
{{ email_newsletter_form(newsletters='mozilla-foundation', title='Sign up. Read up.<br> Make a difference.'|safe, desc='Get the Mozilla newsletter and help us keep the Web free and open.', button_class='button-red') }}
{% else %}
{{ email_newsletter_form(button_class='button-red') }}
{{ email_newsletter_form(newsletters='mozilla-foundation', button_class='button-red') }}
{% endif %}
</div>
</aside>
Expand Down
3 changes: 2 additions & 1 deletion bedrock/legal/templates/legal/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,11 @@ <h2>{{ ftl('legal-downloadable-software-notices') }}</h2>
<div class="newsletter-content">
{% if LANG.startswith('en-') %}
{{ email_newsletter_form(
newsletters='mozilla-foundation',
title='Love the Web?',
desc='Get the Mozilla newsletter and help us keep it open and free.') }}
{% else %}
{{ email_newsletter_form() }}
{{ email_newsletter_form(newsletters='mozilla-foundation') }}
{% endif %}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion bedrock/mozorg/templates/mozorg/about-base.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ <h2 class="side-reference-title">{{ ftl('vision-for-the-web') }}</h2>
{% if LANG.startswith('en-') %}
{{ email_newsletter_form(newsletters='mozilla-foundation', title='Love the Web?', desc='Get the Mozilla newsletter and help us keep it open and free.', button_class='button-hollow button-light', spinner_color='#fff') }}
{% else %}
{{ email_newsletter_form(button_class='button-hollow button-light', spinner_color='#fff') }}
{{ email_newsletter_form(newsletters='mozilla-foundation', button_class='button-hollow button-light', spinner_color='#fff') }}
{% endif %}
</div>
</div>
Expand Down
3 changes: 1 addition & 2 deletions bedrock/mozorg/templates/mozorg/about/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,8 @@ <h3 class="c-city-title">{{ ftl('about-toronto') }}</h3>
</div>

<div class="newsletter-content">
{% set newsletter_id = 'mozilla-foundation' if LANG.startswith('en-') else 'mozilla-and-you' %}
{{ email_newsletter_form(
newsletters=newsletter_id,
newsletters='mozilla-foundation',
title=ftl('about-get-the-mozilla-newsletter'),
desc=ftl('about-stay-informed-about-the-issues'),
button_class='button-dark',
Expand Down
6 changes: 1 addition & 5 deletions bedrock/mozorg/templates/mozorg/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,7 @@
</div>

<div class="newsletter-content">
{% if LANG.startswith('en-') %}
{{ email_newsletter_form(newsletters='mozilla-foundation', title=ftl('newsletter-form-get-mozilla-updates')) }}
{% else %}
{{ email_newsletter_form() }}
{% endif %}
{{ email_newsletter_form(newsletters='mozilla-foundation') }}
</div>
</aside>
</div>
Expand Down
6 changes: 3 additions & 3 deletions bedrock/mozorg/templates/mozorg/home/home-new.html
Original file line number Diff line number Diff line change
Expand Up @@ -262,13 +262,13 @@ <h2>{{ ftl('home-that-one-time') }}</h2>
<aside class="c-newsletter" aria-label="{{ ftl('newsletter-form-label') }}">
<div class="c-newsletter-wrapper mzp-l-content mzp-t-content-lg">
<div class="c-newsletter-info">
<h2>{{ ftl('newsletter-form-join-the-community', fallback='newsletter-form-get-firefox-news') }}</h2>
<p>{{ ftl('newsletter-form-sign-up-to-receive', fallback='newsletter-form-get-firefox-tips') }}</p>
<h2>{{ ftl('newsletter-form-join-the-community', fallback='newsletter-form-get-mozilla-updates') }}</h2>
<p>{{ ftl('multi-newsletter-form-desc') }}</p>
Comment on lines +265 to +266
</div>

<div class="c-newsletter-content">
{{ email_newsletter_form(
newsletters='mozilla-and-you',
newsletters='mozilla-foundation',
title=None,
button_class='button-dark',
)}}
Expand Down
3 changes: 2 additions & 1 deletion bedrock/mozorg/templates/mozorg/home/home-old.html
Original file line number Diff line number Diff line change
Expand Up @@ -184,11 +184,12 @@ <h2 class="mzp-c-picto-heading">{{ ftl('home-need-help') }}</h2>
<div class="newsletter-content">
{% if ftl_has_messages('multi-newsletter-form-title', 'multi-newsletter-form-desc', 'multi-newsletter-form-checkboxes-legend') %}
{{ email_newsletter_form(
newsletters='mozilla-foundation' if switch('foundation-separate-newsletter') else 'mozilla-foundation, mozilla-and-you',
newsletters='mozilla-foundation',
button_class='button-dark'
)}}
{% else %}
{{ email_newsletter_form(
newsletters='mozilla-foundation',
button_class='button-dark',
submit_text=ftl('newsletter-form-sign-up-now')
)}}
Expand Down
4 changes: 2 additions & 2 deletions bedrock/mozorg/templates/mozorg/mission.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ <h4><a href="{{ url('mozorg.about.governance.governance') }}">{{ ftl('mission-go
<div class="newsletter-content">
{% if ftl_has_messages('multi-newsletter-form-title', 'multi-newsletter-form-desc', 'multi-newsletter-form-checkboxes-legend') %}
{{ email_newsletter_form(
newsletters='mozilla-foundation' if switch('foundation-separate-newsletter') else 'mozilla-foundation, mozilla-and-you',
newsletters='mozilla-foundation',
button_class='button-dark'
)}}
{% elif LANG.startswith('en-') %}
{{ email_newsletter_form(newsletters='mozilla-foundation', title='Sign up. Read up.<br> Make a difference.'|safe, desc='Get the Mozilla newsletter and help us keep the Web free and open.') }}
{% else %}
{{ email_newsletter_form() }}
{{ email_newsletter_form(newsletters='mozilla-foundation') }}
{% endif %}
</div>
</aside>
Expand Down
2 changes: 1 addition & 1 deletion bedrock/newsletter/templates/newsletter/family.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
{{ email_newsletter_form(
title=newsletter_title|safe,
desc='Firefox is made in part by lots of real-life, tired yet strangely optimistic parents, and we’re backed by an awesome non-profit too.',
newsletters='mozilla-and-you' if switch('foundation-separate-newsletter') else 'mozilla-foundation, mozilla-and-you',
newsletters='mozilla-and-you',
button_class='mzp-t-dark',
include_title=True,
include_country=False,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ <h3 class="mzp-c-newsletter-title">{{ title|d(ftl('multi-newsletter-form-title')
</header>
{% elif include_title %}
<header class="mzp-c-newsletter-header">
<h3 class="mzp-c-newsletter-title">{{ title|d(ftl('newsletter-form-get-firefox-news'), true) }}</h3>
<h3 class="mzp-c-newsletter-title">{{ title|d(ftl('newsletter-form-get-firefox-news') if id == 'mozilla-and-you' else ftl('newsletter-form-get-mozilla-updates'), true) }}</h3>
{% if subtitle %}
<h4 class="mzp-c-newsletter-subtitle">{{ subtitle }}</h4>
{% endif %}
Expand Down
2 changes: 1 addition & 1 deletion bedrock/newsletter/templates/newsletter/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<div class="mzp-l-content mzp-t-content-sm">
{% if ftl_has_messages('multi-newsletter-form-title', 'multi-newsletter-form-desc', 'multi-newsletter-form-checkboxes-legend') %}
{{ email_newsletter_form(
newsletters='mozilla-foundation' if switch('foundation-separate-newsletter') else 'mozilla-foundation, mozilla-and-you',
newsletters='mozilla-foundation',
button_class='button-dark'
) }}
{% else %}
Expand Down
8 changes: 3 additions & 5 deletions bedrock/newsletter/templates/newsletter/management.html
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,9 @@ <h1>{{ ftl('newsletters-manage-your-email-preferences') }}</h1>

<p>{{ ftl('newsletters-there-are-many-ways-to', url=url('mozorg.about.forums.forums')) }}</p>

{% if switch('foundation-separate-newsletter') %}
<p>{{ ftl('newsletters-newsletter-subscriptions-for', foundation="https://www.mozillafoundation.org") }}</p>
<p>{{ ftl('newsletters-to-unsubscribe', unsubscribe="https://www.mozillafoundation.org/newsletter/unsubscribe") }}</p>
<p>{{ ftl('newsletters-if-you-arent-already-subscribed', subscribe="https://www.mozillafoundation.org/newsletter") }}</p>
{% endif %}
<p>{{ ftl('newsletters-newsletter-subscriptions-for', foundation="https://www.mozillafoundation.org") }}</p>
<p>{{ ftl('newsletters-to-unsubscribe', unsubscribe="https://www.mozillafoundation.org/newsletter/unsubscribe") }}</p>
<p>{{ ftl('newsletters-if-you-arent-already-subscribed', subscribe="https://www.mozillafoundation.org/newsletter") }}</p>
</aside>
</div> <!-- close .basic-settings -->
</div>
Expand Down
8 changes: 0 additions & 8 deletions bedrock/newsletter/templates/newsletter/mozilla.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,7 @@ <h1 class="page-title">{{ self.page_title() }}</h1>
<section class="section section-subscribe" id="subscribe">
<div class="mzp-l-content mzp-t-content-sm">
<h2 class="section-title">{{ self.page_desc() }}</h2>
{% if ftl_has_messages('multi-newsletter-form-title', 'multi-newsletter-form-desc', 'multi-newsletter-form-checkboxes-legend') %}
{{ email_newsletter_form(
newsletters='mozilla-foundation' if switch('foundation-separate-newsletter') else 'mozilla-foundation, mozilla-and-you',
include_title=False,
button_class='button-dark'
)}}
{% else %}
{{ email_newsletter_form(newsletters='mozilla-foundation', include_title=False, spinner_color='#c13832') }}
{% endif %}
</div>
</section>
</main>
Expand Down
5 changes: 2 additions & 3 deletions bedrock/newsletter/templatetags/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from django_jinja import library
from markupsafe import Markup

from bedrock.base.waffle import switch
from bedrock.newsletter.forms import NewsletterFooterForm
from lib.l10n_utils import get_locale

Expand Down Expand Up @@ -46,9 +45,9 @@ def email_newsletter_form(
context = ctx.get_all()
languages_override = None

if switch("foundation-separate-newsletter") and newsletters == "mozilla-foundation":
if newsletters == "mozilla-foundation":
action = settings.FOUNDATION_SUBSCRIBE_URL
languages_override = settings.FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGUES
languages_override = settings.FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGES
else:
action = settings.BASKET_SUBSCRIBE_URL

Expand Down
61 changes: 30 additions & 31 deletions bedrock/newsletter/tests/test_footer_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
from django.test.utils import override_settings

from pyquery import PyQuery as pq
from waffle.testutils import override_switch

from bedrock.base.urlresolvers import reverse
from bedrock.mozorg.tests import TestCase
Expand Down Expand Up @@ -47,43 +46,43 @@ def test_language_selected(self):
The correct language for the locale should be initially selected or
'en' if it's not an option.
"""
for foundation_separate_newsletter_enabled in (True, False):
with self.subTest(foundation_separate_newsletter_enabled=foundation_separate_newsletter_enabled):
with override_switch("FOUNDATION_SEPARATE_NEWSLETTER", active=foundation_separate_newsletter_enabled):
with self.activate_locale("fr"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc('#id_lang option[selected="selected"]').val() == "fr"

# with hyphenated regional locale, should have only lang
with self.activate_locale("pt-BR"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc('#id_lang option[selected="selected"]').val() == "pt"

# not supported. should default to ''
with self.activate_locale("af"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc('#id_lang option[selected="selected"]').val() == ""
with self.activate_locale("fr"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc('#id_lang option[selected="selected"]').val() == "fr"

# with hyphenated regional locale, should have only lang
with self.activate_locale("pt-BR"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc('#id_lang option[selected="selected"]').val() == "pt"

# not supported. should default to ''
with self.activate_locale("af"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc('#id_lang option[selected="selected"]').val() == ""

@override_settings(DEV=True)
def test_newsletter_action(self):
"""
Newsletter points to correct POST URL.
The /newsletter/ page uses mozilla-foundation, which always posts to FOUNDATION_SUBSCRIBE_URL.
"""
with self.activate_locale("en-US"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc("#newsletter-form").attr("action") == settings.FOUNDATION_SUBSCRIBE_URL

with override_switch("FOUNDATION_SEPARATE_NEWSLETTER", active=True):
with self.activate_locale("en-US"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc("#newsletter-form").attr("action") == settings.FOUNDATION_SUBSCRIBE_URL

with override_switch("FOUNDATION_SEPARATE_NEWSLETTER", active=False):
with self.activate_locale("en-US"):
resp = self.client.get(reverse(self.view_name))
doc = pq(resp.content)
assert doc("#newsletter-form").attr("action") == settings.BASKET_SUBSCRIBE_URL
@override_settings(DEV=True)
def test_non_foundation_newsletter_routes_to_basket(self):
"""
Non-Foundation newsletters post to BASKET_SUBSCRIBE_URL.
"""
with self.activate_locale("en-US"):
resp = self.client.get(reverse("newsletter.family"))
doc = pq(resp.content)
assert doc("#newsletter-form").attr("action") == settings.BASKET_SUBSCRIBE_URL


@patch(
Expand Down
3 changes: 2 additions & 1 deletion bedrock/newsletter/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,8 @@ def recovery(request):
def newsletter_subscribe(request):
if request.method == "POST":
newsletters = request.POST.getlist("newsletters")
form = NewsletterFooterForm(newsletters, l10n_utils.get_locale(request), request.POST)
languages_override = settings.FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGES if newsletters == ["mozilla-foundation"] else None
form = NewsletterFooterForm(newsletters, l10n_utils.get_locale(request), request.POST, languages_override=languages_override)
errors = []
if form.is_valid():
data = form.cleaned_data
Expand Down
4 changes: 2 additions & 2 deletions bedrock/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -927,8 +927,8 @@ def _is_bedrock_custom_app(app_name):

# Custom languages for the Foundation signup form; need specifying directly
# because the form config is not provided by Basket
FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGUES = config(
"FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGUES",
FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGES = config(
"FOUNDATION_SUBSCRIBE_AVAILABLE_LANGUAGES",
default="en,de,fr,es,pl,pt",
parser=ListOf(str),
)
Comment on lines 928 to 934
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading