diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb new file mode 100644 index 000000000..35f303e3d --- /dev/null +++ b/app/controllers/pages_controller.rb @@ -0,0 +1,19 @@ +class PagesController < ApplicationController + + skip_authorization_check + + def privacy + end + + def legal + end + + def terms + end + + def transparency + end + + def opendata + end +end diff --git a/app/views/pages/legal.html.erb b/app/views/pages/legal.html.erb new file mode 100644 index 000000000..b9838ebd7 --- /dev/null +++ b/app/views/pages/legal.html.erb @@ -0,0 +1 @@ +<%= t('pages.legal') %> \ No newline at end of file diff --git a/app/views/pages/opendata.html.erb b/app/views/pages/opendata.html.erb new file mode 100644 index 000000000..1956d5deb --- /dev/null +++ b/app/views/pages/opendata.html.erb @@ -0,0 +1 @@ +<%= t('pages.opendata') %> \ No newline at end of file diff --git a/app/views/pages/privacy.html.erb b/app/views/pages/privacy.html.erb new file mode 100644 index 000000000..e511bb134 --- /dev/null +++ b/app/views/pages/privacy.html.erb @@ -0,0 +1 @@ +<%= t('pages.privacy') %> \ No newline at end of file diff --git a/app/views/pages/terms.html.erb b/app/views/pages/terms.html.erb new file mode 100644 index 000000000..5481da07c --- /dev/null +++ b/app/views/pages/terms.html.erb @@ -0,0 +1 @@ +<%= t('pages.terms') %> \ No newline at end of file diff --git a/app/views/pages/transparency.html.erb b/app/views/pages/transparency.html.erb new file mode 100644 index 000000000..cd4e2d8f9 --- /dev/null +++ b/app/views/pages/transparency.html.erb @@ -0,0 +1 @@ +<%= t('pages.transparency') %> \ No newline at end of file diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 626a4b8cb..dda996e17 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -26,6 +26,7 @@ data: - config/locales/moderation.%{locale}.yml - config/locales/verification.%{locale}.yml - config/locales/mailers.%{locale}.yml + - config/locales/pages.%{locale}.yml - config/locales/devise_views.%{locale}.yml - config/locales/responders.%{locale}.yml - config/locales/kaminari.%{locale}.yml diff --git a/config/locales/pages.en.yml b/config/locales/pages.en.yml new file mode 100644 index 000000000..08b4a919f --- /dev/null +++ b/config/locales/pages.en.yml @@ -0,0 +1,12 @@ +en: + pages: + legal: + "Legal" + privacy: + "Privacy" + terms: + "Terms and Conditions" + transparency: + "Transparency" + opendata: + "Open Data" \ No newline at end of file diff --git a/config/locales/pages.es.yml b/config/locales/pages.es.yml new file mode 100644 index 000000000..4a737790c --- /dev/null +++ b/config/locales/pages.es.yml @@ -0,0 +1,12 @@ +es: + pages: + legal: + "Legal" + privacy: + "Privacidad" + terms: + "Términos y Condiciones" + transparency: + "Transparencia" + opendata: + "Datos abiertos" diff --git a/config/routes.rb b/config/routes.rb index 2435e57e4..3bef1e3d9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -175,4 +175,8 @@ Rails.application.routes.draw do if Rails.env.development? mount LetterOpenerWeb::Engine, at: "/letter_opener" end + + # static pages + get "/:action", controller: "pages" + end diff --git a/spec/controllers/pages_controller_spec.rb b/spec/controllers/pages_controller_spec.rb new file mode 100644 index 000000000..416c67bb5 --- /dev/null +++ b/spec/controllers/pages_controller_spec.rb @@ -0,0 +1,34 @@ +require 'rails_helper' + +describe PagesController do + + describe 'Static pages' do + it 'should include a privacy page' do + get :privacy + expect(response).to be_ok + end + + it 'should include a legal page' do + get :legal + expect(response).to be_ok + end + + it 'should include a terms page' do + get :terms + expect(response).to be_ok + end + end + + describe 'Provisional pages' do + it 'should include a transparency page' do + get :transparency + expect(response).to be_ok + end + + it 'should include a opendata page' do + get :opendata + expect(response).to be_ok + end + end + +end \ No newline at end of file