/**
  * Saves or updates the model form
  *
  * @return mixed Returns the primary key of the new/updated record or
  * returns false if the form data is not valid
  */
 public function save()
 {
     if ($this->isValid()) {
         $fields = $this->model->modelFields();
         foreach ($fields as $name => $field) {
             if (isset($this->fields->{$name})) {
                 if (!$field->getAuto()) {
                     $method = sprintf('set%s', $name);
                     $label = sprintf('%s_%s', Field::FIELD_NAME_PREFIX, $name);
                     if (get_class($field) == 'ORM\\Field\\IntegerField') {
                         $this->model->{$method}(intval($this->fields->{$name}->getValue()));
                     } elseif (get_class($field) == ModelField::class) {
                         $getMethod = sprintf('get%s', $name);
                         $pk = $this->model->{$getMethod}()->getPK();
                         $setMethod = sprintf('set%s', $pk['name']);
                         $this->model->{$getMethod}()->{$setMethod}(intval($this->fields->{$name}->getValue()));
                     } else {
                         $this->model->{$method}($this->fields->{$name}->getValue());
                     }
                 }
             }
         }
         return $this->model->save();
     }
     return false;
 }
 /**
  * Creates a new record
  *
  * @param array $fields Array that contains the fields
  * @return Model Returns Model
  */
 public function create(array $fields) : Model
 {
     $model = new Model($this->modelName);
     foreach ($fields as $name => $value) {
         $method = sprintf('set%s', $name);
         $model->{$method}($value);
     }
     $model->save();
     return $model;
 }
Exemple #3
0
 public function save($cascade = null, $use_transtation = false)
 {
     parent::save();
     if ($this->get('type') == 'hdd') {
         if (!$this->get('hdd')) {
             $props = array('tempfieldID' => $this->get('id'), 'raid_type' => 1, 'size' => 0, 'meta_update_time' => time(), 'meta_update_user' => 0, 'total' => 0);
             $raid = new Model_Raid($props);
             $raid->save();
         }
     }
     if ($this->get('type') == 'ram') {
         if (!$this->get('ram')) {
             $props = array('tempfieldID' => $this->get('id'), 'ram_type' => 1, 'size' => 0, 'total' => 0, 'meta_update_time' => time(), 'meta_update_user' => 0);
             $ram = new Model_Ram($props);
             $ram->save();
         }
     }
     if ($this->get('type') == 'network') {
         if (!$this->get('network')) {
             $temp = $this->get('template');
             $prop = array('fieldID' => $this->get('id'), 'templateID' => $temp->id, 'nics' => 0, 'vports' => 0, 'ports' => 0, 'uplinks' => 0, 'config_data' => '', 'type' => $this->setTypeOfDevice($temp));
             $network = new Model_Device_Template_Network($prop);
             $network->save();
         }
     }
     if ($this->get('type') == 'power_out') {
         if (!$this->get('power')) {
             $temp = $this->get('template');
             $prop = array('fieldsetID' => $this->get('id'), 'templateID' => $temp->id, 'current' => 10, 'input' => 1, 'output' => 1, 'ru' => 1, 'pos' => 0, 'type' => 0);
             $power = new Model_Device_Template_Power($prop);
             $power->save();
             /*
              * default socket 1 input 1 output
              * */
             //input socket
             $prop = array('powerID' => $power->id, 'conn_type' => 1, 'type' => 1);
             $socket = new Model_Device_Template_Power_Socket($prop);
             $socket->save();
             //output socket
             $prop = array('powerID' => $power->id, 'conn_type' => 1, 'type' => 2);
             $socket = new Model_Device_Template_Power_Socket($prop);
             $socket->save();
         }
     }
     if ($this->get('type') == 'power_in') {
         if (!$this->get('power')) {
             $temp = $this->get('template');
             $prop = array('fieldsetID' => $this->get('id'), 'templateID' => $temp->id, 'current' => 0, 'input' => 1, 'output' => 0, 'ru' => 0, 'pos' => 0, 'type' => 0);
             $power = new Model_Device_Template_Power($prop);
             $power->save();
             //input power
             $prop = array('powerID' => $power->id, 'conn_type' => 1, 'type' => 1);
             $socket = new Model_Device_Template_Power_Socket($prop);
             $socket->save();
         }
     }
     /*
      * KVM default fields
      * */
     if ($this->get('type') == 'kvm_in') {
         if (!$this->get('kvm')) {
             $temp = $this->get('template');
             $prop = array('fieldsetID' => $this->get('id'), 'templateID' => $temp->id, 'input' => 1, 'output' => 0, 'type' => 0);
             $kvm = new Model_Device_Template_Kvm($prop);
             $kvm->save();
             //input power
             $prop = array('kvmID' => $kvm->id, 'conn_type' => 1, 'type' => 1);
             $socket = new Model_Device_Template_Kvm_Socket($prop);
             $socket->save();
         }
     }
     if ($this->get('type') == 'kvm_out') {
         if (!$this->get('kvm')) {
             $temp = $this->get('template');
             $prop = array('fieldsetID' => $this->get('id'), 'templateID' => $temp->id, 'input' => 1, 'output' => 1, 'type' => 0);
             $kvm = new Model_Device_Template_Kvm($prop);
             $kvm->save();
             //input kvm
             $prop = array('kvmID' => $kvm->id, 'conn_type' => 1, 'type' => 2);
             $socket = new Model_Device_Template_Kvm_Socket($prop);
             $socket->save();
             //output kvm
             $prop = array('kvmID' => $kvm->id, 'conn_type' => 1, 'type' => 1);
             $socket = new Model_Device_Template_Kvm_Socket($prop);
             $socket->save();
         }
     }
 }
Exemple #4
0
 public function save($cascade = null, $use_transtation = false)
 {
     parent::save();
 }