diff --git a/app/assets/javascripts/consent.js b/app/assets/javascripts/consent.js deleted file mode 100644 index fab23e895..000000000 --- a/app/assets/javascripts/consent.js +++ /dev/null @@ -1,15 +0,0 @@ -(function (window) { - "use strict"; - - function hasConsentFor (cookieCategory, consentCookie) { - if (consentCookie === undefined) { consentCookie = window.GOVUK.getConsentCookie(); } - - if (consentCookie === null) { return false; } - - if (!(cookieCategory in consentCookie)) { return false; } - - return consentCookie[cookieCategory]; - } - - window.GOVUK.hasConsentFor = hasConsentFor; -})(window); diff --git a/app/assets/javascripts/cookieMessage.js b/app/assets/javascripts/cookieMessage.js deleted file mode 100644 index ffd906d34..000000000 --- a/app/assets/javascripts/cookieMessage.js +++ /dev/null @@ -1,104 +0,0 @@ -window.GOVUK = window.GOVUK || {}; -window.GOVUK.Modules = window.GOVUK.Modules || {}; - -(function (Modules) { - function CookieBanner () { } - - CookieBanner.clearOldCookies = function (consent) { - var gaCookies = ['_ga', '_gid']; - - // clear old cookie set by our previous JS, set on the www domain - if (window.GOVUK.cookie('seen_cookie_message')) { - document.cookie = 'seen_cookie_message=;expires=' + new Date().toGMTString() + ';path=/'; - } - - if (consent === null) { - for (var i = 0; i < gaCookies.length; i++) { - if (window.GOVUK.cookie(gaCookies[i])) { - // GA cookies are set on the base domain so need the www stripping - var cookieString = gaCookies[i] + '=;expires=' + new Date().toGMTString() + ';domain=' + window.location.hostname.replace(/^www\./, '.') + ';path=/'; - document.cookie = cookieString; - } - } - } - }; - - CookieBanner.prototype.start = function ($module) { - this.$module = $module[0]; - this.$module.hideCookieMessage = this.hideCookieMessage.bind(this); - this.$module.showConfirmationMessage = this.showConfirmationMessage.bind(this); - this.$module.setCookieConsent = this.setCookieConsent.bind(this); - - this.$module.cookieBanner = document.querySelector('.notify-cookie-banner'); - this.$module.cookieBannerConfirmationMessage = this.$module.querySelector('.notify-cookie-banner__confirmation'); - - this.setupCookieMessage(); - }; - - CookieBanner.prototype.setupCookieMessage = function () { - this.$hideLink = this.$module.querySelector('button[data-hide-cookie-banner]'); - if (this.$hideLink) { - this.$hideLink.addEventListener('click', this.$module.hideCookieMessage); - } - - this.$acceptCookiesLink = this.$module.querySelector('button[data-accept-cookies=true]'); - if (this.$acceptCookiesLink) { - this.$acceptCookiesLink.addEventListener('click', () => this.$module.setCookieConsent(true)); - } - - this.$rejectCookiesLink = this.$module.querySelector('button[data-accept-cookies=false]'); - if (this.$rejectCookiesLink) { - this.$rejectCookiesLink.addEventListener('click', () => this.$module.setCookieConsent(false)); - } - - this.showCookieMessage(); - }; - - CookieBanner.prototype.showCookieMessage = function () { - // Show the cookie banner if not in the cookie settings page - if (!this.isInCookiesPage()) { - var hasCookiesPolicy = window.GOVUK.cookie('cookies_policy'); - - if (this.$module && !hasCookiesPolicy) { - this.$module.style.display = 'block'; - } - } - }; - - CookieBanner.prototype.hideCookieMessage = function (event) { - if (this.$module) { - this.$module.style.display = 'none'; - } - - if (event.target) { - event.preventDefault(); - } - }; - - CookieBanner.prototype.setCookieConsent = function (analyticsConsent) { - window.GOVUK.setConsentCookie({ 'analytics': analyticsConsent }); - - this.$module.showConfirmationMessage(analyticsConsent); - this.$module.cookieBannerConfirmationMessage.focus(); - - if (analyticsConsent) { window.GOVUK.initAnalytics(); } - }; - - CookieBanner.prototype.showConfirmationMessage = function (analyticsConsent) { - var messagePrefix = analyticsConsent ? 'You’ve accepted analytics cookies.' : 'You told us not to use analytics cookies.'; - - this.$cookieBannerMainContent = document.querySelector('.notify-cookie-banner__wrapper'); - this.$cookieBannerConfirmationMessage = document.querySelector('.notify-cookie-banner__confirmation-message'); - - this.$cookieBannerConfirmationMessage.insertAdjacentText('afterbegin', messagePrefix); - this.$cookieBannerMainContent.style.display = 'none'; - this.$module.cookieBannerConfirmationMessage.style.display = 'block'; - }; - - CookieBanner.prototype.isInCookiesPage = function () { - return window.location.pathname === '/cookies'; - }; - - Modules.CookieBanner = CookieBanner; -})(window.GOVUK.Modules); - diff --git a/app/assets/javascripts/govuk/cookie-functions.js b/app/assets/javascripts/govuk/cookie-functions.js deleted file mode 100644 index 5fa15bee7..000000000 --- a/app/assets/javascripts/govuk/cookie-functions.js +++ /dev/null @@ -1,163 +0,0 @@ -// used by the cookie banner component - -(function (root) { - 'use strict'; - window.GOVUK = window.GOVUK || {}; - - var DEFAULT_COOKIE_CONSENT = { - 'analytics': false - }; - - var COOKIE_CATEGORIES = { - '_ga': 'analytics', - '_gid': 'analytics' - }; - - /* - Cookie methods - ============== - - Usage: - - Setting a cookie: - GOVUK.cookie('hobnob', 'tasty', { days: 30 }); - - Reading a cookie: - GOVUK.cookie('hobnob'); - - Deleting a cookie: - GOVUK.cookie('hobnob', null); - */ - window.GOVUK.cookie = function (name, value, options) { - if (typeof value !== 'undefined') { - if (value === false || value === null) { - return window.GOVUK.setCookie(name, '', { days: -1 }); - } else { - // Default expiry date of 30 days - if (typeof options === 'undefined') { - options = { days: 30 }; - } - return window.GOVUK.setCookie(name, value, options); - } - } else { - return window.GOVUK.getCookie(name); - } - }; - - window.GOVUK.getConsentCookie = function () { - var consentCookie = window.GOVUK.cookie('cookies_policy'); - var consentCookieObj; - - if (consentCookie) { - try { - consentCookieObj = JSON.parse(consentCookie); - } catch (err) { - return null; - } - - if (typeof consentCookieObj !== 'object' && consentCookieObj !== null) { - consentCookieObj = JSON.parse(consentCookieObj); - } - } else { - return null; - } - - return consentCookieObj; - }; - - window.GOVUK.setConsentCookie = function (options) { - var cookieConsent = window.GOVUK.getConsentCookie(); - - if (!cookieConsent) { - cookieConsent = JSON.parse(JSON.stringify(DEFAULT_COOKIE_CONSENT)); - } - - for (var cookieType in options) { - cookieConsent[cookieType] = options[cookieType]; - - // Delete cookies of that type if consent being set to false - if (!options[cookieType]) { - for (var cookie in COOKIE_CATEGORIES) { - if (COOKIE_CATEGORIES[cookie] === cookieType) { - window.GOVUK.cookie(cookie, null); - - if (window.GOVUK.cookie(cookie)) { - document.cookie = cookie + '=;expires=' + new Date() + ';domain=' + window.location.hostname.replace(/^www\./, '.') + ';path=/'; - } - } - } - } - } - - window.GOVUK.setCookie('cookies_policy', JSON.stringify(cookieConsent), { days: 365 }); - }; - - window.GOVUK.checkConsentCookieCategory = function (cookieName, cookieCategory) { - var currentConsentCookie = window.GOVUK.getConsentCookie(); - - // If the consent cookie doesn't exist, but the cookie is in our known list, return true - if (!currentConsentCookie && COOKIE_CATEGORIES[cookieName]) { - return true; - } - - currentConsentCookie = window.GOVUK.getConsentCookie(); - - // Sometimes currentConsentCookie is malformed in some of the tests, so we need to handle these - try { - return currentConsentCookie[cookieCategory]; - } catch (e) { - console.error(e); - return false; - } - }; - - window.GOVUK.checkConsentCookie = function (cookieName, cookieValue) { - // If we're setting the consent cookie OR deleting a cookie, allow by default - if (cookieName === 'cookies_policy' || (cookieValue === null || cookieValue === false)) { - return true; - } - - if (COOKIE_CATEGORIES[cookieName]) { - var cookieCategory = COOKIE_CATEGORIES[cookieName]; - - return window.GOVUK.checkConsentCookieCategory(cookieName, cookieCategory); - } else { - // Deny the cookie if it is not known to us - return false; - } - }; - - window.GOVUK.setCookie = function (name, value, options) { - if (window.GOVUK.checkConsentCookie(name, value)) { - if (typeof options === 'undefined') { - options = {}; - } - var cookieString = name + '=' + value + '; path=/'; - if (options.days) { - var date = new Date(); - date.setTime(date.getTime() + (options.days * 24 * 60 * 60 * 1000)); - cookieString = cookieString + '; expires=' + date.toGMTString(); - } - if (document.location.protocol === 'https:') { - cookieString = cookieString + '; Secure'; - } - document.cookie = cookieString; - } - }; - - window.GOVUK.getCookie = function (name) { - var nameEQ = name + '='; - var cookies = document.cookie.split(';'); - for (var i = 0, len = cookies.length; i < len; i++) { - var cookie = cookies[i]; - while (cookie.charAt(0) === ' ') { - cookie = cookie.substring(1, cookie.length); - } - if (cookie.indexOf(nameEQ) === 0) { - return decodeURIComponent(cookie.substring(nameEQ.length)); - } - } - return null; - }; -}(window)); - diff --git a/app/templates/views/cookies.html b/app/templates/views/cookies.html deleted file mode 100644 index 1af35b4ec..000000000 --- a/app/templates/views/cookies.html +++ /dev/null @@ -1,151 +0,0 @@ -{% extends "withoutnav_template.html" %} -{% from "components/banner.html" import banner %} - -{% block per_page_title %} - Cookies -{% endblock %} - -{% block cookie_message %}{% endblock %} - -{% block maincolumn_content %} - -
- Cookies are small files saved on your phone, tablet, or computer when you visit a website. -
-We use cookies to make Notify.gov work and collect information about how you use our service.
- -- Essential cookies keep your information secure while you use Notify. We do not need to ask permission to use them. -
-| Name | -Purpose | -Expires | -
|---|---|---|
| - notify_admin_session - | -- Used to keep you signed in - | -- 20 hours - | -
| - cookie_policy - | -- Saves your cookie consent settings - | -- 1 year - | -
- With your permission, we use Google Analytics to collect data about how you use Notify. This information helps us to improve our service. -
-- Google is not allowed to use or share our analytics data with anyone. -
-- Google Analytics stores anonymized information about: -
-| Name | -Purpose | -Expires | -
|---|---|---|
| - _ga - | -- Checks if you’ve visited Notify before. This helps us count how many people visit our site. - | -- 2 years - | -
| - _gid - | -- Checks if you’ve visited Notify before. This helps us count how many people visit our site. - | -- 24 hours - | -