# HG changeset patch # User luisf # Date 1295528923 0 # Node ID e80647437550edfc076f67ea6981b212ac4ad60f # Parent 09910262eb0b1952b8944603a788bac10884aa84 Issue #31: issue submitters and assignees are added to the watchers list. incomplete: there is no option to select/unselect the assignee. diff -r 09910262eb0b -r e80647437550 app/controllers/issues_controller.rb --- a/app/controllers/issues_controller.rb Wed Jan 12 17:06:18 2011 +0000 +++ b/app/controllers/issues_controller.rb Thu Jan 20 13:08:43 2011 +0000 @@ -135,15 +135,12 @@ call_hook(:controller_issues_new_after_save, { :params => params, :issue => @issue}) - # Adds user to watcher's list - # @issue.add_watcher(User.current) - # Also adds the assignee to the watcher's list - # if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?: - # unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]): - # @issue.add_watcher(User.find(params[:issue][:assigned_to_id])) - # end - # end + if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?: + unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]): + @issue.add_watcher(User.find(params[:issue][:assigned_to_id])) + end + end respond_to do |format| format.html { @@ -291,11 +288,11 @@ # is in this issues watcher's list # if not, adds it. - # if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?: - # unless @issue.watcher_ids.include?(params[:issue][:assigned_to_id]): - # @issue.add_watcher(User.find(params[:issue][:assigned_to_id])) - # end - # end + if params[:issue][:assigned_to_id] && !params[:issue][:assigned_to_id].empty?: + unless @issue.watched_by?(User.find(params[:issue][:assigned_to_id])): + @issue.add_watcher(User.find(params[:issue][:assigned_to_id])) + end + end end diff -r 09910262eb0b -r e80647437550 app/models/issue.rb --- a/app/models/issue.rb Wed Jan 12 17:06:18 2011 +0000 +++ b/app/models/issue.rb Thu Jan 20 13:08:43 2011 +0000 @@ -90,7 +90,7 @@ after_save :reschedule_following_issues, :update_nested_set_attributes, :update_parent_attributes, :create_journal after_destroy :destroy_children after_destroy :update_parent_attributes - + # Returns true if usr or current user is allowed to view the issue def visible?(usr=nil) (usr || User.current).allowed_to?(:view_issues, self.project) diff -r 09910262eb0b -r e80647437550 app/views/issues/_attributes.rhtml --- a/app/views/issues/_attributes.rhtml Wed Jan 12 17:06:18 2011 +0000 +++ b/app/views/issues/_attributes.rhtml Thu Jan 20 13:08:43 2011 +0000 @@ -8,7 +8,7 @@ <% end %>

<%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %>

-

<%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %>

+

<%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), {:include_blank => true} %>

<% unless @project.issue_categories.empty? %>

<%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}), :include_blank => true %> <%= prompt_to_remote(image_tag('add.png', :style => 'vertical-align: middle;'), diff -r 09910262eb0b -r e80647437550 app/views/issues/_form.rhtml --- a/app/views/issues/_form.rhtml Wed Jan 12 17:06:18 2011 +0000 +++ b/app/views/issues/_form.rhtml Thu Jan 20 13:08:43 2011 +0000 @@ -35,7 +35,7 @@ <% if @issue.new_record? && User.current.allowed_to?(:add_issue_watchers, @project) -%>

<% @issue.project.users.sort.each do |user| -%> - + <% end -%>

<% end %>