aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabrice Bellingard <bellingard@gmail.com>2011-04-08 11:25:43 +0200
committerFabrice Bellingard <bellingard@gmail.com>2011-04-20 08:49:57 +0200
commitcfa9a9337169f97a18e302c6037a01f86d41e2ed (patch)
tree654abdd8538331fb01edcbbe6bc9d23d5cfed311
parent83216f69146cc4a0ab71fb7b4883062bc74c3872 (diff)
downloadsonarqube-cfa9a9337169f97a18e302c6037a01f86d41e2ed.tar.gz
sonarqube-cfa9a9337169f97a18e302c6037a01f86d41e2ed.zip
[SONAR-1973] Update correctly the "Add" button visibility
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb31
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form.html.erb4
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/reviews/create_result.js.rjs6
3 files changed, 24 insertions, 17 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb
index 91e0a489f6d..4be1371cf00 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb
@@ -54,22 +54,19 @@ class ReviewsController < ApplicationController
return
end
- review = Review.new(params[:review])
- review.user = current_user
- review.status = "open"
- review.review_type = "simple"
- review_comment = ReviewComment.new(params[:review_comment])
- review_comment.user = current_user
- review.review_comments << review_comment
- if review.valid?
- review.save
- params[:rule_failure_id] = review.rule_failure_id
- index
- else
- @review = review
- @review_comment = review_comment
- render :partial => "form"
+ @review = Review.new(params[:review])
+ @review.user = current_user
+ @review.status = "open"
+ @review.review_type = "simple"
+ @review_comment = ReviewComment.new(params[:review_comment])
+ @review_comment.user = current_user
+ @review.review_comments << @review_comment
+ if @review.valid?
+ @review.save
+ #@reviews = Review.find :all, :conditions => ['rule_failure_id=?', @review.rule_failure_id]
+ @reviews = findReviewsForRuleFailure @review.rule_failure_id
end
+ render "create_result"
end
def create_comment
@@ -93,6 +90,10 @@ class ReviewsController < ApplicationController
private
+ def findReviewsForRuleFailure ( rule_failure_id )
+ return Review.find :all, :conditions => ['rule_failure_id=?', rule_failure_id]
+ end
+
def hasRightsToCreate? ( rule_failure_id )
return false unless current_user
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form.html.erb
index ffd94f09f46..49f229d9523 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form.html.erb
@@ -10,8 +10,8 @@
<br/>
<%= text_area :review_comment, :review_text, :id => "reviewText", :rows => 10 %>
<br/>
- <input type="button" name="create_btn" value="Create review"
- onclick="new Ajax.Updater({success:'reviewFailure<%= @review.rule_failure_id.to_s -%>', failure:'reviewFailure<%= @review.rule_failure_id.to_s -%>'}, '<%= ApplicationController.root_context -%>/reviews/create?rule_failure_id=<%= @review.rule_failure_id.to_s -%>', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form), onSuccess:function(request){$('createReviewLink<%= @review.rule_failure_id.to_s -%>').style.display='none';} });">
+
+ <%= submit_to_remote "create_btn", "Create review", :url => { :action => 'create' } %>
<input type="button" name="cancel_btn" value="Cancel"
onclick="new Ajax.Updater({success:'reviewFailure<%= @review.rule_failure_id.to_s -%>'}, '<%= ApplicationController.root_context -%>/reviews/list?rule_failure_id=<%= @review.rule_failure_id.to_s -%>', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form), }); $('reviewFailure<%= @review.rule_failure_id.to_s -%>').style.display='none';">
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/create_result.js.rjs b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/create_result.js.rjs
new file mode 100644
index 00000000000..bdf20061a89
--- /dev/null
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/create_result.js.rjs
@@ -0,0 +1,6 @@
+if @reviews
+ page.hide "createReviewLink" + @review.rule_failure_id.to_s
+ page.replace_html "reviewFailure" + @review.rule_failure_id.to_s, :partial => "index", :locals => { :reviews => @reviews }
+else
+ page.replace_html "reviewFailure" + @review.rule_failure_id.to_s, :partial => "form"
+end \ No newline at end of file