clean default widget
This commit is contained in:
parent
5efbe07fbe
commit
abbecfbe2f
|
@ -8,21 +8,20 @@ module DefaultWidgetHelper
|
||||||
if method_ary.has_key? field
|
if method_ary.has_key? field
|
||||||
url = case method_ary[field]["args"]
|
url = case method_ary[field]["args"]
|
||||||
when nil # no args
|
when nil # no args
|
||||||
eval(method_ary[field]["method"])
|
get_data_link(method_ary[field]["method"])
|
||||||
when :self # passing self
|
when :self # passing self
|
||||||
eval "#{method_ary[field]['method']}('#{row_data.id}')"
|
get_data_link(method_ary[field]['method'],row_data.id)
|
||||||
else
|
else
|
||||||
ary = method_ary[field]["args"].clone
|
ary = method_ary[field]["args"].clone
|
||||||
object_hash = ary.each do |key,val|
|
object_hash = ary.each do |key,val|
|
||||||
ary[key]= row_data.send(val[0]).send(val[1]).to_s
|
ary[key]= type_trans_or_to_s(row_data.send(val[0]).send(val[1]))
|
||||||
end
|
end
|
||||||
binding.pry
|
get_data_link(method_ary[field]['method'],object_hash)
|
||||||
eval "#{method_ary[field]['method']}(#{object_hash})"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
link_to row_data.send(field),url
|
link_to row_data.send(field),url
|
||||||
else
|
else
|
||||||
row_data.send(field)
|
type_trans_or_to_s(row_data.send(field) )
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -32,17 +31,42 @@ module DefaultWidgetHelper
|
||||||
# # row_data.send(method_ary[field]["args"])
|
# # row_data.send(method_ary[field]["args"])
|
||||||
# end
|
# end
|
||||||
|
|
||||||
|
def type_trans_or_to_s(object)
|
||||||
|
case object
|
||||||
|
when Date
|
||||||
|
display_date(object)
|
||||||
|
when DateTime
|
||||||
|
display_date_time(object)
|
||||||
|
when String
|
||||||
|
object
|
||||||
|
else
|
||||||
|
object.to_s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_data_link(method_entry,object = nil)
|
||||||
|
case object
|
||||||
|
when nil
|
||||||
|
eval method_entry
|
||||||
|
else
|
||||||
|
eval("#{method_entry}('#{object}')" )
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_display(row_data,field_setting)
|
||||||
|
label = row_data.send(field_setting[:method])
|
||||||
|
type_trans_or_to_s(label)
|
||||||
|
end
|
||||||
|
|
||||||
def get_row_data(row_data,field)
|
def get_row_data(row_data,field)
|
||||||
field_is_link = (field[0][1]== 'false' ? false : true )
|
field_is_link = (field[0][1]== 'false' ? false : true )
|
||||||
field_setting = {:class=>field[0][1],:method=>field[0][0]}
|
field_setting = {:class=>field[0][1],:method=>field[0][0]}
|
||||||
if field_is_link
|
if field_is_link
|
||||||
field_link = field[0][1].to_s + '_path'
|
field_link = field[0][1].to_s + '_path'
|
||||||
binding.pry
|
link = link_to(get_display(row_data,field_setting),field_link.send(row_data))
|
||||||
link = link_to(row_data.send(field_setting[:method]),field_link.send(row_data))
|
|
||||||
content_tag(:span,link,:class=>field_setting[:class])
|
content_tag(:span,link,:class=>field_setting[:class])
|
||||||
else
|
else
|
||||||
content_tag(:span,row_data.send(field_setting[:method]),:class=>field_setting[:class])
|
content_tag(:span,get_display(row_data,field_setting),:class=>field_setting[:class])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -357,7 +357,7 @@ namespace :migrate do
|
||||||
a.widget_fields = [
|
a.widget_fields = [
|
||||||
["title","announcement.default_widget.title"],
|
["title","announcement.default_widget.title"],
|
||||||
["bulletin_category_with_title","announcement.default_widget.bulletin_category_with_title"],
|
["bulletin_category_with_title","announcement.default_widget.bulletin_category_with_title"],
|
||||||
["postdate_with_format","announcement.default_widget.postdate_with_format"]
|
["postdate","announcement.default_widget.postdate"]
|
||||||
]
|
]
|
||||||
a.get_default_widget = {:query=>'Bulletin.all',:image=> 'image'}
|
a.get_default_widget = {:query=>'Bulletin.all',:image=> 'image'}
|
||||||
a.widget_fields_link_method = {
|
a.widget_fields_link_method = {
|
||||||
|
|
|
@ -77,11 +77,6 @@ class Bulletin
|
||||||
string :bulletin_category_id
|
string :bulletin_category_id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def postdate_with_format
|
|
||||||
self[:postdate].strftime("%m/%d/%Y")
|
|
||||||
end
|
|
||||||
|
|
||||||
def bulletin_category_with_title
|
def bulletin_category_with_title
|
||||||
self.bulletin_category.title
|
self.bulletin_category.title
|
||||||
end
|
end
|
||||||
|
|
|
@ -18,4 +18,4 @@ zh_tw:
|
||||||
default_widget:
|
default_widget:
|
||||||
bulletin_category_with_title: 分類
|
bulletin_category_with_title: 分類
|
||||||
title: 標題
|
title: 標題
|
||||||
postdate_with_format: 張貼日期
|
postdate: 張貼日期
|
||||||
|
|
Reference in New Issue