Mercurial > hg > soundsoftware-site
changeset 145:e80647437550 live
Issue #31: issue submitters and assignees are added to the watchers list.
incomplete: there is no option to select/unselect the assignee.
author | luisf |
---|---|
date | Thu, 20 Jan 2011 13:08:43 +0000 |
parents | 09910262eb0b |
children | 5f4f786486d1 |
files | app/controllers/issues_controller.rb app/models/issue.rb app/views/issues/_attributes.rhtml app/views/issues/_form.rhtml |
diffstat | 4 files changed, 13 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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)
--- 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 %> <p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), {:required => true}, :disabled => !@issue.leaf? %></p> -<p><%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), :include_blank => true %></p> +<p><%= f.select :assigned_to_id, (@issue.assignable_users.collect {|m| [m.name, m.id]}), {:include_blank => true} %></p> <% unless @project.issue_categories.empty? %> <p><%= 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;'),
--- 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) -%> <p id="watchers_form"><label><%= l(:label_issue_watchers) %></label> <% @issue.project.users.sort.each do |user| -%> -<label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]', user.id, @issue.watched_by?(user) %> <%=h user %></label> +<label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]', user.id, !!(@issue.watched_by?(user) or user == User.current) %> <%=h user %></label> <% end -%> </p> <% end %>