public function testNewPhoneSavesOrdNumIFItIsSetExternaly() { $phone = new Telephone(); $phone->tel_cli = 9999; $phone->tel_number = 1234567890; $phone->tel_ord = 1000; $phone->save(); $this->assertEquals(1000, $phone->tel_ord, 'New phone doesnt save its order num'); }
public function actionUpdate() { if (!Yii::app()->request->isPostRequest) { throw new CHttpException(400, 'must be a post request'); } if (isset($_POST['tel_id']) && $_POST['tel_id']) { $model = Telephone::model()->findByPk($_POST['tel_id']); } else { $model = new Telephone(); } $model->attributes = $_POST; if ($model->save()) { echo json_encode($model->attributes); } else { echo json_encode(['errors' => $model->getErrors()]); } }
public function register() { if ($this->validate()) { $address = new Address(); $lines = explode("\n", $this->address); $postcode = ''; if (count($lines) > 1) { $postcode = array_pop($lines); } for ($i = 0; $i < count($lines) && $i < 5; $i++) { $t = 'line' . ($i + 1); $address->{$t} = $lines[$i]; } $address->postcode = strtoupper($postcode); $address->save(); $client = new Client(); $client->cli_fname = $this->name; $client->cli_sname = $this->surname; $client->cli_email = $this->email; $client->cli_branch = $this->branch; $client->cli_neg = 0; $client->cli_status = 'Active'; $client->cli_salemin = $this->minPrice; $client->cli_salemax = $this->maxPrice; $client->cli_salebed = $this->bedrooms; $client->cli_sales = 'Yes'; $client->cli_saleemail = 'Yes'; $client->cli_salestatus = $this->currentPosition; $client->addressID = $address->id; if ($client->save(false)) { $telephone = new Telephone(); $telephone->tel_type = 'Other'; $telephone->tel_number = $this->telephone; $telephone->tel_cli = $client->cli_id; $telephone->tel_ord = 1; $telephone->save(); } return true; } }
public function actionCallback($email = '', $telephone = '', $message = '') { $this->layout = '/layouts/popup-iframe'; if (isset($_POST['Callback']) && $_POST['Callback']) { $callback = $_POST['Callback']; $email = $callback['email']; $telephone = $callback['telephone']; $criteria = new CDbCriteria(); $criteria->compare('cli_email', $email); $criteria->with = ['telephones']; $client = Client::model()->find($criteria); if ($client) { if (!$telephone) { $telephone = $client->telephones[0]->tel_number; } else { if ($client->telephones[0]->tel_number != $telephone) { $telExist = false; $tels = $client->telephones; foreach ($tels as $tel) { if ($tel->tel_number == $telephone) { $telExist = true; break; } } if (!$telExist) { $telephone = new Telephone(); $telephone->tel_type = 'Other'; $telephone->tel_number = $telephone; $telephone->tel_cli = $client->cli_id; $telephone->save(); } } } } $message = $this->sendEmailForRegisteredClient($email, $telephone); echo json_encode($message); } else { $this->render('_callbackForm', ['email' => $email, 'telephone' => $telephone, 'message' => $message]); } }
private function saveClient(Client $model) { $this->prepareModel($model); if (isset($_POST['Client']) && $_POST['Client']) { $_POST['Client']['propertyTypesIds'] = isset($_POST['Client']['propertyTypesIds']) ? $_POST['Client']['propertyTypesIds'] : []; $_POST['Client']['propertyCategoryIds'] = isset($_POST['Client']['propertyCategoryIds']) ? $_POST['Client']['propertyCategoryIds'] : []; $model->attributes = $_POST['Client']; if ($model->isNewRecord) { $model->scenario = 'validPhoneOnInsert'; } $generalNoteIds = isset($_POST['noteId-' . Note::TYPE_CLIENT_GENERAL]) ? $_POST['noteId-' . Note::TYPE_CLIENT_GENERAL] : []; $generalNote = isset($_POST[Note::TYPE_CLIENT_GENERAL]) ? $_POST[Note::TYPE_CLIENT_GENERAL] : []; $reqNoteIds = isset($_POST['noteId-' . Note::TYPE_CLIENT_REQ]) ? $_POST['noteId-' . Note::TYPE_CLIENT_REQ] : []; $reqNote = isset($_POST[Note::TYPE_CLIENT_REQ]) ? $_POST[Note::TYPE_CLIENT_REQ] : []; $telephones = isset($_POST['telephones']) ? $_POST['telephones'] : []; $existingPhones = Telephone::model()->findAllByPk(array_filter($telephones['id']), ['index' => 'tel_id']); if (isset($telephones['number'][0]) && $telephones['number'][0]) { $phone = new Telephone(); $phone->tel_number = $telephones['number'][0]; $phone->tel_type = $telephones['type'][0]; $model->_newPhones = [$phone]; } $model->addressID = isset($_POST['primaryAddress']['id']) ? $_POST['primaryAddress']['id'] : 0; $model->secondAddressID = isset($_POST['secondAddress']['id']) ? $_POST['secondAddress']['id'] : 0; if ($model->save()) { /** @var $existingPhones Telephone */ foreach ($telephones['number'] as $key => $number) { $phoneId = $telephones['id'][$key]; $type = $telephones['type'][$key]; if (isset($existingPhones[$phoneId])) { $phone = $existingPhones[$phoneId]; } else { $phone = new Telephone(); } if ($number) { $phone->tel_cli = $model->cli_id; $phone->tel_number = $number; $phone->tel_type = $type; $phone->save(); } else { if (!$phone->isNewRecord) { $phone->delete(); } } } $model->saveAreas(isset($_POST['Client']['matchingPostcode']) ? $_POST['Client']['matchingPostcode'] : []); $model->saveFeatures(isset($_POST['Client']['feature']) ? $_POST['Client']['feature'] : []); if ($generalNoteIds) { Note::model()->saveNoteTypeIds($generalNoteIds, $model->cli_id); } if ($reqNoteIds) { Note::model()->saveNoteTypeIds($reqNoteIds, $model->cli_id); } if ($generalNote) { $generalNote['not_type'] = Note::TYPE_CLIENT_GENERAL; Note::model()->saveNote($generalNote, $model->cli_id); } if ($reqNote) { $reqNote['not_type'] = Note::TYPE_CLIENT_REQ; Note::model()->saveNote($reqNote, $model->cli_id); } if (isset($_POST['Client']['saveProceed']) && $_POST['Client']['saveProceed']) { $this->redirect([$this->createUrl('appointmentBuilder/clientSelected', ['clientId' => $model->cli_id])]); } else { Yii::app()->user->setFlash('client-update-success', 'Updated Successfully'); $this->redirect(array('Update', 'id' => $model->cli_id, 'useClient' => isset($_GET['useClient']) && $_GET['useClient'] ? 1 : 0)); } } } }