solidus_static_content 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +21 -0
  5. data/Gemfile +13 -0
  6. data/Guardfile +9 -0
  7. data/LICENSE.md +26 -0
  8. data/README.md +105 -0
  9. data/Rakefile +15 -0
  10. data/app/assets/javascripts/spree/backend/spree_static_content.js +1 -0
  11. data/app/assets/javascripts/spree/frontend/spree_static_content.js +1 -0
  12. data/app/assets/stylesheets/spree/backend/spree_static_content.css +3 -0
  13. data/app/assets/stylesheets/spree/frontend/spree_static_content.css +7 -0
  14. data/app/controllers/spree/admin/pages_controller.rb +3 -0
  15. data/app/controllers/spree/static_content_controller.rb +20 -0
  16. data/app/helpers/spree/pages_helper.rb +6 -0
  17. data/app/models/spree/page.rb +54 -0
  18. data/app/overrides/pages_in_footer.rb +5 -0
  19. data/app/overrides/pages_in_header.rb +5 -0
  20. data/app/overrides/pages_in_menu.rb +5 -0
  21. data/app/overrides/pages_in_sidebar.rb +5 -0
  22. data/app/views/spree/admin/pages/_form.html.erb +98 -0
  23. data/app/views/spree/admin/pages/edit.html.erb +18 -0
  24. data/app/views/spree/admin/pages/index.html.erb +51 -0
  25. data/app/views/spree/admin/pages/new.html.erb +18 -0
  26. data/app/views/spree/static_content/_static_content_footer.html.erb +3 -0
  27. data/app/views/spree/static_content/_static_content_header.html.erb +1 -0
  28. data/app/views/spree/static_content/_static_content_list.html.erb +6 -0
  29. data/app/views/spree/static_content/_static_content_sidebar.html.erb +6 -0
  30. data/app/views/spree/static_content/show.html.erb +26 -0
  31. data/bin/rails +7 -0
  32. data/config/locales/de.yml +37 -0
  33. data/config/locales/en.yml +37 -0
  34. data/config/locales/es.yml +37 -0
  35. data/config/locales/et.yml +37 -0
  36. data/config/locales/fr.yml +37 -0
  37. data/config/locales/it.yml +37 -0
  38. data/config/locales/nl.yml +37 -0
  39. data/config/locales/pl.yml +39 -0
  40. data/config/locales/pt-BR.yml +37 -0
  41. data/config/locales/pt.yml +37 -0
  42. data/config/locales/ro.yml +39 -0
  43. data/config/locales/ru.yml +39 -0
  44. data/config/locales/sv.yml +37 -0
  45. data/config/routes.rb +8 -0
  46. data/db/migrate/20081216193152_create_pages.rb +15 -0
  47. data/db/migrate/20090625125735_extend_pages.rb +28 -0
  48. data/db/migrate/20090814113100_add_visible_to_pages.rb +17 -0
  49. data/db/migrate/20090814142845_add_default_true_to_visible_for_page.rb +8 -0
  50. data/db/migrate/20090829000527_add_index_for_page.rb +10 -0
  51. data/db/migrate/20091219021134_add_meta_fields_to_pages.rb +9 -0
  52. data/db/migrate/20100204105222_add_layout_to_pages.rb +9 -0
  53. data/db/migrate/20100323085528_add_show_in_sidebar_option_to_pages.rb +9 -0
  54. data/db/migrate/20110717103112_add_meta_title_to_page.rb +9 -0
  55. data/db/migrate/20120723144115_add_render_as_partial_for_layout_for_spree_pages.rb +13 -0
  56. data/db/migrate/20140926121757_add_pages_stores.rb +14 -0
  57. data/lib/generators/solidus_static_content/install/install_generator.rb +24 -0
  58. data/lib/solidus_static_content.rb +21 -0
  59. data/lib/spree_static_content/engine.rb +17 -0
  60. data/solidus_static_content.gemspec +32 -0
  61. data/spec/controllers/static_content_controller_spec.rb +37 -0
  62. data/spec/factories/page_factory.rb +18 -0
  63. data/spec/features/admin/pages_spec.rb +67 -0
  64. data/spec/features/static_content_spec.rb +53 -0
  65. data/spec/helpers/page_helper_spec.rb +14 -0
  66. data/spec/lib/spree_static.content_spec.rb +34 -0
  67. data/spec/models/page_spec.rb +46 -0
  68. data/spec/spec_helper.rb +50 -0
  69. metadata +294 -0
@@ -0,0 +1,18 @@
1
+ <%= render 'spree/admin/shared/configuration_menu' %>
2
+
3
+ <% content_for :page_title do %>
4
+ <%= Spree.t("static_content.static_pages") %> <i class="icon-arrow-right"></i> <%= Spree.t("static_content.editing_page") %> "<%= @page.title%>"
5
+ <% end %>
6
+
7
+ <% content_for :page_actions do %>
8
+ <li><%= button_link_to Spree.t(:back_to_static_pages_list), spree.admin_pages_url, :icon => 'icon-arrow-left' %></li>
9
+ <% end %>
10
+
11
+ <%= render "spree/shared/error_messages", :target => @page %>
12
+
13
+ <%= form_for [:admin, @page] do |f| %>
14
+ <fieldset class="no-border-top">
15
+ <%= render :partial => 'form', :locals => { :f => f } %>
16
+ <%= render :partial => 'spree/admin/shared/edit_resource_links' %>
17
+ </fieldset>
18
+ <% end %>
@@ -0,0 +1,51 @@
1
+ <% content_for :page_actions do %>
2
+ <li><%= button_link_to Spree.t("static_content.new_page"), new_object_url, :icon => 'icon-plus', :id => 'admin_new_page' %></li>
3
+ <% end %>
4
+
5
+ <% content_for :page_title do %>
6
+ <%= Spree.t("static_content.static_pages") %>
7
+ <% end %>
8
+
9
+ <% if @pages.any? %>
10
+ <table class="index responsive" id="listing_pages" data-hook>
11
+ <colgroup>
12
+ <col style="width: 40%">
13
+ <col style="width: 35%">
14
+ <col style="width: 10%">
15
+ <col style="width: 15%">
16
+ </colgroup>
17
+ <thead>
18
+ <tr data-hook="admin_pages_index_headers">
19
+ <th><%= Spree::Page.human_attribute_name(:title) %></th>
20
+ <th><%= Spree.t("static_content.link") %></th>
21
+ <th><%= Spree::Page.human_attribute_name(:visible) %></th>
22
+ <th data-hook="admin_pages_index_header_actions" class="actions"></th>
23
+ </tr>
24
+ </thead>
25
+
26
+ <tbody>
27
+ <% @pages.each do |page| %>
28
+ <tr data-hook="admin_pages_index_rows" class="<%= cycle('odd', 'even') %>" id="<%= dom_id page %>">
29
+ <td>
30
+ <%= page.title %>
31
+ </td>
32
+ <td>
33
+ <%= link_to page.link, page.link, :target => '_blank' %>
34
+ </td>
35
+ <td class="align-center">
36
+ <%= content_tag(:i, '', :class => 'icon-ok green') if page.visible %>
37
+ </td>
38
+ <td class="actions" data-hook="admin_pages_index_row_actions">
39
+ <%= link_to_edit page, :no_text => true %>
40
+ <%= link_to_delete page, :no_text => true %>
41
+ </td>
42
+ </tr>
43
+ <% end %>
44
+ </tbody>
45
+ </table>
46
+ <% else %>
47
+ <div class="alpha twelve columns no-objects-found">
48
+ <%= Spree.t(:no_resource_found, resource: I18n.t(:other, scope: 'activerecord.models.spree/page')) %>,
49
+ <%= link_to Spree.t(:add_one), spree.new_admin_page_path %>!
50
+ </div>
51
+ <% end %>
@@ -0,0 +1,18 @@
1
+ <%= render 'spree/admin/shared/configuration_menu' %>
2
+
3
+ <% content_for :page_title do %>
4
+ <%= Spree.t("static_content.static_pages") %> <i class="icon-arrow-right"></i> <%= Spree.t("static_content.new_page") %>
5
+ <% end %>
6
+
7
+ <% content_for :page_actions do %>
8
+ <li><%= button_link_to Spree.t(:back_to_static_pages_list), spree.admin_pages_url, :icon => 'icon-arrow-left' %></li>
9
+ <% end %>
10
+
11
+ <%= render "spree/shared/error_messages", :target => @page %>
12
+
13
+ <%= form_for [:admin, @page] do |f| %>
14
+ <fieldset class="no-border-top">
15
+ <%= render :partial => 'form', :locals => { :f => f } %>
16
+ <%= render :partial => 'spree/admin/shared/new_resource_links' %>
17
+ </fieldset>
18
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <nav id="footer-pages">
2
+ <ul><%= render :partial => "spree/static_content/static_content_list", :collection => Spree::Page.by_store(current_store).visible.footer_links, :as => :page %></ul>
3
+ </nav>
@@ -0,0 +1 @@
1
+ <%= render :partial => "spree/static_content/static_content_list", :collection => Spree::Page.by_store(current_store).visible.header_links, :as => :page %>
@@ -0,0 +1,6 @@
1
+ <% if page.foreign_link.present? %>
2
+ <li><%= link_to page.title, page.foreign_link, {:target => "_blank"} %></li>
3
+ <% else %>
4
+ <% page_uri = Rails.application.routes.named_routes[:spree].path.spec.to_s == '/' ? page.slug : Rails.application.routes.named_routes[:spree].path.spec.to_s + page.slug %>
5
+ <li class=<%= 'current' if (request.fullpath.gsub('//','/') == page_uri) %>><%= link_to page.title, page_uri %></li>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% if Spree::Page.by_store(current_store).visible.sidebar_links.any? %>
2
+ <nav id="pages" class="sidebar-item">
3
+ <h6 class="pages-root"><%= Spree.t(:pages) %></h6>
4
+ <ul class="pages-list"><%= render :partial => "spree/static_content/static_content_list", :collection => Spree::Page.visible.sidebar_links, :as => :page %></ul>
5
+ </nav>
6
+ <% end %>
@@ -0,0 +1,26 @@
1
+ <% if @page.layout.present? and @page.render_layout_as_partial? %>
2
+ <%= render :partial => @page.layout %>
3
+ <% else %>
4
+ <% content_for :head do -%>
5
+ <%- if @page.meta_title.present? -%>
6
+ <meta name="title" content="<%=@page.meta_title%>">
7
+ <%- else -%>
8
+ <meta name="title" content="<%=@page.title%>">
9
+ <%- end -%>
10
+ <meta name="keywords" content="<%=@page.meta_keywords%>">
11
+ <meta name="description" content="<%=@page.meta_description%>">
12
+ <% end -%>
13
+
14
+ <% content_for :sidebar do %>
15
+ <% if defined? @products && defined? @taxon %>
16
+ <%= render :partial => "spree/shared/filters" %>
17
+ <% elsif defined? @taxonomies %>
18
+ <%= render :partial => "spree/shared/taxonomies" %>
19
+ <% end %>
20
+ <% end %>
21
+
22
+ <h1><%= @page.title %></h1>
23
+ <div id="page_content">
24
+ <%= raw @page.body %>
25
+ </div>
26
+ <% end %>
@@ -0,0 +1,7 @@
1
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
2
+
3
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
4
+ ENGINE_PATH = File.expand_path('../../lib/spree_static_content/engine', __FILE__)
5
+
6
+ require 'rails/all'
7
+ require 'rails/engine/commands'
@@ -0,0 +1,37 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Inhalt
7
+ foreign_link: "Externer Link (URL)"
8
+ layout: Layout
9
+ meta_description: Meta-Beschreibung
10
+ meta_keywords: Meta-Schlüsselwörter
11
+ meta_title: Meta-Titel
12
+ position: Position
13
+ render_layout_as_partial: "Rendern Layout als partielle"
14
+ show_in_footer: "Im Fußzeile anzeigen"
15
+ show_in_header: "Im Kopfzeile anzeigen"
16
+ show_in_sidebar: "In der Seitenleiste anzeigen"
17
+ slug: Pfad
18
+ title: Titel
19
+ visible: Sichtbar
20
+ models:
21
+ spree/page:
22
+ few: Seiten
23
+ many: Seiten
24
+ one: Seite
25
+ other: Seiten
26
+ spree:
27
+ admin:
28
+ tab:
29
+ pages: Seiten
30
+ back_to_static_pages_list: "Zurück zu den statischen Seiten Liste"
31
+ page: Seite
32
+ pages: Seiten
33
+ static_content:
34
+ static_pages: Statische Seiten
35
+ new_page: Neue Seite
36
+ editing_page: Seite bearbeiten
37
+ link: Link
@@ -0,0 +1,37 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Body
7
+ foreign_link: "Foreign link (URL)"
8
+ layout: Layout
9
+ meta_description: "Meta Description"
10
+ meta_keywords: "Meta Keywords"
11
+ meta_title: "Meta Title"
12
+ position: Position
13
+ render_layout_as_partial: "Render layout as partial"
14
+ show_in_footer: "Show in footer"
15
+ show_in_header: "Show in header"
16
+ show_in_sidebar: "Show in sidebar"
17
+ slug: Slug
18
+ title: Title
19
+ visible: Visible
20
+ models:
21
+ spree/page:
22
+ few: Pages
23
+ many: Pages
24
+ one: Page
25
+ other: Pages
26
+ spree:
27
+ admin:
28
+ tab:
29
+ Pages: Pages
30
+ back_to_static_pages_list: "Back to static pages list"
31
+ page: Page
32
+ pages: Pages
33
+ static_content:
34
+ static_pages: Static pages
35
+ new_page: New page
36
+ editing_page: Editing page
37
+ link: Link
@@ -0,0 +1,37 @@
1
+ ---
2
+ es:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Cuerpo
7
+ foreign_link: Enlace externo (URL)
8
+ show_in_header: Mostrar en la cabecera
9
+ show_in_footer: Mostrar en el pie de página
10
+ layout: Disposición
11
+ meta_description: "Meta Descripción"
12
+ meta_keywords: "Meta Palabras"
13
+ meta_title: "Meta Título"
14
+ position: Posición
15
+ render_layout_as_partial: "Renderizar disposición como parciales"
16
+ show_in_sidebar: "Mostrar en el barra lateral"
17
+ slug: Slug
18
+ title: Título
19
+ visible: Visible
20
+ models:
21
+ spree/page:
22
+ few: Páginas
23
+ many: Páginas
24
+ one: Página
25
+ other: Páginas
26
+ spree:
27
+ admin:
28
+ tab:
29
+ pages: Páginas
30
+ back_to_static_pages_list: "Volver a la lista de páginas estáticas"
31
+ page: Página
32
+ pages: Páginas
33
+ static_content:
34
+ static_pages: "Páginas estáticas"
35
+ new_page: "Nueva página"
36
+ editing_page: "Edición de página"
37
+ link: Enlace
@@ -0,0 +1,37 @@
1
+ ---
2
+ et:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Sisu
7
+ foreign_link: "Väline link (URL)"
8
+ layout: Layout
9
+ meta_description: "Meta kirjeldus"
10
+ meta_keywords: "Meta võtmesõnad"
11
+ meta_title: "Meta pealkiri"
12
+ position: Positsioon
13
+ render_layout_as_partial: "Render paigutus osaliseks"
14
+ show_in_footer: "Kuva lehekülg jaluses"
15
+ show_in_header: "Kuva lehekülj päises"
16
+ show_in_sidebar: "Kuva lehekülg küljeribal"
17
+ slug: Püsiviide
18
+ title: Pealkiri
19
+ visible: Nähtav
20
+ models:
21
+ spree/page:
22
+ few: Leheküljed
23
+ many: Leheküljed
24
+ one: Lehekülg
25
+ other: Leheküljed
26
+ spree:
27
+ admin:
28
+ tab:
29
+ pages: Leheküljed
30
+ back_to_static_pages_list: "Tagasi staatiliste lehtede nimekiri"
31
+ page: Lehekülg
32
+ pages: Leheküljed
33
+ static_content:
34
+ static_pages: Leheküljed
35
+ new_page: Uus lehekülg
36
+ editing_page: Muudan lehekülge
37
+ link: Link
@@ -0,0 +1,37 @@
1
+ ---
2
+ fr:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Corps
7
+ foreign_link: "Lien extérieur (URL)"
8
+ layout: Layout
9
+ meta_description: "Meta Description"
10
+ meta_keywords: "Meta Mots-clés"
11
+ meta_title: "Meta Titre"
12
+ position: Position
13
+ render_layout_as_partial: "Rendu disposition partielle"
14
+ show_in_footer: "Visible en pied de page"
15
+ show_in_header: "Visible en entête"
16
+ show_in_sidebar: "Visible dans la sidebar"
17
+ slug: Slug
18
+ title: Titre
19
+ visible: Visible
20
+ models:
21
+ spree/page:
22
+ few: Pages
23
+ many: Pages
24
+ one: Page
25
+ other: Pages
26
+ spree:
27
+ admin:
28
+ tab:
29
+ pages: Pages
30
+ back_to_static_pages_list: "Retour à la liste des pages statiques"
31
+ page: Page
32
+ pages: Pages
33
+ static_content:
34
+ editing_page: "Edition de la page"
35
+ link: Lien
36
+ new_page: "Nouvelle page"
37
+ static_pages: "Pages statiques"
@@ -0,0 +1,37 @@
1
+ ---
2
+ it:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Testo
7
+ foreign_link: Link esterno (URL)
8
+ layout: Layout
9
+ meta_description: Meta Description
10
+ meta_keywords: Meta Keywords
11
+ meta_title: Meta Title
12
+ position: Posizione
13
+ render_layout_as_partial: Usa layout come partial
14
+ show_in_footer: Mostra nel footer
15
+ show_in_header: Mostra nell'header
16
+ show_in_sidebar: Mostra nella sidebar
17
+ slug: Slug
18
+ title: Titolo
19
+ visible: Visibile
20
+ models:
21
+ spree/page:
22
+ few: Pagine
23
+ many: Pagine
24
+ one: Pagina
25
+ other: Pagine
26
+ spree:
27
+ admin:
28
+ tab:
29
+ pages: Pagine
30
+ back_to_static_pages_list: Torna alla lista delle pagine statiche
31
+ page: Pagina
32
+ pages: Pagine
33
+ static_content:
34
+ static_pages: Pagine statiche
35
+ new_page: Nuova pagina
36
+ editing_page: Modifica pagina
37
+ link: Link
@@ -0,0 +1,37 @@
1
+ ---
2
+ nl:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Body
7
+ foreign_link: "Externe link (URL)"
8
+ layout: Layout
9
+ meta_description: "Meta Description"
10
+ meta_keywords: "Meta Keywords"
11
+ meta_title: "Meta Title"
12
+ position: Positie
13
+ render_layout_as_partial: "Render layout als gedeeltelijke"
14
+ show_in_footer: "Toon in footer?"
15
+ show_in_header: "Toon in header?"
16
+ show_in_sidebar: "Toon in zijbalk?"
17
+ slug: Slug
18
+ title: Titel
19
+ visible: Zichtbaar?
20
+ models:
21
+ spree/page:
22
+ few: "Statische pagina's"
23
+ many: "Statische pagina's"
24
+ one: Page
25
+ other: "Statische pagina's"
26
+ spree:
27
+ admin:
28
+ tab:
29
+ pages: "Statische pagina's"
30
+ back_to_static_pages_list: "Terug naar statische pagina's"
31
+ page: Page
32
+ pages: "Statische pagina's"
33
+ static_content:
34
+ editing_page: "Pagina bewerken"
35
+ link: Link
36
+ new_page: "Nieuwe pagina"
37
+ static_pages: "Statische pagina's"
@@ -0,0 +1,39 @@
1
+ ---
2
+ pl:
3
+ activerecord:
4
+ attributes:
5
+ spree/page:
6
+ body: Zawartość
7
+ foreign_link: Odnośnik zewnętrzny
8
+ show_in_header: Pokaż w nagłówku
9
+ show_in_footer: Pokaż w stopce
10
+ position: Pozycja
11
+ visible: Widoczna
12
+ confirm_delete: Jesteś pewien ?
13
+ link: Odnośnik
14
+ meta_title: Tytuł (w nagłówku przeglądarki)
15
+ meta_keywords: Słowa kluczowe (SEO)
16
+ meta_description: Skrócony opis (SEO)
17
+ layout: Układ
18
+ show_in_sidebar: "Pokaż w pasku bocznym"
19
+ slug: Skrót
20
+ title: Tytuł
21
+ render_layout_as_partial: "Render układ jako częściowe"
22
+ models:
23
+ spree/page:
24
+ one: Strona
25
+ few: "Strony statyczne"
26
+ many: "Strony statyczne"
27
+ other: "Strony statyczne"
28
+ spree:
29
+ admin:
30
+ tab:
31
+ pages: "Strony statyczne"
32
+ back_to_static_pages_list: "Powrót do listy stron statycznych"
33
+ page: Strona
34
+ pages: "Strony statyczne"
35
+ static_content:
36
+ editing_page: "Edycja strony"
37
+ link: Odnośnik
38
+ new_page: "Nowa strona"
39
+ static_pages: "Strony statyczne"