Uncommited changes synced
[Pman.MTrack] / DataObjects / Mtrack_ticket.php
index 3c50c5a..a1a46c0 100644 (file)
@@ -679,7 +679,8 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
     
     function beforeUpdate($old, $req, $roo)
     {
-        if (!empty($req['reason'])) {
+        
+         if (!empty($req['reason'])) {
             $ch = DB_DataObject::factory('mtrack_change');
             $ch->beginChange($this, $req['reason']);
             $this->_mtrack_change= $ch;
@@ -722,6 +723,28 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
             $roo->jok("UPDATED");
         }
         
+        if (isset($req['_before']) || isset($req['_after']))  {
+            $req['_after'] = isset($req['_after']) ? $req['_after'] : 0;
+            $req['_before'] = isset($req['_before']) ? $req['_before'] : 0;
+            $old->updateSequence($req['_before'],$req['_after']);
+            
+            
+            if ($req['_before']) { 
+                $before = DB_DataObject::factory('mtrack_ticket');
+                $before->get($req['_before']);
+                $this->seqid = $before->seqid;
+            } else if ($req['_after']) {
+                $after = DB_DataObject::factory('mtrack_ticket');
+                $after->get($req['_after']);
+                $this->seqid =  $after->seqid+1;
+            } else {
+                
+                
+                
+            }
+        }   
+         
+        
         
     }
     
@@ -849,8 +872,10 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
     }
     
     //  http://roojs.com/admin.php/Roo/Mtrack_ticket?_post=1&id=733&_reorder=0
-    function updateSequence($tbefore)
+    function updateSequence($tbefore, $tafter = 0)
     {
+        // fix empty sequences?
+        
         $tn = $this->tableName();
         $t = DB_DataObject::factory('mtrack_ticket');
         $tt = clone($t);
@@ -859,7 +884,7 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
         $t->autoJoin();
         $t->selectAdd();
         // we still apply to closed tickets????
-        //$t->whereAdd("join_status_id.name != 'closed'");
+         $t->whereAdd("join_status_id.name != 'closed'");
         $t->applySort(false,  'old_style', false);
         
         $old_seqid = $this->seqid;
@@ -883,14 +908,24 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
             $old_seqid = $t->seqid;
             
         }
+        
+        
+        
+        
         $before_seq_id = 0;
         
         if ($tbefore) { 
             $before = DB_DataObject::factory('mtrack_ticket');
             $before->get($tbefore);
             $before_seq_id = $before->seqid;
+            
         }
-        
+        if ($tafter) { 
+            $after = DB_DataObject::factory('mtrack_ticket');
+            $after->get($tafter);
+            $before_seq_id = $after->seqid+1;
+        }
+         
         $t = DB_DataObject::factory('mtrack_ticket');