refinerycms-pages 0.9.9.4 → 0.9.9.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,7 +19,12 @@ module Admin
19
19
  protected
20
20
 
21
21
  def globalize!
22
- Thread.current[:globalize_locale] = (params[:switch_locale] || (@page.present? && @page.slug.present? && @page.slug.locale) || ::Refinery::I18n.default_frontend_locale)
22
+ super
23
+
24
+ # Check whether we need to override e.g. on the pages form.
25
+ unless params[:switch_locale] or @page.try(:slug).nil? or !@page.persisted?
26
+ Thread.current[:globalize_locale] = @page.slug.locale
27
+ end
23
28
  end
24
29
 
25
30
  def show_errors_for_reserved_slug(exception)
@@ -22,6 +22,8 @@ class PagesController < ApplicationController
22
22
  # if the admin wants this to be a "placeholder" page which goes to its first child, go to that instead.
23
23
  if @page.skip_to_first_child && (first_live_child = @page.children.order('lft ASC').where(:draft=>false).first).present?
24
24
  redirect_to first_live_child.url
25
+ elsif @page.link_url.present?
26
+ redirect_to @page.link_url and return
25
27
  end
26
28
  else
27
29
  error_404
data/app/models/page.rb CHANGED
@@ -2,7 +2,7 @@ require 'globalize3'
2
2
 
3
3
  class Page < ActiveRecord::Base
4
4
 
5
- translates :title, :meta_keywords, :meta_description, :browser_title if self.respond_to?(:translates)
5
+ translates :title, :meta_keywords, :meta_description, :browser_title, :custom_title if self.respond_to?(:translates)
6
6
  attr_accessor :locale # to hold temporarily
7
7
  validates :title, :presence => true
8
8
 
@@ -177,7 +177,7 @@ class Page < ActiveRecord::Base
177
177
  else
178
178
  [Refinery.base_cache_key, super].join('/')
179
179
  end
180
-
180
+
181
181
  end
182
182
 
183
183
  # Returns true if this page is "published"
@@ -224,20 +224,18 @@ class Page < ActiveRecord::Base
224
224
  #
225
225
  # Will return the body page part of the first page.
226
226
  def [](part_title)
227
- # don't want to override a super method when trying to call a page part.
228
- # the way that we call page parts seems flawed, will probably revert to page.parts[:title] in a future release.
229
- if (super_value = super).blank?
230
- # self.parts is already eager loaded so we can now just grab the first element matching the title we specified.
231
- part = self.parts.detect do |part|
232
- part.title.present? and #protecting against the problem that occurs when have nil title
233
- part.title == part_title.to_s or
234
- part.title.downcase.gsub(" ", "_") == part_title.to_s.downcase.gsub(" ", "_")
235
- end
227
+ # Allow for calling attributes with [] shorthand (eg page[:parent_id])
228
+ return super if self.attributes.has_key?(part_title.to_s)
236
229
 
237
- return part.body unless part.nil?
230
+ # the way that we call page parts seems flawed, will probably revert to page.parts[:title] in a future release.
231
+ # self.parts is already eager loaded so we can now just grab the first element matching the title we specified.
232
+ part = self.parts.detect do |part|
233
+ part.title.present? and #protecting against the problem that occurs when have nil title
234
+ part.title == part_title.to_s or
235
+ part.title.downcase.gsub(" ", "_") == part_title.to_s.downcase.gsub(" ", "_")
238
236
  end
239
237
 
240
- super_value
238
+ part.try(:body)
241
239
  end
242
240
 
243
241
  # In the admin area we use a slightly different title to inform the which pages are draft or hidden pages
@@ -260,6 +258,7 @@ class Page < ActiveRecord::Base
260
258
  #
261
259
  # Returns the sluggified string
262
260
  def normalize_friendly_id(slug_string)
261
+ slug_string.gsub!('_', '-')
263
262
  sluggified = super
264
263
  if self.class.use_marketable_urls? && self.class.friendly_id_config.reserved_words.include?(sluggified)
265
264
  sluggified << "-page"
@@ -2,6 +2,8 @@ es:
2
2
  plugins:
3
3
  refinery_pages:
4
4
  title: Páginas
5
+ description: Gestionar páginas de contenido
6
+ article: femenino
5
7
  admin:
6
8
  pages_dialogs:
7
9
  page_link:
@@ -16,7 +18,7 @@ es:
16
18
  new_window: Nueva ventana
17
19
  new_window_label: Marca esta casilla para que el enlace se abra en una ventana nueva del navegador.
18
20
  not_sure: ¿No sabes qué escribir en el campo anterior?
19
- step1: Busca en la web qué página quieres enlazar .
21
+ step1: Busca en la web qué página quieres enlazar.
20
22
  step2: Copia la dirección web desde la barra de direcciones de tu navegador y pégala en el campo anterior.
21
23
  email_address:
22
24
  tab_name: Dirección e-mail
@@ -25,7 +27,7 @@ es:
25
27
  not_sure: ¿No sabes qué escribir en estos campos?
26
28
  step1_html: Escribe o copia y pega (por ej. desde tu libreta de direcciones) la dirección e-mail a la que quieres enlazar en el campo '<strong>Dirección e-mail</strong>' anterior.
27
29
  step2_html: Usa el campo <strong>Asunto opcional</strong> si quieres que el mensaje se envíe con un <strong>asunto predeterminado</strong>
28
- step3_html: Usa el campo <strong>Mensaje</strong> si quieres que el mensaje se envíe con un <strong>contenido predeterminado</strong>
30
+ step3_html: Usa el campo <strong>Mensaje opcional</strong> si quieres que el mensaje se envíe con un <strong>contenido predeterminado</strong>
29
31
  your_resource:
30
32
  tab_name: Tu archivo
31
33
  link_to_this_resource: Enlace a este archivo
@@ -34,7 +36,7 @@ es:
34
36
  edit: Editar esta página
35
37
  reserved_system_word: "Lo sentimos, pero ese título es una palabra reservada del sistema."
36
38
  page:
37
- view_live_html: Ver esta página como abierat al público<br/><em>(la abre en ventana nueva)</em>
39
+ view_live_html: Ver esta página como abierta al público<br/><em>(la abre en ventana nueva)</em>
38
40
  hidden: oculta
39
41
  draft: borrador
40
42
  form_new_page_parts:
@@ -45,7 +47,7 @@ es:
45
47
  form_advanced_options:
46
48
  toggle_advanced_options: Pulsa para acceder a las opciones de meta tags y menú
47
49
  page_options: Opciones de página
48
- parent_page: Página de origen
50
+ parent_page: Página padre
49
51
  advanced_options: Opciones avanzadas
50
52
  custom_title: Título personalizado
51
53
  title_types:
@@ -56,15 +58,15 @@ es:
56
58
  show_in_menu_help: Deja sin marcar esta casilla para eliminar una página del menú de tu web. Puede ser útil si tienes una página que quieres que la gente enlace directamente pero no quieres mostrarla en el menú.
57
59
  save_as_draft: Guardar como borrador
58
60
  skip_to_first_child: Saltar página de primer nivel
59
- skip_to_first_child_label: Redirigir a los visitantes a la primera página del primer nivel.
61
+ skip_to_first_child_label: Redirigir a los visitantes a la primera página hija.
60
62
  skip_to_first_child_help: Esta opción hace que esta página enlace a su primera página hija. Puede ser útil para agrupar varias páginas juntas.
61
63
  link_url: Redirigir esta página a otra web o a otra página
62
64
  link_url_help: "Si quieres que esta página envíe a otra web o página entonces pulsa esta página en el menú y introduce una URL (por ej: http://google.com). En caso contrario déjalo en blanco."
63
65
  parent_page_help: Puedes incluir una página dentro de otra seleccionándola en la lista. Si quieres que sea una página de primer nivel, déjalo en blanco.
64
66
  custom_title_help: Si quieres que la página tenga un título diferente al que aparece en el menú selecciona &apos;Texto&apos; y teclea el título que prefieres.
65
67
  form_advanced_options_seo:
66
- seo: Optimicación para motores de búsqueda (SEO)
67
- seo_override_title: Título
68
+ seo: Optimización para motores de búsqueda (SEO)
69
+ seo_override_title: Título del navegador
68
70
  seo_override_title_help: Introduce un título de 5-10 palabras que resuma los contenidos de la página.
69
71
  meta_keywords_title: Palabras clave (meta keyboards)
70
72
  meta_keywords_help: Introduce 5-10 palabras clave relacionadas con esta página, separadas por comas.
@@ -2,40 +2,40 @@ it:
2
2
  plugins:
3
3
  refinery_pages:
4
4
  title: Pagine
5
- description: Gestione del contenuto delle pagine
5
+ description: Gestione dei contenuti del sito
6
6
  admin:
7
7
  pages_dialogs:
8
8
  page_link:
9
- link_to_this_page: Collegamento a questa pagina
9
+ link_to_this_page: Link a questa pagina
10
10
  link_to:
11
11
  insert: Inserire
12
12
  your_page:
13
13
  tab_name: La tua pagina
14
14
  web_address:
15
15
  tab_name: Website
16
- location: Località
16
+ location: URL
17
17
  new_window: Nuova finestra
18
- new_window_label: Seleziona questa casella per aprire il collegamento in una nuova finestra del browser.
19
- not_sure: Non sei sicuro di cosa mettere nella casella precedente?
20
- step1: Trova la pagina sul web che desideri collegare.
21
- step2: Copiare l'indirzzo web della dalla barra degli indirizzi del browser ed incollarlo nella casella precedente.
18
+ new_window_label: Seleziona questa casella per fare in modo che la pagina linkata si apra in una nuova finestra/scheda del browser.
19
+ not_sure: Se non sei sicuro di cosa sia corretto inserire...
20
+ step1: Apri la pagina che desideri linkare.
21
+ step2: "Copia l'URL dalla barra degli indirizzi del browser ed incollalo nella casella."
22
22
  email_address:
23
- tab_name: Indirizzo Email
24
- subject_line_optional: Oggetto opzionale
25
- body_optional: Corpo opzionale
26
- not_sure: Non sei sicuro di cosa mettere nella casella precedente?
27
- step1_html: Scrivere o copiare ed incollare (ad esempio dalla tua rubrica) l'indirizzo e-mail da collegare nel casella precedente '<strong> Indirizzo e-mail </ strong>'.
28
- step2_html: Utilizzare la casella '<strong> Linea Oggetto </ strong>' in alto se si desidera che il messaggio sia composto con un <strong>oggetto predefinito </ strong>.
29
- step3_html: Utilizzare la casella <strong> Corpo dell'email </ strong> in alto se si desidera che il messaggio sia composto con un <strong>messaggio predefinito </ strong>.
23
+ tab_name: Indirizzo e-mail
24
+ subject_line_optional: Oggetto del messaggio (facoltativo)
25
+ body_optional: Testo del messaggio (facoltativo)
26
+ not_sure: Se non sei sicuro di cosa sia corretto inserire...
27
+ step1_html: "Inserisci l'indirizzo e-mail da linkare nella casella di testo '<strong>Indirizzo e-mail</strong>'."
28
+ step2_html: "Utilizzare la casella '<strong>Oggetto del messaggio</strong>' se si desidera che il messaggio abbia un <strong>oggetto predefinito</ strong>."
29
+ step3_html: "Utilizzare la casella <strong>Testo del messaggio</strong> se si desidera che il messaggio sia composto con un <strong>messaggio predefinito </strong>."
30
30
  your_resource:
31
- tab_name: Il tuo file
32
- link_to_this_resource: Collegamento a questo file
31
+ tab_name: File
32
+ link_to_this_resource: Link a questo file
33
33
  pages:
34
- delete: Rimuovere questa pagina per sempre
34
+ delete: Eliminare per sempre questa pagina
35
35
  edit: Modificare questa pagina
36
- reserved_system_word: "Ci dispiace, ma quel titolo è una parola di sistema riservato."
36
+ reserved_system_word: "Il titolo è una parola di sistema riservata."
37
37
  page:
38
- view_live_html: Visualizza questa pagina dal vivo <br/><em>(apre una nuova finestra del browser)</em>
38
+ view_live_html: Visualizza questa pagina<br/><em>(apre una nuova finestra del browser)</em>
39
39
  hidden: nascosto
40
40
  draft: bozza
41
41
  form_new_page_parts:
@@ -44,15 +44,15 @@ it:
44
44
  create_content_section: Aggiungi la sezione dei contenuti
45
45
  delete_content_section: Elimina la sezione dei contenuti
46
46
  form_advanced_options:
47
- toggle_advanced_options: Cliccare per accedere alle impostastioni dei meta tag e del menu.
48
- page_options: Opzioni Pagina
47
+ toggle_advanced_options: Cliccare per accedere alle impostazioni dei meta tags e del menu.
48
+ page_options: Opzioni avanzate
49
49
  parent_page: Pagina Superiore
50
50
  title: Titolo
51
- create_content_section: Creare sezione dei contenuti
52
- delete_content_section: Elimina sezione dei contenuti
53
- advanced_options: Opzioni avanzate
51
+ create_content_section: Crea la sezione dei contenuti
52
+ delete_content_section: Elimina la sezione dei contenuti
53
+ advanced_options: Mostra/nascondi opzioni avanzate
54
54
  explain_page_different_title: Se si desidera che la pagina abbia un titolo diverso da quello mostrato nel menu e dal titolo del browser, scriverlo qui.
55
- redirect_to_first_child: "Seleziona questa casella se vuoi che il visitatore si reindirizzato alla prima pagina figlia di questa pagina, se questa pagina è selezionata."
55
+ redirect_to_first_child: "Seleziona questa casella se vuoi che il visitatore sia reindirizzato alla prima pagina figlia di questa pagina, se questa pagina è selezionata."
56
56
  parent_id_title: Genitore
57
57
  custom_title: Titolo personalizzato
58
58
  title_types:
@@ -60,39 +60,39 @@ it:
60
60
  text: Testo
61
61
  image: Immagine
62
62
  custom_url: URL personalizzato
63
- custom_url_explanation_html: "Inserisci un URL, se desideri che questa pagina sia collegata ad un sito esterno o ad una risorsa pre-esistente, ad esempio una pagina contatti. <br/> Nota: Questo URL deve puntare ad una posizione che esiste, uno nuovo, non verrà creato."
63
+ custom_url_explanation_html: "Inserisci un URL, se desideri che questa pagina sia collegata ad un sito esterno o ad una risorsa preesistente, ad esempio una pagina contatti. <br/> Nota: L'URL inserito dovrà puntare ad una posizione già esistente."
64
64
  show_in_menu_title: Mostra nel menu
65
- show_in_menu_description: Seleziona questa casella se si desidera che questa pagina appaia nel menu del sito
66
- show_in_menu_help: Deselezionare questa casella se si desidera rimuovere una pagina dal menu del sito. Questo può essere utile se si dispone di una pagina a cui ci si può collegare direttamente ma che non si vuole mostrare nel menu.
65
+ show_in_menu_description: Seleziona questa casella se si desidera che questa pagina sia visibile nel menu del sito
66
+ show_in_menu_help: Deselezionare questa casella se si desidera rimuovere una pagina dal menu del sito. Questo può essere utile nel caso si disponga di una pagina a cui ci si può collegare direttamente ma che non si vuole mostrare nel menu.
67
67
  save_as_draft: Salva come bozza
68
- skip_to_first_child: Salta pagina di livello superiore
68
+ skip_to_first_child: Salta alla prima pagina di livello inferiore
69
69
  skip_to_first_child_label: Reindirizza i visitatori verso la prima pagina di livello inferiore.
70
- skip_to_first_child_help: Questa opzione rende questo pagina collegata alla prima pagina sotto. Questo può essere utile quando si raggruppano pagine.
70
+ skip_to_first_child_help: Questa opzione rende questo pagina collegata alla prima pagina sotto. Ciò può essere utile quando si raggruppano pagine.
71
71
  link_url: Inoltra questa pagina ad un altro sito o pagina
72
- link_url_help: Se si desidera che questa pagina navighi verso un altro sito o pagina quando si fa clic sul suo nome nel menu, immettere un URL. ad esempio http://google.com altrimenti lasciare vuoto
73
- parent_page_help: Si può mettere una pagina in un'altra pagina selezionandola dalla lista. Se si desidera che questa pagina sia una pagina di livello superiore, basta lasciarla in bianco.
74
- custom_title_help: Se si desidera che la pagina abbia un titolo diverso da quello mostrato nel menu, selezionare 'Testo' e inserirlo qui.
72
+ link_url_help: Inserire un URL se si desidera che questa pagina punti ad un altro sito o pagina quando si fa clic sul suo nome nel menu; altrimenti lasciare vuoto
73
+ parent_page_help: "Si può fare in modo che questa pagina sia figlia di un'altra pagina selezionandola dalla lista; se invece si desidera che questa pagina sia una pagina di primo livello, lasciare in bianco."
74
+ custom_title_help: "Se si desidera che la pagina abbia un titolo diverso da quello mostrato nel menu, selezionare 'Testo' e inserirlo qui."
75
75
  form_advanced_options_seo:
76
- seo: Ottimizzazione Motore di Ricerca
76
+ seo: Ottimizzazione Motori di Ricerca
77
77
  seo_override_title: Titolo del Browser
78
- seo_override_title_help: Se si desidera sovrascrivere il titolo predefinito del browser, farlo qui.
79
- meta_keywords_title: Meta parole chiave
80
- meta_keywords_help: Inserisci 5-10 parole chiave che riguardano questa pagina. Le parole chiave sono separate da una virgola.
81
- meta_description_title: Meta descrizione
78
+ seo_override_title_help: È possibile inserire un testo per il titolo della barra del browser che sovrascriverà il valore predefinito
79
+ meta_keywords_title: Parole chiave
80
+ meta_keywords_help: Inserisci 5-10 parole chiave che riguardano questa pagina, separate da una virgola.
81
+ meta_description_title: Descrizione
82
82
  meta_description_help: Inserire due o tre frasi concise che descrivono questa pagina.
83
83
  js:
84
84
  content_section:
85
85
  create: Crea sezione dei contenuti
86
- already_exists: Una sezione di contenuti con quel titolo già esiste, si prega di scegliere un altro.
86
+ already_exists: Una sezione di contenuti con quel titolo e già esistente, si prega di modificarlo.
87
87
  title_empty: Non è stato inserito un titolo per la sezione dei contenuti, inseriscine uno.
88
- confirm_delete: Ciò eliminerà la sezione dei contenuti %{section_name} quando la pagina viene salvata e cancellerà tutti i contenuti che sono stati inseriti in esso, Sei sicuro?
88
+ confirm_delete: Ciò eliminerà la sezione dei contenuti %{section_name} e cancellerà tutti i contenuti che sono stati inseriti al suo interno. Sei sicuro?
89
89
  index:
90
- create_new_page: Creare una nuova pagina
91
- reorder_pages: Riordinare le pagine
92
- reorder_pages_done: Riordino Pagine seguito
93
- sorry_no_results: Non ci sono risultati.
94
- no_pages_yet: Non ci sono ancora pagine. Fare clic su "Crea nuova pagina" per aggiungere la tua prima pagina.
90
+ create_new_page: Crea una nuova pagina
91
+ reorder_pages: Riordina le pagine
92
+ reorder_pages_done: Riordino Pagine terminato
93
+ sorry_no_results: La ricerca non ha prodotto risultati.
94
+ no_pages_yet: Non è stata ancora creata nessuna pagina. Clicca su "Crea nuova pagina" per aggiungere la tua prima pagina.
95
95
  activerecord:
96
96
  attributes:
97
97
  page:
98
- skip_to_first_child: "Passa al primo figlio?"
98
+ skip_to_first_child: "Salta al primo figlio?"
@@ -0,0 +1,84 @@
1
+ sk:
2
+ plugins:
3
+ refinery_pages:
4
+ title: Stránky
5
+ description: Spravovať obsahové stránky
6
+ admin:
7
+ pages_dialogs:
8
+ page_link:
9
+ link_to_this_page: Odkaz na túto stránku
10
+ link_to:
11
+ insert: Vložiť
12
+ your_page:
13
+ tab_name: Vaša stránka
14
+ web_address:
15
+ tab_name: Web
16
+ location: Umiestnenie
17
+ new_window: Nové okno
18
+ new_window_label: Zaškrtnite ak chcete odkaz otvoriť v novom okne prehliadača.
19
+ not_sure: Nie ste si istí čo zadať do tohto poľa?
20
+ step1: Nájdite na webe stránku na ktorú chcete odkázať.
21
+ step2: Skopírujte adresu z adresného riadku vášho prehliadača a vložte jej to tohto poľa.
22
+ email_address:
23
+ tab_name: Emailová adresa
24
+ subject_line_optional: Voliteľný predmet
25
+ body_optional: Voliteľný obsah správy
26
+ not_sure: Nie ste si istí čo zadať do týchto polí?
27
+ step1_html: Napíšte, alebo skopírujte a vložte (napr. z vášho zoznamu kontaktov) emailovú adresu do poľa '<strong>Emailová adresa</strong>'.
28
+ step2_html: Použite '<strong>Voliteľný predmet</ strong>' ak chcete aby emailová správa obsahovala <strong>preddefinovaný predmet</strong>.
29
+ step3_html: Použite '<strong>Voliteľný obsah správy</strong>' ak chcete aby mailová správa obsahovala <strong>preddefinovaný obsah správy</strong>.
30
+ your_resource:
31
+ tab_name: Váš súbor
32
+ link_to_this_resource: Odkaz na tento súbor
33
+ pages:
34
+ delete: Zmazať túto stránku
35
+ edit: Upraviť túto stránku
36
+ reserved_system_word: "Prepáčte, ale tento titulok je rezervované systémové slovo."
37
+ page:
38
+ view_live_html: Zobraziť stránku <br/><em>(otvorí sa v novom okne)</em>
39
+ hidden: skrytá
40
+ draft: pracovná verzia
41
+ form_new_page_parts:
42
+ title: Názov
43
+ form_page_parts:
44
+ create_content_section: Pridať sekciu
45
+ delete_content_section: Zmazať sekciu
46
+ form_advanced_options:
47
+ toggle_advanced_options: Sprístupní nastavenia menu a meta tagov.
48
+ page_options: Nastavenie stránky
49
+ parent_page: Nadradená stránka
50
+ advanced_options: Rozšírené nastavenia
51
+ custom_title: Titulok
52
+ title_types:
53
+ none: Žiadny
54
+ text: Text
55
+ show_in_menu_title: Zobraziť v menu
56
+ show_in_menu_description: Zobraziť túto stránku v menu webu
57
+ show_in_menu_help: Odznačte ak chcete odstrániť odkaz na túto stránku z menu webu. Toto je užitočné ak máte stránku, na ktorú chcete mať priamy odkaz, ale nechcete zobrazovať stránku v menu.
58
+ save_as_draft: Uložiť ako pracovnú verziu
59
+ skip_to_first_child: Prejsť na prvú podstránku
60
+ skip_to_first_child_label: Presmeruje návštevníka na prvú podstránku sekcie.
61
+ skip_to_first_child_help: Táto stránka sa nezobrazí, namiesto toho bude odkaz na nej presmerovaný na jej prvú podstránku. To sa môže hodiť pre zoskupovanie stránok.
62
+ link_url: Presmerovať túto stránku na iný web alebo stránku.
63
+ link_url_help: Ak chcete, aby po kliknutí na odkaz na tútu stránku bol návštevník presmerovaný na iný web, vložte adresu (napr. http://google.com), inak ponechajte prázdne.
64
+ parent_page_help: Môžete umiestniť túto stránku v hierarchii pod inú stránku. Ak nevyberiete nič, bude táto stránka umiestnená na prvej úrovni.
65
+ custom_title_help: Ak chcete aby stránka mala iný titulok než ten ktorý sa zobrazuje v menu vyberte &apos;Text&apos; a vložte ho tu.
66
+ form_advanced_options_seo:
67
+ seo: Optimalizácia pre vyhľadávanie
68
+ seo_override_title: Titulok prehliadača
69
+ seo_override_title_help: Vložte titulok dĺžky 5-10 slov, ktorý vystihuje obsah stránky.
70
+ meta_keywords_title: Kľúčové slová (Meta keywords)
71
+ meta_keywords_help: Vložte 5-10 kľúčových slov oddelených čiarkou, ktoré sa vzťahujú k obsahu stránky.
72
+ meta_description_title: Popis (Meta description)
73
+ meta_description_help: Vložte 2-3 krátke vety sumarizujúce obsah stránky.
74
+ index:
75
+ create_new_page: Pridať novú stránku
76
+ reorder_pages: Zmeniť usporiadanie stránok
77
+ reorder_pages_done: Uložiť usporiadanie
78
+ no_pages_yet: Zatiaľ neboli vytvorené žiadne stránky. Kliknite na "Pridať novú stránku" pre pridanie prvej.
79
+ activerecord:
80
+ models:
81
+ page: stránka
82
+ attributes:
83
+ page:
84
+ title: Názov
@@ -0,0 +1,33 @@
1
+ class TranslateCustomTitleOnPages < ActiveRecord::Migration
2
+ def self.up
3
+ unless ::Page::Translation.column_names.map(&:to_sym).include?(:custom_title)
4
+ add_column ::Page::Translation.table_name, :custom_title, :string
5
+
6
+ # Re-save custom_title
7
+ ::Page.all.each do |page|
8
+ page.update_attribute(:custom_title, page.untranslated_attributes['custom_title'])
9
+ end
10
+
11
+ end
12
+
13
+ if ::Page.column_names.map(&:to_sym).include?(:custom_title)
14
+ remove_column ::Page.table_name, :custom_title
15
+ end
16
+ end
17
+
18
+ def self.down
19
+ # Restore
20
+ add_column ::Page.table_name, :custom_title, :string
21
+
22
+ # Re-save custom_title
23
+ ::Page.all.each do |page|
24
+ ::Page.update_all({
25
+ :custom_title => page.attributes['custom_title']
26
+ }, {
27
+ :id => page.id.to_s
28
+ }) unless page.attributes['custom_title'].nil?
29
+ end
30
+
31
+ remove_column ::Page::Translation.table_name, :custom_title
32
+ end
33
+ end
@@ -6,5 +6,5 @@ end
6
6
  if Page.use_marketable_urls?
7
7
  Page.friendly_id_config.reserved_words |= ::Refinery::Application.routes.named_routes.map { |name, route|
8
8
  route.path.gsub(/^\//, '').to_s.split('(').first.split(':').first.to_s.split('/')
9
- }.flatten.uniq
9
+ }.flatten.reject{|w| w =~ /\_/}.uniq
10
10
  end
@@ -2,10 +2,10 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{refinerycms-pages}
5
- s.version = %q{0.9.9.4}
5
+ s.version = %q{0.9.9.5}
6
6
  s.summary = %q{Pages engine for Refinery CMS}
7
7
  s.description = %q{The default content engine of Refinery CMS. This engine handles the administration and display of user-editable pages.}
8
- s.date = %q{2011-02-24}
8
+ s.date = %q{2011-03-08}
9
9
  s.email = %q{info@refinerycms.com}
10
10
  s.homepage = %q{http://refinerycms.com}
11
11
  s.rubyforge_project = %q{refinerycms}
@@ -70,6 +70,7 @@ Gem::Specification.new do |s|
70
70
  'config/locales/pt-BR.yml',
71
71
  'config/locales/rs.yml',
72
72
  'config/locales/ru.yml',
73
+ 'config/locales/sk.yml',
73
74
  'config/locales/sl.yml',
74
75
  'config/locales/sv.yml',
75
76
  'config/locales/vi.yml',
@@ -81,6 +82,7 @@ Gem::Specification.new do |s|
81
82
  'db/migrate/20100913234708_create_refinerycms_pages_schema.rb',
82
83
  'db/migrate/20101214040815_translate_page_plugin.rb',
83
84
  'db/migrate/20101216194133_remove_cached_slug_from_pages.rb',
85
+ 'db/migrate/20110307025652_translate_custom_title_on_pages.rb',
84
86
  'db/seeds',
85
87
  'db/seeds/pages.rb',
86
88
  'features',
@@ -105,5 +107,5 @@ Gem::Specification.new do |s|
105
107
  'spec/models/page_spec.rb'
106
108
  ]
107
109
 
108
- s.add_dependency 'refinerycms-core', '~> 0.9.9.4'
110
+ s.add_dependency 'refinerycms-core', '~> 0.9.9.5'
109
111
  end
@@ -3,14 +3,18 @@ require 'spec_helper'
3
3
  describe Page do
4
4
 
5
5
  def reset_page(options = {})
6
- @valid_attributes = {
6
+ if @page
7
+ @page.destroy!
8
+ @page.children.each(&:destroy!)
9
+ @page = nil
10
+ @child = nil
11
+ end
12
+
13
+ @page = Page.create!({
7
14
  :id => 1,
8
15
  :title => "RSpec is great for testing too",
9
16
  :deletable => true
10
- }
11
-
12
- @page.destroy! if @page
13
- @page = Page.create!(@valid_attributes.update(options))
17
+ }.update(options))
14
18
  end
15
19
 
16
20
  def page_cannot_be_destroyed
@@ -30,6 +34,9 @@ describe Page do
30
34
  RefinerySetting.set(:use_marketable_urls, {:value => false, :scoping => 'pages'})
31
35
  end
32
36
 
37
+ def turn_on_marketable_urls
38
+ RefinerySetting.set(:use_marketable_urls, {:value => true, :scoping => 'pages'})
39
+ end
33
40
 
34
41
  before(:each) do
35
42
  reset_page
@@ -84,10 +91,25 @@ describe Page do
84
91
  @page.url[:path].should == ["rspec-is-great-for-testing-too"]
85
92
  end
86
93
 
94
+ it "should return its path underneath its parent with marketable urls" do
95
+ create_child
96
+ @child.url[:id].should be_nil
97
+ @child.url[:path].should == [@page.url[:path].first, 'the-child-page']
98
+ end
99
+
87
100
  it "should not have a path without marketable urls" do
88
101
  turn_off_marketable_urls
89
102
  @page.url[:path].should be_nil
90
103
  @page.url[:id].should == "rspec-is-great-for-testing-too"
104
+ turn_on_marketable_urls
105
+ end
106
+
107
+ it "should not mention its parent without marketable urls" do
108
+ turn_off_marketable_urls
109
+ create_child
110
+ @child.url[:id].should == 'the-child-page'
111
+ @child.url[:path].should be_nil
112
+ turn_on_marketable_urls
91
113
  end
92
114
  end
93
115
 
@@ -141,4 +163,20 @@ describe Page do
141
163
  end
142
164
  end
143
165
 
166
+ context "should add url suffix" do
167
+ before(:each) do
168
+ turn_on_marketable_urls
169
+ @reserved_word = Page.friendly_id_config.reserved_words.last
170
+ reset_page(:title => @reserved_word)
171
+ end
172
+
173
+ it "when title is set to a reserved word" do
174
+ @page.url[:path].should == ["#{@reserved_word}-page"]
175
+ end
176
+
177
+ it "when parent page title is set to a reserved word" do
178
+ create_child.url[:path].should == ["#{@reserved_word}-page", 'the-child-page']
179
+ end
180
+ end
181
+
144
182
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: refinerycms-pages
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.9.4
5
+ version: 0.9.9.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Resolve Digital
@@ -13,7 +13,7 @@ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
15
 
16
- date: 2011-02-24 00:00:00 +13:00
16
+ date: 2011-03-08 00:00:00 +13:00
17
17
  default_executable:
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
@@ -24,7 +24,7 @@ dependencies:
24
24
  requirements:
25
25
  - - ~>
26
26
  - !ruby/object:Gem::Version
27
- version: 0.9.9.4
27
+ version: 0.9.9.5
28
28
  type: :runtime
29
29
  version_requirements: *id001
30
30
  description: The default content engine of Refinery CMS. This engine handles the administration and display of user-editable pages.
@@ -78,6 +78,7 @@ files:
78
78
  - config/locales/pt-BR.yml
79
79
  - config/locales/rs.yml
80
80
  - config/locales/ru.yml
81
+ - config/locales/sk.yml
81
82
  - config/locales/sl.yml
82
83
  - config/locales/sv.yml
83
84
  - config/locales/vi.yml
@@ -87,6 +88,7 @@ files:
87
88
  - db/migrate/20100913234708_create_refinerycms_pages_schema.rb
88
89
  - db/migrate/20101214040815_translate_page_plugin.rb
89
90
  - db/migrate/20101216194133_remove_cached_slug_from_pages.rb
91
+ - db/migrate/20110307025652_translate_custom_title_on_pages.rb
90
92
  - db/seeds/pages.rb
91
93
  - features/manage_pages.feature
92
94
  - features/step_definitions/page_steps.rb
@@ -124,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
126
  requirements: []
125
127
 
126
128
  rubyforge_project: refinerycms
127
- rubygems_version: 1.5.2
129
+ rubygems_version: 1.6.0
128
130
  signing_key:
129
131
  specification_version: 3
130
132
  summary: Pages engine for Refinery CMS