diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-09-01 13:19:38 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-09-01 13:19:38 +0000 |
commit | 83a588c31641597f68a76acbef27e2f2a68a8ae7 (patch) | |
tree | 7923a2b9db9d991951f7296b9189046ea6cba442 | |
parent | 2dc31b76aa3f85876a3fc9dc2dffff5205609ad5 (diff) | |
parent | 99425a124cdae00dbedaa6e6a124e2d67d86e66d (diff) | |
download | gitlab-ce-83a588c31641597f68a76acbef27e2f2a68a8ae7.tar.gz |
Merge branch 'comment-and-close' into 'master'
Comment and close
Fixes #1240
See merge request !1055
-rw-r--r-- | app/assets/javascripts/notes.js.coffee | 35 | ||||
-rw-r--r-- | app/views/projects/issues/show.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/merge_requests/_show.html.haml | 4 |
3 files changed, 37 insertions, 6 deletions
diff --git a/app/assets/javascripts/notes.js.coffee b/app/assets/javascripts/notes.js.coffee index 199cf1eed67..51c617bd584 100644 --- a/app/assets/javascripts/notes.js.coffee +++ b/app/assets/javascripts/notes.js.coffee @@ -16,13 +16,18 @@ class Notes $(document).on "ajax:success", ".js-main-target-form", @addNote $(document).on "ajax:success", ".js-discussion-note-form", @addDiscussionNote - # change note in UI after update + # change note in UI after update $(document).on "ajax:success", "form.edit_note", @updateNote # Edit note link $(document).on "click", ".js-note-edit", @showEditForm $(document).on "click", ".note-edit-cancel", @cancelEdit + # Reopen and close actions for Issue/MR combined with note form submit + $(document).on "click", ".js-note-target-reopen", @targetReopen + $(document).on "click", ".js-note-target-close", @targetClose + $(document).on "keyup", ".js-note-text", @updateTargetButtons + # remove a note (in general) $(document).on "click", ".js-note-delete", @removeNote @@ -78,7 +83,9 @@ class Notes $(document).off "click", ".js-add-diff-note-button" $(document).off "visibilitychange" $(document).off "keypress", @notes_forms - + $(document).off "keyup", ".js-note-text" + $(document).off "click", ".js-note-target-reopen" + $(document).off "click", ".js-note-target-close" initRefresh: -> clearInterval(Notes.interval) @@ -478,4 +485,28 @@ class Notes visibilityChange: => @refresh() + targetReopen: (e) => + @submitNoteForm($(e.target).parents('form')) + + targetClose: (e) => + @submitNoteForm($(e.target).parents('form')) + + submitNoteForm: (form) => + noteText = form.find(".js-note-text").val() + if noteText.trim().length > 0 + form.submit() + + updateTargetButtons: (e) => + textarea = $(e.target) + form = textarea.parents('form') + + if textarea.val().trim().length > 0 + form.find('.js-note-target-reopen').text('Comment & reopen') + form.find('.js-note-target-close').text('Comment & close') + else + form.find('.js-note-target-reopen').text('Reopen') + form.find('.js-note-target-close').text('Close') + + + @Notes = Notes diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml index bd5f01ff6a7..fd0f5446b34 100644 --- a/app/views/projects/issues/show.html.haml +++ b/app/views/projects/issues/show.html.haml @@ -57,9 +57,9 @@ - content_for :note_actions do - if can?(current_user, :modify_issue, @issue) - if @issue.closed? - = link_to 'Reopen Issue', project_issue_path(@project, @issue, issue: {state_event: :reopen }, status_only: true), method: :put, class: "btn btn-grouped btn-reopen" + = link_to 'Reopen Issue', project_issue_path(@project, @issue, issue: {state_event: :reopen }, status_only: true), method: :put, class: "btn btn-grouped btn-reopen js-note-target-reopen", title: 'Reopen Issue' - else - = link_to 'Close Issue', project_issue_path(@project, @issue, issue: {state_event: :close }, status_only: true), method: :put, class: "btn btn-grouped btn-close", title: "Close Issue" + = link_to 'Close Issue', project_issue_path(@project, @issue, issue: {state_event: :close }, status_only: true), method: :put, class: "btn btn-grouped btn-close js-note-target-close", title: "Close Issue" .participants %cite.cgray #{@issue.participants.count} participants diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml index 8fca9f0212b..4323c8f65a4 100644 --- a/app/views/projects/merge_requests/_show.html.haml +++ b/app/views/projects/merge_requests/_show.html.haml @@ -22,9 +22,9 @@ - content_for :note_actions do - if can?(current_user, :modify_merge_request, @merge_request) - unless @merge_request.closed? || @merge_request.merged? - = link_to 'Close', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :close }), method: :put, class: "btn btn-grouped btn-close close-mr-link", title: "Close merge request" + = link_to 'Close', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :close }), method: :put, class: "btn btn-grouped btn-close close-mr-link js-note-target-close", title: "Close merge request" - if @merge_request.closed? - = link_to 'Reopen', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :reopen }), method: :put, class: "btn btn-grouped btn-reopen reopen-mr-link", title: "Close merge request" + = link_to 'Reopen', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :reopen }), method: :put, class: "btn btn-grouped btn-reopen reopen-mr-link js-note-target-reopen", title: "Reopen merge request" .diffs.tab-content - if current_page?(action: 'diffs') |