Skip to content
This repository has been archived by the owner on Mar 27, 2022. It is now read-only.

Commit

Permalink
Reports: interface improvements for grouped conditions.
Browse files Browse the repository at this point in the history
  • Loading branch information
seven1m committed Dec 23, 2009
1 parent 7f93f18 commit 7fe2ece
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 22 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Expand Up @@ -618,4 +618,4 @@ an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
1 change: 1 addition & 0 deletions app/controllers/administration/reports_controller.rb
Expand Up @@ -75,6 +75,7 @@ def destroy

def criteria
@object = ['', '=', '']
@parent_id = params[:parent_id] || 'criteria'
end

private
Expand Down
8 changes: 5 additions & 3 deletions app/views/administration/reports/_form.erb
Expand Up @@ -25,9 +25,11 @@

<fieldset>
<legend><%= I18n.t('reporting.Criteria') %></legend>
<table id="criteria">
<tr><td rowspan="<%= @conditions.length + 1 %>" class="criteria-joiner"><span>AND&nbsp;</span></td></tr>
<%= render :partial => "#{@report.definition['collection']}_selector", :collection => @conditions %>
<table>
<tr>
<td class="criteria-joiner"><span>AND&nbsp;</span></td>
<td id="criteria"><%= render :partial => "#{@report.definition['collection']}_selector", :collection => @conditions %></td>
</tr>
</table>
<p><%= link_to_function image_tag('plus.png', :class => 'icon') + ' ' + I18n.t('reporting.add_criteria'), "add_criteria()" %></p>
</fieldset>
Expand Down
35 changes: 18 additions & 17 deletions app/views/administration/reports/_people_selector.erb
@@ -1,23 +1,23 @@
<tr>
<div>
<% if ['$or', '$and'].include?(object[0]) %>
<td colspan="3">
<table style="margin-left:5px;">
<tr><td rowspan="<%= object[1].length + 1 %>" class="criteria-joiner"><span>OR&nbsp;</span></td></tr>
<%= render :partial => "#{@report.definition['collection']}_selector", :collection => object[1] %>
</table>
</td>
<table style="margin-left:5px;">
<tr>
<td class="criteria-joiner"><span>OR&nbsp;</span></td>
<td><%= render :partial => "#{@report.definition['collection']}_selector", :collection => object[1] %></td>
</tr>
</table>
<% else %>
<td class="field">
<span class="field">
<%= select_tag 'report[selector][field][]',
options_for_select(['']+Report.people_fields.map { |f| f.first }, object[0]),
:onchange => "adjust_operator_and_value(this.parentNode.parentNode)" %>
</td>
<td class="operator">
</span>
<span class="operator">
<%= select_tag 'report[selector][operator][]',
options_for_select(Report.operators_for_field('people', object[0]), object[1]),
:onchange => "adjust_value(this.parentNode.parentNode)" %>
</td>
<td class="value">
</span>
<span class="value">
<% if Report.field_type(object[0]) == 'boolean' %>
<%= select_tag 'report[selector][value][]', options_for_select([true, false], object[2]) %>
<% elsif ['$in', '$nin'].include?(object[1]) %>
Expand All @@ -27,9 +27,10 @@
<% else %>
<%= text_field_tag 'report[selector][value][]', object[2] %>
<% end %>
</td>
<td>
<%= link_to_function image_tag('delete.png', :class => 'icon', :alt => I18n.t('reporting.remove_criteria')), "var tr=this.parentNode.parentNode;tr.parentNode.removeChild(tr);" %>
</td>
</span>
<span>
<%= link_to_function image_tag('delete.png', :class => 'icon', :alt => I18n.t('reporting.remove_criteria')), "var row=this.parentNode.parentNode;row.parentNode.removeChild(row);" %>
<%= link_to_function image_tag('plus.png', :class => 'icon', :alt => I18n.t('reporting.add_criteria')), "add_criteria()" %>
</span>
<% end %>
</tr>
</div>
2 changes: 1 addition & 1 deletion app/views/administration/reports/criteria.js.rjs
@@ -1 +1 @@
page.insert_html :bottom, 'criteria', :partial => "#{params[:collection]}_selector", :object => @object
page.insert_html :bottom, @parent_id, :partial => "#{params[:collection]}_selector", :object => @object

0 comments on commit 7fe2ece

Please sign in to comment.