From bac1a5ec3e82ff6d8de548c401064ac0ce042b72 Mon Sep 17 00:00:00 2001 From: Josh Rickers Date: Tue, 21 Jan 2014 19:37:01 +0000 Subject: [PATCH 1/6] updated groups to stop you from removing yourself from the admin group --- src/routes/admin.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/routes/admin.js b/src/routes/admin.js index 0b23680cd0..d7c1c7863f 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -429,7 +429,8 @@ var nconf = require('nconf'), expand: true }, function (err, groups) { res.json(200, { - groups: groups + groups: groups, + yourid: req.user.uid }); }); }); From a91e464787401cfb0c622cf8c909eb1b54745543 Mon Sep 17 00:00:00 2001 From: Josh Rickers Date: Tue, 21 Jan 2014 19:37:41 +0000 Subject: [PATCH 2/6] updated groups to stop you from removing yourself from the admin group --- public/src/forum/admin/groups.js | 37 ++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/public/src/forum/admin/groups.js b/public/src/forum/admin/groups.js index 16283d9150..3bd792341f 100644 --- a/public/src/forum/admin/groups.js +++ b/public/src/forum/admin/groups.js @@ -2,7 +2,8 @@ define(function() { var Groups = {}; Groups.init = function() { - var createEl = document.getElementById('create'), + var yourid = templates.get('yourid'), + createEl = document.getElementById('create'), createModal = $('#create-modal'), createSubmitBtn = document.getElementById('create-modal-go'), createNameEl = $('#create-group-name'), @@ -171,19 +172,27 @@ define(function() { groupMembersEl.on('click', 'li[data-uid]', function() { var uid = this.getAttribute('data-uid'), gid = detailsModal.attr('data-gid'); - - bootbox.confirm('Are you sure you want to remove this user?', function(confirm) { - if (confirm){ - socket.emit('admin.groups.leave', { - gid: gid, - uid: uid - }, function(err, data) { - if (!err) { - groupMembersEl.find('li[data-uid="' + uid + '"]').remove(); - } - }); + + socket.emit('admin.groups.get', gid, function(err, groupObj){ + if (!err){ + if (groupObj.name == 'Administrators' && uid == yourid){ + bootbox.alert('You cannot remove yourself from the Administrator Group'); + return; + } + bootbox.confirm('Are you sure you want to remove this user?', function(confirm) { + if (confirm){ + socket.emit('admin.groups.leave', { + gid: gid, + uid: uid + }, function(err, data) { + if (!err) { + groupMembersEl.find('li[data-uid="' + uid + '"]').remove(); + } + }); + } + }); } - }); + }); }); detailsModalSave.on('click', function() { @@ -210,4 +219,4 @@ define(function() { }; return Groups; -}); \ No newline at end of file +}); From 4c3608335486d14b3da140f740908275812678cd Mon Sep 17 00:00:00 2001 From: Josh Rickers Date: Tue, 21 Jan 2014 19:39:06 +0000 Subject: [PATCH 3/6] Added yourid so it can be used in groups.js --- public/templates/admin/groups.tpl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/templates/admin/groups.tpl b/public/templates/admin/groups.tpl index 40ceae9669..bd21db2b9f 100644 --- a/public/templates/admin/groups.tpl +++ b/public/templates/admin/groups.tpl @@ -95,4 +95,5 @@ - \ No newline at end of file + + From f9e6fab3eab780c046d425d78d16224ec37ef7cf Mon Sep 17 00:00:00 2001 From: Josh Rickers Date: Tue, 21 Jan 2014 20:40:55 +0000 Subject: [PATCH 4/6] Fixed line spacing/tabbing --- public/src/forum/admin/groups.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/public/src/forum/admin/groups.js b/public/src/forum/admin/groups.js index 3bd792341f..aba34d0611 100644 --- a/public/src/forum/admin/groups.js +++ b/public/src/forum/admin/groups.js @@ -180,17 +180,17 @@ define(function() { return; } bootbox.confirm('Are you sure you want to remove this user?', function(confirm) { - if (confirm){ - socket.emit('admin.groups.leave', { - gid: gid, - uid: uid - }, function(err, data) { - if (!err) { - groupMembersEl.find('li[data-uid="' + uid + '"]').remove(); - } - }); - } - }); + if (confirm){ + socket.emit('admin.groups.leave', { + gid: gid, + uid: uid + }, function(err, data) { + if (!err) { + groupMembersEl.find('li[data-uid="' + uid + '"]').remove(); + } + }); + } + }); } }); }); From 21f6b10023e74b74499995b675fefbe2c7d3691e Mon Sep 17 00:00:00 2001 From: Josh Rickers Date: Tue, 21 Jan 2014 20:44:41 +0000 Subject: [PATCH 5/6] fixed indenting --- public/src/forum/admin/groups.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/src/forum/admin/groups.js b/public/src/forum/admin/groups.js index aba34d0611..4b00650323 100644 --- a/public/src/forum/admin/groups.js +++ b/public/src/forum/admin/groups.js @@ -192,7 +192,7 @@ define(function() { } }); } - }); + }); }); detailsModalSave.on('click', function() { From 4c211b711072b65711a24f0922c8c4f1f135559c Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 21 Jan 2014 21:15:34 +0000 Subject: [PATCH 6/6] Fixed tabbing/spacing --- public/src/forum/admin/groups.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/src/forum/admin/groups.js b/public/src/forum/admin/groups.js index 4b00650323..93de7bdbdc 100644 --- a/public/src/forum/admin/groups.js +++ b/public/src/forum/admin/groups.js @@ -174,12 +174,12 @@ define(function() { gid = detailsModal.attr('data-gid'); socket.emit('admin.groups.get', gid, function(err, groupObj){ - if (!err){ - if (groupObj.name == 'Administrators' && uid == yourid){ - bootbox.alert('You cannot remove yourself from the Administrator Group'); - return; - } - bootbox.confirm('Are you sure you want to remove this user?', function(confirm) { + if (!err){ + if (groupObj.name == 'Administrators' && uid == yourid){ + bootbox.alert('You cannot remove yourself from the Administrator Group'); + return; + } + bootbox.confirm('Are you sure you want to remove this user?', function(confirm) { if (confirm){ socket.emit('admin.groups.leave', { gid: gid,