]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10411 use link name from l10n bundle for provided links
authorStas Vilchik <stas.vilchik@sonarsource.com>
Thu, 8 Feb 2018 11:19:05 +0000 (12:19 +0100)
committerStas Vilchik <stas.vilchik@sonarsource.com>
Tue, 20 Feb 2018 09:06:52 +0000 (10:06 +0100)
server/sonar-web/src/main/js/apps/overview/meta/MetaLink.tsx
server/sonar-web/src/main/js/apps/project-admin/links/LinkRow.js
server/sonar-web/src/main/js/apps/project-admin/links/utils.js
sonar-core/src/main/resources/org/sonar/l10n/core.properties
tests/src/test/java/org/sonarqube/tests/project/ProjectLinksTest.java

index 04c7ae09745cf55d0236d6556cc00bd5a55cfc17..e4c9a697009d4c57762c0e2fa172239daea089c5 100644 (file)
@@ -18,7 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import * as React from 'react';
-import { isProvided } from '../../project-admin/links/utils';
+import { isProvided, getLinkName } from '../../project-admin/links/utils';
 import BugTrackerIcon from '../../../components/ui/BugTrackerIcon';
 import { ProjectLink } from '../../../api/projectLinks';
 
@@ -30,7 +30,7 @@ export default function MetaLink({ link }: Props) {
   return (
     <li>
       <a className="link-with-icon" href={link.url} rel="nofollow" target="_blank">
-        <MetaLinkIcon link={link} /> {link.name}
+        <MetaLinkIcon link={link} /> {getLinkName(link)}
       </a>
     </li>
   );
index 9c36959c021121b3618322ef4f89f2ee8ea1564c..3124fb9c8afcc68e3f67a773532742f274fb840c 100644 (file)
@@ -19,7 +19,7 @@
  */
 import React from 'react';
 import PropTypes from 'prop-types';
-import { isProvided } from './utils';
+import { isProvided, getLinkName } from './utils';
 import { translate } from '../../../helpers/l10n';
 import BugTrackerIcon from '../../../components/ui/BugTrackerIcon';
 
@@ -57,7 +57,7 @@ export default class LinkRow extends React.PureComponent {
         {this.renderIcon(`icon-${link.type}`)}
         <div className="display-inline-block text-top">
           <div>
-            <span className="js-name">{link.name}</span>
+            <span className="js-name">{getLinkName(link)}</span>
           </div>
           <div className="note little-spacer-top">
             <span className="js-type">{`sonar.links.${link.type}`}</span>
index bfd19ca8da7c097bf4390bef2f92e74f2d1bf3be..06539348fef8bc2e6e6a2a491f297d7036a4600a 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { partition, sortBy } from 'lodash';
+import { translate } from '../../../helpers/l10n';
 
 const PROVIDED_TYPES = ['homepage', 'ci', 'issue', 'scm', 'scm_dev'];
 
@@ -32,3 +33,7 @@ export function orderLinks(links) {
     ...sortBy(unknown, link => link.name.toLowerCase())
   ];
 }
+
+export function getLinkName(link) {
+  return isProvided(link) ? translate('project_links', link.type) : link.name;
+}
index a8e95ab42bb28236376d22c4fbcd9b2763e07dc4..780c65b1206aed6e75e40fdae23681ffd74c47bc 100644 (file)
@@ -395,7 +395,7 @@ qualifier.description.APP=Single-level aggregation with a technical focus and a
 #
 #------------------------------------------------------------------------------
 
-project_links.homepage=Home
+project_links.homepage=Project's Website
 project_links.ci=Continuous integration
 project_links.issue=Bug Tracker
 project_links.scm=Sources
index e0858850cfc6fbd9e4eb0224f465409bceb8620b..a2a63ee87c9073aaadbbf157808f5536bf0cbd85 100644 (file)
@@ -81,7 +81,6 @@ public class ProjectLinksTest {
     ProjectLinkItem homepageLink = links.get(0);
     ProjectLinkItem customLink = links.get(1);
 
-    homepageLink.getName().should(text("Home"));
     homepageLink.getType().should(text("sonar.links.homepage"));
     homepageLink.getUrl().should(text("http://example.com"));
     homepageLink.getDeleteButton().shouldNot(Condition.exist);