##// END OF EJS Templates
Main project list now displays root projects with their subprojects....
Main project list now displays root projects with their subprojects. Added files turned into links (if not removed) on the issue history. git-svn-id: http://redmine.rubyforge.org/svn/trunk@729 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r663:603e11d7a5aa
r718:f2a058f8cf04
Show More
queries_controller.rb
81 lines | 2.8 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
Merged 0.6 branch into trunk....
r663 @query.is_public = false unless current_role.allowed_to?(:manage_pulic_queries)
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
Merged 0.6 branch into trunk....
r663 @query.is_public = false unless current_role.allowed_to?(:manage_pulic_queries)
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