diff options
-rw-r--r-- | app/views/issues/_edit.html.erb | 4 | ||||
-rw-r--r-- | test/system/inline_autocomplete_test.rb | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/app/views/issues/_edit.html.erb b/app/views/issues/_edit.html.erb index d816ff6fc..219122d25 100644 --- a/app/views/issues/_edit.html.erb +++ b/app/views/issues/_edit.html.erb @@ -43,6 +43,10 @@ <%= call_hook(:view_issues_edit_notes_bottom, { :issue => @issue, :notes => @notes, :form => f }) %> </fieldset> <% end %> + <% if !@issue.attributes_editable? && User.current.allowed_to?(:add_issue_watchers, @issue.project) %> + <%= update_data_sources_for_auto_complete({users: watchers_autocomplete_for_mention_path(project_id: @issue.project, q: '', object_type: 'issue', + object_id: @issue.id)}) %> + <% end %> <% if @issue.attachments_addable? %> <fieldset id="add_attachments"><legend><%= l(:label_attachment_plural) %></legend> <% if @issue.attachments.any? && @issue.safe_attribute?('deleted_attachment_ids') %> diff --git a/test/system/inline_autocomplete_test.rb b/test/system/inline_autocomplete_test.rb index e8d65fb15..8c1996054 100644 --- a/test/system/inline_autocomplete_test.rb +++ b/test/system/inline_autocomplete_test.rb @@ -218,4 +218,23 @@ class InlineAutocompleteSystemTest < ApplicationSystemTestCase assert_equal '@dlopper ', find('#notes').value end + + def test_inline_autocomplete_for_users_on_issues_without_edit_issue_permission + role_developer = Role.find(2) + role_developer.remove_permission!(:edit_issues) + role_developer.add_permission!(:add_issue_watchers) + + log_user('jsmith', 'jsmith') + visit '/issues/4/edit' + + find('#issue_notes').click + fill_in 'issue[notes]', :with => '@' + + within('.tribute-container') do + assert page.has_text? 'John Smith' + first('li').click + end + + assert_equal '@jsmith ', find('#issue_notes').value + end end |