diff --git a/app/controllers/queries_controller.rb b/app/controllers/queries_controller.rb index cd1ec87a2..8c53f76ef 100644 --- a/app/controllers/queries_controller.rb +++ b/app/controllers/queries_controller.rb @@ -59,7 +59,7 @@ class QueriesController < ApplicationController if @query.save flash[:notice] = l(:notice_successful_create) - redirect_to _project_issues_path(@project, :query_id => @query) + redirect_to_issues(:query_id => @query) else render :action => 'new', :layout => !request.xhr? end @@ -77,7 +77,7 @@ class QueriesController < ApplicationController if @query.save flash[:notice] = l(:notice_successful_update) - redirect_to _project_issues_path(@project, :query_id => @query) + redirect_to_issues(:query_id => @query) else render :action => 'edit' end @@ -85,7 +85,7 @@ class QueriesController < ApplicationController def destroy @query.destroy - redirect_to _project_issues_path(@project, :set_filter => 1) + redirect_to_issues(:set_filter => 1) end private @@ -103,4 +103,16 @@ private rescue ActiveRecord::RecordNotFound render_404 end + + def redirect_to_issues(options) + if params[:gantt] + if @project + redirect_to project_gantt_path(@project, options) + else + redirect_to issues_gantt_path(options) + end + else + redirect_to _project_issues_path(@project, options) + end + end end diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 323e46f4c..bc2ca7abe 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -97,6 +97,31 @@ class IssueQuery < Query !is_private? end + def draw_relations + r = options[:draw_relations] + r.nil? || r == '1' + end + + def draw_relations=(arg) + options[:draw_relations] = (arg == '0' ? '0' : nil) + end + + def draw_progress_line + r = options[:draw_progress_line] + r == '1' + end + + def draw_progress_line=(arg) + options[:draw_progress_line] = (arg == '1' ? '1' : nil) + end + + def build_from_params(params) + super + self.draw_relations = params[:draw_relations] || (params[:query] && params[:query][:draw_relations]) + self.draw_progress_line = params[:draw_progress_line] || (params[:query] && params[:query][:draw_progress_line]) + self + end + def initialize_available_filters principals = [] subprojects = [] diff --git a/app/models/query.rb b/app/models/query.rb index 641a263c6..ca04f29b5 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -130,6 +130,7 @@ class Query < ActiveRecord::Base serialize :filters serialize :column_names serialize :sort_criteria, Array + serialize :options, Hash attr_protected :project_id, :user_id diff --git a/app/views/gantts/show.html.erb b/app/views/gantts/show.html.erb index f8f25be10..9b138d2d7 100644 --- a/app/views/gantts/show.html.erb +++ b/app/views/gantts/show.html.erb @@ -1,4 +1,11 @@ <% @gantt.view = self %> +