member plugin init edit

This commit is contained in:
unknown committed 2013-02-20 18:05:09 +08:00
commit f59da3ce81
59 files changed
+273 -111

No files matched your search

+4
View File
@@ -42,6 +42,10 @@ $("#tag_list select").live('change', function() {
$.getScript($(this).attr('rel') + '/' + $(this).val() + '/reload_r_tag_options');
});
$("select.widget_field_select").live('change', function() {
$.getScript(get_object_path() + '/reload_after_widget_field_changed?widget_field_value='+ $(this).val()+'&dom_id=' + $(this).attr("id") + '&field_seri=' +$(this).attr('field_seri'));
});
$('.part_kind').live('click', function() {
$('.part_kind_partial').hide();
$('#part_' + $(this).attr('value')).show();
+10 -2
View File
@@ -55,9 +55,10 @@ class Admin::PagePartsController < ApplicationController
def update
@part = PagePart.find(params[:id])
params[:page_part][:widget_field] = params[:page_part][:widget_field].zip( params[:page_part][:widget_field_type] ) if params[:page_part][:widget_field]
params[:page_part][:widget_field] = params[:page_part][:widget_field].zip( params[:page_part][:widget_field_type],params[:page_part][:widget_field_is_link] )
params[:page_part][:widget_field_type] = nil
params[:page_part][:widget_field_is_link] = nil
if params[:page_part][:module_app].blank?
params[:page_part][:module_app] = nil
@@ -90,6 +91,13 @@ class Admin::PagePartsController < ApplicationController
redirect_to admin_items_url( :parent_id => @item.parent_id )
end
def reload_widget_field
@index = params[:field_seri].to_i
@part = PagePart.find params[:id]
@choosen_field = params[:widget_field_value]
@module_app = @part.module_app
end
def reload_widgets
@part = PagePart.find params[:id]
@module_app = ModuleApp.find(params[:module_app_id]) rescue nil
+1 -2
View File
@@ -23,8 +23,7 @@ class DefaultWidgetController< OrbitWidgetController
@fields = @page_part.widget_field
@page_part.widget_data_count.is_a?(Fixnum) ? @page_part.widget_data_count : (@page_part.widget_data_count.to_i rescue 3)
end
@data = eval(@default_widget["query"]).limit(data_limit).includes(@widget_image_field)
@data = eval(@default_widget["query"]).limit(data_limit).includes(@widget_image_field).desc(:created_at)
case params[:type]
when "typeA"
@tag_class = 'default_widget_typeA'
+43
View File
@@ -9,6 +9,49 @@ module Admin::PagePartsHelper
end
end
def get_widget_field_rel(local_item=nil)
local_item = @part if local_item.nil? && @part
local_item = @page if local_item.nil? && @page
case local_item
when Page
admin_pages_path
when PagePart
admin_page_parts_path
end
end
def field_link_switch(i,object_name,field_name,local_item=nil,prefill_value=nil)
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
choosen_field_is_link = (@module_app.widget_fields.select{|t| t[0].to_s==choosen_value}.first)[2]==:link
else
choosen_field_is_link = false
end
if choosen_field_is_link
value = case local_item
when Page
local_item[:frontend_field][i][2]
when PagePart
local_item[:widget_field][i][2]
end
res = label_tag '' do
check_box_tag("#{object_name}[#{field_name}_is_link][]", value = "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'
end # of if choosen_field_is_link
end
def widget_field_options(i,local_item=nil)
local_item = @part if local_item.nil? && @part
local_item = @page if local_item.nil? && @page
+9 -8
View File
@@ -1,22 +1,23 @@
module DefaultWidgetHelper
def get_field_header(field)
I18n.t(@page_part.module_app.widget_fields.select{|t|t[0]==field}[0][1])
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
+4 -3
View File
@@ -6,7 +6,7 @@ class ModuleApp
field :key
field :title
field :sidebar_order#,type: Integer
field :sidebar_order,type: Integer,default: 0
def refetch_setting!(reg)
# %w{module_label category base_url version organization author intro update_info create_date}.each do |field|
@@ -30,7 +30,7 @@ class ModuleApp
end
def get_default_widget
raise 'Need to link with OrbitApp [type: Array]'
get_registration.get_default_widget
end
@@ -98,7 +98,8 @@ class ModuleApp
end
def widget_fields_link_method
raise 'Need to link with OrbitApp [type: Hash]'
get_registration.get_link_methods
# raise 'Need to link with OrbitApp [type: Hash]'
end
@@ -31,13 +31,15 @@
<div class="rows clear">
<span class="span4">
<%= i+1 %>
<%= select_tag "#{object_name}[#{field_name}][]", widget_field_options(i), :include_blank => true %>
<%= select_tag "#{object_name}[#{field_name}][]", widget_field_options(i), :include_blank => true ,:class=>'widget_field_select',:field_seri => i ,:id=>"#{object_name}_#{field_name}_#{i}"%>
</span>
<span class="span3">
<%= select_tag "#{object_name}[#{field_name}_type][]", widget_fiield_type_options(i), :include_blank => true %> <br />
</span>
<span class="span5"></span>
</div><br/>
<span class="span5 link_switch_holder">
<%= field_link_switch(i,object_name,field_name) %>
</span>
</div><br/>
<% end %>
<br/>
<div class="rows clear">
@@ -26,7 +26,7 @@
<%= t "default_widget.select_widget_path" %>
</label>
<div class="controls">
<%= f.select :widget_path, @module_app ? @module_app.widgets.collect{|k,v| [I18n.t(v["i18n"]),k]} : [], {}, { :selected => @part.widget_path, :rel => admin_page_parts_path } %>
<%= f.select :widget_path, @module_app ? @module_app.widgets.collect{|k,v| [I18n.t(v["i18n"]),k]} : [], {}, { :selected => @part.widget_path, :rel => get_widget_field_rel } %>
</div>
</div>
@@ -0,0 +1 @@
$("#<%= params[:dom_id] %>").parents(".rows").find(".link_switch_holder").html("<%= j field_link_switch(@index,'page_part','widget_field',nil,@choosen_field) %>");
+1 -1
View File
@@ -11,7 +11,7 @@
<% @data.each do |row_data| %>
<tr>
<% @fields.each do |field|%>
<td><%= content_tag(:span,link_to_field(row_data,field[0]),:class=>field[1])%></td>
<td><%= content_tag(:span,link_to_field(row_data,field[0],field[2]),:class=>field[1])%></td>
<% end %>
</tr>
<% end %>
+1 -2
View File
@@ -13,8 +13,7 @@
<div class="viewport">
<div class="overview">
<ul class="nav nav-list">
<%= render :partial=> 'layouts/side_bar_content'%>
<%#= render ((local_assigns.has_key? :side_bar_content) ? side_bar_content : 'layouts/side_bar_content') %>
<%= render ((local_assigns.has_key? :side_bar_content) ? side_bar_content : 'layouts/side_bar_content') %>
</ul>
</div>
</div>