public function afterSave($insert, $changedAttributes) { if ($insert) { $tuition = Tuition::find()->where(['grade_level_id' => $this->grade_level_id])->orderBy(['id' => SORT_DESC])->all()[0]; $assessment = new AssessmentForm(); //CHECK IF STUDENT HAS SIBLINGS ENROLLED if ((int) $this->student->student_has_sibling_enrolled === 0) { $assessment->has_sibling_discount = 0; $sibling_discount = (double) $tuition->tuition_fee * 0.05; $assessment->percentage_value = 5; $assessment->sibling_discount = $sibling_discount; $assessment->honor_discount = 0; $assessment->book_discount = 0; $assessment->total_assessed = (double) $tuition->yearly + (double) $tuition->books - $sibling_discount; $assessment->balance = (double) $assessment->total_assessed; } else { $assessment->has_sibling_discount = 1; $assessment->sibling_discount = 0; $assessment->percentage_value = 0; $assessment->honor_discount = 0; $assessment->book_discount = 0; $assessment->total_assessed = (double) $tuition->yearly + (double) $tuition->books; $assessment->balance = (double) $assessment->total_assessed; } //die($changedAttributes); $assessment->has_honor_discount = 1; $assessment->has_book_discount = 1; $assessment->enrolled_id = (int) $this->id; $assessment->tuition_id = $tuition->id; $assessment->save(); Yii::$app->session->setFlash('success2', 'New assessment successfully generated!'); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Tuition::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'grade_level_id' => $this->grade_level_id, 'enrollment' => $this->enrollment, 'admission' => $this->admission, 'tuition_fee' => $this->tuition_fee, 'misc_fee' => $this->misc_fee, 'ancillary' => $this->ancillary, 'monthly' => $this->monthly, 'books' => $this->books, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); return $dataProvider; }
/** * Finds the Tuition model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Tuition the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Tuition::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
<?php use app\models\DataHelper; use yii\helpers\ArrayHelpers; use yii\helpers\Html; use app\models\UiTable; use app\models\Tuition; use yii\widgets\Pjax; $tuition = Tuition::findOne($model->tuition_id); $avatar = Yii::$app->request->baseUrl . Yii::$app->params['avatar']; !empty($model->enrolled->student->students_profile_image) ? $img = Yii::$app->request->baseUrl . '/uploads/students/' . $model->enrolled->student->students_profile_image : ($img = $avatar); Pjax::begin(['id' => 'assessment-detail', 'timeout' => 60000]); ?> <div class="ui tab segment active" data-tab="first"> <div class="ui inverted dimmer"> <div class="ui massive text loader"></div> </div> <?php echo UiTable::widget(['model' => $model, 'options' => ['class' => 'ui fixed very basic table'], 'attributes' => ['enrolled_id', ['attribute' => 'has_sibling_discount', 'value' => DataHelper::direct($model->has_sibling_discount)], ['attribute' => 'has_honor_discount', 'value' => DataHelper::direct($model->has_honor_discount)], ['attribute' => 'has_book_discount', 'value' => DataHelper::direct($model->has_book_discount)], ['attribute' => 'percentage_value', 'value' => $model->percentage_value . '%'], 'sibling_discount:currency', 'book_discount:currency', 'honor_discount:currency', 'total_assessed:currency', 'balance:currency', 'created_at:date', 'updated_at:date']]); ?> </div> <div class="ui tab segment" data-tab="second"> <div class="ui inverted dimmer"> <div class="ui massive text loader"></div> </div> <?php echo UiTable::widget(['model' => $tuition, 'options' => ['class' => 'ui fixed very basic table'], 'attributes' => ['enrollment:currency', 'admission:currency', 'tuition_fee:currency', 'misc_fee:currency', 'ancillary:currency', 'yearly:currency', 'monthly:currency', 'books:currency']]); ?> </div> <div class="ui tab segment" data-tab="third" style="min-height: 80px;"> <div class="ui inverted dimmer">
/** * @return \yii\db\ActiveQuery */ public function getTuition() { return $this->hasOne(Tuition::className(), ['id' => 'tuition_id']); }