public function actionViewAdvert($id) { $model = Advert::findOne($id); $data = ['name', 'email', 'text']; $model_feedback = new DynamicModel($data); $model_feedback->addRule('name', 'required'); $model_feedback->addRule('email', 'required'); $model_feedback->addRule('text', 'required'); $model_feedback->addRule('email', 'email'); if (Yii::$app->request->isPost) { if ($model_feedback->load(Yii::$app->request->post()) && $model_feedback->validate()) { Yii::$app->common->sendMail('Subject Advert', $model_feedback->text); } } $user = $model->user; $images = Common::getImageAdvert($model, false); $current_user = ['email' => '', 'username' => '']; if (!Yii::$app->user->isGuest) { $current_user['email'] = Yii::$app->user->identity->email; $current_user['username'] = Yii::$app->user->identity->username; } $coords = str_replace(['(', ')'], '', $model->location); $coords = explode(',', $coords); $coord = new LatLng(['lat' => $coords[0], 'lng' => $coords[1]]); $map = new Map(['center' => $coord, 'zoom' => 15]); $marker = new Marker(['position' => $coord, 'title' => Common::getTitleAdvert($model)]); $map->addOverlay($marker); return $this->render('view_advert', ['model' => $model, 'model_feedback' => $model_feedback, 'user' => $user, 'images' => $images, 'current_user' => $current_user, 'map' => $map]); }
public function actionStock() { $debug = ''; $model = new DynamicModel(['vins', 'diller']); $model->addRule('vins', 'string')->addRule('diller', 'integer')->addRule(['diller', 'vins'], 'required'); $list = ArrayHelper::map(Mod\cats\Stock::find()->all(), 'id', 'name'); $prompt = Yii::t('app', 'Select stock'); $arrError = []; if ($model->load(Yii::$app->request->post()) && $model->validate()) { $arrvin = explode("\n", $model->vins); foreach ($arrvin as $vin) { if ($car = Mod\Car::findOne(['vin' => trim($vin)])) { $status = Mod\CarStatus::findOne(['car_id' => $car->id]); $status->stock_id = $model->diller; $status->save(); } else { $arrError[] = $vin . ' не найден VIN'; } } // $debug = print_r($arrError, true); $debug = implode('<br>', $arrError); return $this->render('finish', ['debug' => $debug]); } $arrVars = ['model' => $model, 'list' => $list, 'prompt' => $prompt, 'selLabel' => 'Склад', 'title' => 'Пакетное перемещение']; return $this->render('index', $arrVars); }
public function actionVerify() { $session = Yii::$app->session; $urlKey = $this->filter->buildKey('_url'); $urls = $session->get($urlKey); if (is_array($urls) && isset($urls[0], $urls[1])) { $route = $urls[0]; $returnUrl = $urls[1]; } else { throw new \yii\base\InvalidCallException(); } $key = $this->filter->buildKey($route); $field = 'f' . substr($key, 0, 10); $model = new DynamicModel([$field]); $model->addRule($field, 'required'); if ($model->load(Yii::$app->getRequest()->post()) && $model->validate()) { if ($this->filter->isValid($model->{$field}, $route)) { $this->filter->setValid($route); return Yii::$app->getResponse()->redirect($returnUrl); } else { $model->addError($field, $this->filter->message); } } return $this->render($this->viewFile, ['model' => $model, 'field' => $field]); }
public function run() { $data = ['name', 'email', 'text']; $model_feedback = new DynamicModel($data); $model_feedback->addRule('name', 'required'); $model_feedback->addRule('email', 'required'); $model_feedback->addRule('text', 'required'); $model_feedback->addRule('email', 'email'); if (Yii::$app->request->isPost) { if ($model_feedback->load(Yii::$app->request->post()) && $model_feedback->validate()) { Yii::$app->common->sendMail('Subject Advert', $model_feedback->text); } } $current_user = ['email' => '', 'username' => '']; if (!Yii::$app->user->isGuest) { $current_user['email'] = Yii::$app->user->identity->email; $current_user['username'] = Yii::$app->user->identity->username; } return $this->render('feedback', [ 'model_feedback' => $model_feedback, 'current_user' => $current_user ]); }
public function actionLanguage() { $model = new DynamicModel(['language']); $model->addRule(['language'], 'required'); $model->setAttributes(['language' => Yii::$app->session->get('language', 'en')]); if ($model->load(Yii::$app->request->post()) && $model->validate()) { Yii::$app->session->set('language', $model->language); return $this->redirect(['db-config']); } return $this->render('language', ['languages' => InstallerHelper::getLanguagesArray(), 'model' => $model]); }
/** * Lists all Post models. * @return mixed */ public function actionIndex() { $postSearchForm = new DynamicModel(['search']); $postSearchForm->addRule('search', 'string', ['length' => [3, 255], 'tooShort' => 'Поиск должен содержать минимум 3 символа.']); $query = Post::find()->distinct()->joinWith('categories')->where(['post.status' => 1])->orderBy('created DESC'); $request = Yii::$app->request; $query->filterWhere(['category_id' => $request->getQueryParam('category')]); if ($postSearchForm->load($request->queryParams, '') && $postSearchForm->validate()) { $query->andFilterWhere(['OR', ['LIKE', 'title', $request->getQueryParam('search')], ['LIKE', 'anotation', $request->getQueryParam('search')], ['LIKE', 'text', $request->getQueryParam('search')]]); } $countQuery = clone $query; $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => 3]); $models = $query->offset($pages->offset)->limit($pages->limit)->all(); return $this->render('index', ['models' => $models, 'pages' => $pages, 'postSearchForm' => $postSearchForm]); }
public function actionIndex() { $dataProvider = new ActiveDataProvider(['query' => Job::find(), 'pagination' => ['pageSize' => 1]]); $model = new DynamicModel(['search_keyword', 'search_location', 'search_type']); $model->addRule('search_type', 'integer')->addRule('search_location', 'string', ['max' => 128])->addRule('search_keyword', 'string', ['max' => 128]); if ($model->load(Yii::$app->request->post())) { switch ($model->search_type) { case Lookup::item_code('SearchType', 'Organizations'): return $this->redirect(['organization/index', 'search_keyword' => $model->search_keyword]); break; case Lookup::item_code('SearchType', 'Opportunities'): return $this->redirect(['job/index', 'search_keyword' => $model->search_keyword]); break; default: throw new NotFoundHttpException('Your search:' . $model->search_keyword); break; } } return $this->render('index', ['model' => $model, 'dataProvider' => $dataProvider]); }
/** * Lists all Setting models. * @return mixed */ public function actionIndex() { $tabs = (new Query())->select('group')->from('{{%core_setting}}')->orderBy('key_order')->distinct()->column(); $attributes = (new Query())->select('key')->from('{{%core_setting}}')->orderBy('key_order')->column(); //var_dump($tabs); $model = new DynamicModel($attributes); $settings = []; foreach ($attributes as $attribute) { $setting = Setting::find()->where(['key' => $attribute])->asArray()->one(); $settings[$setting['group']][$attribute] = $setting; $model->{$attribute} = $setting['value']; //$model->la if (!empty($rules = json_decode($setting['rules'], true))) { foreach ($rules as $rule => $conf) { //var_dump($conf); $model->addRule($attribute, $rule, $conf); } } else { $model->addRule($attribute, 'required'); } } if ($model->load(Yii::$app->request->post()) && $model->validate()) { foreach ($attributes as $attribute) { $s = Setting::findOne($attribute); $s->value = $model->{$attribute}; if ($s->save(false)) { Yii::$app->session->setFlash('success', Yii::t('app', 'Settings saved successfully.')); } else { Yii::$app->session->setFlash('error', Yii::t('app', 'Sorry, something went wrong. {ERRORS}.', ['ERRORS' => json_encode($s->errors)])); break; } } return $this->redirect(['index']); } return $this->render('index', ['model' => $model, 'settings' => $settings, 'tabs' => $tabs]); }
public function actionViewAdvert($id) { $model = Advert::findOne($id); $data = ['name', 'email', 'text']; $model_feedback = new DynamicModel($data); $model_feedback->addRule('name', 'required'); $model_feedback->addRule('email', 'required'); $model_feedback->addRule('text', 'required'); $model_feedback->addRule('email', 'email'); if (\Yii::$app->request->isPost) { if ($model_feedback->load(\Yii::$app->request->post()) && $model_feedback->validate()) { \Yii::$app->common->sendMail('Subject Advert', $model_feedback->text); } } $user = $model->user; $images = Common::getImageAdvert($model, false); $current_user = ['email' => '', 'username' => '']; if (!\Yii::$app->user->isGuest) { $current_user['email'] = \Yii::$app->user->identity->email; $current_user['username'] = \Yii::$app->user->identity->username; } return $this->render('view_advert', ['model' => $model, 'model_feedback' => $model_feedback, 'user' => $user, 'images' => $images, 'current_user' => $current_user]); }
public function actionChangeBranch() { $model = new DynamicModel(['selected' => Yii::$app->user->branch]); $model->addRule('selected', 'safe'); $ids = UserToBranch::find()->select('id_branch')->where(['id_user' => Yii::$app->user->id])->column(); $branchs = Branch::findAll(['id_branch' => $ids]); if ($model->load(Yii::$app->request->post())) { Yii::$app->user->branch = $model->selected; } return $this->render('change-branch', ['model' => $model, 'branchs' => $branchs]); }
public function actionTempFile() { $model = new DynamicModel(['nama', 'file_id']); // behavior untuk upload file $model->attachBehavior('upload', ['class' => 'mdm\\upload\\UploadBehavior', 'attribute' => 'file', 'savedAttribute' => 'file_id']); // rule untuk model $model->addRule('nama', 'string')->addRule('file', 'file', ['extensions' => 'txt']); if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($model->saveUploadedFile() !== false) { Yii::$app->session->setFlash('success', 'Upload Sukses'); } } return $this->render('upload-manifest', ['model' => $model]); }
public function actionBook($id) { $model = new Booking(); $bookingModelAttributes = ['group_num', 'agency_id']; $customFieldsAttributes = array_map(function ($item) { return 'field' . $item['id']; }, $this->findModel($id)->getFields()->all()); $dynamicModelAttributes = array_merge($bookingModelAttributes, $customFieldsAttributes); $dynamicModel = new DynamicModel($dynamicModelAttributes); $dynamicModel->addRule($dynamicModelAttributes, 'required'); if ($dynamicModel->load(Yii::$app->request->post()) && $dynamicModel->validate()) { $attributes = $dynamicModel->getAttributes($bookingModelAttributes); $model->link('tour', $this->findModel($id)); $model->agency_id = $attributes['agency_id']; $model->group_num = $attributes['group_num']; $model->time = time(); if ($model->validate()) { $fields = []; $keys = ['booking_id', 'tour_id', 'field_id', 'value']; foreach ($dynamicModel->getAttributes($customFieldsAttributes) as $key => $field) { if (in_array($key, $customFieldsAttributes)) { $fields[] = [$model->id, $id, str_replace('field', '', $key), $field]; } } if (!empty($fields)) { Yii::$app->db->createCommand()->batchInsert('booking_fields', $keys, $fields)->execute(); $model->save(); return $this->redirect('/booking'); } } else { var_dump($model); $model->delete(); } } return $this->render('book', ['model' => $dynamicModel, 'tourModel' => $this->findModel($id)]); }