summaryrefslogtreecommitdiffstats
path: root/server/sonar-web
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2015-10-27 10:34:42 +0100
committerStas Vilchik <vilchiks@gmail.com>2015-11-06 16:59:15 +0100
commit6cdb77505a4285cea9183db166107bdb802e216c (patch)
treed8d50629587c5c4b52ec150c20f7b6f68d47b8fd /server/sonar-web
parentbb00fc56370280793250bc06638f689295af2f01 (diff)
downloadsonarqube-6cdb77505a4285cea9183db166107bdb802e216c.tar.gz
sonarqube-6cdb77505a4285cea9183db166107bdb802e216c.zip
SONAR-6331 display overview page by default
Diffstat (limited to 'server/sonar-web')
-rw-r--r--server/sonar-web/src/main/js/main/nav/component/component-nav-menu.js20
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb5
2 files changed, 6 insertions, 19 deletions
diff --git a/server/sonar-web/src/main/js/main/nav/component/component-nav-menu.js b/server/sonar-web/src/main/js/main/nav/component/component-nav-menu.js
index be59409f008..28818b16c54 100644
--- a/server/sonar-web/src/main/js/main/nav/component/component-nav-menu.js
+++ b/server/sonar-web/src/main/js/main/nav/component/component-nav-menu.js
@@ -17,23 +17,6 @@ export default React.createClass({
return params.period ? `&period=${params.period}` : '';
},
- renderMainDashboardLink() {
- if (_.size(this.props.component.dashboards) === 0) {
- return null;
- }
- let firstDashboard = _.first(this.props.component.dashboards);
- let url = `/dashboard/index?id=${encodeURIComponent(this.props.component.key)}${this.periodParameter()}`;
- let name = this.getLocalizedDashboardName(firstDashboard.name);
- return this.renderLink(url, name, () => {
- /* eslint eqeqeq: 0 */
- let pathMatch = window.location.pathname === `${window.baseUrl}/dashboard` ||
- window.location.pathname === `${window.baseUrl}/dashboard/index`;
- let params = window.getQueryParams();
- let paramMatch = !params['did'] || params['did'] == firstDashboard.key;
- return pathMatch && paramMatch ? 'active' : null;
- });
- },
-
renderOverviewLink() {
let url = `/overview?id=${encodeURIComponent(this.props.component.key)}`;
return this.renderLink(url, window.t('overview.page'), '/overview');
@@ -202,7 +185,7 @@ export default React.createClass({
},
renderDashboards() {
- let dashboards = _.rest(this.props.component.dashboards || []).map(d => {
+ let dashboards = (this.props.component.dashboards || []).map(d => {
let url = `/dashboard?id=${encodeURIComponent(this.props.component.key)}&did=${d.key}${this.periodParameter()}`;
let name = this.getLocalizedDashboardName(d.name);
return this.renderLink(url, name);
@@ -244,7 +227,6 @@ export default React.createClass({
render() {
return (
<ul className="nav navbar-nav nav-tabs">
- {this.renderMainDashboardLink()}
{this.renderOverviewLink()}
{this.renderComponentsLink()}
{this.renderComponentIssuesLink()}
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb
index 7c6fdc34a30..fbe46141759 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/dashboard_controller.rb
@@ -17,6 +17,7 @@
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
+include ERB::Util
class DashboardController < ApplicationController
SECTION=Navigation::SECTION_RESOURCE
@@ -24,6 +25,10 @@ class DashboardController < ApplicationController
before_filter :login_required, :except => [:index]
def index
+ if params[:id] && !params[:did] && !params[:name]
+ return redirect_to(url_for({:controller => 'overview'}) + '?id=' + url_encode(params[:id]))
+ end
+
load_resource()
if !@resource || @resource.display_dashboard?
redirect_if_bad_component()