Skip to content

Commit

Permalink
Merge branch '211-XHN-dev' into 215-XHN-dev
Browse files Browse the repository at this point in the history
# Conflicts:
#	manifest.js
#	server.js
#	server/api/users.js
#	server/web/helpers/disableCB.js
#	server/web/routes/users.js
#	server/web/templates/users/roles.handlebars
  • Loading branch information
ltann committed Aug 14, 2020
2 parents d843e82 + 3f261be commit d03377d
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 29 deletions.
2 changes: 1 addition & 1 deletion manifest.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ const manifest = {
Invite: './server/models/invite',
Session: './server/models/session',
Token: './server/models/token',
User: './server/models/user',
User: './server/models/user'
},
autoIndex: Config.get('/hapiMongoModels/autoIndex')
}
Expand Down
26 changes: 9 additions & 17 deletions server/models/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const Bcrypt = require('bcrypt');
const Clinician = require('./clinician');
const Joi = require('joi');
const MongoModels = require('hicsail-mongo-models');

const Config = require('../../config');

class User extends MongoModels {
static generatePasswordHash(password, callback) {
Expand Down Expand Up @@ -125,22 +125,14 @@ class User extends MongoModels {
});
roles = hm;
}
if (roles.root) {
return 5;
}
else if (roles.admin) {
return 4;
}
else if (roles.researcher) {
return 3;
}
else if (roles.clinician) {
return 2;
}
else if (roles.analyst) {
return 1;
}
return 0;
let highestRole = 0;
Config.get('/role').forEach((roleObject) => {

if (roles[roleObject.name]){
highestRole = Math.max(highestRole, parseInt(roleObject.accessLevel, 10));
}
});
return highestRole;
}

constructor(attrs) {
Expand Down
2 changes: 1 addition & 1 deletion server/web/helpers/disableCB.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const User = require('../../models/user');

module.exports = (user, userRow, role, options) => { //Checks and disable checkbox if user's role is lower than the specific role in route's scope.

if (userRow.roles.root || User.highestRole(user.roles) < User.highestRole({ [role]: true })){
if (User.highestRole(user.roles) < User.highestRole({ [role.name]: true })){
return options.fn(this);
}
return options.inverse(this);
Expand Down
6 changes: 0 additions & 6 deletions server/web/helpers/jsonify.js

This file was deleted.

3 changes: 0 additions & 3 deletions server/web/helpers/userHasRole.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,3 @@ module.exports = (user, roleName, options) => { //Block helper for checking if u
options.fn(this) :
options.inverse(this);
};



2 changes: 1 addition & 1 deletion server/web/templates/users/roles.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
{{#each ../role as |r|}}
<td>
<label>
<input class="roleCheck" id="{{r}}" type="checkbox" onchange="onCheckboxClicked(this, {{jsonify userRow._id}})" {{#disableCB ../../user userRow r}}disabled{{/disableCB}} {{#userHasRole userRow r}}checked{{/userHasRole}}>
<input class="roleCheck" id="{{r}}" type="checkbox" onchange="onCheckboxClicked(this, {{json userRow._id}})" {{#disableCB ../../user userRow r}}disabled{{/disableCB}} {{#userHasRole userRow r}}checked{{/userHasRole}}>
</label>
</td>
{{/each}}
Expand Down

0 comments on commit d03377d

Please sign in to comment.