/** * Finds the Website model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Website the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Website::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * send a email to client with checklist attached * @return void */ public function actionSendmail() { $post = Yii::$app->request->post('SendmailForm'); Yii::$app->response->format = 'json'; $sm_form = new SendmailForm(); if ($sm_form->load(Yii::$app->request->post()) && $sm_form->validate()) { $checklistCow = ChecklistsCow::findOne($post['checklists_cow_id']); if ($checklistCow->belong_to == 1) { $cow = Client::findOne($checklistCow->clients_or_webs_id); $email = $cow->email; } elseif ($checklistCow->belong_to == 2) { $cow = Website::findOne($checklistCow->clients_or_webs_id); $email = $cow->client->email; } // save time sending // checking if time sending is exist then only update else create new one $timeSent = ChecklistsTimeSent::find()->where(['checklists_cow_id' => $post['checklists_cow_id']])->one(); if (!isset($timeSent)) { $timeSent = new ChecklistsTimeSent(); } $timeSent->checklists_cow_id = $post['checklists_cow_id']; $timeSent->time_sent = date('Y-m-d H:i:s'); $timeSent->save(); // if everything is ok, then send mail. go ahead!!! Yii::$app->mailer->compose()->setFrom('*****@*****.**')->setTo($email)->setSubject($post['subject'])->setTextBody($post['content'])->attach(Yii::$app->basePath . '/web/upload/pdf/' . $checklistCow->file_name)->send(); return ['errors' => '']; } else { return ['errors' => 'Something is wrong.']; } }