sync wip_alan_T6495_add_ticket_testing
authorAlan Knowles <alan@roojs.com>
Mon, 8 Mar 2021 02:27:39 +0000 (10:27 +0800)
committerAlan Knowles <alan@roojs.com>
Mon, 8 Mar 2021 02:27:39 +0000 (10:27 +0800)
DataObjects/Mtrack_change.php
DataObjects/Mtrack_ticket.php

index 03aa1c5..24a27c6 100644 (file)
@@ -528,7 +528,7 @@ class Pman_MTrack_DataObjects_Mtrack_change extends DB_DataObject
         if ($old == $new) {
             return $ret;
         }
-        if (!$old === false) {
+        if ($old !== false) {
             return  $this->addentry($fieldname, 'set', $old, $new);
              
         }
index d92c444..34f84bf 100644 (file)
@@ -855,8 +855,64 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
         }
         // trigger emails..
         
+        if (isset($req['uploads'])) {
+            $this->updateUploads(json_decode($req['uploads']),$roo);
+        }
+        
+        
+    }
+    function onInsert($req,$roo, $even)
+    {
+        
+       
+        if (!$ch) {
+            $ch = DB_DataObject::factory('mtrack_change');
+            $ch->beginChange($this, "Changed");
+            $this->_mtrack_change = $ch;
+        }
+        $ch->add($this, false);
+        if (isset($req['uploads'])) {
+            $this->updateUploads(json_decode($req['uploads']). $roo);
+        }
     }
     
+    function updateUploads($uploads, $roo)
+    {
+        foreach($uploads as $up) {
+            
+            if (empty($up->id) || $up->id < 0) {
+                if ($up->is_deleted) {
+                    continue;
+                }
+                
+                
+                $i = DB_DAtaObject::factory('Images');
+                $i->object($this);
+                $i->setFrom(array(
+                    'mimetype' => $up->mimetype,
+                    'title' => $up->title,
+                    'filename' => $up->title,
+                    'created' => date('Y-m-d H:i:s')
+                ));
+                $i->createFromData($up->srcdata);
+                continue;
+            }
+            // edit..
+            $i = DB_DAtaObject::factory('Images');
+            $i->object($this);
+            if (!$i->get($up->id)) {
+                $roo->jerr("invalid update id for image {$up->id}");
+            }
+            if ($up->is_deleted) {
+            
+                $i->beforeDelete(array(), $roo);
+                $i->delete();
+            }
+               
+            // update???
+            
+        }
+    }
     
     
     function updated()
@@ -871,7 +927,13 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
     function toRooSingleArray($au, $req)
     {
         if ($this->id) {
-            return $this->toArray();
+            $ret = $this->toArray();;
+            $ret['images'] = array();
+            foreach($this->images() as $i) {
+                $ret['images'][] = $i->toRooArray(array());
+            }
+            
+            return $ret;
         }
         // empty!
         $p = $this->factory('core_enum');
@@ -894,7 +956,8 @@ class Pman_MTrack_DataObjects_Mtrack_ticket extends DB_DataObject
         $ret = array_merge($ret, $c->toArray('classification_id_%s'));
         $ret = array_merge($ret, $s->toArray('severity_id_%s'));
         
-         return $ret;
+       
+        return $ret;
         
     }