From 82ff6127624f08ccec0d6bed2471cc67540c6acd Mon Sep 17 00:00:00 2001 From: Fabrice Bellingard Date: Thu, 7 Apr 2011 13:51:00 +0200 Subject: [PATCH] [SONAR-1973] Improve review&comment forms --- .../app/controllers/reviews_controller.rb | 14 ++++++++++---- .../app/views/resource/_violation.html.erb | 18 +++++++++++++----- .../WEB-INF/app/views/reviews/_form.html.erb | 12 +++++------- .../app/views/reviews/_form_comment.html.erb | 2 +- .../WEB-INF/app/views/reviews/_view.html.erb | 11 ++++++----- 5 files changed, 35 insertions(+), 22 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 5c1eb333c9a..fba4a4b3e0b 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 @@ -20,14 +20,16 @@ class ReviewsController < ApplicationController - SECTION=Navigation::SECTION_CONFIGURATION + SECTION=Navigation::SECTION_RESOURCE + + #verify :method => :post, :only => [ :create, :...... ], :redirect_to => { :action => :index } def index end def list reviews = Review.find :all, :conditions => ['rule_failure_id=?', params[:rule_failure_id]] - render :partial => "list", :locals => { :reviews => reviews }, :layout => false + render :partial => "list", :locals => { :reviews => reviews } end def form @@ -38,7 +40,7 @@ class ReviewsController < ApplicationController @review_comment.user = current_user @review_comment.review = @review @review_comment.review_text = "Enter your review here" - render "_form", :layout => false + render :partial => "form" end def formComment @@ -47,13 +49,15 @@ class ReviewsController < ApplicationController @review_comment.review_id = params[:review_id] @review_comment.review_text = "" @rule_failure_id = params[:rule_failure_id] - render "_form_comment", :layout => false + render :partial => "form_comment" end def create review = Review.new(params[:review]) review.user = current_user + # save! review.save + # --> Build? #review.review_comments.create(params[:review_comment]) review_comment = ReviewComment.new(params[:review_comment]) review_comment.user = current_user @@ -65,6 +69,8 @@ class ReviewsController < ApplicationController end def createComment + #return access_denied unless has_role?(:user, @project) + review_comment = ReviewComment.new(params[:review_comment]) review_comment.user = current_user review_comment.save diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb index 5353f9b7dc1..6ac4247163f 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb @@ -1,12 +1,20 @@ +<% + displayReviewFailureDiv = 'block' + if violation.reviews.blank? + displayReviewFailureDiv = 'none' + end +%>
@@ -23,7 +31,7 @@ <%= duration==0 ? 'today' : "#{duration} days ago" -%> <% end %> -
+
<%= render :partial => "reviews/list", :locals => { :reviews => violation.reviews } %>
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 66539b0c43e..eb62f5a4f48 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 @@ -13,12 +13,10 @@
Comment:
- <%= text_area :review_comment, :review_text, :rows => 10 %> + <%= text_area :review_comment, :review_text, :id => "reviewText", :rows => 10 %>
- <%= submit_to_remote 'create_btn', 'Create review', - :url => { :action => 'create' }, - :update => { :success => "reviewFailure" + @review.rule_failure_id.to_s, :failure => "fail" } %> - <%= submit_to_remote 'cancel_btn', 'Cancel', - :url => { :action => 'list', :rule_failure_id => @review.rule_failure_id.to_s }, - :update => { :success => "reviewFailure" + @review.rule_failure_id.to_s } %> + + <% end %> \ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form_comment.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form_comment.html.erb index b2ed06f0555..50c9a9e6b09 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form_comment.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_form_comment.html.erb @@ -4,7 +4,7 @@
Comment:
- <%= f.text_area :review_text, :rows => 10 %> + <%= f.text_area :review_text, :rows => 10, :id => "commentText" + @review_comment.review_id.to_s %>
<%= submit_to_remote 'create_btn', 'Add comment', :url => { :action => 'createComment', :rule_failure_id => @rule_failure_id }, diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_view.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_view.html.erb index 29c96225414..bc1b5bc3133 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_view.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_view.html.erb @@ -24,10 +24,11 @@ %>
- <%= link_to_remote("Add a comment", + <%= link_to_remote "Add a comment", + :url => { :controller => "reviews", :action => "formComment", :review_id => review.id, :rule_failure_id => review.rule_failure_id }, :update => "createComment" + review.id.to_s, - :url => { :controller => "reviews", :action => "formComment", :review_id => review.id, :rule_failure_id => review.rule_failure_id }) -%> -
- -
+ :complete => "$('commentText" + review.id.to_s + "').focus()" -%> + +
+ -- 2.39.5
- <% if current_user %> - <%= link_to_remote(image_tag("add.png"), - :update => "reviewFailure" + violation.id.to_s, - :url => { :controller => "reviews", :action => "form", :violation_id => violation.id }) -%> + <% if current_user && violation.reviews.blank? %> + <%= link_to_remote image_tag("add.png"), + :url => { :controller => "reviews", :action => "form", :violation_id => violation.id }, + :update => "reviewFailure" + violation.id.to_s, + :html => { :id => "createReviewLink" + violation.id.to_s }, + :complete => "$('reviewFailure" + violation.id.to_s + "').style.display='';$('reviewText').focus();" -%> <% end %>