aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2012-02-24 19:22:42 +0100
committersimonbrandhof <simon.brandhof@gmail.com>2012-02-24 19:22:42 +0100
commit5b1a3e4f242c25a2788de284d4ee24ccc02fcac3 (patch)
tree133123d1ea77c2b0dcfc2f77a46f0442426cdd41 /sonar-server
parent5699ee1c8cba1174260404f54c72c722da1f0e92 (diff)
downloadsonarqube-5b1a3e4f242c25a2788de284d4ee24ccc02fcac3.tar.gz
sonarqube-5b1a3e4f242c25a2788de284d4ee24ccc02fcac3.zip
SONAR-3208 automatically drilldown from view/developer to files when there is only a single project
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/models/drilldown.rb27
1 files changed, 24 insertions, 3 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/drilldown.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/drilldown.rb
index 40f1a3eadf9..e845677cc76 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/models/drilldown.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/models/drilldown.rb
@@ -51,13 +51,13 @@ end
class DrilldownColumn
- attr_reader :measures, :base_snapshot, :selected_snapshot, :qualifiers, :person_id
+ attr_reader :measures, :base_snapshot, :selected_snapshot, :qualifiers, :person_id, :switch
def initialize(drilldown, previous_column)
@drilldown = drilldown
if previous_column
- @base_snapshot=(previous_column.selected_snapshot || previous_column.base_snapshot)
+ @base_snapshot=previous_column.base_snapshot_for_next_column
@person_id=(previous_column.person_id || @base_snapshot.resource.person_id)
else
@base_snapshot=drilldown.snapshot
@@ -141,6 +141,15 @@ class DrilldownColumn
end
end
end
+
+ if @selected_snapshot
+ @switch=(@selected_snapshot.resource && @selected_snapshot.resource.copy_resource)
+ elsif @measures.size==1
+ s = @measures.first.snapshot
+ @switch=(s.resource && s.resource.copy_resource)
+ else
+ @switch=false
+ end
end
def resource(measure)
@@ -151,11 +160,23 @@ class DrilldownColumn
@measures && !@measures.empty?
end
+ def base_snapshot_for_next_column
+ if @selected_snapshot
+ @selected_snapshot
+
+ elsif @measures && @measures.size==1
+ @measures.first.snapshot
+
+ else
+ @base_snapshot
+ end
+ end
+
def valid?
@base_snapshot && @qualifiers && !@qualifiers.empty?
end
def switch?
- selected_snapshot && selected_snapshot.resource && selected_snapshot.resource.copy_resource
+ @switch
end
end \ No newline at end of file