From ef89ee5b4ae2bf94c2d1618195d473b2a2b919c7 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Tue, 30 Apr 2013 14:32:29 +0200 Subject: [PATCH] SONAR-3755 Improve action in issues code viewer --- .../app/controllers/issue_controller.rb | 31 ++++++++++++------- .../WEB-INF/app/views/issue/_issue.html.erb | 2 +- .../app/views/issue/_transition_form.html.erb | 6 ++-- .../issue/code_viewer/_transition_form.erb | 14 ++++----- .../src/main/webapp/javascripts/resource.js | 4 +-- 5 files changed, 33 insertions(+), 24 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/issue_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/issue_controller.rb index b87e3d41ce2..95940f779ae 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/issue_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/issue_controller.rb @@ -35,11 +35,20 @@ class IssueController < ApplicationController render 'issue/_view' end + def show + require_parameters :key + init_issue(params[:key]) + init_resource + + @transitions = Internal.issues.listTransitions(@issue.key) + render :partial => 'issue/view' + end + # GET def transition_form - require_parameters :id, :transition + require_parameters :issue, :transition - init_issue(params[:id]) + init_issue(params[:issue]) @transition = params[:transition] bad_request('Missing transition') if @transition.blank? @@ -49,10 +58,10 @@ class IssueController < ApplicationController # POST def transition verify_post_request - require_parameters :id, :transition - issue = Internal.issues.doTransition(params[:id], params[:transition]) + require_parameters :issue, :transition + issue = Internal.issues.doTransition(params[:issue], params[:transition]) if issue - init_issue(params[:id]) + init_issue(params[:issue]) init_resource @transitions = Internal.issues.listTransitions(@issue.key) render :partial => 'issue/view' @@ -69,9 +78,9 @@ class IssueController < ApplicationController # def issue_transition_form - require_parameters :id, :transition + require_parameters :issue, :transition - init_issue(params[:id]) + init_issue(params[:issue]) @transition = params[:transition] bad_request('Missing transition') if @transition.blank? @@ -81,10 +90,10 @@ class IssueController < ApplicationController # POST def issue_transition verify_post_request - require_parameters :id, :transition - issue = Internal.issues.doTransition(params[:id], params[:transition]) + require_parameters :issue, :transition + issue = Internal.issues.doTransition(params[:issue], params[:transition]) if issue - init_issue(params[:id]) + init_issue(params[:issue]) @transitions = Internal.issues.listTransitions(@issue.key) render :partial => 'resource/issue', :locals => {:issue => @issue} else @@ -95,7 +104,7 @@ class IssueController < ApplicationController # GET def display_issue - init_issue(params[:id]) + init_issue(params[:issue]) render :partial => 'resource/issue', :locals => {:issue => @issue} end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb index 6e13327d133..dd680710a95 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_issue.html.erb @@ -11,7 +11,7 @@
<% @transitions.each do |transition| %> <%= button_to_remote message("issues.transition.#{transition.key}.button"), - :url => {:controller => "issue", :action => "transition_form", :id => @issue.key, :transition => transition.key}, + :url => {:controller => "issue", :action => "transition_form", :issue => @issue.key, :transition => transition.key}, :update => "actionForm", :complete => "$('actionButtons').remove();$('actionForm').show();$('actionText').focus();" -%> <% end %> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_transition_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_transition_form.html.erb index 4715a29f3bb..bb639a82de4 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_transition_form.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/_transition_form.html.erb @@ -1,13 +1,13 @@
- + <%= submit_to_remote "submit_btn", message("issues.transition.#{@transition}.button"), :url => {:action => 'transition'}, - :html => {:id => "submit_btn"}, + :html => {:issue => "submit_btn"}, :update => 'issue' -%>   - <%= link_to_remote message('cancel'), :url => {:action => 'show', :id => params[:id]}, :update => 'issue' -%> + <%= link_to_remote message('cancel'), :url => {:controller => 'issue', :action => 'show', :key => params[:issue]}, :update => 'issue' -%>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/code_viewer/_transition_form.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/code_viewer/_transition_form.erb index 1420131db61..122e654e56b 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issue/code_viewer/_transition_form.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issue/code_viewer/_transition_form.erb @@ -1,12 +1,12 @@
- + onsubmit="new Ajax.Updater('issue-key<%= params[:issue] -%>', '<%= url_for :controller => 'issue', :action => 'issue_transition' -%>', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)});return false;"> +
- + @@ -16,12 +16,12 @@
- <%= submit_to_remote "submit_btn"+params[:id], + <%= submit_to_remote "submit_btn"+params[:issue], message("issues.transition.#{params[:transition]}.button"), :url => {:controller => 'issue', :action => 'issue_transition'}, - :html => {:id => "submit_btn"+params[:id]}, - :update => 'issue-key'+params[:id] -%> + :html => {:id => "submit_btn"+params[:issue]}, + :update => 'issue-key'+params[:issue] -%>   - <%= link_to_function message('cancel'), "cancelIssueAction('#{params[:id]}')" -%> + <%= link_to_function message('cancel'), "cancelIssueAction('#{params[:issue]}')" -%>
diff --git a/sonar-server/src/main/webapp/javascripts/resource.js b/sonar-server/src/main/webapp/javascripts/resource.js index 7c102fc7583..335d309b395 100644 --- a/sonar-server/src/main/webapp/javascripts/resource.js +++ b/sonar-server/src/main/webapp/javascripts/resource.js @@ -192,7 +192,7 @@ function displayIssueTransitionForm(issueKey, transitionKey) { // TODO //hideMoreViolationActions(violation_id); new Ajax.Updater('issue-form' + issueKey, - baseUrl + '/issue/issue_transition_form?id=' + issueKey + '&transition='+ transitionKey, + baseUrl + '/issue/issue_transition_form?issue=' + issueKey + '&transition='+ transitionKey, { asynchronous:true, evalScripts:true, @@ -210,7 +210,7 @@ function displayIssueTransitionForm(issueKey, transitionKey) { function cancelIssueAction(issueKey) { new Ajax.Updater( 'issue-key' + issueKey, - baseUrl + '/issue/display_issue/' + issueKey, + baseUrl + '/issue/display_issue?issue=' + issueKey, { asynchronous:true, evalScripts:true -- 2.39.5