From 6bd9f2764983d21bbd9a153c9991470e471f742b Mon Sep 17 00:00:00 2001 From: Alex Gibson Date: Fri, 9 Aug 2019 13:07:44 +0100 Subject: [PATCH] Decommission /firefox/feedback/ page (Fixes #7436) --- bedrock/firefox/redirects.py | 3 + .../templates/firefox/feedback/happy.html | 81 ------ .../templates/firefox/feedback/unhappy.html | 65 ----- bedrock/firefox/tests/test_views.py | 39 --- bedrock/firefox/urls.py | 3 - bedrock/firefox/views.py | 30 -- media/css/firefox/feedback.less | 269 ------------------ .../firefox/feedback/cta-icons-high-res.png | Bin 12812 -> 0 bytes media/img/firefox/feedback/cta-icons.png | Bin 5572 -> 0 bytes media/static-bundles.json | 13 - tests/redirects/map_globalconf.py | 3 + 11 files changed, 6 insertions(+), 500 deletions(-) delete mode 100644 bedrock/firefox/templates/firefox/feedback/happy.html delete mode 100644 bedrock/firefox/templates/firefox/feedback/unhappy.html delete mode 100644 media/css/firefox/feedback.less delete mode 100644 media/img/firefox/feedback/cta-icons-high-res.png delete mode 100644 media/img/firefox/feedback/cta-icons.png diff --git a/bedrock/firefox/redirects.py b/bedrock/firefox/redirects.py index db3e657909f..cdd52e9b5bb 100644 --- a/bedrock/firefox/redirects.py +++ b/bedrock/firefox/redirects.py @@ -611,4 +611,7 @@ def firefox_channel(*args, **kwargs): # issue 7287 redirect(r'^accounts/?$', 'firefox.accounts'), + + # issue 7436 + redirect(r'^firefox/feedback/?$', 'https://support.mozilla.org/questions/new/desktop'), ) diff --git a/bedrock/firefox/templates/firefox/feedback/happy.html b/bedrock/firefox/templates/firefox/feedback/happy.html deleted file mode 100644 index b73d5c4fcd0..00000000000 --- a/bedrock/firefox/templates/firefox/feedback/happy.html +++ /dev/null @@ -1,81 +0,0 @@ -{# This Source Code Form is subject to the terms of the Mozilla Public - # License, v. 2.0. If a copy of the MPL was not distributed with this - # file, You can obtain one at http://mozilla.org/MPL/2.0/. -#} - -{% extends "firefox/base-resp.html" %} - -{% set_lang_files "firefox/feedback" "firefox/sendto" %} - -{% block page_title_prefix %}{% endblock %} -{% block page_title %}{{_('Firefox Feedback')}}{% endblock %} -{% block page_desc %}{% endblock %} - -{% block body_id %}feedback{% endblock %} -{% block body_class %}sky happy{% endblock %} - -{% block page_css %} - {{ css_bundle('firefox_feedback') }} -{% endblock %} - -{% block js %} - {{ js_bundle('firefox_feedback') }} -{% endblock %} - -{% block site_header_nav %}{% endblock %} - -{% block content %} -
-
-

{{ _('Thank you for your feedback!') }}

-

{{ _('We’re so glad you’re happy with Firefox.') }}

- - {% if LANG == 'en-US' and donate_stars_url %} -

{{ _('Mozilla, the non-profit behind Firefox, relies on donations. Would you like to make a donation to help us carry out our mission to keep the Web open and free?') }}

- -

{{ _('Donate Now') }}

- {% else %} -

{{ _('Firefox is non-profit, non-corporate, non-compromised. Help protect the largest global public resource we have — the Web — by sharing Firefox with your friends.') }}

- {% endif %} - - {% set share_urls = { - 'twitter': 'http://mzl.la/1MZOYmZ', - 'googleplus': 'https://www.mozilla.org/firefox/new/?utm_source=google&utm_medium=social&utm_content=happyheartbeat&utm_campaign=desktop', - 'facebook': 'http://mzl.la/1zmGNa6' - } %} - {{ share_cta(_('Share Firefox'), share_urls, _('Proud to use Firefox, the only non-profit, non-corporate, non-compromised browser. Join me:'), 'feedback-share', '') }} - - - -
- - - -
-{% endblock %} - -{% block email_form %}{% endblock %} diff --git a/bedrock/firefox/templates/firefox/feedback/unhappy.html b/bedrock/firefox/templates/firefox/feedback/unhappy.html deleted file mode 100644 index ad809d8858b..00000000000 --- a/bedrock/firefox/templates/firefox/feedback/unhappy.html +++ /dev/null @@ -1,65 +0,0 @@ -{# This Source Code Form is subject to the terms of the Mozilla Public - # License, v. 2.0. If a copy of the MPL was not distributed with this - # file, You can obtain one at http://mozilla.org/MPL/2.0/. -#} - -{% extends "firefox/base-resp.html" %} - -{% set_lang_files "firefox/feedback" %} - -{% block page_title_prefix %}{% endblock %} -{% block page_title %}{{ _('Firefox Feedback') }}{% endblock %} -{% block page_desc %}{% endblock %} - -{% block body_id %}feedback{% endblock %} -{% block body_class %}sky sad{% endblock %} - -{% block page_css %} - {{ css_bundle('firefox_feedback') }} -{% endblock %} - -{% block js %} - {{ js_bundle('firefox_feedback') }} -{% endblock %} - -{% block site_header_nav %}{% endblock %} - -{% block content %} -
-
-

{{ _('Having problems with Firefox?') }}

-

- {% trans link_sumo='https://support.mozilla.org/questions/new/desktop' %} - Let’s help fix them. If the articles below don’t solve the problem, please ask a question on our support forum to get help from our global community of Firefox users. - {% endtrans %} -

- - {% if LANG == 'en-US' and donate_stars_url %} -

{{ _('Mozilla, the non-profit behind Firefox, relies on donations. Would you like to make a donation to help us carry out our mission to keep the Web open and free?') }}

- -

{{ _('Donate Now') }}

- {% endif %} - - - -
- -
-

{{ _('How can we make Firefox better?') }}

-

{{ _('Share your suggestions and we’ll use them to improve Firefox.') }}

-

{{ _('Tell us more') }}

-
- -
-{% endblock %} - -{% block email_form %}{% endblock %} diff --git a/bedrock/firefox/tests/test_views.py b/bedrock/firefox/tests/test_views.py index 3b1ce85da0d..347a4a10028 100644 --- a/bedrock/firefox/tests/test_views.py +++ b/bedrock/firefox/tests/test_views.py @@ -958,45 +958,6 @@ def test_compare_edge_scene_1_non_us(self, render_mock): ) -class TestFeedbackView(TestCase): - def test_get_template_names_default_unhappy(self): - view = views.FeedbackView() - view.request = RequestFactory().get('/') - assert view.get_template_names() == ['firefox/feedback/unhappy.html'] - - def test_get_template_names_happy(self): - view = views.FeedbackView() - view.request = RequestFactory().get('/?score=5') - assert view.get_template_names() == ['firefox/feedback/happy.html'] - - def test_get_template_names_unhappy(self): - view = views.FeedbackView() - view.request = RequestFactory().get('/?score=1') - assert view.get_template_names() == ['firefox/feedback/unhappy.html'] - - def test_get_context_data_three_stars(self): - view = views.FeedbackView() - view.request = RequestFactory().get('/?score=3') - - ctx = view.get_context_data() - self.assertTrue(ctx['donate_stars_url'].endswith('Heartbeat_3stars')) - - def test_get_context_data_five_stars(self): - view = views.FeedbackView() - view.request = RequestFactory().get('/?score=5') - - ctx = view.get_context_data() - self.assertTrue(ctx['donate_stars_url'].endswith('Heartbeat_5stars')) - - def test_get_context_data_one_star(self): - """donate_stars_url should be undefined""" - view = views.FeedbackView() - view.request = RequestFactory().get('/?score=1') - - ctx = view.get_context_data() - self.assertFalse('donate_stars_url' in ctx) - - class TestFirefoxConcerts(TestCase): @override_settings(DEV=False) @override_settings(SWITCH_FIREFOX_CONCERT_SERIES=False) diff --git a/bedrock/firefox/urls.py b/bedrock/firefox/urls.py index 78237ee2172..b5680f1fc09 100644 --- a/bedrock/firefox/urls.py +++ b/bedrock/firefox/urls.py @@ -105,9 +105,6 @@ url('^firefox/releases/$', bedrock.releasenotes.views.releases_index, {'product': 'Firefox'}, name='firefox.releases.index'), - # Bug 1108828. Different templates for different URL params. - url('firefox/feedback/$', views.FeedbackView.as_view(), name='firefox.feedback'), - url('^firefox/stub_attribution_code/$', views.stub_attribution_code, name='firefox.stub_attribution_code'), diff --git a/bedrock/firefox/views.py b/bedrock/firefox/views.py index b38b6d8213b..ea7f07589da 100644 --- a/bedrock/firefox/views.py +++ b/bedrock/firefox/views.py @@ -643,36 +643,6 @@ def get_template_names(self): return [template] -class FeedbackView(TemplateView): - - donate_url = ( - 'https://donate.mozilla.org/' - '?utm_source=Heartbeat_survey&utm_medium=referral' - '&utm_content=Heartbeat_{0}stars' - ) - - def get_score(self): - return self.request.GET.get('score', '0') - - def get_template_names(self): - score = self.get_score() - if score > '3': - template = 'firefox/feedback/happy.html' - else: - template = 'firefox/feedback/unhappy.html' - - return [template] - - def get_context_data(self, **kwargs): - context = super(FeedbackView, self).get_context_data(**kwargs) - score = self.get_score() - - if score in ['3', '4', '5']: - context['donate_stars_url'] = self.donate_url.format(score) - - return context - - class TrackingProtectionTourView(l10n_utils.LangFilesMixin, TemplateView): def get_template_names(self): variation = self.request.GET.get('variation', None) diff --git a/media/css/firefox/feedback.less b/media/css/firefox/feedback.less deleted file mode 100644 index aba2805332d..00000000000 --- a/media/css/firefox/feedback.less +++ /dev/null @@ -1,269 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -@import "../sandstone/lib.less"; - -@font-face { - font-family: FA-Icons-Contact; - src: url('/media/fonts/icons-contact.woff2?20-12-2016') format('woff2'), - url('/media/fonts/icons-contact.woff?20-12-2016') format('woff'); - font-weight: normal; - font-style: normal; -} - -main { - padding: 0 @gridGutterWidth; -} - -.headline { - .font-size(48px); - text-align: center; -} - -.tagline { - .font-size(24px); - text-align: center; -} - -.mozilla-share-cta { - text-align: center; - margin: 0 auto; -} - -.primary { - .clearfix; - .span-all; - margin-bottom: @baseLine; - padding: @baseLine @gridGutterWidth; - background: #fff; - border-bottom: 1px solid @borderColor; - - .copy { - .font-size(@largeFontSize); - text-align: center; - margin: 0 auto 1.5em; - max-width: (@gridColumnWidth * 7) + (@gridGutterWidth * 6); - } -} - -.secondary { - .clearfix; -} - -.sad .secondary { - text-align: center; - - p { - margin: 0 auto 1.5em; - max-width: (@gridColumnWidth * 4) + (@gridGutterWidth * 3); - } -} - -.action-secondary { - .border-box; - .span(4); - padding: 120px @gridGutterWidth @baseLine; - text-align: center; - position: relative; - - h2 { - .font-size(20px); - - &:before { - content: ''; - display: block; - width: 100px; - height: 100px; - background-image: url('/media/img/firefox/feedback/cta-icons.png'); - background-repeat: no-repeat; - position: absolute; - top: 10px; - left: 50%; - margin-left: -50px; - - @media @highdpi { - background-image: url('/media/img/firefox/feedback/cta-icons-high-res.png'); - .background-size(100px 300px); - } - } - } - - a:hover, - a:focus { - text-decoration: none; - - p { - text-decoration: underline; - } - } -} - -.cta-sync h2:before { - background-position: center top; -} - -.cta-android h2:before { - background-position: center -100px; -} - -.cta-addons h2:before { - background-position: center -200px; -} - -.support-links { - .clearfix; - list-style: none; - margin: 0 @gridColumnWidth/2; - - li { - .span(3.5); - margin-bottom: @baseLine; - min-height: 6em; - } - - a { - .trailing-arrow; - display: block; - position: relative; - padding: 10px @gridGutterWidth 10px 45px; - font-weight: bold; - border: 2px solid; - border-radius: .5em; - min-height: 4em; - - &:before { - font-family: FA-Icons-Contact; - content: '\e810'; - .font-size(22px); - font-weight: normal; - position: absolute; - left: 15px; - top: 6px; - color: lighten(@linkSkyBlue, 15%); - } - - &:hover:before, - &:focus:before { - color: darken(@linkSkyBlue, 10%); - } - } - - .ask a:before { - content: '\e811'; - left: 13px; - top: 4px; - } -} - -.social-links { - list-style: none; - margin: (@baseLine * 1.5) auto 0; - text-align: center; - max-width: (@gridColumnWidth * 8) + (@gridGutterWidth * 7); - - li { - display: inline; - margin: 0 10px; - } - - a { - padding-left: @gridGutterWidth; - - &:before { - font-family: FA-Icons-Contact; - margin-right: 8px; - } - } - - .facebook:before { - content: '\e802'; - } - - .twitter:before { - content: '\e809'; - } - - .email:before { - content: '\e806'; - } -} - - -/*-------------------------------------------------------------------------*/ -// @Tablet Layout: 760px -@media only screen and (min-width: @breakTablet) and (max-width: @breakDesktop) { - - .action-secondary { - .span_narrow(4); - } - - .support-links li { - .span_narrow(5); - margin-bottom: @baseLine; - } - - .support-links li.ask { - .span_narrow(10); - margin-bottom: @baseLine; - } - -} - - - -/*-------------------------------------------------------------------------*/ -// @Mobile Layout: 320px -@media only screen and (max-width: @breakTablet) { - - .headline { - .font-size(32px); - } - - .tagline { - .font-size(20px); - } - - .action-secondary { - .span-all(); - } - - .social-links { - max-width: none; - text-align: left; - - li { - display: block; - margin: 0 0 .5em; - } - } - - .mozilla-share-cta { - width: 210px; - - h3 { - width: 170px; - } - } - - .support-links { - margin: 0 auto; - - li { - .span-all(); - margin-bottom: @baseLine; - } - } - -} - - -/*-------------------------------------------------------------------------*/ -// @Wide mobile Layout: 480px -@media only screen and (min-width: @breakMobileLandscape) and (max-width: @breakTablet) { - - .social-links { - margin: (@baseLine * 1.5) 40px 0; - } - -} diff --git a/media/img/firefox/feedback/cta-icons-high-res.png b/media/img/firefox/feedback/cta-icons-high-res.png deleted file mode 100644 index 864566a0e4fd4cab1d352853345397471181815d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12812 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 M(K1BUXxL-_7u8M;NB{r; diff --git a/media/img/firefox/feedback/cta-icons.png b/media/img/firefox/feedback/cta-icons.png deleted file mode 100644 index 9775f72e453238d69bd9fce2663b6208cdc7dbd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5572 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 SMr$Vk0000