/** * 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; }
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(); } } }
public function save($cascade = null, $use_transtation = false) { parent::save(); }