DataObjects/Core_event_audit.php
[Pman.Core] / Lock.php
index 49243a5..79581a8 100644 (file)
--- a/Lock.php
+++ b/Lock.php
@@ -74,10 +74,11 @@ class Pman_Core_Lock extends Pman
         }
         $curlock = DB_DataObject::factory('Core_locking');
         if (!$curlock->get($_REQUEST['id'])) {
-            $this->jerr("No lock exists");
+            $this->jok("No lock exists"); // been deleted before.. probably ok..
         }
         
         if ($curlock->person_id != $this->authUser->id) {
+            // this is an error conditon..
             $this->jerr("Lock id is invalid");
         }
         
@@ -105,10 +106,13 @@ class Pman_Core_Lock extends Pman
             'on_table' => $_REQUEST['on_table']
         ));
         
+        $curlock_ex = clone($curlock);
+        $curlock_ex->whereAdd('person_id != '. $this->authUser->id);
         
-        $nlocks = $curlock->count() ;
+        
+        $nlocks = $curlock_ex->count() ;
         if ($nlocks && empty($_REQUEST['force'])) {
-            DB_DataObjecT::debugLevel(1);
+           // DB_DataObjecT::debugLevel(1);
             $ar = $curlock->fetchAll('person_id', 'created');
             $p = DB_DataObject::factory('Person');
             $p->selectAdd();
@@ -124,6 +128,8 @@ class Pman_Core_Lock extends Pman
             $this->jok(array_values($ret));
             
         }
+        // trash the lock if it belongs to current user..
+        $nlocks = $curlock->count();
         if ($nlocks) {
             // trash all the locks..
             $curlock->find();