comfortable_mexican_sofa 1.6.24 → 1.6.25

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.24
1
+ 1.6.25
@@ -34,7 +34,8 @@ $.CMS = function(){
34
34
  // $.CMS.config.elRTE.toolbar = ['undoredo']
35
35
  config: {
36
36
  'elRTE': {
37
- toolbar: ['undoredo', 'sofa_format', 'sofa_style', 'sofa_alignment', 'lists', 'sofa_copypaste', 'sofa_image', 'sofa_links']
37
+ toolbar: ['undoredo', 'sofa_format', 'sofa_style', 'sofa_alignment', 'lists', 'sofa_copypaste', 'sofa_image', 'sofa_links'],
38
+ cssfiles: []
38
39
  }
39
40
  },
40
41
 
@@ -95,7 +96,8 @@ $.CMS = function(){
95
96
  elRTE.prototype.options.panels.sofa_links = ['sofa_link', 'unlink'];
96
97
 
97
98
  elRTE.prototype.options.toolbars.sofa = $.CMS.config.elRTE.toolbar;
98
-
99
+ elRTE.prototype.options.cssfiles = $.CMS.config.elRTE.cssfiles;
100
+
99
101
  // BUG: Need to set content to an empty <p> for IE
100
102
  if ($.browser.msie){
101
103
  $('textarea.rich_text').each(function(){
@@ -8,6 +8,7 @@ class CmsAdmin::PagesController < CmsAdmin::BaseController
8
8
 
9
9
  def index
10
10
  return redirect_to :action => :new if @site.pages.count == 0
11
+ @pages_by_parent = @site.pages.includes(:categories).all.group_by(&:parent_id)
11
12
  if params[:category].present?
12
13
  @pages = @site.pages.includes(:categories).for_category(params[:category]).all(:order => 'label')
13
14
  else
@@ -55,6 +56,7 @@ class CmsAdmin::PagesController < CmsAdmin::BaseController
55
56
  end
56
57
 
57
58
  def toggle_branch
59
+ @pages_by_parent = @site.pages.includes(:categories).all.group_by(&:parent_id)
58
60
  @page = @site.pages.find(params[:id])
59
61
  s = (session[:cms_page_tree] ||= [])
60
62
  id = @page.id.to_s
@@ -9,7 +9,7 @@ class CmsAdmin::SitesController < CmsAdmin::BaseController
9
9
  def index
10
10
  return redirect_to :action => :new if Cms::Site.count == 0
11
11
  @site = Cms::Site.find_by_id(session[:site_id])
12
- @sites = Cms::Site.all
12
+ @sites ||= Cms::Site.all
13
13
  end
14
14
 
15
15
  def new
@@ -5,6 +5,7 @@
5
5
  namespace[tag.namespace || 'default'] ||= []
6
6
  namespace[tag.namespace || 'default'] << tag
7
7
  end
8
+ has_namespaces = namespace.size > 1
8
9
  %>
9
10
 
10
11
  <div id='form_blocks'>
@@ -16,8 +17,8 @@
16
17
 
17
18
  <% else %>
18
19
  <%= fields_for :blocks, nil, :builder => ComfortableMexicanSofa::FormBuilder do |cms_blocks| %>
19
- <div id='tag_namespaces'>
20
- <% if namespace.size > 1 %>
20
+ <div id='<%= has_namespaces ? 'tag_namespaces' : 'no_tag_namespaces' %>'>
21
+ <% if has_namespaces %>
21
22
  <ul>
22
23
  <% namespace.each do |name, tags| %>
23
24
  <li><%= link_to name.humanize, "#ns-#{name}" %></li>
@@ -1,7 +1,9 @@
1
- <%
2
- page ||= index_branch
3
- has_children = page.children.present?
4
- has_siblings = page.siblings.present?
1
+ <%
2
+ page ||= index_branch
3
+ children = @pages_by_parent[page.id]
4
+ siblings = @pages_by_parent[page.parent_id]
5
+ has_children = children.present?
6
+ has_siblings = siblings.size > 1
5
7
  branch_open = (session[:cms_page_tree] || []).member?(page.id.to_s) || page.root?
6
8
  category_view = params[:category].present?
7
9
  %>
@@ -9,7 +11,7 @@
9
11
  <li id='<%= dom_id(page) %>'>
10
12
  <div class='item'>
11
13
  <div class='toggle <%= 'open' if branch_open %>'>
12
- <%=
14
+ <%=
13
15
  if !category_view && has_children && !page.root?
14
16
  link_to span_tag(t('.toggle')), toggle_branch_cms_admin_site_page_path(@site, page), :remote => true
15
17
  end
@@ -35,7 +37,7 @@
35
37
  </div>
36
38
  <% if !category_view && has_children && branch_open %>
37
39
  <ul>
38
- <%= render :partial => 'index_branch', :collection => page.children %>
40
+ <%= render :partial => 'index_branch', :collection => children %>
39
41
  </ul>
40
42
  <% end %>
41
43
  </li>
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "comfortable_mexican_sofa"
8
- s.version = "1.6.24"
8
+ s.version = "1.6.25"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Oleg Khabarov", "The Working Group Inc"]
12
- s.date = "2012-08-09"
12
+ s.date = "2012-10-12"
13
13
  s.description = ""
14
14
  s.email = "oleg@theworkinggroup.ca"
15
15
  s.extra_rdoc_files = [
@@ -174,9 +174,11 @@ Gem::Specification.new do |s|
174
174
  "config/environments/test.rb",
175
175
  "config/initializers/comfortable_mexican_sofa.rb",
176
176
  "config/initializers/paperclip.rb",
177
+ "config/locales/de.yml",
177
178
  "config/locales/en.yml",
178
179
  "config/locales/es.yml",
179
180
  "config/locales/ja.yml",
181
+ "config/locales/pl.yml",
180
182
  "config/locales/pt-BR.yml",
181
183
  "config/locales/ru.yml",
182
184
  "config/locales/sv.yml",
@@ -265,6 +267,7 @@ Gem::Specification.new do |s|
265
267
  "test/fixtures/views/_nav_hook.html.erb",
266
268
  "test/fixtures/views/_nav_hook_2.html.erb",
267
269
  "test/fixtures/views/render_test/_test.html.erb",
270
+ "test/fixtures/views/render_test/new.html.erb",
268
271
  "test/fixtures/views/render_test/render_layout.html.erb",
269
272
  "test/functional/cms_admin/base_controller_test.rb",
270
273
  "test/functional/cms_admin/categories_controller_test.rb",
@@ -108,4 +108,4 @@ ComfortableMexicanSofa::HttpAuth.password = 'password'
108
108
  # should be rendered into the following areas:
109
109
  # ComfortableMexicanSofa::ViewHooks.add(:navigation, '/layouts/admin/navigation')
110
110
  # ComfortableMexicanSofa::ViewHooks.add(:html_head, '/layouts/admin/html_head')
111
- # ComfortableMexicanSofa::ViewHooks.add(:page_form, '/layouts/admin/page_form')
111
+ # ComfortableMexicanSofa::ViewHooks.add(:page_form, '/layouts/admin/page_form')
@@ -0,0 +1,234 @@
1
+ # encoding: utf-8
2
+ de:
3
+ # -- Models ---------------------------------------------------------------
4
+ attributes:
5
+ label: Bezeichnung
6
+ slug: Slug
7
+ parent_id: Parent
8
+ content: Inhalt
9
+ identifier: Identifikator
10
+ activerecord:
11
+ models:
12
+ cms/site: Web-Site
13
+ cms/layout: Layout
14
+ cms/page: Seite
15
+ cms/snippet: Schnipsel
16
+ cms/file: Datei
17
+ attributes:
18
+ cms/site:
19
+ identifier: Identifikator
20
+ hostname: Hostname
21
+ path: Pfad
22
+ locale: Sprache
23
+ is_mirrored: Gespiegelt
24
+ cms/layout:
25
+ identifier: Identifikator
26
+ label: Layout Name
27
+ app_layout: App Layout
28
+ parent_id: Parent Layout
29
+ css: Stylesheet
30
+ js: Javascript
31
+ cms/page:
32
+ label: Bezeichnung
33
+ layout_id: Layout
34
+ slug: Slug
35
+ target_page_id: Weiterleiten zu Seite
36
+ is_published: Veröffentlicht
37
+ cms/file:
38
+ file: Datei
39
+ description: Beschreibung
40
+ cms/snippet:
41
+ identifier: Identifikator
42
+
43
+ # -- Controllers ----------------------------------------------------------
44
+ cms:
45
+ base:
46
+ site_not_found: Web-Site nicht gefunden
47
+ fixtures_enabled: CMS Fixtures are aktiviert. Alle Änderungen hier gespeichert werden verworfen.
48
+
49
+ sites:
50
+ created: Web-Site erstellt
51
+ creation_failure: Fehler beim erstellen der Web-Site
52
+ updated: Web-Site aktualisiert
53
+ update_failure: Fehler beim speichern der Web-Site
54
+ deleted: Web-Site gelöscht
55
+ not_found: Web-Site nicht gefunden
56
+
57
+ layouts:
58
+ created: Layout erstellt
59
+ creation_failure: Fehler beim erstellen des Layouts
60
+ updated: Layout aktualisiert
61
+ update_failure: Fehler beim speichern des Layouts
62
+ deleted: Layout gelöscht
63
+ not_found: Layout nicht gefunden
64
+
65
+ pages:
66
+ created: Seite erstellt
67
+ creation_failure: Fehler beim erstellen der Seite
68
+ updated: Seite aktualisiert
69
+ update_failure: Fehler beim speichern der Seite
70
+ deleted: Seite gelöscht
71
+ not_found: Seite nicht gefunden
72
+ layout_not_found: Kein Layout gefunden. Bitte erstellen Sie eines.
73
+
74
+ snippets:
75
+ created: Schnipsel erstellt
76
+ creation_failure: Fehler beim erstellen des Schnipsels
77
+ updated: Schnipsel aktualisiert
78
+ update_failure: Fehler beim speichern des Schnipsel
79
+ deleted: Schnipsel gelöscht
80
+ not_found: Schnipsel nicht gefunden
81
+
82
+ revisions:
83
+ reverted: Inhalt wiederhergestellt
84
+ record_not_found: Eintrag nicht gefunden
85
+ not_found: Revision nicht gefunden
86
+
87
+ files:
88
+ created: Datei hochgeladet
89
+ creation_failure: Fehler beim hochladen der Datei
90
+ updated: Datei hochgeladet
91
+ update_failure: Fehler beim hochladen der Datei
92
+ deleted: Datei gelöscht
93
+ not_found: Datei nicht gefunden
94
+
95
+ content:
96
+ site_not_found: Web-Site nicht gefunden
97
+ layout_not_found: Layout nicht gefunden
98
+ page_not_found: Seite nicht gefunden
99
+
100
+ # -- Views ----------------------------------------------------------------
101
+ cms_admin:
102
+ base:
103
+ sites: Web-Sites
104
+ layouts: Layouts
105
+ pages: Seiten
106
+ snippets: Schnipsel
107
+ files: Datei
108
+
109
+ sites:
110
+ index:
111
+ title: Web-Sites
112
+ new_link: Erstelle neue Web-Site
113
+ select: Wähle Web-Site
114
+ edit: Bearbeiten
115
+ delete: Löschen
116
+ are_you_sure: Sind Sie sicher, dass Sie diese Web-Site löschen wollen?
117
+ new:
118
+ title: Neue Web-Site
119
+ edit:
120
+ title: Web-Site bearbeiten
121
+ form:
122
+ create: Erstelle Web-Site
123
+ update: Web-Site speichern
124
+
125
+ layouts:
126
+ index:
127
+ title: Layouts
128
+ new_link: Erstelle neue Layout
129
+ index_branch:
130
+ add_child_layout: Erstelle untergeordnetes Layout
131
+ edit: Bearbeiten
132
+ delete: Löschen
133
+ are_you_sure: Sind Sie sicher?
134
+ new:
135
+ title: Neues Layout
136
+ edit:
137
+ title: Layout bearbeiten
138
+ revision: Revision
139
+ form:
140
+ select_parent_layout: Select Parent Layout
141
+ select_app_layout: Select Application Layout
142
+ create: Erstelle Layout
143
+ update: Layout speichern
144
+
145
+ pages:
146
+ index:
147
+ title: Seiten
148
+ new_link: Erstelle neue Seite
149
+ index_branch:
150
+ toggle: Toggle
151
+ add_child_page: Erstelle untergeordnete Seite
152
+ edit: Bearbeiten
153
+ delete: Löschen
154
+ are_you_sure: Sind Sie sicher?
155
+ new:
156
+ title: Neue Seite
157
+ edit:
158
+ title: Seite bearbeiten
159
+ revision: Revision
160
+ form:
161
+ select_target_page: Keine Weiterleitung
162
+ preview: Vorschau
163
+ create: Erstelle Seite
164
+ update: Seite speichern
165
+ form_blocks:
166
+ no_tags: |-
167
+ Layout has hat keine Inhalt-Tags definiert.<br/>
168
+ Bearbeiten den Inhalt des Layout um ein Inhalt-Tag hinzuzufügen. Zum Beispiel: <code>{{cms:page:content}}</code>
169
+
170
+ snippets:
171
+ index:
172
+ title: Schnipsels
173
+ new_link: Erstelle neuen Schnipsel
174
+ edit: Bearbeiten
175
+ delete: Löschen
176
+ are_you_sure: Sind Sie sicher?
177
+ new:
178
+ title: Neuer Schnipsel
179
+ edit:
180
+ title: Schnipsel bearbeiten
181
+ revision: Revision
182
+ form:
183
+ create: Erstelle Schnipsel
184
+ update: Schnipsel speichern
185
+
186
+ revisions:
187
+ show:
188
+ title: Revisionen von
189
+ revision: Revision
190
+ full_path: Completer Pfad
191
+ slug: Slug
192
+ update: Zurücksetzen auf diese Revision
193
+ current: Aktuell
194
+
195
+ files:
196
+ index:
197
+ title: Datei
198
+ new_link: Neue Datei hochladen
199
+ edit: Bearbeiten
200
+ delete: Löschen
201
+ are_you_sure: Sind Sie sicher?
202
+ button: Datei hochladen
203
+ new:
204
+ title: Neue Datei
205
+ edit:
206
+ title: Datei bearbeiten
207
+ form:
208
+ current_file: Aktuelle Datei
209
+ create: Lade Datei hoch
210
+ update: Datei speichern
211
+ page_form:
212
+ are_you_sure: Sind Sie sicher?
213
+ file:
214
+ are_you_sure: Sind Sie sicher?
215
+
216
+ categories:
217
+ index:
218
+ label: Kategorien
219
+ edit: Bearbeiten
220
+ done: Erledigt
221
+ all: Alle
222
+ add: Hinzuzufügen
223
+ show:
224
+ are_you_sure: Sind Sie sicher?
225
+ edit:
226
+ save: Speichern
227
+ form:
228
+ label: Kategorien
229
+
230
+ dialogs:
231
+ image:
232
+ insert: Bild einfügen
233
+ link:
234
+ create: Link erstellen
@@ -232,4 +232,3 @@ en:
232
232
  insert: Insert Image
233
233
  link:
234
234
  create: Create Link
235
-
@@ -0,0 +1,234 @@
1
+ # encoding: utf-8
2
+ pl:
3
+ # -- Models ---------------------------------------------------------------
4
+ attributes:
5
+ label: Tytuł
6
+ slug: Ścieżka
7
+ parent_id: Rodzic
8
+ content: Zawartość
9
+ identifier: Identyfikator
10
+ activerecord:
11
+ models:
12
+ cms/site: Witryna
13
+ cms/layout: Szablin
14
+ cms/page: Strona
15
+ cms/snippet: Snippet
16
+ cms/file: Plik
17
+ attributes:
18
+ cms/site:
19
+ identifier: Identyfikator
20
+ hostname: Nazwa hosta
21
+ path: Ścieżka
22
+ locale: Język
23
+ is_mirrored: Mirror
24
+ cms/layout:
25
+ identifier: Identyfikator
26
+ label: Nazwa layout'u
27
+ app_layout: Nazwa aplikacji
28
+ parent_id: Rodzic
29
+ css: Style
30
+ js: Javascript
31
+ cms/page:
32
+ label: Tytuł
33
+ layout_id: Identyfikator szablonu
34
+ slug: Ścieżka
35
+ target_page_id: Przekieruj do strony
36
+ is_published: Opublikowana
37
+ cms/file:
38
+ file: Plik
39
+ description: Opis
40
+ cms/snippet:
41
+ identifier: Identyfikator
42
+
43
+ # -- Controllers ----------------------------------------------------------
44
+ cms:
45
+ base:
46
+ site_not_found: Strona nie została znaleziona
47
+ fixtures_enabled: Fikstury CMS są włączone. Wszystkie zmiany zpisane tutaj nie będą uwzględnione.
48
+
49
+ sites:
50
+ created: Witryna została utworzona
51
+ creation_failure: Błąd przy tworzeniu witryny
52
+ updated: Witryna została uaktulaniona
53
+ update_failure: Błąd przy uaktualnianiu witryny
54
+ deleted: Witryna została usunięta
55
+ not_found: Nie znaleziono witryny
56
+
57
+ layouts:
58
+ created: Szablon został utworzony
59
+ creation_failure: Błąd przy tworzeniu layoutu
60
+ updated: Szanlon został uaktualniony
61
+ update_failure: Błąd przy uaktualnianiu layoutu
62
+ deleted: Szablon został usunięty
63
+ not_found: Nie znaleziono layoutu
64
+
65
+ pages:
66
+ created: Strona została utworzona
67
+ creation_failure: Błąd przy tworzeniu strony
68
+ updated: Strona została uaktualniona
69
+ update_failure: Błąd przy uaktualnianiu strony
70
+ deleted: Strona została usunięta
71
+ not_found: Nie znaleziono strony
72
+ layout_not_found: Brakuje layoutu. Proszę utworzyć
73
+
74
+ snippets:
75
+ created: Snippet został utworzony
76
+ creation_failure: Błąd przy tworzeniu snippeta
77
+ updated: Snippet został uaktualniony
78
+ update_failure: Błąd przy uaktualnianiu snippeta
79
+ deleted: Snippet został usunięty
80
+ not_found: Nie znaleziono snippeta
81
+
82
+ revisions:
83
+ reverted: Zawartość zostala przywrócona
84
+ record_not_found: Wpis nie został znaleziony
85
+ not_found: Wersja nie została znaleziona
86
+
87
+ files:
88
+ created: Plik wrzucony na serwer
89
+ creation_failure: Błąd przy wrzucaniu pliku
90
+ updated: Plik został uaktualniony
91
+ update_failure: Błąd przy uaktualnianiu pliku
92
+ deleted: Plik został usunięty
93
+ not_found: Plik nie został znaleziony
94
+
95
+ content:
96
+ site_not_found: Witryna nie została znaleziona
97
+ layout_not_found: Szablon nie został znaleziony
98
+ page_not_found: Strona nie została znaleziona
99
+
100
+ # -- Views ----------------------------------------------------------------
101
+ cms_admin:
102
+ base:
103
+ sites: Witryny
104
+ layouts: Szablony
105
+ pages: Pages
106
+ snippets: Snippets
107
+ files: Files
108
+
109
+ sites:
110
+ index:
111
+ title: Witryny
112
+ new_link: Utwórz nowa witrynę
113
+ select: Wybierz witrynę
114
+ edit: Edytuj
115
+ delete: Usuń
116
+ are_you_sure: Jesteś pewien, że chce usunąć tą witrynę?
117
+ new:
118
+ title: Nowa witryna
119
+ edit:
120
+ title: Edytuj witrynę
121
+ form:
122
+ create: Utwórz witrynę
123
+ update: Uaktualnij witrynę
124
+
125
+ layouts:
126
+ index:
127
+ title: Szablony
128
+ new_link: Utwórz nowy szablon
129
+ index_branch:
130
+ add_child_layout: Dodaj podszablon
131
+ edit: Edytuj
132
+ delete: Usuń
133
+ are_you_sure: Jesteś pewien?
134
+ new:
135
+ title: Nowy szablon
136
+ edit:
137
+ title: Edytuj szablon
138
+ revision: Wersje
139
+ form:
140
+ select_parent_layout: Wybierz szablon rodzic
141
+ select_app_layout: Wybierz szablon aplikacji
142
+ create: Stwórz szablon
143
+ update: Uaktualnij szablon
144
+
145
+ pages:
146
+ index:
147
+ title: Strony
148
+ new_link: Utwórz nową stronę
149
+ index_branch:
150
+ toggle: Przełącz
151
+ add_child_page: Dodaj podstronę
152
+ edit: Edytuj
153
+ delete: Usuń
154
+ are_you_sure: Jesteś pewien?
155
+ new:
156
+ title: Nowa strona
157
+ edit:
158
+ title: Edytuj stronę
159
+ revision: Wersje
160
+ form:
161
+ select_target_page: Bez przekierowania
162
+ preview: Podgląd
163
+ create: Utwórz stronę
164
+ update: Uaktualnij stronę
165
+ form_blocks:
166
+ no_tags: |-
167
+ Szablon nie ma zdefiniowanych tagów<br/>
168
+ Wyedytuj treść aby dodać stronę lub pole np. <code>{{cms:page:content}}</code>
169
+
170
+ snippets:
171
+ index:
172
+ title: Snippets
173
+ new_link: Utwórz nowy snippet
174
+ edit: Edytuj
175
+ delete: Usuń
176
+ are_you_sure: Jesteś pewien?
177
+ new:
178
+ title: Nowy snippet
179
+ edit:
180
+ title: Edytuj snippet
181
+ revision: Wersje
182
+ form:
183
+ create: Utwórz snippet
184
+ update: Uaktualnij snippet
185
+
186
+ revisions:
187
+ show:
188
+ title: Wersje dla
189
+ revision: Wersja
190
+ full_path: Pełna ścieżka
191
+ slug: Ścieżka
192
+ update: Uaktualnij do tej wersji
193
+ current: Aktualna
194
+
195
+ files:
196
+ index:
197
+ title: Pliki
198
+ new_link: Wrzuć nowy plik
199
+ edit: Edytuj
200
+ delete: Usuń
201
+ are_you_sure: Jesteś pewien?
202
+ button: Wrzuć plik
203
+ new:
204
+ title: Nowy plik
205
+ edit:
206
+ title: Edytuj plik
207
+ form:
208
+ current_file: Aktualny plik
209
+ create: Wrzuć plik
210
+ update: Uaktualnij plik
211
+ page_form:
212
+ are_you_sure: Jesteś pewien?
213
+ file:
214
+ are_you_sure: Jesteś pewien?
215
+
216
+ categories:
217
+ index:
218
+ label: Kategorie
219
+ edit: Edytuj
220
+ done: Zrobione
221
+ all: Wszystko
222
+ add: Dodaj
223
+ show:
224
+ are_you_sure: Jesteś pewien?
225
+ edit:
226
+ save: Zapisz
227
+ form:
228
+ label: Tytuł
229
+
230
+ dialogs:
231
+ image:
232
+ insert: Dodaj obrazek
233
+ link:
234
+ create: Utwórz link
@@ -232,4 +232,3 @@ ru:
232
232
  insert: Вставить изображение
233
233
  link:
234
234
  create: Создать ссылку
235
-
@@ -231,4 +231,4 @@ zh-CN:
231
231
  image:
232
232
  insert: 插入图片
233
233
  link:
234
- create: 创建链接
234
+ create: 创建链接
@@ -96,7 +96,9 @@ class ComfortableMexicanSofa::Configuration
96
96
  'zh-CN' => '简体中文',
97
97
  'ja' => '日本語',
98
98
  'sv' => 'Svenska',
99
- 'ru' => 'Русский'
99
+ 'ru' => 'Русский',
100
+ 'pl' => 'Polski',
101
+ 'de' => 'Deutsch'
100
102
  }
101
103
  @admin_locale = nil
102
104
  @database_config = nil
@@ -80,7 +80,7 @@ module ComfortableMexicanSofa::ActsAsTree
80
80
 
81
81
  # Checks if this node is a root
82
82
  def root?
83
- !self.parent
83
+ !self.parent_id
84
84
  end
85
85
 
86
86
  # Returns all siblings of the current node.
@@ -99,4 +99,4 @@ module ComfortableMexicanSofa::ActsAsTree
99
99
  end
100
100
  end
101
101
 
102
- ActiveRecord::Base.send :include, ComfortableMexicanSofa::ActsAsTree
102
+ ActiveRecord::Base.send :include, ComfortableMexicanSofa::ActsAsTree
@@ -59,7 +59,7 @@ module ComfortableMexicanSofa::RenderMethods
59
59
  if @cms_layout = @cms_site && @cms_site.layouts.find_by_identifier(identifier)
60
60
  cms_app_layout = @cms_layout.try(:app_layout)
61
61
  cms_page = @cms_site.pages.build(:layout => @cms_layout)
62
- cms_blocks = options.delete(:cms_blocks) || { :content => render_to_string(:layout => false)}
62
+ cms_blocks = options.delete(:cms_blocks) || { :content => render_to_string({ :layout => false }.merge(options)) }
63
63
  cms_blocks.each do |identifier, value|
64
64
  content = if value.is_a?(Hash)
65
65
  render_to_string(value.keys.first.to_sym => value[value.keys.first], :layout => false)
@@ -82,4 +82,4 @@ module ComfortableMexicanSofa::RenderMethods
82
82
  end
83
83
  end
84
84
 
85
- ActionController::Base.send :include, ComfortableMexicanSofa::RenderMethods
85
+ ActionController::Base.send :include, ComfortableMexicanSofa::RenderMethods
@@ -93,7 +93,7 @@ module ComfortableMexicanSofa::Tag
93
93
 
94
94
  # Checks if this tag is using Cms::Block
95
95
  def is_cms_block?
96
- %w(page field collection file).member?(self.class.to_s.demodulize.underscore.split(/_/).first)
96
+ %w(page field collection).member?(self.class.to_s.demodulize.underscore.split(/_/).first)
97
97
  end
98
98
 
99
99
  # Used in displaying form elements for Cms::Block
@@ -9,7 +9,7 @@ module ComfortableMexicanSofa::ViewHooks
9
9
  def self.render(name, template, options = {})
10
10
  out = ''
11
11
  (self.hooks[name.to_sym] || []).each do |path|
12
- out += template.render({:partial => path}.merge(options))
12
+ out += template.render({:partial => path.first}.merge(options))
13
13
  end
14
14
  return out.html_safe
15
15
  end
@@ -17,14 +17,16 @@ module ComfortableMexicanSofa::ViewHooks
17
17
  # Will declare a partial that will be rendered for this hook
18
18
  # Example:
19
19
  # ComfortableMexicanSofa::ViewHooks.add(:navigation, 'shared/navigation')
20
- def self.add(name, partial_path)
20
+ def self.add(name, partial_path, position = 0)
21
21
  self.hooks[name.to_sym] ||= []
22
- self.hooks[name.to_sym] << partial_path
22
+ self.hooks[name.to_sym] << [partial_path, position]
23
+ self.hooks[name.to_sym].sort_by! { |hook| hook.last }
23
24
  end
25
+
24
26
 
25
27
  # Removing previously declared hook
26
28
  def self.remove(name)
27
29
  self.hooks.delete(name)
28
30
  end
29
-
30
- end
31
+
32
+ end
@@ -0,0 +1 @@
1
+ Can render CMS layout and specify action
@@ -80,10 +80,15 @@ class RenderCmsTest < ActionDispatch::IntegrationTest
80
80
  render :cms_layout => 'invalid'
81
81
  when 'layout_defaults_with_site'
82
82
  render :cms_layout => 'default', :cms_site => 'site-b'
83
+ when 'layout_with_action'
84
+ render :cms_layout => 'default', :action => :new
83
85
  else
84
86
  raise 'Invalid or no param[:type] provided'
85
87
  end
86
88
  end
89
+
90
+ def new
91
+ end
87
92
  end
88
93
 
89
94
  # -- Basic Render Tests ---------------------------------------------------
@@ -193,6 +198,16 @@ class RenderCmsTest < ActionDispatch::IntegrationTest
193
198
  assert assigns(:cms_layout)
194
199
  assert_equal cms_layouts(:default), assigns(:cms_layout)
195
200
  end
201
+
202
+ def test_cms_layout_with_action
203
+ cms_layouts(:default).update_column(:content, '{{cms:page:content}} {{cms:page:content_b}} {{cms:page:content_c}}')
204
+ get '/render-layout?type=layout_with_action'
205
+ assert_response :success
206
+ assert_equal "Can render CMS layout and specify action\n ", response.body
207
+ assert assigns(:cms_site)
208
+ assert assigns(:cms_layout)
209
+ assert_equal cms_layouts(:default), assigns(:cms_layout)
210
+ end
196
211
 
197
212
  def test_cms_layout_failure
198
213
  assert_exception_raised ComfortableMexicanSofa::MissingLayout do
@@ -215,4 +230,4 @@ class RenderCmsTest < ActionDispatch::IntegrationTest
215
230
  end
216
231
  end
217
232
 
218
- end
233
+ end
@@ -21,6 +21,16 @@ class ViewHooksTest < ActionDispatch::IntegrationTest
21
21
  assert_match /hook_content/, response.body
22
22
  assert_match /<hook_content_2>/, response.body
23
23
  end
24
+
25
+ def test_hooks_rendering_with_proper_order
26
+ CmsAdmin::SitesController.append_view_path(File.expand_path('../fixtures/views', File.dirname(__FILE__)))
27
+ ComfortableMexicanSofa::ViewHooks.add(:navigation, '/nav_hook_2', 0)
28
+ ComfortableMexicanSofa::ViewHooks.add(:navigation, '/nav_hook', 1)
29
+
30
+ http_auth :get, cms_admin_sites_path
31
+ assert_response :success
32
+ assert_match /<hook_content_2>hook_content/, response.body
33
+ end
24
34
 
25
35
  def test_hooks_rendering_with_no_hook
26
36
  ComfortableMexicanSofa::ViewHooks.remove(:navigation)
@@ -29,5 +39,5 @@ class ViewHooksTest < ActionDispatch::IntegrationTest
29
39
  assert_response :success
30
40
  assert_no_match /hook_content/, response.body
31
41
  end
32
-
33
- end
42
+
43
+ end
@@ -212,6 +212,11 @@ class TagTest < ActiveSupport::TestCase
212
212
  cms_pages(:default), '{{ cms:snippet:label }}'
213
213
  )
214
214
  assert !tag.is_cms_block?
215
+
216
+ tag = ComfortableMexicanSofa::Tag::File.initialize_tag(
217
+ cms_pages(:default), '{{ cms:file:sample.jpg }}'
218
+ )
219
+ assert !tag.is_cms_block?
215
220
  end
216
221
 
217
222
  def test_content_with_irb_disabled
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfortable_mexican_sofa
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.24
4
+ version: 1.6.25
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-08-09 00:00:00.000000000 Z
13
+ date: 2012-10-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -225,9 +225,11 @@ files:
225
225
  - config/environments/test.rb
226
226
  - config/initializers/comfortable_mexican_sofa.rb
227
227
  - config/initializers/paperclip.rb
228
+ - config/locales/de.yml
228
229
  - config/locales/en.yml
229
230
  - config/locales/es.yml
230
231
  - config/locales/ja.yml
232
+ - config/locales/pl.yml
231
233
  - config/locales/pt-BR.yml
232
234
  - config/locales/ru.yml
233
235
  - config/locales/sv.yml
@@ -316,6 +318,7 @@ files:
316
318
  - test/fixtures/views/_nav_hook.html.erb
317
319
  - test/fixtures/views/_nav_hook_2.html.erb
318
320
  - test/fixtures/views/render_test/_test.html.erb
321
+ - test/fixtures/views/render_test/new.html.erb
319
322
  - test/fixtures/views/render_test/render_layout.html.erb
320
323
  - test/functional/cms_admin/base_controller_test.rb
321
324
  - test/functional/cms_admin/categories_controller_test.rb
@@ -386,7 +389,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
386
389
  version: '0'
387
390
  segments:
388
391
  - 0
389
- hash: 2960063838234964061
392
+ hash: -4349925487218817830
390
393
  required_rubygems_version: !ruby/object:Gem::Requirement
391
394
  none: false
392
395
  requirements: