diff options
Diffstat (limited to 'app/models/page.rb')
| -rw-r--r-- | app/models/page.rb | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/app/models/page.rb b/app/models/page.rb index b17c32bd..22d2c69b 100644 --- a/app/models/page.rb +++ b/app/models/page.rb | |||
| @@ -37,6 +37,7 @@ class Page < ActiveRecord::Base | |||
| 37 | # Filter | 37 | # Filter |
| 38 | before_create :set_page_title | 38 | before_create :set_page_title |
| 39 | before_create :set_published_at | 39 | before_create :set_published_at |
| 40 | before_create :set_template | ||
| 40 | before_save :rewrite_links_in_body | 41 | before_save :rewrite_links_in_body |
| 41 | 42 | ||
| 42 | # Validations | 43 | # Validations |
| @@ -128,9 +129,9 @@ class Page < ActiveRecord::Base | |||
| 128 | self.reload | 129 | self.reload |
| 129 | 130 | ||
| 130 | # Clone untranslated attributes | 131 | # Clone untranslated attributes |
| 131 | self.tag_list = page.tag_list | 132 | self.tag_list = page.tag_list |
| 132 | self.template_name = page.template_name | 133 | self.template_name ||= page.template_name |
| 133 | self.published_at = page.published_at | 134 | self.published_at = page.published_at |
| 134 | 135 | ||
| 135 | # Getting rid of the auto-generated empty translations | 136 | # Getting rid of the auto-generated empty translations |
| 136 | self.globalize_translations.delete_all | 137 | self.globalize_translations.delete_all |
| @@ -206,6 +207,12 @@ class Page < ActiveRecord::Base | |||
| 206 | end | 207 | end |
| 207 | end | 208 | end |
| 208 | 209 | ||
| 210 | def set_template | ||
| 211 | if node && node.update? | ||
| 212 | self.template_name = "update" | ||
| 213 | end | ||
| 214 | end | ||
| 215 | |||
| 209 | def rewrite_links_in_body | 216 | def rewrite_links_in_body |
| 210 | begin | 217 | begin |
| 211 | if self.body | 218 | if self.body |
| @@ -220,8 +227,6 @@ class Page < ActiveRecord::Base | |||
| 220 | aggregate_tags[0].parent.replace_with aggregate_tags[0] | 227 | aggregate_tags[0].parent.replace_with aggregate_tags[0] |
| 221 | end | 228 | end |
| 222 | 229 | ||
| 223 | |||
| 224 | |||
| 225 | links.each do |link| | 230 | links.each do |link| |
| 226 | unless locales.include? link[:href].slice(1,2).to_sym | 231 | unless locales.include? link[:href].slice(1,2).to_sym |
| 227 | link[:href] = link[:href].sub(/^\//, "/#{I18n.locale}/") | 232 | link[:href] = link[:href].sub(/^\//, "/#{I18n.locale}/") |
