diff --git a/app/models/personal_plugin_field.rb b/app/models/personal_plugin_field.rb index 5e72984..762a4cc 100644 --- a/app/models/personal_plugin_field.rb +++ b/app/models/personal_plugin_field.rb @@ -13,6 +13,7 @@ class PersonalPluginField field :backend_fields, :type => Hash, :default => {} field :frontend_fields, :type => Hash, :default => {} field :log_text, :type => String, :default => "" + field :fields_order, :type => Hash, :default => {} before_save :check_plugin_exist def get_all_gem_plugins extention_files = ["downloaded_extensions.rb","built_in_extensions.rb"] diff --git a/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb b/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb index 438a95f..51ac488 100644 --- a/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb +++ b/app/views/admin/personal_plugin_fields/_personal_plugin_fields.html.erb @@ -5,6 +5,7 @@ <%= link_to t(:edit) ,edit_admin_personal_plugin_field_path(personal_plugin_field.id),:class=> "btn btn-primary" %> <%= link_to thead_field('fields_display_setting') ,admin_personal_plugin_field_fields_setting_path(personal_plugin_field.id),:class=> "btn btn-primary" %> <%= link_to thead_field(:copy) ,admin_personal_plugin_field_copy_path(personal_plugin_field.id),:class=> "btn btn-primary" %> + <%= t(:delete_) %> diff --git a/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb b/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb index ab5cfd3..d6e7657 100644 --- a/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb +++ b/app/views/admin/personal_plugin_fields/_render_fields_check_table.html.erb @@ -1,4 +1,4 @@ -
+
"> <% object = f.object %>
<%=thead_field(page_name)%>
@@ -7,46 +7,65 @@ "> + <% ths = [] %> + <% ii = -1 %> <% object.primary_modal_fields.each do |field_value| %> <% next if (!access_field_types.include?(field_value[:field_type]) rescue false) %> - + <% ths << "" %> <% end %> <% if page_name != "analysis" %> <% f.object.related_modal_name.each_with_index do |related_modal_name,i| %> <% field_values = f.object.related_modal_fields[i].to_a %> <% field_values.each do |field_value| %> - + <% ths << "" %> <% end %> <% end %> <% author_name_translation = @personal_plugin_field.author_name_translations[locale] rescue "" author_name_translation = I18n.t("personal_plugins.author") if author_name_translation.blank? %> - + <% ths << "" %> + <% end %> + <% fields_order = (0...ths.count).to_a + if (object.fields_order["#{root_name}_#{page_name}"].present? rescue false) + object.fields_order["#{root_name}_#{page_name}"].to_a.each_with_index do |order,i| + fields_order[i] = order.to_i + end + end + %> + <% ths = ths.sort_by.with_index{|th,i| fields_order[i]}%> + <% ths.each do |th| %> + <%= th.html_safe %> <% end %> + <% tds = [] %> <%= f.fields_for root_name do |f| %> <%= f.fields_for page_name do |f| %> <% object.primary_modal_fields.each do |field_value| %> <% next if (!access_field_types.include?(field_value[:field_type]) rescue false) %> - + <% tds << check_box_tag("#{f.object_name}[]", field_value[:field_name] , (object.send(root_name)[page_name].include?(field_value[:field_name]) rescue false),:id=>nil) %> <% end %> <% if page_name != "analysis" %> <% object.related_modal_name.each_with_index do |related_modal_name,i| %> <% field_values = object.related_modal_fields[i].to_a %> <% field_values.each do |field_value| %> - + <% tds << check_box_tag("#{f.object_name}[]", "#{related_modal_name+'.'+field_value[:field_name]}" , (object.send(root_name)[page_name].include?(related_modal_name+'.'+field_value[:field_name]) rescue false),:id=>nil) %> <% end %> <% end %> - + <% tds << check_box_tag("#{f.object_name}[]", "member_profile" , (object.send(root_name)[page_name].include?("member_profile") rescue false),:id=>nil) %> <% end %> <% end %> <% end %> + <% tds = tds.sort_by.with_index{|td,i| fields_order[i]}%> + <% tds.each do |td| %> + + <% end %> + + + <% fields_order.each do |order| %> + <%= hidden_field_tag "#{f.object_name}[fields_order][#{root_name}_#{page_name}][]",order,:id=>nil %> + <% end %>
<%="#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}"%>#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}<%="#{related_modal_name}-#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}"%>#{related_modal_name}-#{field_value[:translation_name][I18n.locale] rescue ""}-#{field_value[:field_name]}<%= author_name_translation %>#{author_name_translation}
- <%= check_box_tag "#{f.object_name}[]", field_value[:field_name] , (object.send(root_name)[page_name].include?(field_value[:field_name]) rescue false),:id=>nil %> - - <%= check_box_tag "#{f.object_name}[]", "#{related_modal_name+'.'+field_value[:field_name]}" , (object.send(root_name)[page_name].include?(related_modal_name+'.'+field_value[:field_name]) rescue false),:id=>nil %> - <%= check_box_tag "#{f.object_name}[]", "member_profile" , (object.send(root_name)[page_name].include?("member_profile") rescue false),:id=>nil %><%= td.html_safe %>
diff --git a/app/views/admin/personal_plugin_fields/fields_setting.html.erb b/app/views/admin/personal_plugin_fields/fields_setting.html.erb index 7e3f37d..5bab09c 100644 --- a/app/views/admin/personal_plugin_fields/fields_setting.html.erb +++ b/app/views/admin/personal_plugin_fields/fields_setting.html.erb @@ -43,6 +43,11 @@
<% end %> + \ No newline at end of file