summaryrefslogtreecommitdiffstats
path: root/app/views
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-01 08:44:17 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-01 08:44:17 +0000
commite5f5671d66295100d719d4712a03015268d65e02 (patch)
tree3fd5ffdf275047e85b4c5c1a6e77cd2ca6b7c2ac /app/views
parent427b47b4d72276b5c80d79cd5f8e16c2aa31da1e (diff)
downloadredmine-e5f5671d66295100d719d4712a03015268d65e02.tar.gz
redmine-e5f5671d66295100d719d4712a03015268d65e02.zip
Added the ability to customize columns of a saved query.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@782 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/views')
-rw-r--r--app/views/issues/_list.rhtml20
-rw-r--r--app/views/issues/index.rhtml28
-rw-r--r--app/views/projects/list_issues.rhtml27
-rw-r--r--app/views/queries/_form.rhtml7
4 files changed, 30 insertions, 52 deletions
diff --git a/app/views/issues/_list.rhtml b/app/views/issues/_list.rhtml
new file mode 100644
index 000000000..0af415946
--- /dev/null
+++ b/app/views/issues/_list.rhtml
@@ -0,0 +1,20 @@
+<table class="list">
+ <thead><tr>
+ <th></th>
+ <%= sort_header_tag("#{Issue.table_name}.id", :caption => '#') %>
+ <% query.columns.each do |column| %>
+ <%= column_header(column) %>
+ <% end %>
+ </tr></thead>
+ <tbody>
+ <% issues.each do |issue| %>
+ <tr class="issue <%= cycle('odd', 'even') %>">
+ <th class="checkbox"><%= check_box_tag "issue_ids[]", issue.id, false, :id => "issue_#{issue.id}" %></th>
+ <td><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
+ <% query.columns.each do |column| %>
+ <%= content_tag 'td', column_content(column, issue), :class => column.name %>
+ <% end %>
+ </tr>
+ <% end %>
+ </tbody>
+</table>
diff --git a/app/views/issues/index.rhtml b/app/views/issues/index.rhtml
index 270f9b215..eb0835357 100644
--- a/app/views/issues/index.rhtml
+++ b/app/views/issues/index.rhtml
@@ -23,32 +23,8 @@
<p><i><%= l(:label_no_data) %></i></p>
<% else %>
&nbsp;
-<table class="list">
- <thead><tr>
- <%= sort_header_tag("#{Issue.table_name}.id", :caption => '#') %>
- <%= sort_header_tag("#{Project.table_name}.name", :caption => l(:field_project)) %>
- <%= sort_header_tag("#{Issue.table_name}.tracker_id", :caption => l(:field_tracker)) %>
- <%= sort_header_tag("#{IssueStatus.table_name}.name", :caption => l(:field_status)) %>
- <%= sort_header_tag("#{Issue.table_name}.priority_id", :caption => l(:field_priority)) %>
- <th><%=l(:field_subject)%></th>
- <%= sort_header_tag("#{User.table_name}.lastname", :caption => l(:field_assigned_to)) %>
- <%= sort_header_tag("#{Issue.table_name}.updated_on", :caption => l(:field_updated_on)) %>
- </tr></thead>
- <tbody>
- <% for issue in @issues %>
- <tr class="<%= cycle("odd", "even") %>">
- <td align="center" valign="top"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
- <td align="center" valign="top" nowrap><%=h issue.project.name %></td>
- <td align="center" valign="top" nowrap><%= issue.tracker.name %></td>
- <td valign="top"nowrap><%= issue.status.name %></td>
- <td align="center" valign="top"><%= issue.priority.name %></td>
- <td><%= link_to h(issue.subject), :controller => 'issues', :action => 'show', :id => issue %></td>
- <td align="center" valign="top" nowrap><%= issue.assigned_to.name if issue.assigned_to %></td>
- <td align="center" valign="top" nowrap><%= format_time(issue.updated_on) %></td>
- </tr>
- <% end %>
- </tbody>
-</table>
+<%= render :partial => 'issues/list', :locals => {:issues => @issues, :query => @query} %>
+
<p><%= pagination_links_full @issue_pages %>
[ <%= @issue_pages.current.first_item %> - <%= @issue_pages.current.last_item %> / <%= @issue_count %> ]</p>
<% end %>
diff --git a/app/views/projects/list_issues.rhtml b/app/views/projects/list_issues.rhtml
index e17e8bc37..3c90c30f9 100644
--- a/app/views/projects/list_issues.rhtml
+++ b/app/views/projects/list_issues.rhtml
@@ -45,32 +45,7 @@
<% else %>
&nbsp;
<% form_tag({:controller => 'projects', :action => 'move_issues', :id => @project}, :id => 'issues_form' ) do %>
-<table class="list">
- <thead><tr>
- <th></th>
- <%= sort_header_tag("#{Issue.table_name}.id", :caption => '#') %>
- <%= sort_header_tag("#{Issue.table_name}.tracker_id", :caption => l(:field_tracker)) %>
- <%= sort_header_tag("#{IssueStatus.table_name}.name", :caption => l(:field_status)) %>
- <%= sort_header_tag("#{Issue.table_name}.priority_id", :caption => l(:field_priority)) %>
- <th><%=l(:field_subject)%></th>
- <%= sort_header_tag("#{User.table_name}.lastname", :caption => l(:field_assigned_to)) %>
- <%= sort_header_tag("#{Issue.table_name}.updated_on", :caption => l(:field_updated_on)) %>
- </tr></thead>
- <tbody>
- <% for issue in @issues %>
- <tr class="<%= cycle("odd", "even") %>">
- <th style="width:15px;"><%= check_box_tag "issue_ids[]", issue.id, false, :id => "issue_#{issue.id}" %></th>
- <td align="center"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
- <td align="center"><%= issue.tracker.name %></td>
- <td><%= issue.status.name %></td>
- <td align="center"><%= issue.priority.name %></td>
- <td><%= "#{issue.project.name} - " unless @project && @project == issue.project %><%= link_to h(issue.subject), :controller => 'issues', :action => 'show', :id => issue %></td>
- <td align="center"><%= issue.assigned_to.name if issue.assigned_to %></td>
- <td align="center"><%= format_time(issue.updated_on) %></td>
- </tr>
- <% end %>
- </tbody>
-</table>
+<%= render :partial => 'issues/list', :locals => {:issues => @issues, :query => @query} %>
<div class="contextual">
<%= l(:label_export_to) %>
<%= link_to 'CSV', {:action => 'export_issues_csv', :id => @project}, :class => 'icon icon-csv' %>,
diff --git a/app/views/queries/_form.rhtml b/app/views/queries/_form.rhtml
index 28b6479e5..b4a4987cd 100644
--- a/app/views/queries/_form.rhtml
+++ b/app/views/queries/_form.rhtml
@@ -9,6 +9,13 @@
<p><label for="query_is_public"><%=l(:field_is_public)%></label>
<%= check_box 'query', 'is_public' %></p>
<% end %>
+
+<p><label for="query_column_names"><%=l(:field_column_names)%></label>
+<% @query.available_columns.each do |column| %>
+<%= check_box_tag 'query[column_names][]', column.name, @query.has_column?(column) %> <%= l("field_#{column.name}") %><br />
+<% end %>
+<%= hidden_field_tag 'query[column_names][]', '' %>
+</p>
</div>
<%= render :partial => 'queries/filters', :locals => {:query => query}%>