/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Managers::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, 'date' => $this->date, 'clubID' => $this->clubID]); $query->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'fullName', $this->fullName]); return $dataProvider; }
public function store($request) { $cacheTag = ['companies']; $validator = $this->validate($request); if (!$validator->fails()) { Logs::create(['activity' => 'store', 'module' => 'companies']); Cache::tags($cacheTag)->flush(); $_model = Managers::find(config('global.managers.current.id')); $_company = $_model->companies()->create($request); Configurations::create(['company_id' => $_company->id]); Processes::create(['company_id' => $_company->id, 'description' => 'Pedido realizado', 'order' => 1, 'color' => '#444444']); $_company->token = config('global.managers.current.id') . uniqid(); return $_company->update(); } else { return new \Exception($validator->errors()->first()); } }
public static function isManager($id) { if (config('global.managers.current.role') === 'S') { return true; } else { $cacheTag = ['companies', 'ismanager', $id]; $cacheKey = config('global.managers.current.id'); $response = Cache::tags($cacheTag)->remember($cacheKey, 60 * 24 * 7, function () use($id) { $_model = Managers::find(config('global.managers.current.id')); return $_model->companies()->select(['id'])->where('company_id', $id)->count(); }); if ($response > 0) { return true; } else { return false; } } }
public static function getManagersList() { // Выбираем только те категории, у которых есть дочерние категории $parents = Managers::find()->select(['id', 'username'])->all(); return ArrayHelper::map($parents, 'id', 'username'); }
public function image($request) { if (!empty($request->manager_id)) { $_model = Managers::find($request->manager_id); if ($request->hasFile('file')) { $_file = $request->file('file'); if ($_model->avatar) { Storage::delete($_model->avatar); } $filename = md5(time() . $_file->getClientOriginalName() . $request->manager_id) . '.' . $_file->guessClientExtension(); $request->file('file')->move(config('filesystems.disks.local.root'), $filename); $_model->avatar = $filename; $_model->save(); Logs::create(['activity' => 'avatar', 'module' => 'managers']); Cache::tags(['managers'])->flush(); return true; } else { return new \Exception("Parece que você não selecionou nenhum arquivo"); } } else { return new \Exception("Administrador não encontrado."); } }
/** * Lists all Managers models. * @return mixed */ public function actionIndex() { $dataProvider = new ActiveDataProvider(['query' => Managers::find()]); return $this->render('index', ['dataProvider' => $dataProvider]); }
?> <title><?php echo Html::encode($this->title); ?> </title> <?php $this->head(); ?> </head> <body> <?php $this->beginBody(); ?> <?php $managers = \app\models\Managers::find()->count() - 1; ?> <div class="wrap"> <?php NavBar::begin(['brandLabel' => 'XFIT', 'brandUrl' => Yii::$app->homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]); if (Yii::$app->user->isGuest) { $menuItems[] = ['label' => 'Войти', 'url' => ['/site/login']]; } else { $menuItems = [['label' => 'Главная', 'url' => ['/site/index']], ['label' => 'Менеджеры (' . $managers . ')', 'url' => ['/managers']]]; $menuItems[] = ['label' => 'Выйти (' . Yii::$app->user->identity->username . ')', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post']]; } echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'items' => $menuItems]); NavBar::end(); ?>
public function actionContact() { return $this->render('contact', ['managers' => Managers::find()->all()]); }
<div class="order-form"> <?php $form = ActiveForm::begin(); ?> <?php $clubs = \app\models\Clubs::find()->all(); $items = ArrayHelper::map($clubs, 'id', 'name'); $params = ['prompt' => 'Выберите клуб']; echo $form->field($model, 'clubID')->dropDownList($items, $params); ?> <?php $managers = \app\models\Managers::find()->all(); $items = ArrayHelper::map($managers, 'id', 'username'); $params = ['prompt' => 'Выберите менеджера']; echo $form->field($model, 'managerID')->dropDownList($items, $params); ?> <?php //$form->field($model, 'deliveryTime')->textInput() ?> <?php //$form->field($model, 'createTime')->textInput() ?> <?php //$form->field($model, 'session')->textInput(['maxlength' => true])
public function destroy($id) { $cacheTag = ['managers']; $_model = Managers::find($id); if ($_model) { Logs::create(['activity' => 'destroy', 'module' => 'profile']); Cache::tags($cacheTag)->flush(); return $_model->delete(); } else { return new \Exception("Houve um erro ao localizar registro (id not found)"); } }