solidus_static_content 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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"