コード例 #1
0
ファイル: SelectorController.php プロジェクト: uzerpllp/uzerp
 public function save()
 {
     $flash = Flash::Instance();
     $errors = array();
     if (isset($this->_data['SelectorObject']['parent_id']) && $this->_data['SelectorObject']['parent_id'] == '-1') {
         $this->_data['SelectorObject']['parent_id'] = '';
     }
     $do = new DataObject($this->itemTableName);
     $do1 = DataObject::Factory($this->_data['SelectorObject'], $errors, $do);
     $db = DB::Instance();
     $db->StartTrans();
     if (count($errors) == 0 && $do1 && $do1->save()) {
         if ($do1 && !empty($this->_data['SelectorObject']['copy_id'])) {
             $data = array('tablename' => $this->linkTableName, 'from_item_id' => $this->_data['SelectorObject']['copy_id'], 'to_item_id' => $do1->id);
             $result = SelectorCollection::copyItems($data, $errors);
             if (!$result) {
                 $errors[] = 'Failed to copy associations';
             }
         }
         $db->CompleteTrans();
         $flash->addMessage("{$do1->description} {$do1->name} saved successfully");
         sendTo($this->name, 'view', $this->_modules, array('id' => $do1->id));
     } else {
         $db->FailTrans();
         $db->CompleteTrans();
         if (count($errors) > 0) {
             $flash->addErrors($errors);
         }
         $flash->addError("Error saving {$do1->description} {$do1->name} " . $db->ErrorMsg());
         $this->_data['id'] = $this->_data['SelectorObject']['id'];
         $this->_data['parent_id'] = $this->_data['SelectorObject']['parent_id'];
         $this->refresh();
     }
 }