Fix bugs after i18n_variable removal

This commit is contained in:
Christophe Vilayphiou 2012-07-26 13:27:27 +08:00
parent ad3ec43a00
commit 12f9f666eb
2 changed files with 12 additions and 15 deletions

View File

@ -42,17 +42,15 @@ class Site
end end
METAS.each do |meta| METAS.each do |meta|
define_method meta do define_method meta do |locale|
fetch_meta = self.site_metas.where(key: meta).limit(1) fetch_meta = self.site_metas.where(key: meta).limit(1)
fetch_meta.blank? ? nil : fetch_meta[0].i18n_variable fetch_meta.blank? ? nil : fetch_meta[0].title_translations[locale]
end end
define_method "#{meta}=" do |values| define_method "#{meta}=" do |values|
if a = self.send(meta) fetch_meta = self.site_metas.where(key: meta).limit(1)[0] rescue nil
a.update_attributes(values) fetch_meta = self.site_metas.build(key: meta) if fetch_meta.blank?
else fetch_meta.title_translations = values
a = self.site_metas.build(key: meta) fetch_meta.save
a.build_i18n_variable(values)
end
end end
end end

View File

@ -47,9 +47,8 @@
<div class="control-group"> <div class="control-group">
<label class="control-label"><%= t 'admin.site_keywords' %></label> <label class="control-label"><%= t 'admin.site_keywords' %></label>
<div class="controls"> <div class="controls">
<% #TODO: set keywords into meta %> <%= f.fields_for :keywords do |f| %>
<%= f.fields_for :keywords, @site.keywords do |f| %> <%= f.text_area locale, :class => "input-xxlarge textarea-height-s", :value => (@site.keywords(locale) rescue nil) %>
<%= f.text_area locale, :class => "input-xxlarge textarea-height-s" %>
<% end %> <% end %>
<p class="help-block"><%= (t 'admin.site_keywords_help').html_safe %></p> <p class="help-block"><%= (t 'admin.site_keywords_help').html_safe %></p>
</div> </div>
@ -57,8 +56,8 @@
<div class="control-group"> <div class="control-group">
<label class="control-label"><%= t 'admin.site_description' %></label> <label class="control-label"><%= t 'admin.site_description' %></label>
<div class="controls"> <div class="controls">
<%= f.fields_for :description_translations do |f| %> <%= f.fields_for :description do |f| %>
<%= f.text_area locale, :class => "input-xxlarge textarea-height-s", :value => (@site.description_translations[locale] %> <%= f.text_area locale, :class => "input-xxlarge textarea-height-s", :value => (@site.description(locale) rescue nil) %>
<% end %> <% end %>
<p class="help-block"><%= (t 'admin.site_description_help').html_safe %></p> <p class="help-block"><%= (t 'admin.site_description_help').html_safe %></p>
</div> </div>
@ -67,7 +66,7 @@
<label class="control-label"><%= t 'admin.site_footer' %></label> <label class="control-label"><%= t 'admin.site_footer' %></label>
<div class="controls"> <div class="controls">
<%= f.fields_for :footer_translations do |f| %> <%= f.fields_for :footer_translations do |f| %>
<%= f.text_area locale, :class => "tinymce_textarea input-xxlarge", :value => (@site.footer_translations[locale] %> <%= f.text_area locale, :class => "tinymce_textarea input-xxlarge", :value => (@site.footer_translations[locale] rescue nil) %>
<% end %> <% end %>
<p class="help-block"><%= (t 'admin.site_footer_help').html_safe %></p> <p class="help-block"><%= (t 'admin.site_footer_help').html_safe %></p>
</div> </div>
@ -76,7 +75,7 @@
<label class="control-label"><%= t 'admin.site_sub_menu' %></label> <label class="control-label"><%= t 'admin.site_sub_menu' %></label>
<div class="controls"> <div class="controls">
<%= f.fields_for :sub_menu_translations do |f| %> <%= f.fields_for :sub_menu_translations do |f| %>
<%= f.text_area locale, :class => "tinymce_textarea input-xxlarge", :value => (@site.sub_menu_translations[locale] %> <%= f.text_area locale, :class => "tinymce_textarea input-xxlarge", :value => (@site.sub_menu_translations[locale] rescue nil) %>
<% end %> <% end %>
</div> </div>
</div> </div>