Commit e5609faaa64a73271bfdeb7fbd256a348ffb8e52

Authored by Francisco Júnior
1 parent 164e064c

comment_paragraph: minor fixes

plugins/comment_paragraph/controllers/comment_paragraph_plugin_admin_controller.rb
... ... @@ -13,6 +13,7 @@ class CommentParagraphPluginAdminController < AdminController
13 13 end
14 14  
15 15 if request.post?
  16 + @settings.settings[:auto_marking_article_types].reject! { |type| type.blank? }
16 17 @settings.save!
17 18 redirect_to :controller => 'plugins', :action => 'index'
18 19 end
... ...
plugins/comment_paragraph/lib/comment_paragraph_plugin/comment_paragraph_helper.rb
1 1 module CommentParagraphPlugin::CommentParagraphHelper
2 2  
3   - def self.auto_marking_enabled?(plugin_settings, article_type)
4   - auto_marking_setting = plugin_settings.get_setting('article_types_with_auto_marking')
5   - auto_marking_setting.include?(article_type) ? true : false
  3 + def auto_marking_enabled?(plugin_settings, article_type)
  4 + auto_marking_setting = plugin_settings.get_setting('auto_marking_article_types')
  5 + auto_marking_setting && auto_marking_setting.include?(article_type) ? true : false
6 6 end
7 7  
8 8 end
... ...
plugins/comment_paragraph/public/comment_paragraph_admin.js 0 → 100644
... ... @@ -0,0 +1,39 @@
  1 +function check_fields(check, table_id, start) {
  2 + var checkboxes = jQuery("#" + table_id + " tbody tr td input[type='checkbox']");
  3 + for (var i = start; i < checkboxes.length; i++) {
  4 + checkboxes[i].checked = check;
  5 + }
  6 +}
  7 +
  8 +function verify_checked() {
  9 + var checkboxes = jQuery("#auto_marking_article_types_conf tbody tr td input[type='checkbox']");
  10 + var allchecked = true
  11 + for (var j = 1; j < checkboxes.length; j++) {
  12 + if(!checkboxes[j].checked) {
  13 + allchecked = false
  14 + break
  15 + }
  16 + }
  17 +
  18 + var checkbox = checkboxes.first();
  19 + checkboxes.first().attr('checked', allchecked);
  20 +}
  21 +
  22 +function check_all() {
  23 + jQuery("input[type='checkbox']").first().click(function () {
  24 + check_fields(this.checked, "auto_marking_article_types_conf", 0)
  25 + });
  26 + verify_checked();
  27 +}
  28 +
  29 +jQuery(document).ready(function() {
  30 + check_all();
  31 + jQuery("input[type='checkbox']").click(function () {
  32 + var checkbox = jQuery(this).attr("id").split("_");
  33 + verify_checked();
  34 +
  35 + if(this.checked == false) {
  36 + jQuery("#" + checkbox.first() + "_" + checkbox.last()).attr("checked", false)
  37 + }
  38 + });
  39 +});
... ...
plugins/comment_paragraph/views/comment_paragraph_plugin_admin/index.html.erb
  1 +<% extend CommentParagraphPlugin::CommentParagraphHelper %>
  2 +
1 3 <h1><%= _("Comment paragraph plugin settings") %></h1>
2 4  
3 5 <%= form_for(:settings) do |f| %>
4 6  
5   -<table>
  7 +<%= hidden_field_tag 'settings[auto_marking_article_types][]' %>
  8 +
  9 +<table id="auto_marking_article_types_conf" border="0">
6 10 <tr>
7   - <th>&nbsp;</th>
8 11 <th align="left"><%= _('Article type') %></th>
9   - <th align="left"><%= _('Article type description') %></th>
  12 + <th><%= _('Automatic marking active') %></th>
  13 + </tr>
  14 + <tr style="background-color: #EEE; border-bottom: 2px solid #000;">
  15 + <td><span style="font-style: italic;"><%= _('Check/Uncheck All') %></span></td>
  16 + <td align="center"><%= check_box_tag 'article_active', '' %></td>
10 17 </tr>
11 18 <% @article_types.each do |type| %>
12 19 <tr>
13   - <td><%= check_box_tag 'settings[article_types_with_auto_marking][]', type[:class_name], CommentParagraphPlugin::CommentParagraphHelper.auto_marking_enabled?(@settings, type[:class_name]) %></td>
14   - <td><%= _(type[:class_name]) %></td>
15 20 <td><%= _(type[:short_description]) %></td>
  21 + <td align="center"><%= check_box_tag 'settings[auto_marking_article_types][]', type[:class_name], auto_marking_enabled?(@settings, type[:class_name]) %></td>
16 22 </tr>
17 23 <% end %>
18 24 </table>
19 25  
20   -
21 26 <% button_bar do %>
22 27 <%= submit_button(:save, _('Save'), :cancel => {:controller => 'plugins', :action => 'index'}) %>
23 28 <% end %>
24 29  
25 30 <% end %>
  31 +
  32 +<%= javascript_include_tag 'plugins/comment_paragraph/comment_paragraph_admin' %>
... ...