more admin console stuff

This commit is contained in:
JT Smith 2004-11-03 04:50:11 +00:00
parent 46d935418a
commit 945c753728
4 changed files with 50 additions and 54 deletions

View file

@ -43,7 +43,7 @@ sub getAdminFunction {
}, },
"users"=>{ "users"=>{
title=>{ title=>{
id=>"users", id=>"149",
namespace=>"WebGUI" namespace=>"WebGUI"
}, },
icon=>"users.gif", icon=>"users.gif",

View file

@ -13,6 +13,7 @@ package WebGUI::Operation::User;
use strict qw(vars subs); use strict qw(vars subs);
use Tie::CPHash; use Tie::CPHash;
use Tie::IxHash; use Tie::IxHash;
use WebGUI::AdminConsole;
use WebGUI::DateTime; use WebGUI::DateTime;
use WebGUI::FormProcessor; use WebGUI::FormProcessor;
use WebGUI::Group; use WebGUI::Group;
@ -20,7 +21,6 @@ use WebGUI::Grouping;
use WebGUI::HTMLForm; use WebGUI::HTMLForm;
use WebGUI::Icon; use WebGUI::Icon;
use WebGUI::International; use WebGUI::International;
use WebGUI::Operation::Shared;
use WebGUI::Operation::Auth; use WebGUI::Operation::Auth;
use WebGUI::Paginator; use WebGUI::Paginator;
use WebGUI::Privilege; use WebGUI::Privilege;
@ -34,30 +34,37 @@ use WebGUI::Utility;
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub _submenu { sub _submenu {
my ($output, %menu); my $workarea = shift;
tie %menu, 'Tie::IxHash'; my $title = shift;
$title = WebGUI::International::get($title) if ($title);
my $help = shift;
my $ac = WebGUI::AdminConsole->new;
if ($help) {
$ac->setHelp($help);
}
$ac->setAdminFunction("trash");
if (WebGUI::Grouping::isInGroup(3)) { if (WebGUI::Grouping::isInGroup(3)) {
$menu{WebGUI::URL::page("op=addUser")} = WebGUI::International::get(169); $ac->addSubmenuItem(WebGUI::URL::page("op=addUser"), WebGUI::International::get(169));
unless ($session{form}{op} eq "listUsers" unless ($session{form}{op} eq "listUsers"
|| $session{form}{op} eq "addUser" || $session{form}{op} eq "addUser"
|| $session{form}{op} eq "deleteUserConfirm") { || $session{form}{op} eq "deleteUserConfirm") {
$menu{WebGUI::URL::page("op=editUser&uid=".$session{form}{uid})} = WebGUI::International::get(457); $ac->addSubmenuItem(WebGUI::URL::page("op=editUser&uid=".$session{form}{uid}), WebGUI::International::get(457));
$menu{WebGUI::URL::page("op=editUserGroup&uid=".$session{form}{uid})} = WebGUI::International::get(458); $ac->addSubmenuItem(WebGUI::URL::page("op=editUserGroup&uid=".$session{form}{uid}), WebGUI::International::get(458));
$menu{WebGUI::URL::page("op=editUserProfile&uid=".$session{form}{uid})} = WebGUI::International::get(459); $ac->addSubmenuItem(WebGUI::URL::page("op=editUserProfile&uid=".$session{form}{uid}), WebGUI::International::get(459));
$menu{WebGUI::URL::page('op=viewProfile&uid='.$session{form}{uid})} = WebGUI::International::get(752); $ac->addSubmenuItem(WebGUI::URL::page('op=viewProfile&uid='.$session{form}{uid}), WebGUI::International::get(752));
$menu{WebGUI::URL::page('op=becomeUser&uid='.$session{form}{uid})} = WebGUI::International::get(751); $ac->addSubmenuItem(WebGUI::URL::page('op=becomeUser&uid='.$session{form}{uid}), WebGUI::International::get(751));
$menu{WebGUI::URL::page('op=deleteUser&uid='.$session{form}{uid})} = WebGUI::International::get(750); $ac->addSubmenuItem(WebGUI::URL::page('op=deleteUser&uid='.$session{form}{uid}), WebGUI::International::get(750));
if ($session{setting}{useKarma}) { if ($session{setting}{useKarma}) {
$menu{WebGUI::URL::page("op=editUserKarma&uid=".$session{form}{uid})} = WebGUI::International::get(555); $ac->addSubmenuItem(WebGUI::URL::page("op=editUserKarma&uid=".$session{form}{uid}), WebGUI::International::get(555));
} }
} }
$menu{WebGUI::URL::page("op=listUsers")} = WebGUI::International::get(456); $ac->addSubmenuItem(WebGUI::URL::page("op=listUsers"), WebGUI::International::get(456));
} else { } else {
$menu{WebGUI::URL::page("op=addUser")} = WebGUI::International::get(169); $ac->addSubmenuItem(WebGUI::URL::page("op=addUser"), WebGUI::International::get(169));
} }
return menuWrapper($_[0],\%menu); return $ac->render($workarea, $title);
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub doUserSearch { sub doUserSearch {
@ -150,8 +157,6 @@ sub getUserSearchForm {
sub www_addUser { sub www_addUser {
my ($output, $f, $cmd, $html, %status); my ($output, $f, $cmd, $html, %status);
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3) || WebGUI::Grouping::isInGroup(11)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3) || WebGUI::Grouping::isInGroup(11));
$output .= helpIcon("user add/edit");
$output .= '<h1>'.WebGUI::International::get(163).'</h1>';
WebGUI::Style::setScript($session{config}{extrasURL}."/swapLayers.js", {language=>"JavaScript"}); WebGUI::Style::setScript($session{config}{extrasURL}."/swapLayers.js", {language=>"JavaScript"});
$output .= '<script language="JavaScript" > var active="'.$session{setting}{authMethod}.'"; </script>'; $output .= '<script language="JavaScript" > var active="'.$session{setting}{authMethod}.'"; </script>';
@ -203,7 +208,7 @@ sub www_addUser {
$f->submit; $f->submit;
$output .= $f->print; $output .= $f->print;
$output .= $jscript; $output .= $jscript;
return _submenu($output); return _submenu($output,'163',"user add/edit");
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -251,7 +256,7 @@ sub www_becomeUser {
sub www_deleteGrouping { sub www_deleteGrouping {
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
if (($session{user}{userId} == $session{form}{uid} || $session{form}{uid} == 3) && $session{form}{gid} == 3) { if (($session{user}{userId} == $session{form}{uid} || $session{form}{uid} == 3) && $session{form}{gid} == 3) {
return WebGUI::Privilege::vitalComponent(); return _submenu(WebGUI::Privilege::vitalComponent());
} }
my @users = $session{cgi}->param('uid'); my @users = $session{cgi}->param('uid');
my @groups = $session{cgi}->param("gid"); my @groups = $session{cgi}->param("gid");
@ -270,16 +275,14 @@ sub www_deleteUser {
my ($output); my ($output);
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
if ($session{form}{uid} == 1 || $session{form}{uid} == 3) { if ($session{form}{uid} == 1 || $session{form}{uid} == 3) {
return WebGUI::Privilege::vitalComponent(); return _submenu(WebGUI::Privilege::vitalComponent());
} else { } else {
$output .= helpIcon("user delete");
$output .= '<h1>'.WebGUI::International::get(42).'</h1>';
$output .= WebGUI::International::get(167).'<p>'; $output .= WebGUI::International::get(167).'<p>';
$output .= '<div align="center"><a href="'.WebGUI::URL::page('op=deleteUserConfirm&uid='.$session{form}{uid}). $output .= '<div align="center"><a href="'.WebGUI::URL::page('op=deleteUserConfirm&uid='.$session{form}{uid}).
'">'.WebGUI::International::get(44).'</a>'; '">'.WebGUI::International::get(44).'</a>';
$output .= '&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.WebGUI::URL::page('op=listUsers').'">'. $output .= '&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.WebGUI::URL::page('op=listUsers').'">'.
WebGUI::International::get(45).'</a></div>'; WebGUI::International::get(45).'</a></div>';
return _submenu($output); return _submenu($output,'42',"user delete");
} }
} }
@ -299,7 +302,6 @@ sub www_deleteUserConfirm {
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_editGrouping { sub www_editGrouping {
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
my $output .= '<h1>'.WebGUI::International::get(370).'</h1>';
my $f = WebGUI::HTMLForm->new; my $f = WebGUI::HTMLForm->new;
$f->hidden("op","editGroupingSave"); $f->hidden("op","editGroupingSave");
$f->hidden("uid",$session{form}{uid}); $f->hidden("uid",$session{form}{uid});
@ -315,8 +317,7 @@ sub www_editGrouping {
-value=>WebGUI::Grouping::userGroupAdmin($session{form}{uid},$session{form}{gid}) -value=>WebGUI::Grouping::userGroupAdmin($session{form}{uid},$session{form}{gid})
); );
$f->submit; $f->submit;
$output .= $f->print; return _submenu($f->print,'370');
return _submenu($output);
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -334,8 +335,6 @@ sub www_editUser {
$u = WebGUI::User->new($session{form}{uid}); $u = WebGUI::User->new($session{form}{uid});
WebGUI::Style::setScript($session{config}{extrasURL}."/swapLayers.js", {language=>"JavaScript"}); WebGUI::Style::setScript($session{config}{extrasURL}."/swapLayers.js", {language=>"JavaScript"});
$output .= '<script language="JavaScript" > var active="'.$u->authMethod.'"; </script>'; $output .= '<script language="JavaScript" > var active="'.$u->authMethod.'"; </script>';
$output .= helpIcon("user add/edit");
$output .= '<h1>'.WebGUI::International::get(168).'</h1>';
$f = WebGUI::HTMLForm->new; $f = WebGUI::HTMLForm->new;
$f->hidden("op","editUserSave"); $f->hidden("op","editUserSave");
$f->hidden("uid",$session{form}{uid}); $f->hidden("uid",$session{form}{uid});
@ -378,7 +377,7 @@ sub www_editUser {
$f->submit; $f->submit;
$output .= $f->print; $output .= $f->print;
$output .= $jscript; $output .= $jscript;
return _submenu($output); return _submenu($output,'168',"user add/edit");
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -407,8 +406,7 @@ sub www_editUserGroup {
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
my %hash; my %hash;
tie %hash, 'Tie::CPHash'; tie %hash, 'Tie::CPHash';
my $output = '<h1>'.WebGUI::International::get(372).'</h1>'; my $output .= WebGUI::Form::formHeader()
$output .= WebGUI::Form::formHeader()
.WebGUI::Form::hidden({ .WebGUI::Form::hidden({
name=>"uid", name=>"uid",
value=>$session{form}{uid} value=>$session{form}{uid}
@ -464,15 +462,13 @@ sub www_editUserGroup {
); );
$f->submit; $f->submit;
$output .= $f->print; $output .= $f->print;
return _submenu($output); return _submenu($output,'372');
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_editUserKarma { sub www_editUserKarma {
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory); my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory);
$output = helpIcon("karma using");
$output .= '<h1>'.WebGUI::International::get(558).'</h1>';
$f = WebGUI::HTMLForm->new; $f = WebGUI::HTMLForm->new;
$f->hidden("op","editUserKarmaSave"); $f->hidden("op","editUserKarmaSave");
$f->hidden("uid",$session{form}{uid}); $f->hidden("uid",$session{form}{uid});
@ -480,7 +476,7 @@ sub www_editUserKarma {
$f->text("description",WebGUI::International::get(557)); $f->text("description",WebGUI::International::get(557));
$f->submit; $f->submit;
$output .= $f->print; $output .= $f->print;
return _submenu($output); return _submenu($output,'558',"karma using");
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -497,8 +493,6 @@ sub www_editUserProfile {
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory); my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory);
tie %data, 'Tie::CPHash'; tie %data, 'Tie::CPHash';
$output = helpIcon("user profile edit");
$output .= '<h1>'.WebGUI::International::get(455).'</h1>';
$f = WebGUI::HTMLForm->new; $f = WebGUI::HTMLForm->new;
$f->hidden("op","editUserProfileSave"); $f->hidden("op","editUserProfileSave");
$f->hidden("uid",$session{form}{uid}); $f->hidden("uid",$session{form}{uid});
@ -552,7 +546,7 @@ sub www_editUserProfile {
$a->finish; $a->finish;
$f->submit; $f->submit;
$output .= $f->print; $output .= $f->print;
return _submenu($output); return _submenu($output,'455',"user profile edit");
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -573,9 +567,7 @@ sub www_editUserProfileSave {
sub www_listUsers { sub www_listUsers {
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3)); return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
my %status; my %status;
my $output = helpIcon("users manage"); my $output = getUserSearchForm("listUsers");
$output .= '<h1>'.WebGUI::International::get(149).'</h1>';
$output .= getUserSearchForm("listUsers");
my ($userCount) = WebGUI::SQL->quickArray("select count(*) from users"); my ($userCount) = WebGUI::SQL->quickArray("select count(*) from users");
return _submenu($output) unless ($session{form}{doit} || $userCount<250); return _submenu($output) unless ($session{form}{doit} || $userCount<250);
tie %status, 'Tie::IxHash'; tie %status, 'Tie::IxHash';
@ -619,7 +611,7 @@ sub www_listUsers {
} }
$output .= '</table>'; $output .= '</table>';
$output .= $p->getBarTraditional; $output .= $p->getBarTraditional;
return _submenu($output); return _submenu($output,undef,"users manage");
} }
1; 1;

View file

@ -6324,7 +6324,8 @@ Privileges and styles assigned to pages in the package will not be copied when t
'149' => { '149' => {
message => q|Users|, message => q|Users|,
lastUpdated => 1031514049 lastUpdated => 1031514049,
context => q|Title of the user manager for the admin console.|
}, },
'625' => { '625' => {
@ -6973,12 +6974,6 @@ config file.</p>
context => q|Label of the cancel button| context => q|Label of the cancel button|
}, },
'users' => {
message => q|Users|,
lastUpdated =>1092930637,
context => q|Title of the user manager for the admin console.|
},
'trash' => { 'trash' => {
message => q|Trash|, message => q|Trash|,
lastUpdated =>1092930637, lastUpdated =>1092930637,

View file

@ -1,18 +1,17 @@
.adminConsoleTitleIcon { .adminConsoleTitleIcon {
position: absolute; position: absolute;
top: 0px; top: 10px;
left: 20px; left: 20px;
width: 48px; width: 48px;
height: 48px; height: 48px;
text-align: center; text-align: center;
border: 1px solid #ddd;
} }
.adminConsoleTitle { .adminConsoleTitle {
position: absolute; position: absolute;
top: 0px; top: 0px;
left: 102px; left: 85px;
font-size: 50px; font-size: 50px;
text-align: left; text-align: left;
} }
@ -21,6 +20,7 @@
border: 1px solid #ddd; border: 1px solid #ddd;
margin: 90px 220px 50px 10px; margin: 90px 220px 50px 10px;
padding: 5px; padding: 5px;
-moz-border-radius: 10px;
} }
.adminConsoleMenu { .adminConsoleMenu {
@ -38,18 +38,21 @@
border: 1px solid #ddd; border: 1px solid #ddd;
padding: 5px; padding: 5px;
margin: 5px; margin: 5px;
-moz-border-radius: 10px;
} }
.adminConsoleSubmenu { .adminConsoleSubmenu {
border: 1px solid #ddd; border: 1px solid #ddd;
padding: 5px; padding: 5px;
margin: 5px; margin: 5px;
-moz-border-radius: 10px;
} }
.adminConsoleUtilityMenu { .adminConsoleUtilityMenu {
border: 1px solid #ddd; border: 1px solid #ddd;
padding: 5px; padding: 5px;
margin: 5px; margin: 5px;
-moz-border-radius: 10px;
} }
.adminConsoleHidden { .adminConsoleHidden {
@ -59,11 +62,17 @@
.adminConsoleApplication { .adminConsoleApplication {
float: left; float: left;
padding: 15px; padding: 10px;
text-align: center; text-align: center;
width: 100px; width: 100px;
font-size: 14px; font-size: 14px;
font-family: helvetica, arial; font-family: helvetica, arial;
opacity: 0.7;
height: 110px;
}
.adminConsoleApplication:hover {
opacity: 1.0;
} }
.adminConsoleSpacer { .adminConsoleSpacer {