From 8a8bfcb8fb2194801f608986079dde83a3460e1d Mon Sep 17 00:00:00 2001 From: Fu Matthew Date: Sat, 23 Feb 2013 15:19:51 +0800 Subject: [PATCH] fix default widget link --- app/controllers/admin/page_parts_controller.rb | 4 ++-- app/helpers/admin/page_parts_helper.rb | 11 +++++------ app/helpers/default_widget_helper.rb | 4 ++-- .../admin/page_parts/_default_widget_setting.html.erb | 2 +- app/views/admin/page_parts/reload_widget_field.js.erb | 2 +- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/controllers/admin/page_parts_controller.rb b/app/controllers/admin/page_parts_controller.rb index 5302d8d6..825f5e59 100644 --- a/app/controllers/admin/page_parts_controller.rb +++ b/app/controllers/admin/page_parts_controller.rb @@ -54,7 +54,7 @@ class Admin::PagePartsController < ApplicationController end def update - binding.pry + @part = PagePart.find(params[:id]) params[:page_part][:widget_field] = params[:page_part][:widget_field].zip( params[:page_part][:widget_field_type],params[:page_part][:widget_field_is_link] ) if params[:page_part][:widget_field] @@ -73,7 +73,7 @@ class Admin::PagePartsController < ApplicationController params[:page_part][:category] = [] end - + params[:page_part][:widget_field].each{|t| t[2] = (t[2]=="true" ? true : false )} if @part.update_attributes(params[:page_part]) set_children_sub_menu(@part) if @part.public_r_tag && @part.public_r_tag.eql?('sub_menu') diff --git a/app/helpers/admin/page_parts_helper.rb b/app/helpers/admin/page_parts_helper.rb index f1cf1421..b285cfa4 100644 --- a/app/helpers/admin/page_parts_helper.rb +++ b/app/helpers/admin/page_parts_helper.rb @@ -21,11 +21,10 @@ module Admin::PagePartsHelper end end - def field_link_switch(i,object_name,field_name,local_item=nil,prefill_value=nil) + def link_to_field_switch(i,object_name,field_name,local_item=nil,prefill_value=nil) #link_to_field is for showing local_item = @part if local_item.nil? && @part local_item = @page if local_item.nil? && @page res = '' - choosen_value = prefill_value || (local_item[:widget_field][i][0] rescue nil) if choosen_value @@ -38,13 +37,13 @@ module Admin::PagePartsHelper if choosen_field_is_link value = case local_item when Page - local_item[:frontend_field][i][2] + local_item[:frontend_field][i][2] rescue false when PagePart - local_item[:widget_field][i][2] + local_item[:widget_field][i][2] rescue false end - + res = label_tag '' do - check_box_tag("#{object_name}[#{field_name}_is_link][]", value = "true", value) + I18n.t("default_widget.field_is_link") + check_box_tag("#{object_name}[#{field_name}_is_link][]", "true", value) + I18n.t("default_widget.field_is_link") end else # choosen_field_not_link res = hidden_field_tag "#{object_name}[#{field_name}_is_link][]", 'false' diff --git a/app/helpers/default_widget_helper.rb b/app/helpers/default_widget_helper.rb index 1d73acc8..af2ac239 100644 --- a/app/helpers/default_widget_helper.rb +++ b/app/helpers/default_widget_helper.rb @@ -6,7 +6,7 @@ module DefaultWidgetHelper def link_to_field(row_data,field, switch, options=nil) method_ary = @page_part.module_app.widget_fields_link_method field = field.to_sym - if(method_ary.has_key?(field) and (switch == "true")) + if(method_ary.has_key?(field) and (switch == true)) url = case method_ary[field][:args] when nil # no args get_data_link(method_ary[field]["method"], options) @@ -51,7 +51,7 @@ module DefaultWidgetHelper eval eval("#{method_entry}(#{options})") when BSON::ObjectId object = "'#{object.to_s}'" - eval("#{method_entry}(#{{:id => object}.merge options})") + eval("#{method_entry}(#{{:id => object}.merge options})") when Hash eval("#{method_entry}(#{object.merge options})") else diff --git a/app/views/admin/page_parts/_default_widget_setting.html.erb b/app/views/admin/page_parts/_default_widget_setting.html.erb index 741da7d5..3e7d2689 100644 --- a/app/views/admin/page_parts/_default_widget_setting.html.erb +++ b/app/views/admin/page_parts/_default_widget_setting.html.erb @@ -35,7 +35,7 @@ <%= select_tag "#{object_name}[#{field_name}_type][]", widget_fiield_type_options(i), :include_blank => true %>
- <%= field_link_switch(i,object_name,field_name) %> + <%= link_to_field_switch(i,object_name,field_name) %>
<% end %> diff --git a/app/views/admin/page_parts/reload_widget_field.js.erb b/app/views/admin/page_parts/reload_widget_field.js.erb index 32482e51..ae8d75f2 100644 --- a/app/views/admin/page_parts/reload_widget_field.js.erb +++ b/app/views/admin/page_parts/reload_widget_field.js.erb @@ -1 +1 @@ -$("#<%= params[:dom_id] %>").parents(".rows").find(".link_switch_holder").html("<%= j field_link_switch(@index,'page_part','widget_field',nil,@choosen_field) %>"); \ No newline at end of file +$("#<%= params[:dom_id] %>").parents(".rows").find(".link_switch_holder").html("<%= j link_to_field_switch(@index,'page_part','widget_field',nil,@choosen_field) %>"); \ No newline at end of file