]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3086 do not strikethrough rule name when review is resolved
authorSimon Brandhof <simon.brandhof@gmail.com>
Wed, 14 Dec 2011 18:07:05 +0000 (19:07 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Wed, 14 Dec 2011 18:12:27 +0000 (19:12 +0100)
plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties
sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/views/resource/_create_violation_form.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_change_status_form.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_review.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_violation_change_status_form.html.erb
sonar-server/src/main/webapp/stylesheets/style.css

index 27f39d567fc190ee0d66d64350fc73f88bcf5bcc..43594da482a744256ff51c5485f63f6fa9cad3b1 100644 (file)
@@ -89,9 +89,7 @@ plugin=Plugin
 project=Project
 projects=Projects
 raw=Raw
-reopened=Reopened
 reset_verb=Reset
-resolved=Resolved
 result=Result
 results=Results
 rule=Rule
@@ -390,8 +388,15 @@ reviews.change_severity_submit=Change severity
 reviews.assign=Assign
 reviews.assign_submit=Assign
 reviews.assign_to_me_submit=Assign to me
-reviews.resolve=Resolve
+reviews.resolved=Resolved
+reviews.resolved_submit=Resolved
 reviews.reopen=Reopen
+reviews.reopen_submit=Reopen
+reviews.status.REOPENED=Reopened
+reviews.status.RESOLVED=Resolved
+reviews.status.OPEN=Open
+reviews.resolution.FALSE-POSITIVE=False-positive
+reviews.resolution.FIXED=Fixed
 
 #------------------------------------------------------------------------------
 #
@@ -599,10 +604,10 @@ widget.my_reviews.name=My open reviews
 widget.my_reviews.description=Shows open/reopened reviews assigned to the current user.
 widget.my_reviews.no_review=No review.
 
-widget.project_reviews.name=Project open reviews
+widget.project_reviews.name=Open reviews
 widget.project_reviews.description=Shows all the open/reopened reviews.
 
-widget.false_positive_reviews.name=Active False Positive Reviews
+widget.false_positive_reviews.name=False positives
 widget.false_positive_reviews.description=Shows all the false positives found on the project.
 
 widget.reviews_per_developer.name=Open reviews per developer
@@ -673,6 +678,7 @@ code_viewer.create_violation.missing_rule=Missing rule
 code_viewer.create_violation.missing_message=Missing message
 code_viewer.create_violation.missing_severity=Missing severity
 code_viewer.create_violation.no_rules=No rules. Please contact your administrator.
+code_viewer.create_violation.bad_assignee=Unknown assignee
 
 #------------------------------------------------------------------------------
 #
index c7092352732ced30f050e915ddcf58f5141226be..fcdf4c7f5321c59841b59f121902b750e5643db1 100644 (file)
@@ -25,7 +25,7 @@ class ResourceController < ApplicationController
 
   SECTION=Navigation::SECTION_RESOURCE
   helper :dashboard
-  helper SourceHelper
+  helper SourceHelper, UsersHelper
 
   verify :method => :post, :only => [:create_violation]
 
@@ -88,15 +88,20 @@ class ResourceController < ApplicationController
     bad_request(message('code_viewer.create_violation.missing_message')) if params[:message].blank?
     bad_request(message('code_viewer.create_violation.missing_severity')) if params[:severity].blank?
 
+    assignee=nil
+    if params[:assignee_login].present?
+      assignee = User.find(:first, :conditions => ["login = ?", params[:assignee_login]])
+      bad_request(message('code_viewer.create_violation.bad_assignee')) unless assignee
+    end
     violation = nil
     Review.transaction do
       rule = Rule.find_or_create_manual_rule(rule_id_or_name, true)
       violation = rule.create_violation!(resource, params)
       violation.create_review!(
-          :assignee => current_user,
-          :user => current_user,
-          :status => Review::STATUS_OPEN,
-          :manual_violation => true)
+        :assignee => assignee,
+        :user => current_user,
+        :status => Review::STATUS_OPEN,
+        :manual_violation => true)
     end
 
     render :partial => 'resource/violation', :locals => {:violation => violation}
@@ -200,26 +205,26 @@ class ResourceController < ApplicationController
       to = (@period && @snapshot.period_datetime(@period) ? Java::JavaUtil::Date.new(@snapshot.period_datetime(@period).to_f * 1000) : nil)
       @filtered = true
       if ('lines_to_cover'==@coverage_filter || 'coverage'==@coverage_filter || 'line_coverage'==@coverage_filter ||
-          'new_lines_to_cover'==@coverage_filter || 'new_coverage'==@coverage_filter || 'new_line_coverage'==@coverage_filter ||
-          'it_lines_to_cover'==@coverage_filter || 'it_coverage'==@coverage_filter || 'it_line_coverage'==@coverage_filter ||
-          'new_it_lines_to_cover'==@coverage_filter || 'new_it_coverage'==@coverage_filter || 'new_it_line_coverage'==@coverage_filter)
+        'new_lines_to_cover'==@coverage_filter || 'new_coverage'==@coverage_filter || 'new_line_coverage'==@coverage_filter ||
+        'it_lines_to_cover'==@coverage_filter || 'it_coverage'==@coverage_filter || 'it_line_coverage'==@coverage_filter ||
+        'new_it_lines_to_cover'==@coverage_filter || 'new_it_coverage'==@coverage_filter || 'new_it_line_coverage'==@coverage_filter)
         @coverage_filter = "#{it_prefix}lines_to_cover"
         filter_lines { |line| line.hits && line.after(to) }
 
       elsif ('uncovered_lines'==@coverage_filter || 'new_uncovered_lines'==@coverage_filter ||
-          'it_uncovered_lines'==@coverage_filter || 'new_it_uncovered_lines'==@coverage_filter)
+        'it_uncovered_lines'==@coverage_filter || 'new_it_uncovered_lines'==@coverage_filter)
         @coverage_filter = "#{it_prefix}uncovered_lines"
         filter_lines { |line| line.hits && line.hits==0 && line.after(to) }
 
       elsif ('conditions_to_cover'==@coverage_filter || 'branch_coverage'==@coverage_filter ||
-          'new_conditions_to_cover'==@coverage_filter || 'new_branch_coverage'==@coverage_filter ||
-          'it_conditions_to_cover'==@coverage_filter || 'it_branch_coverage'==@coverage_filter ||
-          'new_it_conditions_to_cover' == @coverage_filter || 'new_it_branch_coverage'==@coverage_filter)
+        'new_conditions_to_cover'==@coverage_filter || 'new_branch_coverage'==@coverage_filter ||
+        'it_conditions_to_cover'==@coverage_filter || 'it_branch_coverage'==@coverage_filter ||
+        'new_it_conditions_to_cover' == @coverage_filter || 'new_it_branch_coverage'==@coverage_filter)
         @coverage_filter="#{it_prefix}conditions_to_cover"
         filter_lines { |line| line.conditions && line.conditions>0 && line.after(to) }
 
       elsif ('uncovered_conditions' == @coverage_filter || 'new_uncovered_conditions' == @coverage_filter ||
-          'it_uncovered_conditions'==@coverage_filter || 'new_it_uncovered_conditions' == @coverage_filter)
+        'it_uncovered_conditions'==@coverage_filter || 'new_it_uncovered_conditions' == @coverage_filter)
         @coverage_filter="#{it_prefix}uncovered_conditions"
         filter_lines { |line| line.conditions && line.covered_conditions && line.covered_conditions<line.conditions && line.after(to) }
       end
index a52fd202bcff04224899250276785bb5b9ad7039..fbf09d1994dd4d4196ed8c111c3f46b1e649fa5a 100644 (file)
@@ -383,7 +383,7 @@ class ReviewsController < ApplicationController
   private
 
   def findUserByLogin(login)
-    User.find(:all, :conditions => ["login = ?", login]).first
+    User.find(:first, :conditions => ["login = ?", login])
   end
 
   def init_params
index 208fffefecc8ee1da4ce30a4b9f607423823616c..9c9c5ea911f6b20f1aed4f44abb8da45cd9375f8 100644 (file)
               <% if is_admin %>
                 <input type="text" name="new_rule" size="50" id="new_rule_<%= @html_id -%>">
               <% end %>
+
+              &nbsp;
+              <img src="<%= ApplicationController.root_context -%>/images/sep12.png">
+              &nbsp;
+              Assign to: <%= user_autocomplete_field "assignee_login", current_user.login -%>
             </div>
 
             <div class="discussionComment first">
index c64f4b64d524744cb2eaa8a0d4402f9be024f606..5af5c6c4058dced8acca139afab4bee6d950efca 100644 (file)
@@ -18,7 +18,7 @@
 
       <img src="<%= ApplicationController.root_context -%>/images/sep12.png">
       &nbsp;
-      <span class="rulename" <%= 'style="text-decoration: line-through"' if violation.review && violation.review.resolved? %> >
+      <span class="rulename">
         <a onclick="window.open(this.href,'rule','height=800,width=900,scrollbars=1,resizable=1');return false;" href="<%= url_for :controller => 'rules', :action => 'show', :id => violation.rule.key, :layout => 'false' -%>"><%= h(violation.rule.name) -%></a>
       </span>
       &nbsp;
         <span class="falsePositive"><%= message('false_positive') -%></span>
         &nbsp;
       <% end %>
+      <% if violation.review && violation.review.resolved? %>
+        <img src="<%= ApplicationController.root_context -%>/images/sep12.png">
+        &nbsp;
+        <span class="reviewResolved"><%= message('reviews.status.RESOLVED') -%></span>
+        &nbsp;
+      <% end %>
       <% if violation.review && violation.review.reopened? %>
         <img src="<%= ApplicationController.root_context -%>/images/sep12.png">
         &nbsp;
-        <span class="reviewReopened"><%= message('reopened') -%></span>
+        <span class="reviewReopened"><%= message('reviews.status.REOPENED') -%></span>
         &nbsp;
       <% end %>
       <% if violation.review && violation.review.assignee_id %>
@@ -59,9 +65,9 @@
             <%= button_to_function message('reviews.assign'), "sAF(#{violation.id})", :name => 'bAssign' -%>
           <% end %>
 
-          <% if violation.review && !violation.switched_off? %>
-            <%= button_to_function (violation.review.resolved? ? message('reviews.reopen') : message('reviews.resolve')),
-                                   "sCStF(#{violation.id})", :name => (violation.review.resolved? ? 'bReopen' : 'bResolve') -%>
+          <% if !violation.switched_off? %>
+            <%= button_to_function (violation.review && violation.review.resolved? ? message('reviews.reopen') : message('reviews.resolved')),
+                                   "sCStF(#{violation.id})", :name => (violation.review && violation.review.resolved? ? 'bReopen' : 'bResolved') -%>
           <% end %>
 
           <% if violation.review.nil? || violation.review.can_change_false_positive_flag? %>
index 50658fb7369d433babee4e1bb1af6774d80da477..5f988c028dcb13b9285a400a34d47e7335753a03 100644 (file)
@@ -3,7 +3,7 @@
 
   <textarea id="actionText" rows="4" name="text" style="width: 100%"></textarea>
   <%= submit_to_remote "submit_btn",
-                       message(@review.resolved? ? 'reviews.reopen' : 'reviews.resolve'),
+                       message(@review.resolved? ? 'reviews.reopen_submit' : 'reviews.resolved_submit'),
                        :url => {:action => 'change_status'},
                        :html => {:id => "submit_btn"},
                        :update => 'review' -%>
index 0288d74b0cb6815c7d6f55383d74c2d907bfc24f..567d6e01a419be92ccd293f4c89625be05946821 100644 (file)
@@ -19,7 +19,7 @@
       <%
          if !violation_switched_off
       %>
-        <%= button_to_remote (review.resolved? ? message('reviews.reopen') : message('reviews.resolve')),
+        <%= button_to_remote (review.resolved? ? message('reviews.reopen') : message('reviews.resolved')),
                              :url => {:controller => "reviews", :action => "change_status_form", :id => review.id},
                              :update => "actionForm",
                              :complete => "$('actionButtons').remove();$('actionForm').show();$('actionText').focus();" -%>
@@ -50,9 +50,9 @@
         <%= message('status') -%>:
       </td>
       <td class="val">
-        <%= image_tag "status/#{review.status}.png" -%> <%= message(review.status.downcase).capitalize -%>
-        <% if @review.violation.switched_off? %>
-          <span class="falsePositive">(<%= message('false_positive') -%>)</span>
+        <%= image_tag "status/#{review.status}.png" -%> <%= message("reviews.status.#{review.status}") -%>
+        <% if @review.resolution.present? %>
+          <span class="reviewResolution<%= @review.resolution -%>">(<%= message("reviews.resolution.#{@review.resolution}") -%>)</span>
         <% end %>
       </td>
       <td class="key">
index 259a230cedf918972d0dfd79facb6d1738acaf37..745956c18cbc35c2599cd9a759c77a323dd78195 100644 (file)
@@ -16,7 +16,7 @@
 
   <div>
     <%= submit_to_remote "submit_btn"+params[:id],
-                         @violation.review.resolved? ? message('reviews.reopen') : message('reviews.resolve'),
+                         @violation.review && @violation.review.resolved? ? message('reviews.reopen_submit') : message('reviews.resolved_submit'),
                          :url => {:action => 'violation_change_status'},
                          :html => {:id => "submit_btn"+params[:id]},
                          :update => 'vId'+params[:id] -%>
index 30c3e7f6cb5c8b8fa4581707366c8b63be49d633..7881cffb18f2949051232ec0d7776bc9f93c5f53 100644 (file)
@@ -919,13 +919,20 @@ div.vtitle {
   border-bottom: 1px solid #DDDDDD;
 }
 
-span.falsePositive {
+span.falsePositive, span.reviewResolutionFALSE-POSITIVE {
   background-color: #FFF6BF;
   padding-left: 5px;
   padding-right: 5px;
 }
 
-span.reviewReopened {
+span.reviewResolved, span.reviewStatusRESOLVED {
+  background-color: #4B9FD5;
+  color: #FFF;
+  padding-left: 5px;
+  padding-right: 5px;
+}
+
+span.reviewReopened, span.reviewStatusREOPENED {
   background-color: #FDC596;
   padding-left: 5px;
   padding-right: 5px;