Added per user custom queries.
Any logged in user can now save queries (they are not visible to the other users). Only users with explicit permission can manage queries that are visible to anyone. The queries list is removed from the "Reports" view. It can now be accessed from the issues list. git-svn-id: http://redmine.rubyforge.org/svn/trunk@566 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
1 parent
5332c4362c
commit
1c44600c62
17 files changed
+112
-74
No files matched your search
@@ -1,5 +0,0 @@
|
||||
<% if authorize_for('projects', 'add_issue') %>
|
||||
<% form_tag({ :controller => 'projects', :action => 'add_issue', :id => @project }, :method => 'get') do %>
|
||||
<%= l(:label_issue_new) %>: <%= select_tag 'tracker_id', ("<option></option>" + options_from_collection_for_select(trackers, 'id', 'name')), :onchange => "if (this.value!='') {this.form.submit();}" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -77,6 +77,9 @@
|
||||
<%= link_to l(:label_calendar), {:controller => 'projects', :action => 'calendar', :id => @project }, :class => "menuItem" %>
|
||||
<%= link_to l(:label_gantt), {:controller => 'projects', :action => 'gantt', :id => @project }, :class => "menuItem" %>
|
||||
<%= link_to l(:label_issue_plural), {:controller => 'projects', :action => 'list_issues', :id => @project }, :class => "menuItem" %>
|
||||
<% if @project && authorize_for('projects', 'add_issue') %>
|
||||
<a class="menuItem" href="#" onmouseover="menuItemMouseover(event,'menuNewIssue');" onclick="this.blur(); return false;"><span class="menuItemText"><%= l(:label_issue_new) %></span><span class="menuItemArrow">▶</span></a>
|
||||
<% end %>
|
||||
<%= link_to l(:label_report_plural), {:controller => 'reports', :action => 'issue_report', :id => @project }, :class => "menuItem" %>
|
||||
<%= link_to l(:label_activity), {:controller => 'projects', :action => 'activity', :id => @project }, :class => "menuItem" %>
|
||||
<%= link_to l(:label_news_plural), {:controller => 'projects', :action => 'list_news', :id => @project }, :class => "menuItem" %>
|
||||
@@ -91,6 +94,14 @@
|
||||
<%= link_to_if_authorized l(:label_settings), {:controller => 'projects', :action => 'settings', :id => @project }, :class => "menuItem" %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @project && authorize_for('projects', 'add_issue') %>
|
||||
<div id="menuNewIssue" class="menu" onmouseover="menuMouseover(event)">
|
||||
<% Tracker.find(:all, :order => 'position').each do |tracker| %>
|
||||
<%= link_to tracker.name, {:controller => 'projects', :action => 'add_issue', :id => @project, :tracker_id => tracker}, :class => "menuItem" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if loggedin? and @logged_in_user.memberships.any? %>
|
||||
<div id="menuAllProjects" class="menu" onmouseover="menuMouseover(event)">
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
<h2><%= l(:label_query_new) %></h2>
|
||||
|
||||
<% form_tag({:action => 'add_query', :id => @project}) do %>
|
||||
<%= render :partial => 'queries/form', :locals => {:query => @query} %>
|
||||
<%= submit_tag l(:button_create) %>
|
||||
<% end %>
|
||||
@@ -1,6 +1,6 @@
|
||||
<% if @query.new_record? %>
|
||||
<div class="contextual">
|
||||
<%= render :partial => 'issues/add_shortcut', :locals => {:trackers => @trackers } %>
|
||||
<%= link_to l(:label_query_plural), :controller => 'queries', :project_id => @project %>
|
||||
</div>
|
||||
<h2><%=l(:label_issue_plural)%></h2>
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
:update => "content",
|
||||
}, :class => 'icon icon-reload' %>
|
||||
|
||||
<% if authorize_for('projects', 'add_query') %>
|
||||
<% if loggedin? %>
|
||||
<%= link_to_remote l(:button_save),
|
||||
{ :url => { :controller => 'projects', :action => "add_query", :id => @project },
|
||||
{ :url => { :controller => 'queries', :action => 'new', :project_id => @project },
|
||||
:method => 'get',
|
||||
:update => "content",
|
||||
:with => "Form.serialize('query_form')"
|
||||
@@ -31,12 +31,8 @@
|
||||
<br />
|
||||
<% else %>
|
||||
<div class="contextual">
|
||||
<%= render :partial => 'issues/add_shortcut', :locals => {:trackers => @trackers } %>
|
||||
<%= link_to l(:button_clear), {:controller => 'projects', :action => 'list_issues', :id => @project, :set_filter => 1}, :class => 'icon icon-reload' %>
|
||||
<% if authorize_for('projects', 'add_query') %>
|
||||
<%= link_to l(:button_edit), {:controller => 'queries', :action => 'edit', :id => @query}, :class => 'icon icon-edit' %>
|
||||
<%= link_to l(:button_delete), {:controller => 'queries', :action => 'destroy', :id => @query}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %>
|
||||
<% end %>
|
||||
<%= link_to l(:label_query_plural), {:controller => 'queries', :project_id => @project} %> |
|
||||
<%= link_to l(:label_issue_view_all), {:controller => 'projects', :action => 'list_issues', :id => @project, :set_filter => 1} %>
|
||||
</div>
|
||||
<h2><%= @query.name %></h2>
|
||||
<% end %>
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
</ul>
|
||||
|
||||
<div class="box">
|
||||
<div class="contextual">
|
||||
<%= render :partial => 'issues/add_shortcut', :locals => {:trackers => @trackers } %>
|
||||
</div>
|
||||
<h3 class="icon22 icon22-tracker"><%=l(:label_issue_tracking)%></h3>
|
||||
<ul>
|
||||
<% for tracker in @trackers %>
|
||||
|
||||
@@ -55,7 +55,7 @@ function toggle_multi_select(field) {
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<fieldset style="margin:0;"><legend><%= l(:label_filter_plural) %></legend>
|
||||
<fieldset><legend><%= l(:label_filter_plural) %></legend>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
<%= error_messages_for 'query' %>
|
||||
|
||||
<!--[form:query]-->
|
||||
<div class="box">
|
||||
<div class="tabular">
|
||||
<p><label for="query_name"><%=l(:field_name)%></label>
|
||||
<%= text_field 'query', 'name', :size => 80 %></p>
|
||||
|
||||
<% if authorize_for('projects', 'add_query') %>
|
||||
<p><label for="query_is_public"><%=l(:field_is_public)%></label>
|
||||
<%= check_box 'query', 'is_public' %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<%= render :partial => 'queries/filters', :locals => {:query => query}%>
|
||||
</div>
|
||||
<!--[eoform:query]-->
|
||||
@@ -3,4 +3,4 @@
|
||||
<% form_tag({:action => 'edit', :id => @query}) do %>
|
||||
<%= render :partial => 'form', :locals => {:query => @query} %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -0,0 +1,29 @@
|
||||
<div class="contextual">
|
||||
<% if loggedin? %>
|
||||
<%= link_to l(:label_query_new), {:controller => 'queries', :action => 'new', :project_id => @project}, :class => 'icon icon-add' %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<h2><%= l(:label_query_plural) %></h2>
|
||||
|
||||
<% if @queries.empty? %>
|
||||
<p><i><%=l(:label_no_data)%></i></p>
|
||||
<% else %>
|
||||
<table class="list">
|
||||
<% @queries.each do |query| %>
|
||||
<tr class="<%= cycle('odd', 'even') %>">
|
||||
<td>
|
||||
<%= link_to query.name, :controller => 'projects', :action => 'list_issues', :id => @project, :query_id => query %>
|
||||
</td>
|
||||
<td align="right">
|
||||
<small>
|
||||
<% if query.editable_by?(@logged_in_user) %>
|
||||
<%= link_to l(:button_edit), {:controller => 'queries', :action => 'edit', :id => query}, :class => 'icon icon-edit' %>
|
||||
<%= link_to l(:button_delete), {:controller => 'queries', :action => 'destroy', :id => query}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %>
|
||||
</small>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
<% end %>
|
||||
@@ -0,0 +1,6 @@
|
||||
<h2><%= l(:label_query_new) %></h2>
|
||||
|
||||
<% form_tag({:action => 'new', :project_id => @query.project}) do %>
|
||||
<%= render :partial => 'form', :locals => {:query => @query} %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<% end %>
|
||||
@@ -1,27 +1,10 @@
|
||||
<h2><%=l(:label_report_plural)%></h2>
|
||||
|
||||
<div class="splitcontentleft">
|
||||
<div class="contextual">
|
||||
<%= link_to_if_authorized l(:label_query_new), {:controller => 'projects', :action => 'add_query', :id => @project}, :class => 'icon icon-add' %>
|
||||
</div>
|
||||
<h3><%= l(:label_query_plural) %></h3>
|
||||
|
||||
<% if @queries.empty? %><p><i><%=l(:label_no_data)%></i></p><% end %>
|
||||
<ul>
|
||||
<% @queries.each do |query| %>
|
||||
<li><%= link_to query.name, :controller => 'projects', :action => 'list_issues', :id => @project, :query_id => query %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="splitcontentright">
|
||||
<% if @total_hours %>
|
||||
<h3 class="textright"><%= l(:label_spent_time) %>:
|
||||
<%= link_to(lwr(:label_f_hour, @total_hours), {:controller => 'timelog', :action => 'details', :project_id => @project}, :class => 'icon icon-time') %>
|
||||
</h3>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
<div class="splitcontentleft">
|
||||
<h3><%=l(:field_tracker)%> <%= link_to image_tag('zoom_in.png'), :detail => 'tracker' %></h3>
|
||||
|
||||
Reference in new issue
Block a user