@@ -0,0 +1,7 | |||||
|
1 | <% content_tag 'fieldset', :id => 'columns', :style => (query.has_default_columns? ? 'display:none;' : nil) do %> | |||
|
2 | <legend><%= l(:field_column_names) %></legend> | |||
|
3 | <% query.available_columns.each do |column| %> | |||
|
4 | <label><%= check_box_tag 'query[column_names][]', column.name, query.has_column?(column) %> <%= l("field_#{column.name}") %></label><br /> | |||
|
5 | <% end %> | |||
|
6 | <%= hidden_field_tag 'query[column_names][]', '' %> | |||
|
7 | <% end %> |
@@ -31,6 +31,7 class QueriesController < ApplicationController | |||||
31 | @query.user = logged_in_user |
|
31 | @query.user = logged_in_user | |
32 | @query.executed_by = logged_in_user |
|
32 | @query.executed_by = logged_in_user | |
33 | @query.is_public = false unless current_role.allowed_to?(:manage_public_queries) |
|
33 | @query.is_public = false unless current_role.allowed_to?(:manage_public_queries) | |
|
34 | @query.column_names = nil if params[:default_columns] | |||
34 |
|
35 | |||
35 | params[:fields].each do |field| |
|
36 | params[:fields].each do |field| | |
36 | @query.add_filter(field, params[:operators][field], params[:values][field]) |
|
37 | @query.add_filter(field, params[:operators][field], params[:values][field]) | |
@@ -52,6 +53,7 class QueriesController < ApplicationController | |||||
52 | end if params[:fields] |
|
53 | end if params[:fields] | |
53 | @query.attributes = params[:query] |
|
54 | @query.attributes = params[:query] | |
54 | @query.is_public = false unless current_role.allowed_to?(:manage_public_queries) |
|
55 | @query.is_public = false unless current_role.allowed_to?(:manage_public_queries) | |
|
56 | @query.column_names = nil if params[:default_columns] | |||
55 |
|
|
57 | ||
56 | if @query.save |
|
58 | if @query.save | |
57 | flash[:notice] = l(:notice_successful_update) |
|
59 | flash[:notice] = l(:notice_successful_update) |
@@ -208,11 +208,10 class Query < ActiveRecord::Base | |||||
208 | end |
|
208 | end | |
209 |
|
209 | |||
210 | def columns |
|
210 | def columns | |
211 | if column_names && !column_names.empty? |
|
211 | if has_default_columns? | |
212 | available_columns.select {|c| column_names.include?(c.name) } |
|
|||
213 | else |
|
|||
214 | # default columns |
|
|||
215 | available_columns.select {|c| c.default? } |
|
212 | available_columns.select {|c| c.default? } | |
|
213 | else | |||
|
214 | available_columns.select {|c| column_names.include?(c.name) } | |||
216 | end |
|
215 | end | |
217 | end |
|
216 | end | |
218 |
|
217 | |||
@@ -226,6 +225,10 class Query < ActiveRecord::Base | |||||
226 | column_names && column_names.include?(column.name) |
|
225 | column_names && column_names.include?(column.name) | |
227 | end |
|
226 | end | |
228 |
|
227 | |||
|
228 | def has_default_columns? | |||
|
229 | column_names.nil? || column_names.empty? | |||
|
230 | end | |||
|
231 | ||||
229 | def statement |
|
232 | def statement | |
230 | # project/subprojects clause |
|
233 | # project/subprojects clause | |
231 | clause = '' |
|
234 | clause = '' |
@@ -10,13 +10,11 | |||||
10 | <%= check_box 'query', 'is_public' %></p> |
|
10 | <%= check_box 'query', 'is_public' %></p> | |
11 | <% end %> |
|
11 | <% end %> | |
12 |
|
12 | |||
13 |
<p><label for="query_column |
|
13 | <p><label for="query_default_columns"><%=l(:label_default_columns)%></label> | |
14 | <% @query.available_columns.each do |column| %> |
|
14 | <%= check_box_tag 'default_columns', 1, @query.has_default_columns?, :id => 'query_default_columns', | |
15 | <%= check_box_tag 'query[column_names][]', column.name, @query.has_column?(column) %> <%= l("field_#{column.name}") %><br /> |
|
15 | :onchange => 'if (this.checked) {Element.hide("columns")} else {Element.show("columns")}' %></p> | |
16 | <% end %> |
|
|||
17 | <%= hidden_field_tag 'query[column_names][]', '' %> |
|
|||
18 | </p> |
|
|||
19 | </div> |
|
16 | </div> | |
20 |
|
17 | |||
|
18 | <%= render :partial => 'queries/columns', :locals => {:query => query}%> | |||
21 | <%= render :partial => 'queries/filters', :locals => {:query => query}%> |
|
19 | <%= render :partial => 'queries/filters', :locals => {:query => query}%> | |
22 | </div> |
|
20 | </div> |
@@ -512,3 +512,4 enumeration_activities: Дейности (time tracking) | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -512,3 +512,4 label_added_time_by: Added by %s %s ago | |||||
512 | field_estimated_hours: Estimated time |
|
512 | field_estimated_hours: Estimated time | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -512,3 +512,4 enumeration_activities: Aktivitäten (Zeiterfassung) | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -423,6 +423,7 label_updated_time: Updated %s ago | |||||
423 | label_jump_to_a_project: Jump to a project... |
|
423 | label_jump_to_a_project: Jump to a project... | |
424 | label_file_plural: Files |
|
424 | label_file_plural: Files | |
425 | label_changeset_plural: Changesets |
|
425 | label_changeset_plural: Changesets | |
|
426 | label_default_columns: Default columns | |||
426 |
|
427 | |||
427 | button_login: Login |
|
428 | button_login: Login | |
428 | button_submit: Submit |
|
429 | button_submit: Submit |
@@ -512,3 +512,4 enumeration_activities: Activities (time tracking) | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -423,6 +423,7 label_updated_time: Mis à jour il y a %s | |||||
423 | label_jump_to_a_project: Aller à un projet... |
|
423 | label_jump_to_a_project: Aller à un projet... | |
424 | label_file_plural: Fichiers |
|
424 | label_file_plural: Fichiers | |
425 | label_changeset_plural: Révisions |
|
425 | label_changeset_plural: Révisions | |
|
426 | label_default_columns: Colonnes par défaut | |||
426 |
|
427 | |||
427 | button_login: Connexion |
|
428 | button_login: Connexion | |
428 | button_submit: Soumettre |
|
429 | button_submit: Soumettre |
@@ -512,3 +512,4 enumeration_activities: Attività (time tracking) | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -513,3 +513,4 enumeration_activities: 作業分類 (時間トラッキング) | |||||
513 | label_file_plural: Files |
|
513 | label_file_plural: Files | |
514 | label_changeset_plural: Changesets |
|
514 | label_changeset_plural: Changesets | |
515 | field_column_names: Columns |
|
515 | field_column_names: Columns | |
|
516 | label_default_columns: Default columns |
@@ -513,3 +513,4 text_comma_separated: Multiple values allowed (comma separated). | |||||
513 | label_file_plural: Files |
|
513 | label_file_plural: Files | |
514 | label_changeset_plural: Changesets |
|
514 | label_changeset_plural: Changesets | |
515 | field_column_names: Columns |
|
515 | field_column_names: Columns | |
|
516 | label_default_columns: Default columns |
@@ -512,3 +512,4 field_estimated_hours: Szacowany czas | |||||
512 | label_file_plural: Pliki |
|
512 | label_file_plural: Pliki | |
513 | label_changeset_plural: Zestawienia zmian |
|
513 | label_changeset_plural: Zestawienia zmian | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -512,3 +512,4 enumeration_activities: Atividades (time tracking) | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -512,3 +512,4 enumeration_activities: Atividades (time tracking) | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
@@ -512,3 +512,4 label_index_by_title: Index by title | |||||
512 | label_file_plural: Files |
|
512 | label_file_plural: Files | |
513 | label_changeset_plural: Changesets |
|
513 | label_changeset_plural: Changesets | |
514 | field_column_names: Columns |
|
514 | field_column_names: Columns | |
|
515 | label_default_columns: Default columns |
General Comments 0
You need to be logged in to leave comments.
Login now