summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2010-11-05 17:40:59 +0000
committersimonbrandhof <simon.brandhof@gmail.com>2010-11-05 17:40:59 +0000
commit4dd938c67ce1682bf5dfd613956ba4b15c740986 (patch)
tree3157801d120e732fbfdb6ddd59af0915246ed870
parent7b76b83b4c2cc1e5621281185e35e7d75a9ac9f1 (diff)
downloadsonarqube-4dd938c67ce1682bf5dfd613956ba4b15c740986.tar.gz
sonarqube-4dd938c67ce1682bf5dfd613956ba4b15c740986.zip
fix layout of core widgets
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java4
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/ComplexityWidget.java (renamed from plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultExtendedAnalysisWidget.java)6
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/SizeWidget.java (renamed from plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultStaticAnalysisWidget.java)6
-rw-r--r--plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb52
-rw-r--r--plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb5
-rw-r--r--plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/complexity.html.erb (renamed from plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_extended_analysis.html.erb)71
-rw-r--r--plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb8
-rw-r--r--plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb (renamed from plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_static_analysis.html.erb)0
-rw-r--r--plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java2
-rw-r--r--plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java2
-rw-r--r--plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb4
-rw-r--r--plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb4
-rwxr-xr-xsonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb8
-rw-r--r--tests/integration/tests/src/it/selenium/i18n/french-france.html2
14 files changed, 89 insertions, 85 deletions
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
index f599ea64c8f..6e082c1c692 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
@@ -149,9 +149,9 @@ public class CorePlugin implements Plugin {
extensions.add(CodeCoverageWidget.class);
extensions.add(CommentsDuplicationsWidget.class);
extensions.add(DescriptionWidget.class);
- extensions.add(DefaultExtendedAnalysisWidget.class);
+ extensions.add(ComplexityWidget.class);
extensions.add(RulesWidget.class);
- extensions.add(DefaultStaticAnalysisWidget.class);
+ extensions.add(SizeWidget.class);
extensions.add(EventsWidget.class);
extensions.add(CustomMeasuresWidget.class);
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultExtendedAnalysisWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/ComplexityWidget.java
index 509f51c5b14..90dba687ae3 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultExtendedAnalysisWidget.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/ComplexityWidget.java
@@ -24,9 +24,9 @@ import org.sonar.api.web.Description;
import org.sonar.api.web.RubyRailsWidget;
@Description("Reports on complexity, average complexity and complexity distribution.")
-public class DefaultExtendedAnalysisWidget extends AbstractRubyTemplate implements RubyRailsWidget {
+public class ComplexityWidget extends AbstractRubyTemplate implements RubyRailsWidget {
public String getId() {
- return "extended_analysis";
+ return "complexity";
}
public String getTitle() {
@@ -35,6 +35,6 @@ public class DefaultExtendedAnalysisWidget extends AbstractRubyTemplate implemen
@Override
protected String getTemplatePath() {
- return "/org/sonar/plugins/core/widgets/_extended_analysis.html.erb";
+ return "/org/sonar/plugins/core/widgets/complexity.html.erb";
}
} \ No newline at end of file
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultStaticAnalysisWidget.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/SizeWidget.java
index 69ddfc62b0b..3c6a5c42055 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/DefaultStaticAnalysisWidget.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/widgets/SizeWidget.java
@@ -24,9 +24,9 @@ import org.sonar.api.web.Description;
import org.sonar.api.web.RubyRailsWidget;
@Description("Reports general metrics on the size of the project.")
-public class DefaultStaticAnalysisWidget extends AbstractRubyTemplate implements RubyRailsWidget {
+public class SizeWidget extends AbstractRubyTemplate implements RubyRailsWidget {
public String getId() {
- return "static_analysis";
+ return "size";
}
public String getTitle() {
@@ -35,6 +35,6 @@ public class DefaultStaticAnalysisWidget extends AbstractRubyTemplate implements
@Override
protected String getTemplatePath() {
- return "/org/sonar/plugins/core/widgets/_static_analysis.html.erb";
+ return "/org/sonar/plugins/core/widgets/size.html.erb";
}
}
diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb
index 422c131f96b..53f08f4d849 100644
--- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb
+++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/code_coverage.html.erb
@@ -2,29 +2,30 @@
code_coverage_measure=measure(Metric::COVERAGE)
tests_measure=measure(Metric::TESTS)
if code_coverage_measure || tests_measure %>
-<div class="yui-g">
- <div class="yui-u first">
-<div class="dashbox">
- <p class="title">Code coverage</p>
- <p><span class="big"><%= format_measure(code_coverage_measure, :suffix => '', :url => url_for_drilldown(Metric::COVERAGE), :default => '-') %> <%= tendency_icon(code_coverage_measure, false) %></span></p>
- <% line_coverage=measure(Metric::LINE_COVERAGE)
- if line_coverage %>
- <p><%= format_measure(line_coverage, :suffix => ' line coverage', :url => url_for_drilldown(Metric::UNCOVERED_LINES, :highlight => Metric::LINE_COVERAGE)) %> <%= tendency_icon(line_coverage) %></p>
- <% end %>
- <% branch_coverage=measure(Metric::BRANCH_COVERAGE)
- if branch_coverage %>
- <p><%= format_measure(branch_coverage, :suffix => ' branch coverage', :url => url_for_drilldown(Metric::UNCOVERED_CONDITIONS, :highlight => Metric::BRANCH_COVERAGE)) %> <%= tendency_icon(branch_coverage) %></p>
- <% end %>
- <p><%= format_measure(tests_measure, :suffix => ' tests', :url => url_for_drilldown(Metric::TESTS)) %> <%= tendency_icon(tests_measure) %></p>
- <% skipped_measure=measure(Metric::SKIPPED_TESTS)
- if skipped_measure && skipped_measure.value>0
- %>
- <p>+<%= format_measure(skipped_measure, :suffix => ' skipped', :url => url_for_drilldown(Metric::SKIPPED_TESTS)) %> <%= tendency_icon(skipped_measure) %></p>
- <% end %>
- <p><%= format_measure(Metric::TEST_EXECUTION_TIME, :suffix => '', :url => url_for_drilldown(Metric::TEST_EXECUTION_TIME)) %> <%= tendency_icon(measure(Metric::TEST_EXECUTION_TIME)) %></p>
-</div>
-</div>
-<div class="yui-u">
+<table width="100%">
+ <tr>
+ <td valign="top" width="50%" nowrap>
+ <div class="dashbox">
+ <p class="title">Code coverage</p>
+ <p><span class="big"><%= format_measure(code_coverage_measure, :suffix => '', :url => url_for_drilldown(Metric::COVERAGE), :default => '-') %> <%= tendency_icon(code_coverage_measure, false) %></span></p>
+ <% line_coverage=measure(Metric::LINE_COVERAGE)
+ if line_coverage %>
+ <p><%= format_measure(line_coverage, :suffix => ' line coverage', :url => url_for_drilldown(Metric::UNCOVERED_LINES, :highlight => Metric::LINE_COVERAGE)) %> <%= tendency_icon(line_coverage) %></p>
+ <% end %>
+ <% branch_coverage=measure(Metric::BRANCH_COVERAGE)
+ if branch_coverage %>
+ <p><%= format_measure(branch_coverage, :suffix => ' branch coverage', :url => url_for_drilldown(Metric::UNCOVERED_CONDITIONS, :highlight => Metric::BRANCH_COVERAGE)) %> <%= tendency_icon(branch_coverage) %></p>
+ <% end %>
+ <p><%= format_measure(tests_measure, :suffix => ' tests', :url => url_for_drilldown(Metric::TESTS)) %> <%= tendency_icon(tests_measure) %></p>
+ <% skipped_measure=measure(Metric::SKIPPED_TESTS)
+ if skipped_measure && skipped_measure.value>0
+ %>
+ <p>+<%= format_measure(skipped_measure, :suffix => ' skipped', :url => url_for_drilldown(Metric::SKIPPED_TESTS)) %> <%= tendency_icon(skipped_measure) %></p>
+ <% end %>
+ <p><%= format_measure(Metric::TEST_EXECUTION_TIME, :suffix => '', :url => url_for_drilldown(Metric::TEST_EXECUTION_TIME)) %> <%= tendency_icon(measure(Metric::TEST_EXECUTION_TIME)) %></p>
+ </div>
+ </td>
+ <td valign="top" width="50%" nowrap>
<%
success_percentage=measure(Metric::TEST_SUCCESS_DENSITY)
if success_percentage
@@ -40,6 +41,7 @@ if code_coverage_measure || tests_measure %>
</p>
</div>
<% end %>
-</div>
-</div>
+</td>
+</tr>
+</table>
<% end %>
diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb
index 28f28552123..078822eb556 100644
--- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb
+++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/comments_duplications.html.erb
@@ -1,7 +1,7 @@
<% if measure(Metric::LINES) || measure(Metric::NCLOC) %>
<table width="100%">
<tr>
- <td valign="top" width="48%" nowrap>
+ <td valign="top" width="50%" nowrap>
<% if (measure(Metric::COMMENT_LINES)) %>
<div class="dashbox">
<h3>Comments</h3>
@@ -19,8 +19,7 @@
</div>
<% end %>
</td>
- <td width="10"> </td>
- <td valign="top">
+ <td valign="top" width="50%" nowrap>
<% if (measure(Metric::DUPLICATED_LINES_DENSITY)) %>
<div class="dashbox">
<h3>Duplications</h3>
diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_extended_analysis.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/complexity.html.erb
index 86c1eec3b0f..43bc5683a5d 100644
--- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_extended_analysis.html.erb
+++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/complexity.html.erb
@@ -8,36 +8,40 @@
if file_complexity || function_complexity || class_complexity || paragraph_complexity
complexity=measure('complexity')
%>
-<div class="dashbox" >
- <h3>Complexity</h3>
- <% if function_complexity %>
- <p>
- <span class="big"><%= format_measure(function_complexity, :suffix => '', :url => url_for_drilldown(function_complexity)) -%> <%= tendency_icon(function_complexity, false) -%></span>/ method
- </p>
- <% end %>
- <% if paragraph_complexity %>
- <p>
- <span class="big"><%= format_measure(paragraph_complexity, :suffix => '', :url => url_for_drilldown(paragraph_complexity)) -%> <%= tendency_icon(paragraph_complexity, false) -%></span>/ paragraph
- </p>
- <% end %>
- <% if class_complexity %>
- <p>
- <span class="big"><%= format_measure(class_complexity, :suffix => '', :url => url_for_drilldown(class_complexity)) -%> <%= tendency_icon(class_complexity, false) -%></span>/ class
- </p>
- <% end %>
- <% if file_complexity %>
- <p>
- <span class="big"><%= format_measure(file_complexity, :suffix => '', :url => url_for_drilldown(file_complexity)) -%> <%= tendency_icon(file_complexity, false) -%></span>/ file
- </p>
- <% end %>
- <% if complexity %>
- <p>
- Total: <%= format_measure(complexity, :url => url_for_drilldown(complexity)) -%> <%= tendency_icon(complexity) -%>
- </p>
- <% end %>
-</div>
-
-
+<table class="width100">
+ <tbody>
+ <tr>
+ <td valign="top" width="50%">
+ <div class="dashbox" >
+ <h3>Complexity</h3>
+ <% if function_complexity %>
+ <p>
+ <span class="big"><%= format_measure(function_complexity, :suffix => '', :url => url_for_drilldown(function_complexity)) -%> <%= tendency_icon(function_complexity, false) -%></span>/ method
+ </p>
+ <% end %>
+ <% if paragraph_complexity %>
+ <p>
+ <span class="big"><%= format_measure(paragraph_complexity, :suffix => '', :url => url_for_drilldown(paragraph_complexity)) -%> <%= tendency_icon(paragraph_complexity, false) -%></span>/ paragraph
+ </p>
+ <% end %>
+ <% if class_complexity %>
+ <p>
+ <span class="big"><%= format_measure(class_complexity, :suffix => '', :url => url_for_drilldown(class_complexity)) -%> <%= tendency_icon(class_complexity, false) -%></span>/ class
+ </p>
+ <% end %>
+ <% if file_complexity %>
+ <p>
+ <span class="big"><%= format_measure(file_complexity, :suffix => '', :url => url_for_drilldown(file_complexity)) -%> <%= tendency_icon(file_complexity, false) -%></span>/ file
+ </p>
+ <% end %>
+ <% if complexity %>
+ <p>
+ Total: <%= format_measure(complexity, :url => url_for_drilldown(complexity)) -%> <%= tendency_icon(complexity) -%>
+ </p>
+ <% end %>
+ </div>
+ </td>
+ <td valign="top" width="50%" nowrap>
<%
function_distribution=measure('function_complexity_distribution')
paragraph_distribution=measure('paragraph_complexity_distribution')
@@ -50,7 +54,7 @@ complexity=measure('complexity')
end
if selected_distribution
%>
-<div class="dashbox" id="cmp_charts" style="float:right">
+<div class="dashbox" id="cmp_charts">
<script type='text/javascript'>
//<![CDATA[
function selectComplexity(metric) {
@@ -103,7 +107,10 @@ if file_distribution
</div>
<% end %>
-
+ </td>
+ </tr>
+ </tbody>
+ </table>
<div class="clear"></div>
<% end %>
diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb
index dbcad0d1d5c..84b09712b35 100644
--- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb
+++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/rules.html.erb
@@ -1,8 +1,7 @@
<% if measure(Metric::LINES) %>
-<div id="widget_rules">
<table width="100%">
<tr>
- <td valign="top">
+ <td valign="top" width="50%">
<div class="dashbox">
<h3>Rules compliance</h3>
<div class="big">
@@ -51,8 +50,7 @@
</div>
</div>
</td>
- <td width="10"> </td>
- <td valign="top">
+ <td valign="top" width="50%" nowrap>
<div class="dashbox">
<h3>Violations</h3>
<div class="big">
@@ -130,6 +128,4 @@
</td>
</tr>
</table>
-
-</div>
<% end %> \ No newline at end of file
diff --git a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_static_analysis.html.erb b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb
index f8baf7ad4d3..f8baf7ad4d3 100644
--- a/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/_static_analysis.html.erb
+++ b/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/widgets/size.html.erb
diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java
index c4009c9dd7b..06643cad191 100644
--- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java
+++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/FileDesignWidget.java
@@ -26,7 +26,7 @@ import org.sonar.api.web.*;
@Description("Reports on files dependency cycles and tangle index.")
public final class FileDesignWidget extends AbstractRubyTemplate implements RubyRailsWidget {
public String getId() {
- return "file-design";
+ return "file_design";
}
public String getTitle() {
diff --git a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java
index be27d6a7130..6c9ba0d1346 100644
--- a/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java
+++ b/plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/widgets/PackageDesignWidget.java
@@ -26,7 +26,7 @@ import org.sonar.api.web.*;
@Description("Reports on package dependency cycles and tangle index.")
public final class PackageDesignWidget extends AbstractRubyTemplate implements RubyRailsWidget {
public String getId() {
- return "package-design";
+ return "package_design";
}
public String getTitle() {
diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb
index 70041753975..e91e9857a9f 100644
--- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb
+++ b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/file_design.html.erb
@@ -7,7 +7,7 @@
<table width="100%">
<tbody>
<tr>
- <td valign="top">
+ <td valign="top" width="50%">
<div class="dashbox">
<p class="title">File tangle index</p>
<p><span class="big"><%= format_measure(file_tangle_index, :suffix => '', :default => '-', :url => url_for_drilldown('file_tangle_index')) %> <%= tendency_icon(file_tangle_index, false) %></span></p>
@@ -16,7 +16,7 @@
<% end %>
</div>
</td>
- <td valign="top">
+ <td valign="top" width="50%">
<% if file_feedback_edges %>
<div class="dashbox">
<p class="title">Suspect file dependencies</p>
diff --git a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb
index 59136259ee1..3904ba97bef 100644
--- a/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb
+++ b/plugins/sonar-design-plugin/src/main/resources/org/sonar/plugins/design/ui/widgets/package_design.html.erb
@@ -11,7 +11,7 @@
package_feedback_edges=measure('package_feedback_edges')
package_tangles=measure('package_tangles')
%>
- <td valign="top">
+ <td valign="top" width="50%">
<div class="dashbox">
<p class="title">Package tangle index</p>
<p><span class="big"><%= format_measure(package_tangle_index, :suffix => '', :default => '-', :url => url_for_drilldown('package_tangle_index')) %> <%= tendency_icon(package_tangle_index, false) %></span></p>
@@ -20,7 +20,7 @@
<% end %>
</div>
</td>
- <td valign="top">
+ <td valign="top" width="50%">
<% if package_feedback_edges || package_tangles %>
<div class="dashbox">
<p class="title">Dependencies to cut</p>
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb
index 0ec89239ecf..f1c3fcbe8f6 100755
--- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/151_create_dashboards.rb
@@ -66,17 +66,17 @@ class CreateDashboards < ActiveRecord::Migration
def self.create_dashboard
dashboard=::Dashboard.new(:name => 'Dashboard', :shared => true, :description => 'Default dashboard', :column_layout => Dashboard::DEFAULT_LAYOUT)
- dashboard.widgets.build(:widget_key => 'static_analysis', :name => 'Static analysis', :column_index => 1, :row_index => 1, :configured => true)
+ dashboard.widgets.build(:widget_key => 'size', :name => 'Size metrics', :column_index => 1, :row_index => 1, :configured => true)
dashboard.widgets.build(:widget_key => 'comments_duplications', :name => 'Comments duplications', :column_index => 1, :row_index => 2, :configured => true)
- dashboard.widgets.build(:widget_key => 'extended_analysis', :name => 'Extended analysis', :column_index => 1, :row_index => 3, :configured => true)
+ dashboard.widgets.build(:widget_key => 'complexity', :name => 'Complexity', :column_index => 1, :row_index => 3, :configured => true)
dashboard.widgets.build(:widget_key => 'code_coverage', :name => 'Code coverage', :column_index => 1, :row_index => 4, :configured => true)
dashboard.widgets.build(:widget_key => 'events', :name => 'Events', :column_index => 1, :row_index => 5, :configured => true)
dashboard.widgets.build(:widget_key => 'description', :name => 'Description', :column_index => 1, :row_index => 6, :configured => true)
dashboard.widgets.build(:widget_key => 'rules', :name => 'Rules', :column_index => 2, :row_index => 1, :configured => true)
dashboard.widgets.build(:widget_key => 'alerts', :name => 'Alerts', :column_index => 2, :row_index => 2, :configured => true)
dashboard.widgets.build(:widget_key => 'custom_measures', :name => 'Custom measures', :column_index => 2, :row_index => 3, :configured => true)
- dashboard.widgets.build(:widget_key => 'file-design', :name => 'File design', :column_index => 2, :row_index => 4, :configured => true)
- dashboard.widgets.build(:widget_key => 'package-design', :name => 'Package design', :column_index => 2, :row_index => 5, :configured => true)
+ dashboard.widgets.build(:widget_key => 'file_design', :name => 'File design', :column_index => 2, :row_index => 4, :configured => true)
+ dashboard.widgets.build(:widget_key => 'package_design', :name => 'Package design', :column_index => 2, :row_index => 5, :configured => true)
dashboard.widgets.build(:widget_key => 'ckjm', :name => 'CKJM', :column_index => 2, :row_index => 6, :configured => true)
dashboard.save
diff --git a/tests/integration/tests/src/it/selenium/i18n/french-france.html b/tests/integration/tests/src/it/selenium/i18n/french-france.html
index 100c3949b9a..39531c083d2 100644
--- a/tests/integration/tests/src/it/selenium/i18n/french-france.html
+++ b/tests/integration/tests/src/it/selenium/i18n/french-france.html
@@ -12,7 +12,7 @@
</thead><tbody>
<tr>
<td>open</td>
- <td>/dashboard/index/org.sonar.tests:reference&amp;locale=fr-FR</td>
+ <td>/dashboard/index/org.sonar.tests:reference?locale=fr-FR</td>
<td></td>
</tr>
<tr>