Mano roles in projects
[osm/UI.git] / skyquake / plugins / project_management / src / dashboard / dashboard.jsx
index 843301d..f8018d5 100644 (file)
@@ -20,7 +20,7 @@ import SelectOption from 'widgets/form_controls/selectOption.jsx';
 import 'widgets/form_controls/formControls.scss';
 import imgAdd from '../../node_modules/open-iconic/svg/plus.svg'
 import imgRemove from '../../node_modules/open-iconic/svg/trash.svg'
-
+import _  from 'lodash';
 import ROLES from 'utils/roleConstants.js';
 const PROJECT_ROLES = ROLES.PROJECT;
 const PLATFORM = ROLES.PLATFORM;
@@ -118,18 +118,18 @@ class ProjectManagementDashboard extends React.Component {
         let self = this;
         e.preventDefault();
         e.stopPropagation();
-         let projectName = self.state['name'];
-        let projectUsers = self.state.projectUsers;
+        let projectName = self.state['name'];
+        let projectUsers = _.cloneDeep(self.state.projectUsers);
         let cleanUsers = this.cleanUsers(projectUsers, projectName);
 
 
-        this.Store.updateProject(_.merge({
+        this.Store.updateProject({
             'name': projectName,
             'description': self.state.description,
             'project-config' : {
                 'user': cleanUsers
             }
-        }));
+        });
     }
     cleanUsers(projectUsers, projectName) {
         let cleanUsers = [];
@@ -322,9 +322,13 @@ class ProjectManagementDashboard extends React.Component {
                             <tbody>
                                 {
                             state.projectUsers.map((u,i)=> {
-                                let userRoles = u.role && u.role.map((r) => {
-                                    return r.role;
-                                }) || [];
+                                let userRoles = []
+                                u.role && u.role.map((r) => {
+                                    userRoles.push(r.role);
+                                });
+                                u["rw-project-mano:mano-role"] && u["rw-project-mano:mano-role"].map((r) => {
+                                    userRoles.push(r.role);
+                                });
                                 return (
                                     <tr key={i}>
                                         {!state.isReadOnly ? <td><span