/**
  * Creates a new MedicalCertificate model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new MedicalCertificate();
     if ($model->load(Yii::$app->request->post())) {
         //send email before saving in DB
         //get student info
         $student_id = $model->student_id;
         $student = Student::findOne($student_id);
         //get student's program
         $program = Program::findOne($student->program_id);
         //get Clinic that produce the Medical Certificate
         $clinic = Clinic::findOne($model->clinic_id);
         //get authorizer info
         $auth = Authorizer::findOne($model->au_id);
         $staff = Staff::findOne($auth->staff_id);
         $value = Yii::$app->mail->compose()->setFrom(array('*****@*****.**' => 'imaprog'))->setTo('*****@*****.**')->setSubject('Medical Certificate')->setHtmlBody('
                 Serial Number: ' . $model->mc_serial . '
                 Student Name: ' . $student->student_name . '
                 Student Matrix: ' . $student->student_matrix . '
                 Student Faculty: ' . $program->program_name . '
                 Problem/Diesease: ' . $model->mc_problem . '
                 Valid From: ' . $model->mc_startdate . '
                 Till: ' . $model->mc_enddate . '
                 Appointmet On: ' . $model->mc_appdate . '
                 Produced By: ' . $clinic->clinic_name . '
                 Authorize By: ' . $staff->staff_name)->send();
         //save into DB
         $model->save();
         //return to view, then proceed with sending email to the lecturers, NotifyEmailController.php
         return $this->redirect(['view', 'id' => $model->mc_id]);
     } else {
         return $this->renderAjax('create', ['model' => $model]);
     }
 }
예제 #2
0
 /**
  * Creates a new NotifyEmail model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new NotifyEmail();
     if ($model->load(Yii::$app->request->post())) {
         //recepients info
         $rcpt = Staff::findOne($model->staff_id);
         $mc = MedicalCertificate::findOne($model->mc_id);
         $student = Student::findOne($mc->student_id);
         //get student's program
         $program = Program::findOne($student->program_id);
         //get Clinic that produce the Medical Certificate
         $clinic = Clinic::findOne($mc->clinic_id);
         //get authorizer info
         $auth = Authorizer::findOne($mc->au_id);
         $staff = Staff::findOne($auth->staff_id);
         //upload the attachment
         $model->attachment = UploadedFile::getInstance($model, 'attachment');
         if ($model->attachment) {
             $time = time();
             $model->attachment->saveAs('attachments/' . $time . '.' . $model->attachment->extension);
             $model->attachment = 'attachments/' . $time . '.' . $model->attachment->extension;
         }
         if ($model->attachment) {
             //send email with attachment
             $value = Yii::$app->mail->compose()->setFrom(array('*****@*****.**' => 'imaprog'))->setTo('*****@*****.**')->setSubject('Medical Certificate')->setHtmlBody('
                 Dear ' . $rcpt->staff_name . '
                 Your Student Has a Medical Certificate,
                 Serial Number: ' . $mc->mc_serial . '
                 Student Name: ' . $student->student_name . '
                 Student Matrix: ' . $student->student_matrix . '
                 Student Faculty: ' . $program->program_name . '
                 Problem/Diesease: ' . $mc->mc_problem . '
                 Valid From: ' . $mc->mc_startdate . '
                 Till: ' . $mc->mc_enddate . '
                 Appointmet On: ' . $mc->mc_appdate . '
                 Produced By: ' . $clinic->clinic_name . '
                 Authorize By: ' . $staff->staff_name)->attach($model->attachment)->send();
         } else {
             //send email without attachment
             $value = Yii::$app->mail->compose()->setFrom(array('*****@*****.**' => 'imaprog'))->setTo('*****@*****.**')->setSubject('Medical Certificate')->setHtmlBody('
                 Dear ' . $rcpt->staff_name . '
                 Your Student Has a Medical Certificate,
                 Serial Number: ' . $mc->mc_serial . '
                 Student Name: ' . $student->student_name . '
                 Student Matrix: ' . $student->student_matrix . '
                 Student Faculty: ' . $program->program_name . '
                 Problem/Diesease: ' . $mc->mc_problem . '
                 Valid From: ' . $mc->mc_startdate . '
                 Till: ' . $mc->mc_enddate . '
                 Appointmet On: ' . $mc->mc_appdate . '
                 Produced By: ' . $clinic->clinic_name . '
                 Authorize By: ' . $staff->staff_name)->send();
         }
         $model->save();
         return $this->redirect(['view', 'id' => $model->ne_id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
예제 #3
0
 public function getClinic()
 {
     return $this->hasMany(Clinic::className(), ['staff_id' => 'staff_id']);
 }
예제 #4
0
?>

    <?php 
echo $form->field($model, 'mc_startdate')->textInput();
?>

    <?php 
echo $form->field($model, 'mc_enddate')->widget(DatePicker::className(), ['inline' => false, 'clientOptions' => ['autoclose' => true, 'format' => 'yyyy-m-d']]);
?>

    <?php 
echo $form->field($model, 'mc_appdate')->widget(DatePicker::className(), ['inline' => false, 'clientOptions' => ['autoclose' => true, 'format' => 'yyyy-m-d']]);
?>

    <?php 
echo $form->field($model, 'clinic_id')->dropDownList(ArrayHelper::map(Clinic::find()->all(), 'clinic_id', 'clinic_name'), ['prompt' => 'Select Clinic']);
?>

    <?php 
echo $form->field($model, 'au_id')->textInput();
?>

    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>

    <?php 
ActiveForm::end();
?>
예제 #5
0
 public function getClinic()
 {
     return $this->hasOne(Clinic::className(), ['clinic_id' => 'clinic_id']);
 }