From bedcf2b985fc739810cdeaff129d86bf75282b13 Mon Sep 17 00:00:00 2001 From: bohung Date: Sat, 14 Nov 2020 11:30:45 +0800 Subject: [PATCH] Fix fetch wrong version page_context problem. --- app/controllers/page_contents_controller.rb | 2 +- app/models/page_context.rb | 5 ++++- app/views/admin/page_contents/new.html.erb | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/controllers/page_contents_controller.rb b/app/controllers/page_contents_controller.rb index 37e327c..a508e6d 100644 --- a/app/controllers/page_contents_controller.rb +++ b/app/controllers/page_contents_controller.rb @@ -9,7 +9,7 @@ class PageContentsController < OrbitAdminController else page = Page.where(:page_id => params[:page_id]).first name = page.name rescue "" - html = page.page_contexts.last.content rescue "" + html = page.page_contexts.order(:version=>-1).first.content rescue "" url_to_edit = OrbitHelper.user_can_edit?(page) ? "/admin/page_contents/new?page_id=#{page.id.to_s}" : "" end request = OrbitHelper.request diff --git a/app/models/page_context.rb b/app/models/page_context.rb index ce8d82d..5520379 100644 --- a/app/models/page_context.rb +++ b/app/models/page_context.rb @@ -13,7 +13,10 @@ class PageContext # field :current, :type => Boolean, :default => false belongs_to :page - + before_create do |record| + last_version = record.page.page_contexts.order(:version=>-1).first.version rescue 0 + record.version = last_version + 1 + end def pp_object page.title end diff --git a/app/views/admin/page_contents/new.html.erb b/app/views/admin/page_contents/new.html.erb index 1fecb02..51ef10d 100644 --- a/app/views/admin/page_contents/new.html.erb +++ b/app/views/admin/page_contents/new.html.erb @@ -1,6 +1,7 @@ <% content_for :page_specific_css do %> <%= stylesheet_link_tag "lib/main-forms" %> <% end %> +<% @page_context = @page.page_contexts.order(:version=>-1).first #take last version page_context %> <%= form_for @page_content, :url => {:action => :create}, :html => {:class => 'form-horizontal main-forms'} do |f| %>
@@ -31,7 +32,7 @@ <%= label_tag(locale, t(:content), :class=>"control-label muted") %>
- <%= con.text_area locale, :class => "ckeditor input-block-level", :value => (@page.page_contexts.last.content_translations[locale] rescue nil)%> + <%= con.text_area locale, :class => "ckeditor input-block-level", :value => (@page_context.content_translations[locale] rescue nil)%>
<% end %> @@ -42,7 +43,6 @@
<%= f.hidden_field :page_id, :value=>@page.id.to_s %> - <%= f.hidden_field :version, :value=>((@page.page_contexts.last.version + 1) rescue 1)%> <%= f.submit t("page_content.save"), :class=> "btn btn-primary bt-form-save" %>