public $dispatch_port; // string(255) not_null
public $province; // string(255) not_null
public $country; // string(4) not_null
-
+ public $is_system; // int(2)
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
function applyFilters($q, $au)
{
+ $tn = $this->tableName();
+ $this->selectAdd("i18n_translate('c' , {$tn}.country, 'en') as country_display_name ");
+
$tn = $this->tableName();
//DB_DataObject::debugLevel(1);
$x = DB_DataObject::factory('Companies');
if (!empty($q['query']['company_project_id'])) {
$add = '';
if (!empty($q['query']['company_include_self'])) {
- $add = ' OR Companies.id = ' . $x->id;
+ $add = " OR {$tn}.id = {$x->id}";
}
if (!empty($q['query']['company_not_self'])) {
- $add = ' AND Companies.id != ' . $x->id;
+ $add = " AND {$tn}.id != {$x->id}";
}
$pids = array();
$pid = $q['query']['company_project_id'];
$pids = implode(',', $pids);
- $this->whereAdd("Companies.id IN (
+ $this->whereAdd("{$tn}.id IN (
SELECT distinct(company_id) FROM ProjectDirectory where project_id IN ($pids)
) $add" );
) as comptype_display_name
");
-
- }
-
- function updated_dt($format)
- {
- return;
+ if(!empty($q['search']['name'])){
+ $s = $this->escape($q['search']['name']);
+ $this->whereAdd("
+ {$tn}.name LIKE '%$s%'
+ ");
+ }
+ if(!empty($q['search']['name_starts'])){
+ $s = $this->escape($q['search']['name_starts']);
+ $this->whereAdd("
+ {$tn}.name LIKE '$s%'
+ ");
+ }
}
function toEventString() {
}
- function beforeDelete()
+ function beforeUpdate($old, $q,$roo)
+ {
+ if(!empty($this->is_system) &&
+ ($old->code != $this->code ) // used to be not allowed to change name..
+ ){
+ $roo->jerr('This company is not allow to editing Ref. or Company Name...');
+ }
+ }
+
+ function beforeDelete($req, $roo)
{
// should check for members....
-
+ if(!empty($this->is_system) &&
+ ($old->code != $this->code || $old->name != $this->name)
+ ){
+ $roo->jerr('This company is not allow to delete');
+ }
$img = DB_DataObject::factory('Images');
$img->ontable = 'Companies';
$img->onid = $this->id;
$ret = $this->toArray();
// DB_DataObject::debugLevel(1);
// get the comptype display
- $e = DB_DataObject::Factory('core_enum');
- $e->etype = 'COMPTYPE';
- $e->name = $this->comptype;
+ $e = DB_DataObject::Factory('core_enum')->lookupObject('COMPTYPE', $this->comptype);
+
$ret['comptype_display'] = $ret['comptype'];
- if ($e->find(true) && !empty($e->name_display)) {
+ if ($e && !empty($e->name_display)) {
$ret['comptype_display'] = $e->name_display;
}
return $ret;
}
+ /**
+ * # 2028
+ * create the suppliers...
+ *
+ * @param object $roo
+ * @param array $data
+ *
+ */
+ function initCompaniesArray($roo, $data)
+ {
+ $tn = $this->tableName();
+
+ foreach($data as $d){
+ $com = DB_DataObject::factory($tn);
+ $com->setFrom($d);
+ if(!$com->find(true)){
+ $com->created_dt = Date('Y-m-d H:i:s');
+ $com->updated_dt = Date('Y-m-d H:i:s');
+ $com->is_system = 1;// new column.. block the user changing the code and name..
+ $com->insert();
+ }
+ }
+
+
+ }
+
+ function initCompanies($roo, $opts)
+ {
+ $companies = DB_DataObject::factory('companies');
+
+ $ctype = empty($opts['add-company-with-type']) ? 'OWNER' : $opts['add-company-with-type'];
+
+ $enum = DB_DataObject::Factory('core_enum')->lookup('COMPTYPE', $ctype );
+
+ if (empty($enum)) {
+ $roo->jerr("invalid company type '$ctype'");
+ }
+ if ($ctype =='OWNER') {
+ $companies = DB_DataObject::factory('companies');
+ $companies->comptype_id = $enum;
+ if ($companies->count()) {
+ $roo->jerr("Owner company already exists");
+ }
+ }
+ $companies = DB_DataObject::factory('companies');
+
+ // check that
+ $companies->setFrom(array(
+ 'name' => $opts['add-company'],
+ 'comptype' => $ctype,
+ 'comptype_id' => $enum,
+ ));
+ if ($companies->find(true)) {
+ $roo->jerr("company already exists");
+ }
+ $companies->setFrom(array(
+ 'background_color' => '',
+ 'created_dt' => $this->sqlValue('NOW()'),
+ 'updated_dt' => $this->sqlValue('NOW()')
+ ));
+
+
+ $companies->insert();
+ $companies->onInsert(array(), $roo);
+ }
+ function lookupOwner()
+ {
+ $enum = DB_DataObject::Factory('core_enum')->lookup('COMPTYPE', 'OWNER' );
+ $companies = DB_DataObject::factory('companies');
+ $companies->comptype_id = $enum;
+ if ($companies->find(true)) {
+ return $companies;
+ }
+ return false;
+ }
}