Created an env var for disabling sockets
Signed-off-by: Laurence Maultsby <laurence.maultsby@riftio.com>
diff --git a/skyquake/framework/core/api_utils/sockets.js b/skyquake/framework/core/api_utils/sockets.js
index e2e4447..e8ae2eb 100644
--- a/skyquake/framework/core/api_utils/sockets.js
+++ b/skyquake/framework/core/api_utils/sockets.js
@@ -1,5 +1,5 @@
/*
- *
+ *
* Copyright 2016 RIFT.IO Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -295,7 +295,11 @@
console.log('Error polling: ' + url);
} else {
if (!self.isClosed) {
- self.poll = setTimeout(pollServer, 1000 || interval);
+ if(process.env.DISABLE_POLLING != "TRUE") {
+ self.poll = setTimeout(pollServer, 1000 || interval);
+ } else {
+ console.log('Polling is disabled. Finishing request.')
+ }
var data = response.body;
if (self.onmessage) {
self.onmessage(data);
diff --git a/skyquake/framework/core/modules/api/userManagementAPI.js b/skyquake/framework/core/modules/api/userManagementAPI.js
index b2f55c3..c05c2b3 100644
--- a/skyquake/framework/core/modules/api/userManagementAPI.js
+++ b/skyquake/framework/core/modules/api/userManagementAPI.js
@@ -141,6 +141,9 @@
u.role && u.role.map(function(r) {
userData.project[p.name].role[r.role] = true
});
+ u["rw-project-mano:mano-role"] && u["rw-project-mano:mano-role"] .map(function(r) {
+ userData.project[p.name].role[r.role] = true
+ });
}
})
});
diff --git a/skyquake/framework/utils/roleConstants.js b/skyquake/framework/utils/roleConstants.js
index e04c43e..5ac4e64 100644
--- a/skyquake/framework/utils/roleConstants.js
+++ b/skyquake/framework/utils/roleConstants.js
@@ -7,6 +7,16 @@
}
c.PROJECT = {
+ TYPE: {
+ "rw-project-mano:catalog-oper": "rw-project-mano",
+ "rw-project-mano:catalog-admin": "rw-project-mano",
+ "rw-project-mano:lcm-oper": "rw-project-mano",
+ "rw-project-mano:lcm-admin": "rw-project-mano",
+ "rw-project-mano:account-oper": "rw-project-mano",
+ "rw-project-mano:account-admin": "rw-project-mano",
+ "rw-project:project-oper": "rw-project",
+ "rw-project:project-admin": "rw-project"
+ },
CATALOG_OPER: "rw-project-mano:catalog-oper",
CATALOG_ADMIN: "rw-project-mano:catalog-admin",
LCM_OPER: "rw-project-mano:lcm-oper",
@@ -15,6 +25,7 @@
ACCOUNT_ADMIN: "rw-project-mano:account-admin",
PROJECT_OPER: "rw-project:project-oper",
PROJECT_ADMIN: "rw-project:project-admin"
+
}
module.exports = c;
diff --git a/skyquake/plugins/project_management/src/dashboard/dashboard.jsx b/skyquake/plugins/project_management/src/dashboard/dashboard.jsx
index 02b9384..843301d 100644
--- a/skyquake/plugins/project_management/src/dashboard/dashboard.jsx
+++ b/skyquake/plugins/project_management/src/dashboard/dashboard.jsx
@@ -136,17 +136,21 @@
//Remove null values from role
projectUsers.map((u) => {
let cleanRoles = [];
+ let cleanManoRoles = [];
u.role && u.role.map((r,i) => {
let role = {};
//you may add a user without a role or a keys, but if one is present then the other must be as well.
- if(!r.role ) {
- } else {
+ if(r.role ) {
delete r.keys;
- // r.keys = projectName;
- cleanRoles.push(r)
+ // r.keys = projectName;
+ switch(ROLES.PROJECT.TYPE[r.role]) {
+ case 'rw-project-mano' : cleanManoRoles.push(r); break;
+ case 'rw-project' : cleanRoles.push(r); break;
+ }
}
});
u.role = cleanRoles;
+ u["rw-project-mano:mano-role"] = cleanManoRoles
cleanUsers.push(u);
});
return cleanUsers;
@@ -175,13 +179,6 @@
removeUserFromProject = (userIndex, e) => {
this.actions.handleRemoveUserFromProject(userIndex);
}
- updateUserRoleInProject = (userIndex, roleIndex, e) => {
- this.actions.handleUpdateUserRoleInProject({
- userIndex,
- roleIndex,
- value: JSON.parse(e.target.value)
- })
- }
toggleUserRoleInProject = (userIndex, roleIndex, e) => {
this.actions.handleToggleUserRoleInProject({
userIndex,
diff --git a/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js b/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
index b3e55ad..70f5f2f 100644
--- a/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
+++ b/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
@@ -16,7 +16,9 @@
this.projectUsers = [];
this.selectedUser = null;
this.selectedRole = null;
- this.roles = Object.keys(ROLES.PROJECT).map((p) => {
+ this.roles = Object.keys(ROLES.PROJECT).filter((p) => {
+ return p != "TYPE";
+ }).map((p) => {
return ROLES.PROJECT[p];
})
// this.roles = ['rw-project:project-admin', 'rw-project:project-oper', 'rw-project:project-create'];
@@ -172,9 +174,26 @@
let projectUsers = this.projectUsers;
let selectedRole = self.roles[roleIndex];
if(checked) {
- if(!projectUsers[userIndex].role) projectUsers[userIndex].role = [];
+ if (!projectUsers[userIndex].role) {
+ projectUsers[userIndex].role = [];
+ }
+ if (!projectUsers[userIndex]['rw-project-mano:mano-role']) {
+ projectUsers[userIndex]['rw-project-mano:mano-role'] = [];
+ }
+ switch (ROLES.PROJECT.TYPE[self.roles[roleIndex]]) {
+ case 'rw-project' :
+ projectUsers[userIndex].role.push({
+ role: selectedRole
+ });
+ break;
+ case 'rw-project-mano' :
+ projectUsers[userIndex]["rw-project-mano:mano-role"].push({
+ role: selectedRole
+ });
+ break;
+ }
projectUsers[userIndex].role.push({
- role: self.roles[roleIndex]
+ role: selectedRole
})
} else {
let role = projectUsers[userIndex].role;