Added a translation managers group so that administrators can sub-divide the internationalization task without giving away admin privileges.
This commit is contained in:
parent
2c69665b0f
commit
92334195a3
3 changed files with 16 additions and 11 deletions
|
|
@ -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.");
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 = '<h1>Add English Message</h1>';
|
||||
$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 .= '<h1>'.WebGUI::International::get(42).'</h1>';
|
||||
$output .= WebGUI::International::get(587).'<p>';
|
||||
$output .= '<div align="center"><a href="'.
|
||||
|
|
@ -131,7 +131,7 @@ sub www_deleteLanguage {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_deleteLanguageConfirm {
|
||||
return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
|
||||
return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
|
||||
return WebGUI::Privilege::vitalComponent() if ($session{form}{lid} < 1000 && $session{form}{lid} > 0);
|
||||
WebGUI::SQL->write("delete from language where languageId=".$session{form}{lid});
|
||||
WebGUI::SQL->write("delete from international where languageId=".$session{form}{lid});
|
||||
|
|
@ -143,7 +143,7 @@ sub www_deleteLanguageConfirm {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_editInternationalMessage {
|
||||
my ($output, $message, $context, $f, $language);
|
||||
return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
|
||||
return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
|
||||
($language) = WebGUI::SQL->quickArray("select language from language where languageId=".$session{form}{lid});
|
||||
$output = '<h1>'.WebGUI::International::get(597).'</h1>';
|
||||
$f = WebGUI::HTMLForm->new;
|
||||
|
|
@ -171,7 +171,7 @@ sub www_editInternationalMessage {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_editInternationalMessageSave {
|
||||
return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3));
|
||||
return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(10));
|
||||
if ($session{form}{status} eq "missing") {
|
||||
WebGUI::SQL->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 = '<h1>'.WebGUI::International::get(586).'</h1>';
|
||||
$sth = WebGUI::SQL->read("select languageId,language from language where languageId<>1 order by language");
|
||||
while (%data = $sth->hash) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue