[Netpass-devel] NetPass/www/htdocs/Admin/cmd lockcfg.mhtml,NONE,1.1
Brought to you by:
jeffmurphy
From: jeff m. <jef...@us...> - 2005-05-03 16:13:39
|
Update of /cvsroot/netpass/NetPass/www/htdocs/Admin/cmd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12903/www/htdocs/Admin/cmd Added Files: lockcfg.mhtml Log Message: netgroup/network web UI --- NEW FILE: lockcfg.mhtml --- <%doc> </%doc> <%args> $lock => 0; $force => 0; </%args> <%perl> my ($isRoot, $junk) = $m->comp('/Admin/MemberOf', 'acl' => [ 'Admin' ], 'group' => 'default'); if (! $isRoot ) { if ($lock) { print "NOK lock permission denied\n"; } else { print "NOK unlock permission denied\n"; } return; } my $lstat = $np->db->isConfigLocked(); my $rv; if ($lock) { # we want to lock the config if (ref($lstat) eq "HASH") { # config is already locked if ($lstat->{'user'} ne $m->session->{'username'}) { # and not by us if ($force) { # we're willing to force the issue $rv = $np->db->unlockConfig(-rev => $lstat->{'rev'}, -user => $m->session->{'username'}); if ($rv) { # fail print "NOK lock unlockfailed $rv\n"; } else { $rv = $np->db->lockConfig(-rev => $lstat->{'rev'}, -user => $m->session->{'username'}); if ($rv) { # fail print "NOK lock force err=$rv\n"; } else { # success print "OK lock\n"; } } } else { # we're not willing to break the lock print "NOK lock lockedby=".$lstat->{'user'}."\n"; } } else { # config is already locked by us print "OK lock alreadylocked\n"; } } elsif ($lstat) { # an error occurred print "NOK lock isConfigLockedErr $lstat\n"; } else { # config is not locked, lock it $rv = $np->db->getConfig(); $rv = $np->db->lockConfig(-rev => $rv->{'rev'}, -user => $m->session->{'username'}); if ($rv) { # fail print "NOK lock err=$rv\n"; } else { # success print "OK lock\n"; } } } else { # we want to unlock the config if (ref($lstat) eq "HASH") { # config is locked if ($lstat->{'user'} ne $m->session->{'username'}) { # and not by us if ($force) { # we're willing to force the issue $rv = $np->db->unlockConfig(-rev => $lstat->{'rev'}, -user => $m->session->{'username'}); if ($rv) { # error print "NOK unlock $rv\n"; } else { print "OK unlock\n"; } } else { # we're not willing to break the lock print "NOK unlock lockedby=".$lstat->{'user'}."\n"; } } else { # config is locked by us: unlock it $rv = $np->db->unlockConfig(-rev => $lstat->{'rev'}, -user => $m->session->{'username'}); if ($rv) { # fail print "NOK unlock $rv\n"; } else { print "OK unlock\n"; } } } elsif ($lstat) { # an error occurred print "NOK unlock $lstat\n"; } else { # config is not locked: NOP print "OK unlock\n"; } } </%perl> |