From 7b3445e8cd1f4e2dff313434fc818d84cebf7c48 Mon Sep 17 00:00:00 2001 From: pabois <pierreandre.boissinot@noesya.coop> Date: Tue, 19 Oct 2021 11:45:58 +0200 Subject: [PATCH] cookie banner --- Gemfile | 1 + Gemfile.lock | 7 +++++++ app/assets/javascripts/admin.js | 1 + app/assets/javascripts/application.js | 1 + app/assets/stylesheets/admin.sass | 1 + app/assets/stylesheets/admin/appstack.sass | 5 +++++ app/assets/stylesheets/application.sass | 1 + app/views/admin/application/_nav.html.erb | 8 ++++++++ app/views/admin/layouts/application.html.erb | 1 + app/views/layouts/application.html.erb | 2 +- app/views/layouts/devise.html.erb | 1 + config/locales/en.yml | 1 + config/locales/fr.yml | 1 + 13 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index cbe540a33..e9225d991 100644 --- a/Gemfile +++ b/Gemfile @@ -13,6 +13,7 @@ gem 'delayed_job_web' gem 'bootsnap', '>= 1.4.4', require: false gem 'bugsnag' gem 'sib-api-v3-sdk' +gem 'gdpr' # Back gem 'rails' diff --git a/Gemfile.lock b/Gemfile.lock index 2ddd2c3fa..aded56c9f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -179,6 +179,10 @@ GEM figaro (1.2.0) thor (>= 0.14.0, < 2) front_matter_parser (1.0.1) + gdpr (1.2.0) + js_cookie_rails + rails + sassc-rails globalid (0.5.2) activesupport (>= 5.0) i18n (1.8.10) @@ -194,6 +198,8 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) + js_cookie_rails (2.2.0) + railties (>= 3.1) json (2.6.0) kamifusen (1.9) image_processing @@ -388,6 +394,7 @@ DEPENDENCIES enum_help figaro front_matter_parser + gdpr image_processing jbuilder jquery-rails diff --git a/app/assets/javascripts/admin.js b/app/assets/javascripts/admin.js index 226a7da47..9105ed405 100644 --- a/app/assets/javascripts/admin.js +++ b/app/assets/javascripts/admin.js @@ -7,4 +7,5 @@ //= require cropperjs/dist/cropper //= require jquery-cropper/dist/jquery-cropper //= require appstack/app +//= require gdpr/cookie_consent //= require_tree ./admin diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index d0d43a439..dfa08489a 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -7,3 +7,4 @@ //= require jquery-cropper/dist/jquery-cropper //= require simple_form_password_with_hints //= require simple_form_bs5_file_input +//= require gdpr/cookie_consent diff --git a/app/assets/stylesheets/admin.sass b/app/assets/stylesheets/admin.sass index 945fc63ec..bb3070795 100644 --- a/app/assets/stylesheets/admin.sass +++ b/app/assets/stylesheets/admin.sass @@ -4,5 +4,6 @@ @import 'simple_form_password_with_hints' @import 'simple_form_bs5_file_input' @import 'cropperjs/dist/cropper' +@import 'gdpr/cookie_consent' @import 'commons/*' @import 'admin/*' diff --git a/app/assets/stylesheets/admin/appstack.sass b/app/assets/stylesheets/admin/appstack.sass index a5c456e88..d0d744972 100644 --- a/app/assets/stylesheets/admin/appstack.sass +++ b/app/assets/stylesheets/admin/appstack.sass @@ -1,6 +1,11 @@ main.content padding-bottom: 65px +.sidebar + footer + a + padding: .125rem + .sidebar.collapsed + .footer.fixed left: 0 transition: left .35s ease-in-out diff --git a/app/assets/stylesheets/application.sass b/app/assets/stylesheets/application.sass index b5505231d..819e1e0d4 100644 --- a/app/assets/stylesheets/application.sass +++ b/app/assets/stylesheets/application.sass @@ -3,5 +3,6 @@ @import 'simple_form_password_with_hints' @import 'simple_form_bs5_file_input' @import 'cropperjs/dist/cropper' +@import 'gdpr/cookie_consent' @import 'commons/*' @import 'application/*' diff --git a/app/views/admin/application/_nav.html.erb b/app/views/admin/application/_nav.html.erb index d29518d0e..d336bfb7e 100644 --- a/app/views/admin/application/_nav.html.erb +++ b/app/views/admin/application/_nav.html.erb @@ -4,5 +4,13 @@ <%= image_tag 'osuny-white.svg', class: 'img-fluid' %> <% end %> <%= render_navigation context: :admin %> + + <footer class="text-center"> + <%= current_university %> + <br> + <%= link_to t('terms_of_service'), '', class: 'sidebar-link' %> + <%= link_to t('privacy_policy'), '', class: 'sidebar-link' %> + <%= link_to t('cookies_consent_choice'), '', class: 'sidebar-link js-gdpr__cookie_consent__display_again' %> + </footer> </div> </nav> diff --git a/app/views/admin/layouts/application.html.erb b/app/views/admin/layouts/application.html.erb index 2f86440c2..74398af46 100644 --- a/app/views/admin/layouts/application.html.erb +++ b/app/views/admin/layouts/application.html.erb @@ -38,6 +38,7 @@ </div> </div> <%= javascript_include_tag 'admin' %> + <%= render 'gdpr/cookie_consent' %> <%= render 'bugsnag' %> </body> </html> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index c2009000b..76d2c8aa4 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -13,11 +13,11 @@ <body> <%= render 'nav' %> <main class="container"> - <%= render_breadcrumbs builder: Appstack::BreadcrumbsOnRailsBuilder %> <%= yield %> </main> <%= render 'footer' %> + <%= render 'gdpr/cookie_consent' %> <%= render 'bugsnag' %> </body> </html> diff --git a/app/views/layouts/devise.html.erb b/app/views/layouts/devise.html.erb index d6f738760..c919ef4e1 100644 --- a/app/views/layouts/devise.html.erb +++ b/app/views/layouts/devise.html.erb @@ -38,6 +38,7 @@ </div> </div> <%= render 'footer' %> + <%= render 'gdpr/cookie_consent' %> <%= render 'bugsnag' %> </body> </html> diff --git a/config/locales/en.yml b/config/locales/en.yml index 0c146dd09..9a780fe65 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -44,6 +44,7 @@ en: users_alerts: not_locked_html: '<i>%{model}</i> was not locked.' successfully_unlocked_html: "<i>%{model}</i> was successfully unlocked." + cookies_consent_choice: Cookies consent choice create: Create delete: Delete devise: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 602f7cb05..f03349b20 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -45,6 +45,7 @@ fr: users_alerts: not_locked_html: "<i>%{model}</i> n'était pas verrouillé(e)." successfully_unlocked_html: "<i>%{model}</i> a bien été déverrouillé(e)." + cookies_consent_choice: Choix en matière de cookies create: Créer delete: Supprimer devise: -- GitLab