comparison app/controllers/issues_controller.rb @ 71:7c828d63cb06 luisf

Feature #31: the assigned user is made a watcher of the issue.
author luisf
date Wed, 08 Dec 2010 15:14:02 +0000
parents 35c1d1c098e6
children b0086cb55640 b859cc0c4fa1
comparison
equal deleted inserted replaced
70:35c1d1c098e6 71:7c828d63cb06
135 135
136 call_hook(:controller_issues_new_after_save, { :params => params, :issue => @issue}) 136 call_hook(:controller_issues_new_after_save, { :params => params, :issue => @issue})
137 137
138 # Adds user to watcher's list 138 # Adds user to watcher's list
139 @issue.add_watcher(User.current) 139 @issue.add_watcher(User.current)
140
141 # Also adds the assignee to the watcher's list
142 if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?:
143 unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]):
144 @issue.add_watcher(User.find(params[:issue][:assigned_to_id]))
145 end
146 end
140 147
141 respond_to do |format| 148 respond_to do |format|
142 format.html { 149 format.html {
143 redirect_to(params[:continue] ? { :action => 'new', :project_id => @project, :issue => {:tracker_id => @issue.tracker, :parent_issue_id => @issue.parent_issue_id}.reject {|k,v| v.nil?} } : 150 redirect_to(params[:continue] ? { :action => 'new', :project_id => @project, :issue => {:tracker_id => @issue.tracker, :parent_issue_id => @issue.parent_issue_id}.reject {|k,v| v.nil?} } :
144 { :action => 'show', :id => @issue }) 151 { :action => 'show', :id => @issue })
277 @time_entry.attributes = params[:time_entry] 284 @time_entry.attributes = params[:time_entry]
278 285
279 @notes = params[:notes] || (params[:issue].present? ? params[:issue][:notes] : nil) 286 @notes = params[:notes] || (params[:issue].present? ? params[:issue][:notes] : nil)
280 @issue.init_journal(User.current, @notes) 287 @issue.init_journal(User.current, @notes)
281 @issue.safe_attributes = params[:issue] 288 @issue.safe_attributes = params[:issue]
289
290 # tests if the the user assigned_to_id
291 # is in this issues watcher's list
292 # if not, adds it.
293
294 if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?:
295 unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]):
296 @issue.add_watcher(User.find(params[:issue][:assigned_to_id]))
297 end
298 end
299
300
282 end 301 end
283 302
284 # TODO: Refactor, lots of extra code in here 303 # TODO: Refactor, lots of extra code in here
285 # TODO: Changing tracker on an existing issue should not trigger this 304 # TODO: Changing tracker on an existing issue should not trigger this
286 def build_new_issue_from_params 305 def build_new_issue_from_params