diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 5c957edd6..2911c5c96 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -57,5 +57,8 @@ webgui. - The everyone and registered users group are no longer magic in that there are physical linkages between them and users. The magic was getting too hard to maintain and users were confused by it. - + - Added a "Turn Admin On" group to determine who can enable or disable admin + mode. + + diff --git a/docs/upgrades/upgrade_5.9.9-6.0.0.sql b/docs/upgrades/upgrade_5.9.9-6.0.0.sql index 8e0d4f4e6..264d35d7e 100644 --- a/docs/upgrades/upgrade_5.9.9-6.0.0.sql +++ b/docs/upgrades/upgrade_5.9.9-6.0.0.sql @@ -350,6 +350,14 @@ alter table groups add column showInForms int not null default 1; update groups set isEditable=0 where groupId in (1,2,7); insert into groupings (groupId,userId) select userId, 7 from users; insert into groupings (groupId,userId) select userId, 2 from users where userId<>1; +insert into groups (groupId,groupName,description,showInForms) values (5,'Turn Admin On','These users can enable admin mode.',0); +insert into groupGroupings (groupId, inGroup) values (3,5); +insert into groupGroupings (groupId, inGroup) values (4,5); +insert into groupGroupings (groupId, inGroup) values (6,5); +insert into groupGroupings (groupId, inGroup) values (8,5); +insert into groupGroupings (groupId, inGroup) values (9,5); +insert into groupGroupings (groupId, inGroup) values (10,5); +insert into groupGroupings (groupId, inGroup) values (11,5); diff --git a/lib/WebGUI/Macro/AdminToggle.pm b/lib/WebGUI/Macro/AdminToggle.pm index ff8c91d35..103ac6add 100644 --- a/lib/WebGUI/Macro/AdminToggle.pm +++ b/lib/WebGUI/Macro/AdminToggle.pm @@ -19,7 +19,7 @@ use WebGUI::URL; #------------------------------------------------------------------- sub process { my ($temp, @param, $turnOn, $turnOff); - if (WebGUI::Privilege::isInGroup(4)) { + if (WebGUI::Privilege::isInGroup(5)) { @param = WebGUI::Macro::getParams($_[0]); if ($session{var}{adminOn}) { $turnOff = $param[1] || WebGUI::International::get(517); diff --git a/lib/WebGUI/Macro/EditableToggle.pm b/lib/WebGUI/Macro/EditableToggle.pm index 8260ddf28..cce07715c 100644 --- a/lib/WebGUI/Macro/EditableToggle.pm +++ b/lib/WebGUI/Macro/EditableToggle.pm @@ -20,7 +20,7 @@ use WebGUI::URL; #------------------------------------------------------------------- sub process { my ($temp, @param, $turnOn, $turnOff); - if (WebGUI::Privilege::canEditPage()) { + if (WebGUI::Privilege::canEditPage() && WebGUI::Privilege::isInGroup(5)) { @param = WebGUI::Macro::getParams($_[0]); if ($session{var}{adminOn}) { $turnOff = $param[1] || WebGUI::International::get(517); diff --git a/lib/WebGUI/Operation/Account.pm b/lib/WebGUI/Operation/Account.pm index 1435ddbcc..2b7b4cce7 100644 --- a/lib/WebGUI/Operation/Account.pm +++ b/lib/WebGUI/Operation/Account.pm @@ -37,7 +37,7 @@ our @EXPORT = qw(&www_viewMessageLogMessage &www_viewThreadSubscriptions &www_vi sub _accountOptions { my ($output); $output = '