diff --git a/app/assets/javascripts/cookies_consent.js b/app/assets/javascripts/cookies_consent.js index 898ac7062..e6786725d 100644 --- a/app/assets/javascripts/cookies_consent.js +++ b/app/assets/javascripts/cookies_consent.js @@ -11,9 +11,13 @@ vendors: function() { return $(".cookies-vendors input[type=checkbox]"); }, + cookieName: function() { + var versionName = $("#cookies_consent_management").data("version-name"); + return "cookies_consent_" + versionName; + }, initialize: function() { $(".accept-all-cookies").on("click", function() { - App.Cookies.saveCookie("cookies_consent", "all", 365); + App.Cookies.saveCookie(App.CookiesConsent.cookieName(), "all", 365); App.CookiesConsent.vendors().each(function() { App.Cookies.saveCookie(this.name, true, 365); App.CookiesConsent.setCookiesConsent(this.id, true); @@ -22,7 +26,7 @@ }); $(".accept-essential-cookies").on("click", function() { - App.Cookies.saveCookie("cookies_consent", "essential", 365); + App.Cookies.saveCookie(App.CookiesConsent.cookieName(), "essential", 365); App.CookiesConsent.vendors().each(function() { App.Cookies.saveCookie(this.name, false, 365); App.CookiesConsent.setCookiesConsent(this.id, false); @@ -31,7 +35,7 @@ }); $(".save-cookies-preferences").on("click", function() { - App.Cookies.saveCookie("cookies_consent", "custom", 365); + App.Cookies.saveCookie(App.CookiesConsent.cookieName(), "custom", 365); App.CookiesConsent.vendors().each(function() { App.Cookies.saveCookie(this.name, this.checked, 365); }); diff --git a/app/components/admin/settings/cookies_consent_tab_component.html.erb b/app/components/admin/settings/cookies_consent_tab_component.html.erb index 88fbedbdb..ecdfbcde7 100644 --- a/app/components/admin/settings/cookies_consent_tab_component.html.erb +++ b/app/components/admin/settings/cookies_consent_tab_component.html.erb @@ -3,6 +3,7 @@ <%= render Admin::Settings::TableComponent.new(setting_name: "feature") do %> <%= render Admin::Settings::RowComponent.new("feature.cookies_consent", type: :feature, tab: tab) %> <%= render Admin::Settings::RowComponent.new("cookies_consent.more_info_link", type: :text, tab: tab) %> + <%= render Admin::Settings::RowComponent.new("cookies_consent.version_name", type: :text, tab: tab) %> <% end %> <%= render Admin::Cookies::Vendors::TableComponent.new %> diff --git a/app/components/layout/cookies_consent/banner_component.rb b/app/components/layout/cookies_consent/banner_component.rb index 43ffe341b..6e5e5c7a7 100644 --- a/app/components/layout/cookies_consent/banner_component.rb +++ b/app/components/layout/cookies_consent/banner_component.rb @@ -8,6 +8,6 @@ class Layout::CookiesConsent::BannerComponent < Layout::CookiesConsent::BaseComp private def cookies_consent_unset? - cookies["cookies_consent"].blank? + cookies["cookies_consent_#{version_name}"].blank? end end diff --git a/app/components/layout/cookies_consent/base_component.rb b/app/components/layout/cookies_consent/base_component.rb index 922334a0d..e20e8ead3 100644 --- a/app/components/layout/cookies_consent/base_component.rb +++ b/app/components/layout/cookies_consent/base_component.rb @@ -10,4 +10,8 @@ class Layout::CookiesConsent::BaseComponent < ApplicationComponent def vendors Cookies::Vendor.all end + + def version_name + Setting["cookies_consent.version_name"].to_s.strip + end end diff --git a/app/components/layout/cookies_consent/management_component.html.erb b/app/components/layout/cookies_consent/management_component.html.erb index 6a060c468..4bff72dde 100644 --- a/app/components/layout/cookies_consent/management_component.html.erb +++ b/app/components/layout/cookies_consent/management_component.html.erb @@ -1,4 +1,8 @@ -