diff --git a/server/services/src/main/java/org/zanata/dao/AccountDAO.java b/server/services/src/main/java/org/zanata/dao/AccountDAO.java index 7005429e4e..b39c06efa2 100644 --- a/server/services/src/main/java/org/zanata/dao/AccountDAO.java +++ b/server/services/src/main/java/org/zanata/dao/AccountDAO.java @@ -125,40 +125,35 @@ public List searchQuery(String searchQuery, int maxResults, } public List getUserNames(String filter, int offset, int maxResults) { - StringBuilder queryBuilder = - new StringBuilder("select username from HAccount "); - if (!StringUtils.isEmpty(filter)) { - queryBuilder.append("where lower(username) like :filter"); - } - Query query = getSession().createQuery(queryBuilder.toString()); - if (!StringUtils.isEmpty(filter)) { - query.setParameter("filter", "%" + filter.toLowerCase() + "%"); - } - query.setMaxResults(maxResults); - query.setFirstResult(offset); - query.setCacheable(true); - query.setComment("accountDAO.getUserNames"); + Query query = createFilteredQuery( + "select distinct acc.username from HAccount acc ", filter) + .setMaxResults(maxResults) + .setFirstResult(offset) + .setComment("accountDAO.getUserNames"); @SuppressWarnings("unchecked") List list = query.list(); return list; } public int getUserCount(String filter) { - StringBuilder queryBuilder = new StringBuilder("select count(*) from HAccount "); + return ((Long) createFilteredQuery( + "select count(*) from HAccount acc ", filter) + .setComment("accountDAO.getUserCount").uniqueResult()) + .intValue(); + } + + private Query createFilteredQuery(String queryBase, String filter) { if (!StringUtils.isEmpty(filter)) { - queryBuilder.append("where lower(username) like :filter"); + queryBase += "inner join acc.person as person " + + "where lower(acc.username) like :filter " + + "OR lower(person.email) like :filter " + + "OR lower(person.name) like :filter"; } - Query query = getSession().createQuery(queryBuilder.toString()); + Query query = getSession().createQuery(queryBase).setCacheable(true); if (!StringUtils.isEmpty(filter)) { query.setParameter("filter", "%" + filter.toLowerCase() + "%"); } - query.setCacheable(true); - query.setComment("accountDAO.getUserCount"); - Long totalCount = (Long) query.uniqueResult(); - if (totalCount == null) { - return 0; - } - return totalCount.intValue(); + return query; } public HAccount getByCredentialsId(String credentialsId) { diff --git a/server/zanata-frontend/src/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap b/server/zanata-frontend/src/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap index f99e875a5a..efe7e464d6 100644 --- a/server/zanata-frontend/src/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap +++ b/server/zanata-frontend/src/.storybook-editor/__snapshots__/storyshots-editor.test.js.snap @@ -61,7 +61,7 @@ exports[`Editor Storyshots ActivityFeedItem approved 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ @@ -160,7 +160,7 @@ exports[`Editor Storyshots ActivityFeedItem comment 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ @@ -266,7 +266,7 @@ exports[`Editor Storyshots ActivityFeedItem needswork 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ @@ -399,7 +399,7 @@ exports[`Editor Storyshots ActivityFeedItem rejected - critical priority 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ @@ -532,7 +532,7 @@ exports[`Editor Storyshots ActivityFeedItem rejected - major priority 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ @@ -665,7 +665,7 @@ exports[`Editor Storyshots ActivityFeedItem rejected - minor priority 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ @@ -771,7 +771,7 @@ exports[`Editor Storyshots ActivityFeedItem translated 1`] = ` className="s1" dangerouslySetInnerHTML={ Object { - "__html": "", + "__html": "", } } style={ diff --git a/server/zanata-frontend/src/app/containers/Languages/index.less b/server/zanata-frontend/src/app/containers/Languages/index.less index 87562cead6..555b4a77f5 100644 --- a/server/zanata-frontend/src/app/containers/Languages/index.less +++ b/server/zanata-frontend/src/app/containers/Languages/index.less @@ -22,8 +22,8 @@ table#languages-table { margin: 0; - width: 100%; } + select#sort-options { width: inherit; } diff --git a/server/zanata-frontend/src/app/containers/UserProfile/index.less b/server/zanata-frontend/src/app/containers/UserProfile/index.less index 02ecee9452..030e06ebb3 100644 --- a/server/zanata-frontend/src/app/containers/UserProfile/index.less +++ b/server/zanata-frontend/src/app/containers/UserProfile/index.less @@ -135,6 +135,7 @@ margin-bottom: @spacing-rh; margin-top: 0; padding-right: @spacing-rh; + height: 100%; } #userProfile-matrix h2, #userProfile-matrix h3 { color: @color-dark; diff --git a/server/zanata-frontend/src/app/editor/components/ActivityFeedItem/index.js b/server/zanata-frontend/src/app/editor/components/ActivityFeedItem/index.js index 521af7e48f..787aeda00a 100644 --- a/server/zanata-frontend/src/app/editor/components/ActivityFeedItem/index.js +++ b/server/zanata-frontend/src/app/editor/components/ActivityFeedItem/index.js @@ -255,7 +255,7 @@ class ActivityFeedItem extends Component { diff --git a/server/zanata-frontend/src/app/styles/style.less b/server/zanata-frontend/src/app/styles/style.less index c00813f2d6..f6c90d8324 100644 --- a/server/zanata-frontend/src/app/styles/style.less +++ b/server/zanata-frontend/src/app/styles/style.less @@ -62,7 +62,7 @@ overflow: hidden; overflow-x: hidden; -webkit-overflow-scrolling: touch; - max-width: 90%; + max-width: 100%; width: inherit; margin-left: 1rem; padding-left: @spacing-base; @@ -71,9 +71,6 @@ .wideView.languages, .wideView#glossary { padding-bottom: 3rem; } - .wideView#profile, .wideView#glossary { - max-width: 100%; - } .gwtBase { background-color: #fff; font-size: 16px; @@ -426,8 +423,8 @@ flex-direction: row; display: inline-flex; flex-wrap: wrap; - width: 90%; line-height: 2rem; + max-width: 90%; } /* Icons and other svgs - not specific to Icon/s components so it should stay in this file */ .icon { @@ -4127,7 +4124,7 @@ width: 300px; } .container { - width: @container-tablet; + width: 100%; } .content { width: 65%; @@ -4503,9 +4500,6 @@ .modal-lg { width: 900px; } - .container { - width: @container-desktop; - } .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 { float: left; } @@ -4662,9 +4656,6 @@ .col-md-offset-0 { margin-left: 0; } - .toolbar { - width: 100%; - } } @media (max-width: @screen-md-max) { .hidden-xs { @@ -4683,9 +4674,6 @@ } } @media (min-width: @screen-lg-min) { - .container { - width: @container-large-desktop; - } .containerSidebar td.td-2 { width: 16.6667%; }