예제 #1
0
 public function actionAdd()
 {
     if (User::thisUser()->reputation < School::MIN_REPUTATION_SCHOOL_CREATE) {
         return Yii::$app->getResponse()->redirect(Url::home());
     }
     $school = new School();
     if ($school->load(Yii::$app->request->post())) {
         $schoolPost = Yii::$app->request->post('School');
         $school->country = $schoolPost['country'];
         $school->description = \yii\helpers\HtmlPurifier::process($school->description, []);
         $school->user_id = Yii::$app->user->identity->getId();
         $school->date = strtotime(date('Y-m-d'));
         $school->like_count = 0;
         $school->show_count = 0;
         if ($school->save()) {
             // Добавляем теги
             $tagsArr = explode(',', Yii::$app->request->post('tags'));
             $school->saveTags($tagsArr);
             // Добавляем картинки к записи
             $imgs = Yii::$app->request->post('imgs');
             if (!empty($imgs) && is_array($imgs)) {
                 $school->saveImgs($imgs);
             } else {
                 $school->saveImgs([]);
             }
             $school->saveLocations(Yii::$app->request->post('location'));
             return Yii::$app->getResponse()->redirect($school->getUrl());
         }
     }
     Yii::$app->params['jsZoukVar']['tagsAll'] = Tags::getTags(Tags::TAG_GROUP_ALL);
     return $this->render('add', ['school' => $school]);
 }
예제 #2
0
 /**
  * Creates a new School model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new School();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->school_id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
예제 #3
0
 public function actionAdd()
 {
     $model = new School();
     if ($model->load(Yii::$app->request->post())) {
         if ($model->save()) {
             Yii::$app->session->setFlash('success', '成功添加学校“' . $model->name . '”。');
             return $this->redirect(['index']);
         } else {
             Yii::$app->session->setFlash('danger', '添加学校失败。');
         }
     }
     return $this->render('form', ['model' => $model]);
 }
예제 #4
0
 public function actionGroupcreate()
 {
     $modelCustomer = new School();
     $modelsAddress = [new Tuition()];
     if ($modelCustomer->load(Yii::$app->request->post())) {
         $modelsAddress = GroupGrade::createMultiple(Tuition::classname());
         GroupGrade::loadMultiple($modelsAddress, Yii::$app->request->post());
         // ajax validation
         if (Yii::$app->request->isAjax) {
             Yii::$app->response->format = Response::FORMAT_JSON;
             return ArrayHelper::merge(ActiveForm::validateMultiple($modelsAddress), ActiveForm::validate($modelCustomer));
         }
         // validate all models
         $valid = $modelCustomer->validate();
         $valid = GroupGrade::validateMultiple($modelsAddress) && $valid;
         if ($valid) {
             $transaction = \Yii::$app->db->beginTransaction();
             try {
                 foreach ($modelsAddress as $modelAddress) {
                     $selectSchool = ArrayHelper::map(Scholar::find()->where(['scholar_id' => $modelAddress->scholar_scholar_id])->all(), 'school_school_id', 'school_school_id');
                     $schoolID = array_values($selectSchool)[0];
                     $modelAddress->scholar_school_school_id = $schoolID;
                     if (!($flag = $modelAddress->save(false))) {
                         $transaction->rollBack();
                         break;
                     }
                 }
                 if ($flag) {
                     $transaction->commit();
                     return $this->redirect(['index']);
                 }
             } catch (Exception $e) {
                 $transaction->rollBack();
             }
         }
     }
     return $this->render('groupcreate', ['modelCustomer' => $modelCustomer, 'modelsAddress' => empty($modelsAddress) ? [new Tuition()] : $modelsAddress]);
 }