diff --git a/docs/upgrades/upgrade_5.2.4-5.3.0.sql b/docs/upgrades/upgrade_5.2.4-5.3.0.sql
index 2755dc190..1607ed672 100644
--- a/docs/upgrades/upgrade_5.2.4-5.3.0.sql
+++ b/docs/upgrades/upgrade_5.2.4-5.3.0.sql
@@ -274,6 +274,6 @@ insert into international (internationalId,languageId,namespace,message,lastUpda
delete from international where languageId=1 and namespace='WebGUI' and internationalId=831;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (831,1,'WebGUI','Collateral Macros', 1050441851);
alter table international add column context text;
-
+insert into groups (groupId,groupName,description) values (10,"Translation Managers","Users that can edit language translations for WebGUI.");
diff --git a/lib/WebGUI/Macro/AdminBar.pm b/lib/WebGUI/Macro/AdminBar.pm
index 2e1e8537d..d1c287e5e 100644
--- a/lib/WebGUI/Macro/AdminBar.pm
+++ b/lib/WebGUI/Macro/AdminBar.pm
@@ -70,7 +70,6 @@ sub process {
%hash = (
WebGUI::URL::page('op=listGroups')=>WebGUI::International::get(5),
WebGUI::URL::page('op=manageSettings')=>WebGUI::International::get(4),
- WebGUI::URL::page('op=listLanguages')=>WebGUI::International::get(585),
WebGUI::URL::page('op=listUsers')=>WebGUI::International::get(7),
WebGUI::URL::gateway('trash')=>WebGUI::International::get(10),
WebGUI::URL::page('op=listRoots')=>WebGUI::International::get(410),
@@ -110,6 +109,12 @@ sub process {
%hash
);
}
+ if (WebGUI::Privilege::isInGroup(10)) {
+ %hash = (
+ WebGUI::URL::page('op=listLanguages')=>WebGUI::International::get(585),
+ %hash
+ );
+ }
%hash = (
WebGUI::URL::page('op=viewHelpIndex')=>WebGUI::International::get(13),
%hash
diff --git a/lib/WebGUI/Operation/International.pm b/lib/WebGUI/Operation/International.pm
index 5d7d8c718..fafebc1e1 100644
--- a/lib/WebGUI/Operation/International.pm
+++ b/lib/WebGUI/Operation/International.pm
@@ -85,7 +85,7 @@ sub _submenu {
#-------------------------------------------------------------------
sub www_addInternationalMessage {
my ($output,$f);
- return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
$output = '
Add English Message
';
$f = WebGUI::HTMLForm->new();
$f->hidden("lid",1);
@@ -118,7 +118,7 @@ sub www_addInternationalMessageSave {
sub www_deleteLanguage {
my ($output);
return WebGUI::Privilege::vitalComponent() if ($session{form}{lid} < 1000 && $session{form}{lid} > 0);
- return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
$output .= ''.WebGUI::International::get(42).'
';
$output .= WebGUI::International::get(587).'';
$output .= '
write("insert into international (message,namespace,languageId,internationalId,lastUpdated)
values (".quote($session{form}{message}).",".quote($session{form}{namespace})
@@ -187,7 +187,7 @@ sub www_editInternationalMessageSave {
#-------------------------------------------------------------------
sub www_editLanguage {
my ($output, $dir, @files, $file, %data, $f, %options);
- return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
tie %data, 'Tie::CPHash';
$dir = $session{config}{extrasPath}.$session{os}{slash}."toolbar";
opendir (DIR,$dir) or WebGUI::ErrorHandler::warn("Can't open toolbar directory!");
@@ -219,7 +219,7 @@ sub www_editLanguage {
#-------------------------------------------------------------------
sub www_editLanguageSave {
- return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
if ($session{form}{lid} eq "new") {
$session{form}{lid} = getNextId("languageId");
WebGUI::SQL->write("insert into language (languageId) values ($session{form}{lid})");
@@ -238,7 +238,7 @@ sub www_exportTranslation {
#-------------------------------------------------------------------
sub www_listInternationalMessages {
- return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
my ($output, $sth, $key, $p, $status,%data, %list, $deprecated, $i, $missing, @row, $f, $outOfDate, $ok);
tie %data, 'Tie::CPHash';
%data = WebGUI::SQL->quickHash("select language from language where languageId=".$session{form}{lid});
@@ -369,7 +369,7 @@ sub www_listInternationalMessages {
sub www_listLanguages {
my ($output, $sth, %data);
tie %data, 'Tie::CPHash';
- return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
+ return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
$output = ''.WebGUI::International::get(586).'
';
$sth = WebGUI::SQL->read("select languageId,language from language where languageId<>1 order by language");
while (%data = $sth->hash) {