##// END OF EJS Templates
Refactor: move method to helper....
Eric Davis -
r3577:df7edb843bf9
parent child
Show More
@@ -484,40 +484,6 private
484 484 render_404
485 485 end
486 486
487 # Retrieve query from session or build a new query
488 def retrieve_query
489 if !params[:query_id].blank?
490 cond = "project_id IS NULL"
491 cond << " OR project_id = #{@project.id}" if @project
492 @query = Query.find(params[:query_id], :conditions => cond)
493 @query.project = @project
494 session[:query] = {:id => @query.id, :project_id => @query.project_id}
495 sort_clear
496 else
497 if api_request? || params[:set_filter] || session[:query].nil? || session[:query][:project_id] != (@project ? @project.id : nil)
498 # Give it a name, required to be valid
499 @query = Query.new(:name => "_")
500 @query.project = @project
501 if params[:fields] and params[:fields].is_a? Array
502 params[:fields].each do |field|
503 @query.add_filter(field, params[:operators][field], params[:values][field])
504 end
505 else
506 @query.available_filters.keys.each do |field|
507 @query.add_short_filter(field, params[field]) if params[field]
508 end
509 end
510 @query.group_by = params[:group_by]
511 @query.column_names = params[:query] && params[:query][:column_names]
512 session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
513 else
514 @query = Query.find_by_id(session[:query][:id]) if session[:query][:id]
515 @query ||= Query.new(:name => "_", :project => @project, :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names])
516 @query.project = @project
517 end
518 end
519 end
520
521 487 # Rescues an invalid query statement. Just in case...
522 488 def query_statement_invalid(exception)
523 489 logger.error "Query::StatementInvalid: #{exception.message}" if logger
@@ -63,4 +63,38 module QueriesHelper
63 63 h(value)
64 64 end
65 65 end
66
67 # Retrieve query from session or build a new query
68 def retrieve_query
69 if !params[:query_id].blank?
70 cond = "project_id IS NULL"
71 cond << " OR project_id = #{@project.id}" if @project
72 @query = Query.find(params[:query_id], :conditions => cond)
73 @query.project = @project
74 session[:query] = {:id => @query.id, :project_id => @query.project_id}
75 sort_clear
76 else
77 if api_request? || params[:set_filter] || session[:query].nil? || session[:query][:project_id] != (@project ? @project.id : nil)
78 # Give it a name, required to be valid
79 @query = Query.new(:name => "_")
80 @query.project = @project
81 if params[:fields] and params[:fields].is_a? Array
82 params[:fields].each do |field|
83 @query.add_filter(field, params[:operators][field], params[:values][field])
84 end
85 else
86 @query.available_filters.keys.each do |field|
87 @query.add_short_filter(field, params[field]) if params[field]
88 end
89 end
90 @query.group_by = params[:group_by]
91 @query.column_names = params[:query] && params[:query][:column_names]
92 session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
93 else
94 @query = Query.find_by_id(session[:query][:id]) if session[:query][:id]
95 @query ||= Query.new(:name => "_", :project => @project, :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names])
96 @query.project = @project
97 end
98 end
99 end
66 100 end
General Comments 0
You need to be logged in to leave comments. Login now