project=Project
projects=Projects
raw=Raw
-reopened=Reopened
reset_verb=Reset
-resolved=Resolved
result=Result
results=Results
rule=Rule
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
#------------------------------------------------------------------------------
#
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
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
#------------------------------------------------------------------------------
#
SECTION=Navigation::SECTION_RESOURCE
helper :dashboard
- helper SourceHelper
+ helper SourceHelper, UsersHelper
verify :method => :post, :only => [:create_violation]
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}
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
private
def findUserByLogin(login)
- User.find(:all, :conditions => ["login = ?", login]).first
+ User.find(:first, :conditions => ["login = ?", login])
end
def init_params
<% if is_admin %>
<input type="text" name="new_rule" size="50" id="new_rule_<%= @html_id -%>">
<% end %>
+
+
+ <img src="<%= ApplicationController.root_context -%>/images/sep12.png">
+
+ Assign to: <%= user_autocomplete_field "assignee_login", current_user.login -%>
</div>
<div class="discussionComment first">
<img src="<%= ApplicationController.root_context -%>/images/sep12.png">
- <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>
<span class="falsePositive"><%= message('false_positive') -%></span>
<% end %>
+ <% if violation.review && violation.review.resolved? %>
+ <img src="<%= ApplicationController.root_context -%>/images/sep12.png">
+
+ <span class="reviewResolved"><%= message('reviews.status.RESOLVED') -%></span>
+
+ <% end %>
<% if violation.review && violation.review.reopened? %>
<img src="<%= ApplicationController.root_context -%>/images/sep12.png">
- <span class="reviewReopened"><%= message('reopened') -%></span>
+ <span class="reviewReopened"><%= message('reviews.status.REOPENED') -%></span>
<% end %>
<% if violation.review && violation.review.assignee_id %>
<%= 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? %>
<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' -%>
<%
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();" -%>
<%= 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">
<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] -%>
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;