public function actionIndex()
{
$model = DynamicModel::validateData([
- 'store_id' => null, 'date_start' => null, 'date_end' => null, 'group_id' => null, 'autoclosed' => false, 'sort' => null,
+ 'store_id' => null, 'date_start' => null, 'date_end' => null, 'group_id' => null, 'admin_id' => null, 'autoclosed' => false, 'sort' => null,
], [
- [['store_id', 'date_start', 'date_end', 'group_id', 'autoclosed', 'sort'], 'safe']
+ [['store_id', 'date_start', 'date_end', 'group_id', 'admin_id', 'autoclosed', 'sort'], 'safe']
]);
$model->load(Yii::$app->request->get());
$timetableFactModelQuery = TimetableFactModel::find();
if ($model->group_id && $model->group_id > 0) {
$timetableFactModelQuery->andWhere(['d_id' => $model->group_id]);
}
+ if ($model->admin_id && $model->admin_id > 0) {
+ $timetableFactModelQuery->andWhere(['admin_id' => $model->admin_id]);
+ }
if ($model->autoclosed) {
$timetableFactModelQuery->andWhere(['autoclosed' => '1']);
}
$timetableFactModelQuery->orderBy(['date_shift' => SORT_DESC]);
}
- $stores = ArrayHelper::map(CityStore::find()->all(), 'id', 'name');
- $stores = [0 => 'Любой', ...$stores];
+ $storeArr = CityStore::find()->all();
+ $stores = [0 => 'Любой'];
+ foreach ($storeArr as $store) {
+ $stores[$store->id] = $store->name;
+ }
- $adminGroup = ArrayHelper::map(AdminGroup::find()->where(['id' => AdminGroup::getGroupsForEmployeeOnCashbox()])->all(), 'id', 'name');
- $adminGroup = [0 => 'Любая', ...$adminGroup];
+ $adminGroupArr = AdminGroup::find()->where(['id' => AdminGroup::getGroupsForEmployeeOnCashbox()])->all();
+ $adminGroups = [0 => 'Любая'];
+ foreach ($adminGroupArr as $adminGroup) {
+ $adminGroups[$adminGroup->id] = $adminGroup->name;
+ }
+
+ $adminsArr = Admin::find()->where(['group_id' => AdminGroup::getGroupsForEmployeeOnCashbox()])->all();
+ $admins = [0 => 'Любой'];
+ foreach ($adminsArr as $admin) {
+ $admins[$admin->id] = $admin->name;
+ }
$dataProvider = new ActiveDataProvider([
'query' => $timetableFactModelQuery,
'dataProvider' => $dataProvider,
'model' => $model,
'stores' => $stores,
- 'adminGroup' => $adminGroup,
+ 'adminGroups' => $adminGroups,
+ 'admins' => $admins,
]);
}
/** @var yii\data\ActiveDataProvider $dataProvider */
/** @var \yii\base\DynamicModel $model */
/** @var array $stores */
-/** @var array $adminGroup */
+/** @var array $adminGroups */
+/** @var array $admins */
$this->title = Yii::t('app', 'Фактический табель сотрудников (Новый!)');
$this->params['breadcrumbs'][] = $this->title;
<?php $form = ActiveForm::begin(['method' => 'GET']) ?>
<div class="row">
- <div class="col-12">
- Магазин: <div style="display:inline-block"><?= $form->field($model, 'store_id')->widget(Select2::class, [
+ <div class="col-11 d-flex align-items-center justify-content-around">
+ <div class="mb-3">Магазин:</div> <div style="display:inline-block"><?= $form->field($model, 'store_id')->widget(Select2::class, [
'data' => $stores,
'language' => 'ru',
'options' => ['placeholder' => 'Магазин...'],
'allowClear' => true
],
])->label(false) ?></div>
-
- Дата до: <div style="display:inline-block"><?= $form->field($model, 'date_start')->widget(DateTimePicker::class, [
+ <div class="mb-3">Дата до:</div> <div style="display:inline-block"><?= $form->field($model, 'date_start')->widget(DateTimePicker::class, [
'language' => 'ru',
'template' => '{input}',
'clientOptions' => [
'todayBtn' => true
],
])->label(false) ?></div>
-
- после: <div style="display:inline-block"><?= $form->field($model, 'date_end')->widget(DateTimePicker::class, [
+ <div class="mb-3">после:</div> <div style="display:inline-block"><?= $form->field($model, 'date_end')->widget(DateTimePicker::class, [
'language' => 'ru',
'template' => '{input}',
'clientOptions' => [
'todayBtn' => true
],
])->label(false) ?></div>
-
- Группа: <div style="display:inline-block"><?= $form->field($model, 'group_id')->widget(Select2::class, [
- 'data' => $adminGroup,
+ <div class="mb-3">Группа:</div> <div style="display:inline-block"><?= $form->field($model, 'group_id')->widget(Select2::class, [
+ 'data' => $adminGroups,
'language' => 'ru',
'options' => ['placeholder' => 'Должность...'],
'pluginOptions' => [
'allowClear' => true
],
])->label(false) ?></div>
-
- Автоматическое закрытие: <div style="display:inline-block"><?= $form->field($model, 'autoclosed')->checkbox([0 => 'unchecked', 1 => 'checked'], [])->label(false) ?></div>
-
- <?= Html::submitButton('Применить', ['class' => 'btn btn-secondary btn-sm'])?>
+ <div class="mb-3">Сотрудник:</div> <div style="display:inline-block"><?= $form->field($model, 'admin_id')->widget(Select2::class, [
+ 'data' => $admins,
+ 'language' => 'ru',
+ 'options' => ['placeholder' => 'Сотрудник...'],
+ 'pluginOptions' => [
+ 'allowClear' => true
+ ],
+ ])->label(false) ?></div>
+ <div class="mb-3" title="Автоматическое закрытие">Авт. закр.:</div> <div style="display:inline-block"><?= $form->field($model, 'autoclosed')->checkbox([0 => 'unchecked', 1 => 'checked'], [])->label(false) ?></div>
+ <div class="mb-4"><?= Html::submitButton('Применить', ['class' => 'btn btn-secondary btn-sm'])?></div>
</div>
</div>
[
'attribute' => 'admin_id',
'label' => 'Пользователь',
+ 'format' => 'raw',
'value' => function ($data) {
- return $data->admin->name;
+ return '<span title="#' . $data->admin_id . '">' . $data->admin->name . "</span>";
}
],
[