aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2011-12-14 19:07:05 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2011-12-14 19:12:27 +0100
commita65e2c933f5ec261f2c92c99cd02c562f0d98c41 (patch)
tree5c9a5964ce8cf7cd0eb47e73b0fa2d40a603b6a4
parent8ea3cf168afc0e03f7877f9d625fd5c7c2c766de (diff)
downloadsonarqube-a65e2c933f5ec261f2c92c99cd02c562f0d98c41.tar.gz
sonarqube-a65e2c933f5ec261f2c92c99cd02c562f0d98c41.zip
SONAR-3086 do not strikethrough rule name when review is resolved
-rw-r--r--plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties16
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb31
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/reviews_controller.rb2
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/resource/_create_violation_form.html.erb5
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/resource/_violation.html.erb16
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_change_status_form.html.erb2
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_review.html.erb8
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_violation_change_status_form.html.erb2
-rw-r--r--sonar-server/src/main/webapp/stylesheets/style.css11
9 files changed, 61 insertions, 32 deletions
diff --git a/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties b/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties
index 27f39d567fc..43594da482a 100644
--- a/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties
+++ b/plugins/sonar-l10n-en-plugin/src/main/resources/org/sonar/l10n/core.properties
@@ -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
#------------------------------------------------------------------------------
#
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb
index c7092352732..fcdf4c7f532 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb
@@ -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
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 a52fd202bcf..fbf09d1994d 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
@@ -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
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_create_violation_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_create_violation_form.html.erb
index 208fffefecc..9c9c5ea911f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_create_violation_form.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_create_violation_form.html.erb
@@ -47,6 +47,11 @@
<% 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">
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 c64f4b64d52..5af5c6c4058 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
@@ -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;
@@ -35,10 +35,16 @@
<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? %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_change_status_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_change_status_form.html.erb
index 50658fb7369..5f988c028dc 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_change_status_form.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_change_status_form.html.erb
@@ -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' -%>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_review.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_review.html.erb
index 0288d74b0cb..567d6e01a41 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_review.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_review.html.erb
@@ -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">
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_violation_change_status_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_violation_change_status_form.html.erb
index 259a230cedf..745956c18cb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_violation_change_status_form.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/reviews/_violation_change_status_form.html.erb
@@ -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] -%>
diff --git a/sonar-server/src/main/webapp/stylesheets/style.css b/sonar-server/src/main/webapp/stylesheets/style.css
index 30c3e7f6cb5..7881cffb18f 100644
--- a/sonar-server/src/main/webapp/stylesheets/style.css
+++ b/sonar-server/src/main/webapp/stylesheets/style.css
@@ -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;