aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2015-08-26 13:55:37 +0200
committerStas Vilchik <vilchiks@gmail.com>2015-08-26 13:55:37 +0200
commit150c2ec7b0bc2ef547bc9fa5bf64e4729f03b7c1 (patch)
tree0c5afd44a9222de748e986bf16cfd38fd32c4b6b /server
parent49d5316376bcb5c38e269eabe7edeb49e991b58b (diff)
downloadsonarqube-150c2ec7b0bc2ef547bc9fa5bf64e4729f03b7c1.tar.gz
sonarqube-150c2ec7b0bc2ef547bc9fa5bf64e4729f03b7c1.zip
SONAR-6797 order permissions
Diffstat (limited to 'server')
-rw-r--r--server/sonar-web/src/main/js/apps/project-permissions/main.jsx12
1 files changed, 10 insertions, 2 deletions
diff --git a/server/sonar-web/src/main/js/apps/project-permissions/main.jsx b/server/sonar-web/src/main/js/apps/project-permissions/main.jsx
index 802eaff1784..7862f60f0b4 100644
--- a/server/sonar-web/src/main/js/apps/project-permissions/main.jsx
+++ b/server/sonar-web/src/main/js/apps/project-permissions/main.jsx
@@ -1,3 +1,4 @@
+import _ from 'underscore';
import React from 'react';
import Permissions from './permissions';
import PermissionsFooter from './permissions-footer';
@@ -5,6 +6,8 @@ import Search from './search';
let $ = jQuery;
+const PERMISSIONS_ORDER = ['user', 'codeviewer', 'issueadmin', 'admin'];
+
export default React.createClass({
getInitialState() {
return { permissions: [], projects: [], total: 0 };
@@ -14,6 +17,10 @@ export default React.createClass({
this.requestPermissions();
},
+ sortPermissions(permissions) {
+ return _.sortBy(permissions, p => PERMISSIONS_ORDER.indexOf(p.key));
+ },
+
mergePermissionsToProjects(projects, basePermissions) {
return projects.map(project => {
// it's important to keep the order of the project permissions the same as the order of base permissions
@@ -29,13 +36,14 @@ export default React.createClass({
let url = `${window.baseUrl}/api/permissions/search_project_permissions`;
let data = { p: page, q: query };
$.get(url, data).done(r => {
- let projects = this.mergePermissionsToProjects(r.projects, r.permissions);
+ let permissions = this.sortPermissions(r.permissions);
+ let projects = this.mergePermissionsToProjects(r.projects, permissions);
if (page > 1) {
projects = [].concat(this.state.projects, projects);
}
this.setState({
projects: projects,
- permissions: r.permissions,
+ permissions: permissions,
total: r.paging.total,
page: r.paging.pageIndex,
query: query