public function actionIndex() { $room = RoomRecord::findOne(['1' => 1]); if ($room === null) { $room = new RoomRecord(); $room->Name = $this->prompt('Введите название зала', ['required' => true, 'default' => 'Local', 'validator' => function ($input, $error) use($room) { $room->Name = $input; if (!$room->validate()) { $error = implode("\n", array_keys($room->firstErrors)); } return true; }]); if (!$room->save()) { echo implode("\n", array_values($room->firstErrors)); echo "Ошибка записи, Зал не сохранен\n"; return 100; } else { echo "Ok Зал создан ({$room->ID})\n"; } } /** @var PersonsRecord $person */ $person = \Yii::createObject(PersonsRecord::className()); $person->setScenario('create'); $person->GroupID = 1; $person->RoomID = $room->ID; $this->prompt('Введите логин пользователя root:', ['required' => true, 'default' => 'root', 'validator' => function ($input, $error) use($person) { $person->Login = $input; if (!$person->validate()) { // $error = implode("\n", array_keys($person->firstErrors)); return false; } return true; }]); $person->Password = $this->prompt('Введите пароль для входа в интерфейс', ['required' => true, 'default' => null, 'validator' => function ($input, $error) use($person) { $person->Password = $input; if (!$person->validate()) { // $error = implode("\n", array_keys($person->firstErrors)); return false; } return true; }]); if (!$person->create()) { echo implode("\n", array_values($person->firstErrors)); echo "Ошибка записи. Пользователь не сохранен\n"; } else { echo "Ok выход \n"; } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = RoomRecord::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $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; } $query->andFilterWhere(['ID' => $this->ID, 'LastSysLogID' => $this->LastSysLogID, 'LastFinLogID' => $this->LastFinLogID, 'Enabled' => $this->Enabled, 'Available' => $this->Available, 'LastSync' => $this->LastSync, 'Color' => $this->Color]); $query->andFilterWhere(['like', 'Name', $this->Name])->andFilterWhere(['like', 'URL', $this->URL]); return $dataProvider; }
/** * Finds the RoomRecord model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return RoomRecord the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = RoomRecord::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @inheritdoc */ public function rules() { return [[['Name', 'Description', 'Deleted', 'RoomID'], 'required'], [['IsWicket', 'WicketCounter', 'WicketLimit', 'RoomID'], 'integer'], [['RoomID'], 'exist', 'targetClass' => RoomRecord::className(), 'targetAttribute' => 'id'], [['Name', 'Description'], 'string', 'max' => 255], [['WicketCounter', 'WicketLimit'], 'default', 'value' => 0], [['IsWicket'], 'default', 'value' => 0], [['Deleted'], 'default', 'value' => 0]]; }
echo $form->field($model, 'ObjectGroupID')->textInput(); ?> <?php echo $form->field($model, 'PersonGroupID')->textInput(); ?> <?php echo $form->field($model, 'Coins')->textInput(); ?> <?php echo $form->field($model, 'Safe')->textInput(); ?> <?php echo $form->field($model, 'RoomID')->dropdownList(\common\models\cf\RoomRecord::find()->select(['Name', 'ID'])->indexBy('ID')->column()); ?> <div class="form-group"> <?php echo Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div> <?php ActiveForm::end(); ?> </div>
use yii\bootstrap\ActiveForm; use yii\helpers\Html; use yii\grid\GridView; /* @var $this yii\web\View */ /* @var $searchModel common\models\cf\ObjectSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ ?> <div class="well well-sm"> <?php $form = ActiveForm::begin(['layout' => 'inline', 'enableAjaxValidation' => false, 'method' => 'get']); ?> <?php echo $form->field($searchModel, 'Name', ['inputOptions' => ['placeholder' => \Yii::t('app', 'Search by object\'s name')]]); ?> <?php echo $form->field($searchModel, 'RoomID', ['inputOptions' => ['placeholder' => \Yii::t('app', 'Search object by room\'s name')]])->dropdownList(\common\models\cf\RoomRecord::find()->select(['Name', 'ID'])->indexBy('ID')->column(), ['prompt' => 'Любой зал']); ?> <?php echo Html::submitButton('<span class="glyphicon glyphicon-search"></span>', ['class' => 'btn btn-default']); ?> <?php ActiveForm::end(); ?> </div> <div class="object-record-index"> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'rowOptions' => function ($model, $key, $index, $grid) { return ['class' => $model->Disabled ? 'danger' : '']; }, 'columns' => [['class' => '\\common\\components\\DisableActionColumn'], 'Name', 'HardID', 'CoinPrice:currency', ['label' => Yii::t('app', 'Object price'), 'value' => function ($model) { if (!empty($model->functions)) { return $model->CoinPrice * $model->functions[0]->Price;
/** * @return RoomRecord */ public function getRoom() { return $this->hasOne(RoomRecord::className(), ['ID' => 'RoomID']); }