예제 #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Main::find();
     $query->joinWith('amount');
     $query->joinWith('meal');
     $query->joinWith('user');
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['main_id' => SORT_DESC], 'enableMultiSort' => true]]);
     $dataProvider->sort->attributes['amount_text'] = ['asc' => ['amount_text' => SORT_ASC], 'desc' => ['amount_text' => SORT_DESC]];
     $dataProvider->sort->attributes['meal_text'] = ['asc' => ['meal_text' => SORT_ASC], 'desc' => ['meal_text' => SORT_DESC]];
     $dataProvider->sort->attributes['username'] = ['asc' => ['username' => SORT_ASC], 'desc' => ['username' => SORT_DESC]];
     $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;
     }
     $user_role = \common\models\User::roleName(Yii::$app->user->getId());
     $query->andFilterWhere(['main_id' => $this->main_id, 'amount_id' => $this->amount_id, 'time_bit' => $this->time_bit, 'meal_id' => $this->meal_id, 'user_id' => $user_role == 'root' ? $this->user_id : Yii::$app->user->identity->id, 'created' => $this->created, 'updated' => $this->updated]);
     $query->andFilterWhere(['like', 'profile_name', $this->profile_name])->andFilterWhere(['like', 'drug_name', $this->drug_name])->andFilterWhere(['like', 'amount_text', $this->amount_text])->andFilterWhere(['like', 'meal_text', $this->meal_text])->andFilterWhere(['like', 'username', $this->username]);
     return $dataProvider;
 }
예제 #2
0
 /**
  * Deletes an existing Amount model.
  * If deletion is successful, the browser will be redirected to the 'index' page.
  * @param integer $id
  * @return mixed
  */
 public function actionDelete($id)
 {
     $main_data = \backend\models\Main::find()->select(['amount_id'])->andWhere('amount_id = :id', [':id' => $id])->groupBy('amount_id')->one();
     $model = $this->findModel($id);
     // Look-up Unit
     $unit_data = \backend\models\Unit::find()->select(['unit_text'])->andWhere('unit_id = :unit_id', [':unit_id' => $model->unit_id])->one();
     if (empty($main_data->amount_id)) {
         if (file_exists($model->amount_img)) {
             unlink($model->amount_img);
         }
         $model->delete();
         Yii::$app->getSession()->setFlash('amount_delete_success', ['type' => Growl::TYPE_SUCCESS, 'title' => '<b>' . Yii::t('backend', 'Success') . '</b>', 'icon' => 'glyphicon glyphicon-ok-sign', 'body' => '<strong>' . $model->amount_text . ' ' . $unit_data->unit_text . '</strong> ' . Yii::t('backend', 'has been deleted.')]);
     } else {
         Yii::$app->getSession()->setFlash('amount_delete_failed', ['type' => \kartik\growl\Growl::TYPE_DANGER, 'title' => '<b>' . Yii::t('backend', 'Error') . '</b>', 'icon' => 'glyphicon glyphicon-remove-sign', 'body' => '<strong>' . $model->amount_text . ' ' . $unit_data->unit_text . '</strong> ' . Yii::t('backend', 'is currently being used and cannot be deleted.')]);
     }
     return $this->redirect(['index']);
 }
예제 #3
0
 public function actionProfileDetail($name)
 {
     $user_id = Yii::$app->user->identity->id;
     $data = Main::find()->andWhere('profile_name like :name', [':name' => $name])->andWhere('user_id = :user_id', [':user_id' => $user_id])->one();
     $data->time_array = $data->decodeBit($data->time_bit, $data->getTimeID());
     return Json::encode(['main_id' => $data->main_id, 'drug_name' => $data->drug_name, 'amount_id' => $data->amount_id, 'time_array' => $data->time_array, 'meal_id' => $data->meal_id]);
 }