Пример #1
0
 /**
  * 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]);
 }
Пример #2
0
 /**
  * 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.');
     }
 }