diff --git a/nodejs/models/user_ldap.js b/nodejs/models/user_ldap.js
index 462c686..6a84f0c 100644
--- a/nodejs/models/user_ldap.js
+++ b/nodejs/models/user_ldap.js
@@ -325,8 +325,6 @@ User.verifyEmail = async function(data){
let token = await InviteToken.get(data.token);
await token.update({mail: data.mail})
- console.log(`email link ${data.url}/login/invite/${token.token}/${token.mail_token}`)
-
await Mail.sendTemplate(
data.mail,
'validate_link',
diff --git a/nodejs/routes/group.js b/nodejs/routes/group.js
index 685b8b5..39d01bd 100644
--- a/nodejs/routes/group.js
+++ b/nodejs/routes/group.js
@@ -8,8 +8,6 @@ router.get('/', async function(req, res, next){
try{
let member = req.query.member ? await User.get(req.query.member) : {}
- console.log('member', member)
-
return res.json({
results: await Group[req.query.detail ? "listDetail" : "list"](member.dn)
});
diff --git a/nodejs/routes/user.js b/nodejs/routes/user.js
index cbe3a1a..a6a17ba 100755
--- a/nodejs/routes/user.js
+++ b/nodejs/routes/user.js
@@ -2,6 +2,7 @@
const router = require('express').Router();
const {User} = require('../models/user');
+const permission = require('../utils/permission');
router.get('/', async function(req, res, next){
try{
@@ -15,6 +16,8 @@ router.get('/', async function(req, res, next){
router.post('/', async function(req, res, next){
try{
+ await permission.byGroup(req.user, ['app_sso_admin'])
+
req.body.created_by = req.user.uid
return res.json({results: await User.add(req.body)});
@@ -25,7 +28,14 @@ router.post('/', async function(req, res, next){
router.delete('/:uid', async function(req, res, next){
try{
- let user = await User.get(req.params.uid);
+ let user;
+
+ if(req.params.uid.toLowerCase() === req.user.uid.toLowerCase()){
+ user = req.user;
+ }else{
+ user = await User.get(req.params.uid);
+ await permission.byGroup(req.user, ['app_sso_admin'])
+ }
return res.json({uid: req.params.uid, results: await user.remove()})
}catch(error){
@@ -35,9 +45,14 @@ router.delete('/:uid', async function(req, res, next){
router.put('/:uid', async function(req, res, next){
try{
- let user = await User.get(req.params.uid);
+ let user;
- // console.log('update user', user);
+ if(req.params.uid.toLowerCase() === req.user.uid.toLowerCase()){
+ user = req.user;
+ }else{
+ user = await User.get(req.params.uid);
+ await permission.byGroup(req.user, ['app_sso_admin'])
+ }
return res.json({
results: await user.update(req.body),
@@ -68,7 +83,15 @@ router.put('/password', async function(req, res, next){
router.put('/:uid/password', async function(req, res, next){
try{
- let user = await User.get(req.params.uid);
+ let user;
+
+ if(req.params.uid.toLowerCase() === req.user.uid.toLowerCase()){
+ user = req.user;
+ }else{
+ user = await User.get(req.params.uid);
+ await permission.byGroup(req.user, ['app_sso_admin'])
+ }
+
return res.json({
results: await user.setPassword(req.body),
message: `User ${user.uid} password changed.`
diff --git a/nodejs/views/home.ejs b/nodejs/views/home.ejs
index a802f65..21b669a 100644
--- a/nodejs/views/home.ejs
+++ b/nodejs/views/home.ejs
@@ -157,6 +157,8 @@
renderProfile(user);
renderUserGroups(user);
$('#username').text(user.uid);
+ $('form[action="user/{{uid}}"]').attr('action', 'user/'+user.uid)
+
});
});
@@ -263,9 +265,19 @@
-