fix link for default widget

This commit is contained in:
Fu Matthew committed 2013-02-18 17:03:18 +08:00
1 parent a6f6dc271c
commit 3a13ab4634
6 files changed
+28 -10

No files matched your search

+8 -7
View File
@@ -3,20 +3,21 @@ module DefaultWidgetHelper
I18n.t("#{@page_part.module_app.key}.default_widget.#{field}")
end
def link_to_field(row_data,field)
def link_to_field(row_data,field,switch)
method_ary = @page_part.module_app.widget_fields_link_method
if method_ary.has_key? field
url = case method_ary[field]["args"]
field = field.to_sym
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"])
get_data_link(method_ary[field][:method])
when :self # passing self
get_data_link(method_ary[field]['method'],row_data.id)
get_data_link(method_ary[field][:method],row_data.id)
else
ary = method_ary[field]["args"].clone
ary = method_ary[field][:args].clone
object_hash = ary.each do |key,val|
ary[key]= type_trans_or_to_s(row_data.send(val[0]).send(val[1]))
end
get_data_link(method_ary[field]['method'],object_hash)
get_data_link(method_ary[field][:method],object_hash)
end
link_to row_data.send(field),url