[Netpass-devel] NetPass/www/htdocs/Admin autohandler,1.8,1.9 lockcfg.mhtml,1.1,1.2
Brought to you by:
jeffmurphy
From: jeff m. <jef...@us...> - 2005-04-25 19:15:15
|
Update of /cvsroot/netpass/NetPass/www/htdocs/Admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20130/www/htdocs/Admin Modified Files: autohandler lockcfg.mhtml Log Message: gui config lock management Index: autohandler =================================================================== RCS file: /cvsroot/netpass/NetPass/www/htdocs/Admin/autohandler,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- autohandler 25 Apr 2005 02:52:48 -0000 1.8 +++ autohandler 25 Apr 2005 19:15:03 -0000 1.9 @@ -1,4 +1,3 @@ - <%doc> # $Header$ @@ -6,12 +5,9 @@ # Available under the "Artistic License" # http://www.gnu.org/licenses/license-list.html#ArtisticLicense </%doc> - <%args> $printable => 0; </%args> - - <%perl> use Sys::Hostname; my $serverType = "PRODUCTION"; @@ -24,9 +20,6 @@ print qq{<script src="/resources/js/xmlhttp.js" type="text/javascript"></script>}; $m->comp('/style/back/start_sidebar', %ARGS); </%perl> - - - <center> <div class="sbHeader">NetPass Admin</div> <div class="sbHeader"><%$serverType%> SERVER</div> @@ -67,13 +60,8 @@ <a class="sbLinks" href="/Admin/reports.mhtml" title="">Reports</a><br> </DIV> <P><P> - - <BR><H6><I><%join('.', (split(/\./, hostname))[0,1])%></I></H6> - % } - - <%perl> } Index: lockcfg.mhtml =================================================================== RCS file: /cvsroot/netpass/NetPass/www/htdocs/Admin/lockcfg.mhtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lockcfg.mhtml 25 Apr 2005 02:55:16 -0000 1.1 +++ lockcfg.mhtml 25 Apr 2005 19:15:03 -0000 1.2 @@ -4,5 +4,103 @@ $lock => 0; $force => 0; </%args> -lock: <%$lock%> force: <%$force%> user: <%$m->session->{'username'}%> +<%perl> + +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 $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 $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 $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> |