##// END OF EJS Templates
Changesets stored in the database are now displayed on the repository page even if the repository can not be reached (eg. svnserve down)....
Changesets stored in the database are now displayed on the repository page even if the repository can not be reached (eg. svnserve down). git-svn-id: http://redmine.rubyforge.org/svn/trunk@579 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r563:1c44600c62dc
r576:7eba6786d320
Show More
queries_controller.rb
82 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
Added per user custom queries....
r563 layout 'base'
before_filter :require_login, :except => :index
before_filter :find_project, :check_project_privacy
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
@query.is_public = false unless logged_in_user.authorized_to(@project, 'projects/add_query')
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
Added per user custom queries....
r563 @query.is_public = false unless logged_in_user.authorized_to(@project, 'projects/add_query')
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