cmor_legal_frontend 0.0.48.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +62 -0
- data/Rakefile +21 -0
- data/app/assets/config/manifest.js +2 -0
- data/app/assets/javascripts/cmor/legal/frontend/application.js +2 -0
- data/app/assets/javascripts/cmor/legal/frontend/application/cookie_banner.js.coffee +4 -0
- data/app/assets/javascripts/cmor_legal_frontend.js +2 -0
- data/app/assets/stylesheets/cmor/legal/frontend/application.css +3 -0
- data/app/assets/stylesheets/cmor/legal/frontend/application/keep.css +0 -0
- data/app/assets/stylesheets/cmor_legal_frontend.css +3 -0
- data/app/controllers/cmor/legal/frontend/cookie_preferences_controller.rb +41 -0
- data/app/controllers/cmor/legal/frontend/privacy_policies_controller.rb +15 -0
- data/app/view_helpers/cmor/legal/frontend/application_view_helper.rb +58 -0
- data/app/views/cmor/legal/frontend/cookie_preferences/_allowed_cookies.html.haml +19 -0
- data/app/views/cmor/legal/frontend/cookie_preferences/_form.html.haml +30 -0
- data/app/views/cmor/legal/frontend/cookie_preferences/_hint.de.html.erb +9 -0
- data/app/views/cmor/legal/frontend/cookie_preferences/_hint.html.erb +9 -0
- data/app/views/cmor/legal/frontend/cookie_preferences/edit.html.erb +6 -0
- data/app/views/cmor/legal/frontend/cookies/_consent_banner.html.erb +22 -0
- data/app/views/cmor/legal/frontend/cookies/consent_banner/_modal_body.de.html.erb +21 -0
- data/app/views/cmor/legal/frontend/cookies/consent_banner/_modal_body.en.html.erb +22 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_analytics.de.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_analytics.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_basic.de.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_basic.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_marketing.de.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_marketing.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_social_media.de.html.erb +3 -0
- data/app/views/cmor/legal/frontend/cookies/multiple/_social_media.html.erb +3 -0
- data/app/views/cmor/legal/privacy_policy.html.erb +3 -0
- data/config/locales/de.yml +44 -0
- data/config/locales/en.yml +45 -0
- data/config/routes.rb +8 -0
- data/lib/cmor/legal/frontend/configuration.rb +15 -0
- data/lib/cmor/legal/frontend/engine.rb +11 -0
- data/lib/cmor/legal/frontend/spec_helpers/feature.rb +18 -0
- data/lib/cmor/legal/frontend/version.rb +11 -0
- data/lib/cmor_legal_frontend.rb +17 -0
- data/lib/generators/cmor/legal/frontend/install/install_generator.rb +32 -0
- data/lib/generators/cmor/legal/frontend/install/templates/initializer.rb +7 -0
- data/lib/generators/cmor/legal/frontend/install/templates/routes.source +3 -0
- data/lib/tasks/cmor/legal/frontend_tasks.rake +12 -0
- metadata +450 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 284e859f365af4bd101e330662c71851fa1ccc549837a187595645cd202e62cb
|
4
|
+
data.tar.gz: f207ccf658cda58e4d7dfaeb240863c5b84db532e92cde1c103853ec899d2707
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ca48de51e5b80136082eb3c197f0232b31c96ce6daf236287a90977868c3546d86c0942a0b809305b5b2fb4c36227b0a43509e59d761a89295a4f739590ee686
|
7
|
+
data.tar.gz: 43a997879787b7b6f298b864e615ab1a8443345835136a416a71e1dd430d8e6175fc07e48fb02cacefde1a6b0c081525ce81503973c749b9b5fbcc5b5d630ea6
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2020 Roberto Vasquez Angel
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# Cmor::Legal::Frontend
|
2
|
+
Short description and motivation.
|
3
|
+
|
4
|
+
## Usage
|
5
|
+
How to use my plugin.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'cmor_legal_frontend'
|
12
|
+
```
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
```bash
|
16
|
+
$ bundle
|
17
|
+
```
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
```bash
|
21
|
+
$ gem install cmor_legal_frontend
|
22
|
+
```
|
23
|
+
|
24
|
+
## Migrating from rails_eu_gdpr_backend
|
25
|
+
|
26
|
+
Install cmor_legal and cmor_legal_frontend.
|
27
|
+
|
28
|
+
Move configuration options from config/initializers/eu_gdpr.rb to config/initializers/cmor_legal.rb.
|
29
|
+
|
30
|
+
Replace view helper integrations in controllers:
|
31
|
+
|
32
|
+
# old:
|
33
|
+
view_helper EuGdpr::ApplicationViewHelper, as: :eu_gdpr_helper
|
34
|
+
|
35
|
+
# new:
|
36
|
+
view_helper Cmor::Legal::Frontend::ApplicationViewHelper, as: :legal_helper
|
37
|
+
|
38
|
+
Replace view helper calls in views:
|
39
|
+
|
40
|
+
# old:
|
41
|
+
eu_gdpr_helper(self)
|
42
|
+
|
43
|
+
# old:
|
44
|
+
legal_helper(self)
|
45
|
+
|
46
|
+
Update privacy policies:
|
47
|
+
|
48
|
+
Cmor::Legal::PrivacyPolicy.find_each do |model|
|
49
|
+
model.update_column(:pathname, "/cmor/legal/")
|
50
|
+
model.update_column(:basename, "privacy_policy")
|
51
|
+
model.update_column(:body, model.body.gsub(/eu_gdpr_helper\(self\)/, "legal_helper(self)"))
|
52
|
+
end
|
53
|
+
|
54
|
+
Remove config/initializers/eu_gdpr.rb and config/initializers/eu_gdpr_backend.rb.
|
55
|
+
|
56
|
+
Remove rails_eu_gdpr and rails_eu_gdpr_backend from your Gemfile and bundle.
|
57
|
+
|
58
|
+
## Contributing
|
59
|
+
Contribution directions go here.
|
60
|
+
|
61
|
+
## License
|
62
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "bundler/setup"
|
5
|
+
rescue LoadError
|
6
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
7
|
+
end
|
8
|
+
|
9
|
+
require "rdoc/task"
|
10
|
+
|
11
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
12
|
+
rdoc.rdoc_dir = "rdoc"
|
13
|
+
rdoc.title = "Cmor::Seo::Frontend"
|
14
|
+
rdoc.options << "--line-numbers"
|
15
|
+
rdoc.rdoc_files.include("README.md")
|
16
|
+
rdoc.rdoc_files.include("lib/**/*.rb")
|
17
|
+
end
|
18
|
+
|
19
|
+
Bundler::GemHelper.install_tasks
|
20
|
+
|
21
|
+
require "rails/dummy/tasks"
|
File without changes
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cmor
|
4
|
+
module Legal
|
5
|
+
module Frontend
|
6
|
+
class CookiePreferencesController < Cmor::Legal::Frontend::Configuration.base_controller.constantize
|
7
|
+
if respond_to?(:before_action)
|
8
|
+
before_action :initialize_resource, only: [:edit, :update]
|
9
|
+
else
|
10
|
+
before_filter :initialize_resource, only: [:edit, :update]
|
11
|
+
end
|
12
|
+
|
13
|
+
def edit
|
14
|
+
end
|
15
|
+
|
16
|
+
def update
|
17
|
+
respond_to do |format|
|
18
|
+
if @resource.update_attributes(permitted_params)
|
19
|
+
format.html { redirect_to((request.referer || url_for(action: "edit")), notice: t(".success")) }
|
20
|
+
else
|
21
|
+
format.html { render :edit }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
def permitted_params
|
28
|
+
if params.is_a?(ActiveSupport::HashWithIndifferentAccess)
|
29
|
+
params[:cookie_preferences]
|
30
|
+
else
|
31
|
+
params.fetch(:cookie_preferences, {}).permit(@resource.cookies.map(&:identifier))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize_resource
|
36
|
+
@resource = ::Cmor::Legal::CookiePreferences.new(cookie_store: ::Cmor::Legal::CookieStore.new(send(::Cmor::Legal::Configuration.cookie_storage)))
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cmor
|
4
|
+
module Legal
|
5
|
+
module Frontend
|
6
|
+
class PrivacyPoliciesController < Cmor::Legal::Frontend::Configuration.base_controller.constantize
|
7
|
+
prepend_view_path ::Cmor::Legal::PrivacyPolicyResolver.instance unless view_paths.include?(::Cmor::Legal::PrivacyPolicyResolver.instance)
|
8
|
+
|
9
|
+
def show
|
10
|
+
render "/cmor/legal/privacy_policy"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cmor::Legal
|
4
|
+
module Frontend
|
5
|
+
# Example:
|
6
|
+
#
|
7
|
+
# # app/controllers/application_controller.rb
|
8
|
+
# class ApplicationController < ActionController::Base
|
9
|
+
# view_helper Cmor::Legal::Frontend::ApplicationViewHelper, as: :legal_helper
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
class ApplicationViewHelper < Rao::ViewHelper::Base
|
13
|
+
def render_cookie_consent_banner
|
14
|
+
return unless ::Cmor::Legal::Configuration.enable_cookie_consent_banner
|
15
|
+
|
16
|
+
unless c.request.path == c.cmor_legal_frontend.privacy_policy_path(options_for_url_helper) || c.request.path == c.cmor_legal_frontend.edit_cookie_preferences_path(options_for_url_helper)
|
17
|
+
c.render("cmor/legal/frontend/cookies/consent_banner")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def cookie_preferences_pending?
|
22
|
+
cookie_preferences.cookies.any?(&:pending?)
|
23
|
+
end
|
24
|
+
|
25
|
+
def cookie_preferences
|
26
|
+
::Cmor::Legal::CookiePreferences.new(cookie_store: ::Cmor::Legal::CookieStore.new(cookie_storage))
|
27
|
+
end
|
28
|
+
|
29
|
+
def render_cookie_preferences(options = {})
|
30
|
+
options.reverse_merge!(collapsible_preferences: true, show_hint: true)
|
31
|
+
collapsible_preferences = options.delete(:collapsible_preferences)
|
32
|
+
show_hint = options.delete(:show_hint)
|
33
|
+
|
34
|
+
resource = ::Cmor::Legal::CookiePreferences.new(cookie_store: ::Cmor::Legal::CookieStore.new(cookie_storage))
|
35
|
+
|
36
|
+
c.capture do
|
37
|
+
c.concat c.render partial: "cmor/legal/frontend/cookie_preferences/hint", locals: { collapsible_preferences: collapsible_preferences } if show_hint
|
38
|
+
c.concat c.render partial: "cmor/legal/frontend/cookie_preferences/form", locals: { resource: resource, collapsible_preferences: collapsible_preferences }
|
39
|
+
end.html_safe
|
40
|
+
end
|
41
|
+
|
42
|
+
def options_for_url_helper
|
43
|
+
if Gem.loaded_specs["route_translator"].present?
|
44
|
+
{ locale: I18n.locale }
|
45
|
+
elsif Gem.loaded_specs["i18n_routing"].present?
|
46
|
+
{ i18n_locale: I18n.locale }
|
47
|
+
else
|
48
|
+
{}
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
def cookie_storage
|
54
|
+
c.send(::Cmor::Legal::Configuration.cookie_storage)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
.cmor-legal-allowed_cookies{ id: "cmor-legal-allowed_cookies-#{cookie_identifier}" }
|
2
|
+
.card.rounded-0
|
3
|
+
#headingOne.card-header.rounded-0.border-0.p-0
|
4
|
+
%a.btn.btm-link.btm-sm.text-secondary{ "data-toggle" => "collapse", "data-target" => "#cmor-legal-allowed_cookies-#{cookie_identifier}-table_container", "aria-expanded" => false, "aria-controls" => "cmor-legal-allowed_cookies-#{cookie_identifier}-table_container" }
|
5
|
+
= Cmor::Legal::AllowedCookie.model_name.human(count: :other)
|
6
|
+
|
7
|
+
.collapse{ id: "cmor-legal-allowed_cookies-#{cookie_identifier}-table_container", "aria-labelledby" => "headingOne", "data-parent" => "#cmor-legal-allowed_cookies-#{cookie_identifier}" }
|
8
|
+
.card-body.p-0.small
|
9
|
+
= collection_table(collection: allowed_cookies, size: :small) do |table|
|
10
|
+
= table.column :name
|
11
|
+
= table.column :domain
|
12
|
+
= table.column :expiry do |resource|
|
13
|
+
- resource.expiry(locale: I18n.locale)
|
14
|
+
= table.column :description
|
15
|
+
= table.column :actions, title: "" do |resource|
|
16
|
+
- if resource.url.present?
|
17
|
+
- capture_haml do
|
18
|
+
= link_to(resource.url) do
|
19
|
+
= t('cmor.legal.frontend.cookie_preferences.allowed_cookies.more')
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#cmor_legal_cookie_preferences
|
2
|
+
= form_for resource, url: cmor_legal_frontend.cookie_preferences_path(legal_helper(self).options_for_url_helper), method: :put do |f|
|
3
|
+
- if collapsible_preferences
|
4
|
+
.actions
|
5
|
+
.row
|
6
|
+
.col-lg-12.mb-4
|
7
|
+
= f.submit class: 'btn btn-primary cmor-legal-cookies-accept_all', value: "Alle akzeptieren"
|
8
|
+
%a.btn.btn-link.text-secondary{ id: "cmor-legal-cookies-expand_preferences", 'data-toggle' => 'collapse', href: '#collapsible_cookie_preferences', class: "text-secondary" }
|
9
|
+
Einstellungen anpassen
|
10
|
+
%div{:class => collapsible_preferences ? 'collapse' : nil, :id => collapsible_preferences ? 'collapsible_cookie_preferences' : nil}
|
11
|
+
- resource.cookies.each do |cookie|
|
12
|
+
.cmor-legal-cookie.border.mb-4{ id: "cmor_legal-cookie-#{dom_id(cookie)}", class: dom_class(cookie) }
|
13
|
+
.row.p-2
|
14
|
+
.cmor-legal-cookie-hint.col-11
|
15
|
+
= render :partial => "cmor/legal/frontend/cookies/multiple/#{cookie.identifier}"
|
16
|
+
.cmor-legal-cookie-actions.col-1
|
17
|
+
.checkbox
|
18
|
+
- opts = {}
|
19
|
+
- opts.merge!(:class => 'cmor-legal-cookie-accept', :id => "cmor-legal-cookie-#{cookie.identifier}-accept")
|
20
|
+
- opts.merge!(:disabled => :disabled) if cookie.readonly?
|
21
|
+
= f.check_box cookie.identifier, opts
|
22
|
+
- if cookie.allowed_cookies.any?
|
23
|
+
.row
|
24
|
+
.col-12
|
25
|
+
= render :partial => "cmor/legal/frontend/cookie_preferences/allowed_cookies", locals: { cookie_identifier: cookie.identifier, allowed_cookies: cookie.allowed_cookies }
|
26
|
+
.actions
|
27
|
+
.row
|
28
|
+
.col-lg-12
|
29
|
+
= f.submit class: 'btn btn-primary cmor-legal-cookies-accept_all', value: "Alle akzeptieren"
|
30
|
+
= f.submit class: 'btn btn-link text-secondary', id: 'cmor-legal-cookies-accept', value: "Einstellungen übernehmen"
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-lg-12">
|
3
|
+
<p class="small">
|
4
|
+
Wir verwenden Cookies, die zum Betrieb der Webseite notwending sind und um Ihr Erlebnis auf der Webseite zu verbessern. Erfahren Sie mehr in unserer <%= link_to('Datenschutzbestimmung', cmor_legal_frontend.privacy_policy_path(legal_helper(self).options_for_url_helper)) %>. Mit 'Ich stimme zu' stimmen Sie der Verwendung unserer Cookies zu.
|
5
|
+
|
6
|
+
Sie haben <%= collapsible_preferences ? '<a data-toggle="collapse" href="#collapsible_cookie_preferences">hier</a>'.html_safe : 'hier' %> die Möglichkeit die Cookie-Einstellungen anzupassen.
|
7
|
+
</p>
|
8
|
+
</div>
|
9
|
+
</div>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-lg-12">
|
3
|
+
<p class="small">
|
4
|
+
We use cookies that are necessary for the operation of this website and to improve your experience. Find out more in our <%= link_to('privacy policy', cmor_legal_frontend.privacy_policy_path(legal_helper(self).options_for_url_helper)) %>. You agree to the use of our cookies by clicking on 'I agree'.
|
5
|
+
|
6
|
+
Click <%= collapsible_preferences ? '<a data-toggle="collapse" href="#collapsible_cookie_preferences">here</a>'.html_safe : 'here' %> to adjust the cookie preferences.
|
7
|
+
</p>
|
8
|
+
</div>
|
9
|
+
</div>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<div class="container-fluid">
|
2
|
+
<h1><%= Cmor::Legal::CookiePreferences.model_name.human %></h1>
|
3
|
+
|
4
|
+
<%= render partial: 'hint', locals: { collapsible_preferences: false } %>
|
5
|
+
<%= render partial: 'form', locals: { resource: @resource, collapsible_preferences: false } %>
|
6
|
+
</div>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<div id="cookies-eu-modal" class="modal fade cookies-eu js-cookies-eu" tabindex="-1" role="dialog">
|
2
|
+
<div class="modal-lg modal-dialog" role="document">
|
3
|
+
<div class="modal-content">
|
4
|
+
<div class="modal-header">
|
5
|
+
<h4 class="modal-title"><%= t('.title') %></h4>
|
6
|
+
</div>
|
7
|
+
<div class="modal-body">
|
8
|
+
<div class="container-fluid">
|
9
|
+
<%= legal_helper(self).render_cookie_preferences(collapsible_preferences: true) %>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<% if legal_helper(self).cookie_preferences_pending? %>
|
17
|
+
<script>
|
18
|
+
$(window).on('load',function(){
|
19
|
+
$('#cookies-eu-modal').modal({ backdrop: 'static', keyboard: false })
|
20
|
+
});
|
21
|
+
</script>
|
22
|
+
<% end %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-lg-12 span6">
|
3
|
+
<p>Cookies helfen uns bei der Bereitstellung unserer Dienste. Durch die Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies setzen.</p>
|
4
|
+
</div>
|
5
|
+
</div>
|
6
|
+
<div class="row">
|
7
|
+
<div class="col-lg-6 span6">
|
8
|
+
<h5>Erforderliche Cookies</h5>
|
9
|
+
<p>Diese Cookies sind für die Kernfunktionen der Website erforderlich und werden automatisch aktiviert, wenn Sie diese Website nutzen.</p>
|
10
|
+
<p>
|
11
|
+
<% if defined?(link).present? %>
|
12
|
+
<a href="<%= link %>" class="btn btn-secondary btn-default cookies-eu-link" target="<%= target.present? ? target : '' %>">Mehr erfahren</a>
|
13
|
+
<% end %>
|
14
|
+
</p>
|
15
|
+
</div>
|
16
|
+
<div class="col-lg-6 span12">
|
17
|
+
<h5>Gestattete Funktionalität</h5>
|
18
|
+
<p>Speichern die Anmeldeinformationen und sorgen für sichere Anmeldung</p>
|
19
|
+
<p>Speichern Ihren Aufgaben- oder Transaktionsfortschritt</p>
|
20
|
+
</div>
|
21
|
+
</div>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<div class="col-lg-12 span6">
|
3
|
+
<p>Cookies help us in providing our services. By using our services, you agree that we set cookies.</p>
|
4
|
+
</div>
|
5
|
+
</div>
|
6
|
+
<div class="row">
|
7
|
+
<div class="col-lg-6 span6">
|
8
|
+
<h5>Required cookies</h5>
|
9
|
+
<p>
|
10
|
+
These cookies are required for the core functionality of the website and are automatically activated when you use this website.</p>
|
11
|
+
<p>
|
12
|
+
<% if defined?(link).present? %>
|
13
|
+
<a href="<%= link %>" class="btn btn-secondary btn-default cookies-eu-link" target="<%= target.present? ? target : '' %>">Learn more</a>
|
14
|
+
<% end %>
|
15
|
+
</p>
|
16
|
+
</div>
|
17
|
+
<div class="col-lg-6 span12">
|
18
|
+
<h5>Permitted functionality</h5>
|
19
|
+
<p>Save your credentials and ensure secure login</p>
|
20
|
+
<p>Save your task or transaction progress</p>
|
21
|
+
</div>
|
22
|
+
</div>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<h5>Social Media</h5>
|
2
|
+
|
3
|
+
<p class="small mb-0">Wir benutzen Plugins für soziale Medien um Ihnen erweiterte Funktionen wie z.B. das Teilen von Inhalten zu ermöglichen. Diese Plugins setzen Cookies um korrekt zu funktionieren und zu messen, wir oft diese Inhalte geteilt wurden.</p>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
de:
|
2
|
+
activemodel:
|
3
|
+
models:
|
4
|
+
cmor/legal/allowed_cookie:
|
5
|
+
one: Cookie
|
6
|
+
other: Cookies
|
7
|
+
attributes:
|
8
|
+
cmor/legal/allowed_cookie:
|
9
|
+
name: Name
|
10
|
+
domain: Domain
|
11
|
+
expiry: Ablauf
|
12
|
+
description: Beschreibung
|
13
|
+
values:
|
14
|
+
cmor/legal/allowed_cookie:
|
15
|
+
expiry:
|
16
|
+
session: Session
|
17
|
+
resource:
|
18
|
+
cookie_preferences: cookie-einstellungen
|
19
|
+
privacy_policy: datenschutzerklaerung
|
20
|
+
routes:
|
21
|
+
cmor_legal_frontend_engine: ""
|
22
|
+
privacy_policy: datenschutzerklaerung
|
23
|
+
controllers:
|
24
|
+
cmor:
|
25
|
+
legal:
|
26
|
+
frontend:
|
27
|
+
cookie_preferences:
|
28
|
+
cookie_preferences: cookie-einstellungen
|
29
|
+
cmor:
|
30
|
+
legal:
|
31
|
+
frontend:
|
32
|
+
cookie_preferences:
|
33
|
+
allowed_cookies:
|
34
|
+
more: Mehr
|
35
|
+
update:
|
36
|
+
success: 'Ihre Einstellungen wurden gespeichert.'
|
37
|
+
cookies:
|
38
|
+
consent_banner:
|
39
|
+
title: "Wir verwenden Cookies"
|
40
|
+
helpers:
|
41
|
+
submit:
|
42
|
+
cookie_preferences:
|
43
|
+
create: "Ich stimme zu"
|
44
|
+
update: "Ich stimme zu"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
en:
|
2
|
+
activemodel:
|
3
|
+
models:
|
4
|
+
cmor/legal/allowed_cookie:
|
5
|
+
one: Cookie
|
6
|
+
other: Cookies
|
7
|
+
attributes:
|
8
|
+
cmor/legal/allowed_cookie:
|
9
|
+
name: Name
|
10
|
+
domain: Domain
|
11
|
+
expiry: Expir
|
12
|
+
description: Description
|
13
|
+
values:
|
14
|
+
cmor/legal/allowed_cookie:
|
15
|
+
expiry:
|
16
|
+
session: Session
|
17
|
+
resource:
|
18
|
+
cookie_preferences: cookie-preferences
|
19
|
+
privacy_policy: privacy-policy
|
20
|
+
# route_translator
|
21
|
+
routes:
|
22
|
+
cmor_legal_frontend_engine: ""
|
23
|
+
privacy_policy: privacy-policy
|
24
|
+
controllers:
|
25
|
+
cmor:
|
26
|
+
legal:
|
27
|
+
frontend:
|
28
|
+
cookie_preferences:
|
29
|
+
cookie_preferences: cookie-preferences
|
30
|
+
cmor:
|
31
|
+
legal:
|
32
|
+
frontend:
|
33
|
+
cookie_preferences:
|
34
|
+
allowed_cookies:
|
35
|
+
more: Mehr
|
36
|
+
update:
|
37
|
+
success: 'Settings successfully saved.'
|
38
|
+
cookies:
|
39
|
+
consent_banner:
|
40
|
+
title: "We use cookies"
|
41
|
+
helpers:
|
42
|
+
submit:
|
43
|
+
cookie_preferences:
|
44
|
+
create: "I consent"
|
45
|
+
update: "I consent"
|
data/config/routes.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
module Cmor
|
2
|
+
module Legal
|
3
|
+
module Frontend
|
4
|
+
module SpecHelpers
|
5
|
+
module Feature
|
6
|
+
def accept_eu_gdpr_cookies
|
7
|
+
if has_css?("a#cmor-legal-cookies-expand_preferences")
|
8
|
+
find("a#cmor-legal-cookies-expand_preferences").click
|
9
|
+
find("input#cmor-legal-cookies-accept").click
|
10
|
+
else
|
11
|
+
puts "WARNING: Could not accept EU GDPR Cookies as the consent button ('input#cmor-legal-cookies-accept') was not found."
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "cmor_core"
|
4
|
+
require "cmor_core_frontend"
|
5
|
+
require "cmor_legal"
|
6
|
+
|
7
|
+
require "cmor/legal/frontend/version"
|
8
|
+
require "cmor/legal/frontend/configuration"
|
9
|
+
require "cmor/legal/frontend/engine"
|
10
|
+
|
11
|
+
module Cmor
|
12
|
+
module Legal
|
13
|
+
module Frontend
|
14
|
+
extend Configuration
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cmor::Legal::Frontend
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
6
|
+
desc "Generates the initializer"
|
7
|
+
|
8
|
+
source_root File.expand_path("../templates", __FILE__)
|
9
|
+
|
10
|
+
attr_reader :base_controller_class_name
|
11
|
+
|
12
|
+
def initialize(*args)
|
13
|
+
super
|
14
|
+
@base_controller_class_name = ENV.fetch("BASE_CONTROLLER_CLASS_NAME") { "::ApplicationController" }
|
15
|
+
end
|
16
|
+
|
17
|
+
def generate_initializer
|
18
|
+
template "initializer.rb", "config/initializers/cmor_legal_frontend.rb"
|
19
|
+
end
|
20
|
+
|
21
|
+
def generate_routes
|
22
|
+
route File.read(File.join(File.expand_path("../templates", __FILE__), "routes.source"))
|
23
|
+
end
|
24
|
+
|
25
|
+
def mount_application_view_helper
|
26
|
+
inject_into_file "app/controllers/application_controller.rb", before: "end\n" do
|
27
|
+
" view_helper Cmor::Legal::Frontend::ApplicationViewHelper, as: :legal_helper\n"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
ADDED
@@ -0,0 +1,450 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cmor_legal_frontend
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.48.pre
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Roberto Vasquez Angel
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-03-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 5.2.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 5.2.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: cmor_core
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.0.48.pre
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.0.48.pre
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cmor_core_frontend
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.0.48.pre
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.0.48.pre
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: sqlite3
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.3.6
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.3.6
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: capybara
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: coveralls
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: git_log_generator
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard-bundler
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: guard-rails
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: guard-rspec
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: pry-rails
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rao-shoulda_matchers
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rails-dummy
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rails-i18n
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rspec-rails
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: factory_bot_rails
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rubocop
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rubocop-rails_config
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: shoulda-matchers
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: simplecov
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :development
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: simplecov-console
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0'
|
300
|
+
type: :development
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ">="
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: bootsnap
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ">="
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '0'
|
314
|
+
type: :development
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - ">="
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '0'
|
321
|
+
- !ruby/object:Gem::Dependency
|
322
|
+
name: turbolinks
|
323
|
+
requirement: !ruby/object:Gem::Requirement
|
324
|
+
requirements:
|
325
|
+
- - ">="
|
326
|
+
- !ruby/object:Gem::Version
|
327
|
+
version: '0'
|
328
|
+
type: :development
|
329
|
+
prerelease: false
|
330
|
+
version_requirements: !ruby/object:Gem::Requirement
|
331
|
+
requirements:
|
332
|
+
- - ">="
|
333
|
+
- !ruby/object:Gem::Version
|
334
|
+
version: '0'
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: selenium-webdriver
|
337
|
+
requirement: !ruby/object:Gem::Requirement
|
338
|
+
requirements:
|
339
|
+
- - ">="
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
version: '0'
|
342
|
+
type: :development
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - ">="
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '0'
|
349
|
+
- !ruby/object:Gem::Dependency
|
350
|
+
name: webdrivers
|
351
|
+
requirement: !ruby/object:Gem::Requirement
|
352
|
+
requirements:
|
353
|
+
- - ">="
|
354
|
+
- !ruby/object:Gem::Version
|
355
|
+
version: '0'
|
356
|
+
type: :development
|
357
|
+
prerelease: false
|
358
|
+
version_requirements: !ruby/object:Gem::Requirement
|
359
|
+
requirements:
|
360
|
+
- - ">="
|
361
|
+
- !ruby/object:Gem::Version
|
362
|
+
version: '0'
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: puma
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - ">="
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: '0'
|
370
|
+
type: :development
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - ">="
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: '0'
|
377
|
+
description:
|
378
|
+
email:
|
379
|
+
- roberto@vasquez-angel.de
|
380
|
+
executables: []
|
381
|
+
extensions: []
|
382
|
+
extra_rdoc_files: []
|
383
|
+
files:
|
384
|
+
- MIT-LICENSE
|
385
|
+
- README.md
|
386
|
+
- Rakefile
|
387
|
+
- app/assets/config/manifest.js
|
388
|
+
- app/assets/javascripts/cmor/legal/frontend/application.js
|
389
|
+
- app/assets/javascripts/cmor/legal/frontend/application/cookie_banner.js.coffee
|
390
|
+
- app/assets/javascripts/cmor_legal_frontend.js
|
391
|
+
- app/assets/stylesheets/cmor/legal/frontend/application.css
|
392
|
+
- app/assets/stylesheets/cmor/legal/frontend/application/keep.css
|
393
|
+
- app/assets/stylesheets/cmor_legal_frontend.css
|
394
|
+
- app/controllers/cmor/legal/frontend/cookie_preferences_controller.rb
|
395
|
+
- app/controllers/cmor/legal/frontend/privacy_policies_controller.rb
|
396
|
+
- app/view_helpers/cmor/legal/frontend/application_view_helper.rb
|
397
|
+
- app/views/cmor/legal/frontend/cookie_preferences/_allowed_cookies.html.haml
|
398
|
+
- app/views/cmor/legal/frontend/cookie_preferences/_form.html.haml
|
399
|
+
- app/views/cmor/legal/frontend/cookie_preferences/_hint.de.html.erb
|
400
|
+
- app/views/cmor/legal/frontend/cookie_preferences/_hint.html.erb
|
401
|
+
- app/views/cmor/legal/frontend/cookie_preferences/edit.html.erb
|
402
|
+
- app/views/cmor/legal/frontend/cookies/_consent_banner.html.erb
|
403
|
+
- app/views/cmor/legal/frontend/cookies/consent_banner/_modal_body.de.html.erb
|
404
|
+
- app/views/cmor/legal/frontend/cookies/consent_banner/_modal_body.en.html.erb
|
405
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_analytics.de.html.erb
|
406
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_analytics.html.erb
|
407
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_basic.de.html.erb
|
408
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_basic.html.erb
|
409
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_marketing.de.html.erb
|
410
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_marketing.html.erb
|
411
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_social_media.de.html.erb
|
412
|
+
- app/views/cmor/legal/frontend/cookies/multiple/_social_media.html.erb
|
413
|
+
- app/views/cmor/legal/privacy_policy.html.erb
|
414
|
+
- config/locales/de.yml
|
415
|
+
- config/locales/en.yml
|
416
|
+
- config/routes.rb
|
417
|
+
- lib/cmor/legal/frontend/configuration.rb
|
418
|
+
- lib/cmor/legal/frontend/engine.rb
|
419
|
+
- lib/cmor/legal/frontend/spec_helpers/feature.rb
|
420
|
+
- lib/cmor/legal/frontend/version.rb
|
421
|
+
- lib/cmor_legal_frontend.rb
|
422
|
+
- lib/generators/cmor/legal/frontend/install/install_generator.rb
|
423
|
+
- lib/generators/cmor/legal/frontend/install/templates/initializer.rb
|
424
|
+
- lib/generators/cmor/legal/frontend/install/templates/routes.source
|
425
|
+
- lib/tasks/cmor/legal/frontend_tasks.rake
|
426
|
+
homepage: https://github.com/content-management-on-rails
|
427
|
+
licenses:
|
428
|
+
- MIT
|
429
|
+
metadata:
|
430
|
+
allowed_push_host: https://rubygems.org
|
431
|
+
post_install_message:
|
432
|
+
rdoc_options: []
|
433
|
+
require_paths:
|
434
|
+
- lib
|
435
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
436
|
+
requirements:
|
437
|
+
- - ">="
|
438
|
+
- !ruby/object:Gem::Version
|
439
|
+
version: '0'
|
440
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
441
|
+
requirements:
|
442
|
+
- - ">"
|
443
|
+
- !ruby/object:Gem::Version
|
444
|
+
version: 1.3.1
|
445
|
+
requirements: []
|
446
|
+
rubygems_version: 3.1.2
|
447
|
+
signing_key:
|
448
|
+
specification_version: 4
|
449
|
+
summary: Cmor::Legal::Frontend Module.
|
450
|
+
test_files: []
|