summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/views/issues/_edit.html.erb2
-rw-r--r--test/functional/issues_controller_test.rb16
2 files changed, 17 insertions, 1 deletions
diff --git a/app/views/issues/_edit.html.erb b/app/views/issues/_edit.html.erb
index fff258db5..fe2119a07 100644
--- a/app/views/issues/_edit.html.erb
+++ b/app/views/issues/_edit.html.erb
@@ -69,7 +69,7 @@
<%= hidden_field_tag 'last_journal_id', params[:last_journal_id] || @issue.last_journal_id %>
<%= submit_tag l(:button_submit) %>
<%= preview_link preview_edit_issue_path(:project_id => @project, :id => @issue), 'issue-form' %>
- | <%= link_to l(:button_cancel), {}, :onclick => "$('#update').hide(); return false;" %>
+ | <%= link_to l(:button_cancel), issue_path(id: @issue.id), :onclick => params[:action] == 'show' ? "$('#update').hide(); return false;" : '' %>
<%= hidden_field_tag 'prev_issue_id', @prev_issue_id if @prev_issue_id %>
<%= hidden_field_tag 'next_issue_id', @next_issue_id if @next_issue_id %>
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index 455bf834a..b47ff53fb 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -4852,4 +4852,20 @@ class IssuesControllerTest < Redmine::ControllerTest
User.add_to_project(user, Project.find(2), Role.find_by_name('Manager'))
user
end
+
+ def test_cancel_edit_link_for_issue_show_action_should_have_onclick_action
+ @request.session[:user_id] = 1
+
+ get :show, :id => 1
+ assert_response :success
+ assert_select 'a[href=?][onclick=?]', "/issues/1", "$('#update').hide(); return false;", :text => 'Cancel'
+ end
+
+ def test_cancel_edit_link_for_issue_edit_action_should_not_have_onclick_action
+ @request.session[:user_id] = 1
+
+ get :edit, :id => 1
+ assert_response :success
+ assert_select 'a[href=?][onclick=?]', "/issues/1", "", :text => 'Cancel'
+ end
end