DataObjects/core.sql
[Pman.Core] / DataObjects / Companies.php
index 65397c9..0b5d8ab 100644 (file)
@@ -11,7 +11,7 @@ class Pman_Core_DataObjects_Companies extends DB_DataObject
 
     public $__table = 'Companies';                       // table name
     public $code;                            // string(32)  not_null
-    public $name;                            // string(128)  multiple_key
+    public $name;                            // string(128)  
     public $remarks;                         // blob(65535)  blob
     public $owner_id;                        // int(11)  not_null
     public $address;                         // blob(65535)  blob
@@ -23,7 +23,6 @@ class Pman_Core_DataObjects_Companies extends DB_DataObject
     public $logo_id;                         // int(11)  not_null
     public $background_color;                // string(8)  not_null
     public $comptype;                        // string(8)  not_null
-    public $ava_craft;                       // string(254)  
     public $url;                             // string(254)  not_null
     public $main_office_id;                  // int(11)  not_null
     public $created_by;                      // int(11)  not_null
@@ -31,6 +30,9 @@ class Pman_Core_DataObjects_Companies extends DB_DataObject
     public $updated_by;                      // int(11)  not_null
     public $updated_dt;                      // datetime(19)  not_null binary
     public $passwd;                          // string(64)  not_null
+    public $dispatch_port;                   // string(255)  not_null
+    public $province;                        // string(255)  not_null
+    public $country;                         // string(4)  not_null
 
     
     /* the code above is auto generated do not remove the tag below */
@@ -68,16 +70,16 @@ class Pman_Core_DataObjects_Companies extends DB_DataObject
             $this->whereAdd("Companies.id IN (
                 SELECT distinct(company_id) FROM ProjectDirectory where project_id IN ($pids)
             ) $add" );
-            
-           
-            
+             
         }
         if (!empty($q['query']['comptype'])) {
            
             $this->whereAddIn('comptype', explode(',', $q['query']['comptype']), 'string');
             
         }
-         
+        
+        // depricated - should be moved to module specific (texon afair)
+        
          if (!empty($q['query']['province'])) {
              $prov = $this->escape($q['query']['province']);
             $this->whereAdd("province LIKE '$prov%'");
@@ -254,7 +256,54 @@ class Pman_Core_DataObjects_Companies extends DB_DataObject
             return $this->id == $au->company_id;
         }
         
-        return $au->hasPerm("Core.".$this->tableName(), $lvl);    
-    } 
+        return $au->hasPerm("Core.Companies", $lvl);    
+    }
+    
+    function logoImageToHTML($size)
+    {
+        $i = DB_DataObject::factory('Images');
+        if (!$this->logo_id || !$i->get($this->logo_id)) {
+            return '';
+        }
+        return $i->toHTML($size);
+        
+    }
+     function firstImage($filter='image/%')
+    {
+        $i = DB_DataObject::factory('Images');
+        //DB_DataObject::debugLevel(1);
+        $im = $i->gather($this, $filter);
+        if (empty($im)) {
+            return false;
+        }
+        return $im[0];
+    }
+    
+    function firstImageTag($size =-1, $base="/Images/Thumb", $filter='image/%')
+    {
+        $fm = $this->firstImage($filter);
+         if (empty($fm)) {
+            return '';
+        }
+        return $fm->toHTML($size, $base);
+    }
+    
+    function toRooSingleArray($authUser, $request)
+    {
+        $ret = $this->toArray();
+       // DB_DataObject::debugLevel(1);
+        // get the comptype display
+        $e = DB_DataObject::Factory('core_enum');
+        $e->etype = 'COMPTYPE';
+        $e->name = $this->comptype;
+        $ret['comptype_display'] = $ret['comptype'];
+        if ($e->find(true) && !empty($e->name_display)) {
+            $ret['comptype_display'] = $e->name_display;
+        }
+        
+        
+        return $ret;
+    }
+    
     
 }