/** * Displays a single Members model. * @param integer $id * @return mixed */ public function actionView($id) { // get mapping category //$pageModel = CmsPages::findOne(['id' => GeneralSettings::findOne(['name' => 'mapping_page_id'])->value]); //$categoryModel = MappingCategories::findOne($pageModel->mapping_id); $categoriesModel = MappingCategories::findAll(['is_active' => 1]); // get questions answers /*$questionsAnswers = new ActiveDataProvider([ 'query' => $categoryModel->getQuestions()->with('questionsAnswers'), ]);*/ // get attributes Answers /*$attributesAnswers = new ActiveDataProvider([ 'query' => MembersAttributes::find($categoryModel->attributes_id)->with('attributesAnswers'), ]);*/ $weightTracker = new ActiveDataProvider(['query' => MembersWeightTracker::find(['member_id' => $id]), 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]]); $diaryNutritions = new ActiveDataProvider(['query' => DiaryNutrition::find()->where(['member_id' => $id])->select(["*, DATE_FORMAT(created_at,'%m-%d-%Y') as c"])->groupBy(['c']), 'pagination' => ['pageSize' => 5, 'validatePage' => false], 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]]); $diaryTraining = new ActiveDataProvider(['query' => DiaryTraining::find()->where(['member_id' => $id])->select(["*, DATE_FORMAT(created_at,'%m-%d-%Y') as c"])->groupBy(['c']), 'pagination' => ['pageSize' => 5, 'validatePage' => false], 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]]); return $this->render('view', ['model' => $this->findModel($id), 'categoriesModel' => $categoriesModel, 'weightTracker' => $weightTracker, 'diaryNutritions' => $diaryNutritions, 'diaryTraining' => $diaryTraining]); }
/** * Creates a new MembersWeightTracker model. * If creation is successful, the browser will be redirected to the members 'weight tracker' page. * @return mixed */ public function actionWeightTrackerAdd() { $settingsModel = GeneralSettings::findOne(['name' => 'weight_tracker_frequence']); $weightTracker = MembersWeightTracker::find(['member_id' => Yii::$app->getUser()->id])->orderBy(['created_at' => SORT_DESC])->one(); if (time() - strtotime($weightTracker->created_at) < $settingsModel->value * 3600 * 24) { return $this->redirect(['weight-tracker']); } $model = new MembersWeightTracker(); if ($model->load(Yii::$app->request->post())) { $model->member_id = Yii::$app->getUser()->id; if ($model->save()) { return $this->redirect(['weight-tracker']); } } else { return $this->render('weight_tracker_add', ['model' => $model]); } }
/** * Finds the MembersWeightTracker model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return MembersWeightTracker the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = MembersWeightTracker::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }