##// END OF EJS Templates
Default columns displayed on the issue list can now be selected at application level....
Default columns displayed on the issue list can now be selected at application level. Saved queries can overide this selection. git-svn-id: http://redmine.rubyforge.org/svn/trunk@785 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r772:96b4ac12cbc9
r774:c6e61a5f1976
Show More
queries_controller.rb
83 lines | 2.9 KiB | text/x-ruby | RubyLexer
/ app / controllers / queries_controller.rb
Jean-Philippe Lang
"queries" branch merged...
r92 # redMine - project management software
Jean-Philippe Lang
Added per user custom queries....
r563 # Copyright (C) 2006-2007 Jean-Philippe Lang
Jean-Philippe Lang
"queries" branch merged...
r92 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class QueriesController < ApplicationController
Jean-Philippe Lang
Merged 0.6 branch into trunk....
r663 layout 'base'
before_filter :find_project, :authorize
Jean-Philippe Lang
"queries" branch merged...
r92
Jean-Philippe Lang
Added per user custom queries....
r563 def index
@queries = @project.queries.find(:all,
:order => "name ASC",
:conditions => ["is_public = ? or user_id = ?", true, (logged_in_user ? logged_in_user.id : 0)])
end
def new
@query = Query.new(params[:query])
@query.project = @project
@query.user = logged_in_user
@query.executed_by = logged_in_user
Jean-Philippe Lang
Fixed: Manage pu(b)lic queries typo (Thomas Lecavelier)....
r767 @query.is_public = false unless current_role.allowed_to?(:manage_public_queries)
Jean-Philippe Lang
Added a checkbox on custom query form to explicitly say if the query uses default columns or not....
r772 @query.column_names = nil if params[:default_columns]
Jean-Philippe Lang
Added per user custom queries....
r563
params[:fields].each do |field|
@query.add_filter(field, params[:operators][field], params[:values][field])
end if params[:fields]
if request.post? and @query.save
flash[:notice] = l(:notice_successful_create)
redirect_to :controller => 'projects', :action => 'list_issues', :id => @project, :query_id => @query
return
end
render :layout => false if request.xhr?
end
Jean-Philippe Lang
"queries" branch merged...
r92 def edit
if request.post?
@query.filters = {}
params[:fields].each do |field|
@query.add_filter(field, params[:operators][field], params[:values][field])
end if params[:fields]
@query.attributes = params[:query]
Jean-Philippe Lang
Fixed: Manage pu(b)lic queries typo (Thomas Lecavelier)....
r767 @query.is_public = false unless current_role.allowed_to?(:manage_public_queries)
Jean-Philippe Lang
Added a checkbox on custom query form to explicitly say if the query uses default columns or not....
r772 @query.column_names = nil if params[:default_columns]
Jean-Philippe Lang
"queries" branch merged...
r92 if @query.save
flash[:notice] = l(:notice_successful_update)
redirect_to :controller => 'projects', :action => 'list_issues', :id => @project, :query_id => @query
end
end
end
def destroy
@query.destroy if request.post?
Jean-Philippe Lang
Added per user custom queries....
r563 redirect_to :controller => 'queries', :project_id => @project
Jean-Philippe Lang
"queries" branch merged...
r92 end
private
Jean-Philippe Lang
Added per user custom queries....
r563 def find_project
if params[:id]
@query = Query.find(params[:id])
@query.executed_by = logged_in_user
@project = @query.project
render_403 unless @query.editable_by?(logged_in_user)
else
@project = Project.find(params[:project_id])
end
Jean-Philippe Lang
ActiveRecord::RecordNotFound exceptions handled more gracefully...
r130 rescue ActiveRecord::RecordNotFound
render_404
Jean-Philippe Lang
"queries" branch merged...
r92 end
end