summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/projects_controller.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 5dba47a10..6e6659de7 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -579,12 +579,20 @@ class ProjectsController < ApplicationController
@month_from = 1
end
else
- @month_from ||= (Date.today << 1).month
- @year_from ||= (Date.today << 1).year
+ @month_from ||= Date.today.month
+ @year_from ||= Date.today.year
end
- @zoom = (params[:zoom].to_i > 0 and params[:zoom].to_i < 5) ? params[:zoom].to_i : 2
- @months = (params[:months].to_i > 0 and params[:months].to_i < 25) ? params[:months].to_i : 6
+ zoom = (params[:zoom] || User.current.pref[:gantt_zoom]).to_i
+ @zoom = (zoom > 0 && zoom < 5) ? zoom : 2
+ months = (params[:months] || User.current.pref[:gantt_months]).to_i
+ @months = (months > 0 && months < 25) ? months : 6
+
+ # Save gantt paramters as user preference (zoom and months count)
+ if (User.current.logged? && (@zoom != User.current.pref[:gantt_zoom] || @months != User.current.pref[:gantt_months]))
+ User.current.pref[:gantt_zoom], User.current.pref[:gantt_months] = @zoom, @months
+ User.current.preference.save
+ end
@date_from = Date.civil(@year_from, @month_from, 1)
@date_to = (@date_from >> @months) - 1