From 269e5b033f7c5701fc63fc1228efe12dcef1a83d Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 27 Dec 2012 16:20:40 +0800 Subject: [PATCH] Fix for page_part and widget back-end --- app/models/page.rb | 10 +++++----- lib/parsers/parser_common.rb | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/models/page.rb b/app/models/page.rb index d6563e1ab..5c1a7b243 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -39,7 +39,7 @@ class Page < Item current_part = self.page_parts.detect{|page_part| page_part.name.eql?(layout_part.name)} current_part = self.page_parts.build(:name => layout_part.name) unless current_part - if menu_part && current_part.name.eql?(menu_part.name) + if menu_part && current_part.name.eql?(menu_part.name) if current_part.new_record? current_part.kind = menu_part.kind current_part.public_r_tag = menu_part.public_r_tag @@ -52,10 +52,10 @@ class Page < Item current_part.update_attributes(:kind => menu_part.kind, :public_r_tag => menu_part.public_r_tag, :public_r_tag_object_id => menu_part.public_r_tag_object_id) end end - else - if current_part.new_record? - current_part.save - end + elsif current_part.new_record? + PagePart.without_callback(:save, :after, :update_parent) do + current_part.save + end end end end diff --git a/lib/parsers/parser_common.rb b/lib/parsers/parser_common.rb index 6dbec1e24..c3af57d14 100644 --- a/lib/parsers/parser_common.rb +++ b/lib/parsers/parser_common.rb @@ -206,7 +206,12 @@ module ParserCommon when 'text' ret << part.content rescue '' when 'module_widget' - url = "/panel/#{part.module_app.key}/widget/#{part.widget_path}?inner=true" + url = case part.widget_path + when 'default_widget' + "/panel/orbit_app/widget/#{part.widget_style}?inner=true" + else + "/panel/#{part.module_app.key}/widget/#{part.widget_path}?inner=true" + end options = "&category_id=#{!part[:category].blank? ? part[:category].blank? : category}&tag_id=#{!part[:tag].blank? ? part[:tag] : tag}&page=#{params[:page]}&search_query=#{params[:search_query]}&part_title=#{Rack::Utils.escape(part_title).gsub("+", "%20") rescue nil}" ret << "
" when 'public_r_tag'