portal.mkgtu.ru/common/modules/abiturient/views/sandbox/index.php

712 lines
50 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use backend\models\RBACAuthAssignment;
use common\assets\ChangeGridViewPaginationAsset;
use common\components\PhoneWidget\PhoneWidget;
use common\models\dictionary\AdmissionCategory;
use common\models\dictionary\Country;
use common\models\dictionary\Speciality;
use common\models\dictionary\StoredReferenceType\StoredDisciplineFormReferenceType;
use common\models\User;
use common\modules\abiturient\models\bachelor\ApplicationHistory;
use common\modules\abiturient\models\bachelor\ApplicationSearch;
use common\modules\abiturient\models\bachelor\BachelorApplication;
use kartik\date\DatePicker;
use kartik\form\ActiveForm;
use kartik\grid\GridView;
use kartik\helpers\Html as HelpersHtml;
use kartik\select2\Select2;
use yii\db\Query;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\web\View;
use yii\widgets\MaskedInput;
$this->title = Yii::$app->name . ' | ' . Yii::t(
'sandbox/index/all',
'Заголовок страницы поданных заявлений: `Проверка заявлений`'
);
$appLanguage = Yii::$app->language;
ChangeGridViewPaginationAsset::register($this);
$this->registerCssFile('css/manager_style.css', ['depends' => ['frontend\assets\FrontendAsset']]);
$timeZoneError = false;
$timeZoneLocal = date_default_timezone_get();
$timeZoneGlobal = ini_get('date.timezone');
if (strcmp($timeZoneLocal, $timeZoneGlobal) || strlen((string)$timeZoneGlobal) < 1) :
echo Html::tag(
'div',
Yii::t(
'sandbox/index/all',
'Текст ошибки о не корректно настроенном часовом поясе; на стр. поданных заявлений: `<strong>В портале не установлен часовой пояс.</strong> Вы не сможете работать с порталом до того, как проблема будет решена. Приносим извинения за неудобства. Обратитесь к администратору портала.`'
),
['class' => 'alert alert-danger']
);
else : ?>
<div class="row">
<div class="col-12">
<?php if (Yii::$app->user->identity->hasCampaignsToModerateWithRestrictedResubmission()) : ?>
<a class="btn btn-success float-right ml-1" href="<?php echo Url::to(['/resubmission/manage']) ?>">
<?php echo Yii::t(
'sandbox/index/all',
'Подпись кнопки перехода к странице управление повторной подачей; на стр. поданных заявлений: `Управление повторной подачей заявлений`'
); ?>
</a>
<?php endif; ?>
<?= $this->render('partial/_notification_and_chat_btns') ?>
<h2>
<?= Yii::t(
'sandbox/index/all',
'Заголовок таблицы с заявлениями; на стр. поданных заявлений: `Заявления`'
); ?>
</h2>
</div>
</div>
<div class="row">
<div class="col-12">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="nav-item <?php if ($type == "moderate") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "moderate") : ?>#moderate<?php else : ?><?= Url::toRoute("sandbox/index"); ?><?php endif; ?>" aria-controls="moderate">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с требующими проверки заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Требуют проверки`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "approved") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "approved") : ?>#approved<?php else : ?><?= Url::toRoute("sandbox/approved"); ?><?php endif; ?>" aria-controls="approved">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с принятыми заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Принятые`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == 'enlisted') : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == 'enlisted') : ?>#enlisted<?php else : ?><?= Url::toRoute('sandbox/enlisted'); ?><?php endif; ?>" aria-controls="enlisted">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с зачисленными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Зачисленные`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "declined") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "declined") : ?>#declined<?php else : ?><?= Url::toRoute("sandbox/declined"); ?><?php endif; ?>" aria-controls="declined">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с отклонёнными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Отклонённые`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "want-delete") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "want-delete") : ?>#want-delete<?php else : ?><?= Url::toRoute("sandbox/want-delete"); ?><?php endif; ?>" aria-controls="want-delete">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с заявлениями поданные на отзыв; в таблице с заявлениями на стр. поданных заявлений: `Подан отзыв`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "deleted") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "deleted") : ?>#deleted<?php else : ?><?= Url::toRoute("sandbox/deleted"); ?><?php endif; ?>" aria-controls="deleted">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с отозванными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Отозванные`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "preparing") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "preparing") : ?>#preparing<?php else : ?><?= Url::toRoute("sandbox/preparing"); ?><?php endif; ?>" aria-controls="preparing">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с не подданными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Готовятся`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "questionaries") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "questionaries") : ?>#questionaries<?php else : ?><?= Url::toRoute("sandbox/questionaries"); ?><?php endif; ?>" aria-controls="questionaries">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с анкетами без заявлений; в таблице с заявлениями на стр. поданных заявлений: `Анкеты без заявлений`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "enrollment-rejection") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "enrollment-rejection") : ?>#enrollment-rejection<?php else : ?><?= Url::toRoute("sandbox/enrollment-rejection"); ?><?php endif; ?>" aria-controls="enrollment-rejection">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с заявлениями с поданным отказом от зачисления; в таблице с заявлениями на стр. поданных заявлений: `Отказ от зачисления`'
); ?>
</a>
</li>
<li role="presentation" class="nav-item <?php if ($type == "all") : ?>active<?php endif; ?>">
<a class="nav-link" href="<?php if ($type == "all") : ?>#all<?php else : ?><?= Url::toRoute("sandbox/all"); ?><?php endif; ?>" aria-controls="declined">
<?= Yii::t(
'sandbox/index/all',
'Подпись вкладки с всеми заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Все`'
); ?>
</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" role="tabpanel" id="<?= $type; ?>">
<?php if (empty($listOfAdmissionCampaign)) {
$emptyText = Html::tag(
'div',
Yii::t(
'sandbox/index/all',
'Сообщение об ошибке доступа; на стр. поданных заявлений: `У {username} нет доступа к приемным кампаниям. Обратитесь к администратору.`',
['username' => $currentUser->username]
),
[
'class' => 'alert alert-danger',
'role' => 'alert'
]
);
} else {
$emptyText = '<div class="alert alert-info" role="alert">';
if ($type == 'moderate') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с требующими проверки заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Нет заявлений, требующих проверки.`'
);
} elseif ($type == 'approved') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с принятыми заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Нет принятых заявлений.`'
);
} elseif ($type == 'enlisted') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с зачисленными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Нет зачисленных заявлений.`'
);
} elseif ($type == 'declined') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с отклонёнными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Нет отклонённых заявлений.`'
);
} elseif ($type == 'want-delete') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с заявлениями поданные на отзыв; в таблице с заявлениями на стр. поданных заявлений: `Нет заявлений помеченных на отзыв.`'
);
} elseif ($type == 'deleted') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с отозванными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Нет отозванных заявлений.`'
);
} elseif ($type == 'preparing') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с не поданными заявлениями; в таблице с заявлениями на стр. поданных заявлений: `Нет не поданных заявлений.`'
);
} elseif ($type == 'enrollment-rejection') {
$emptyText .= Yii::t(
'sandbox/index/all',
'Сообщении об отсутствии данных для вкладки с поданными отказами от зачисления; в таблице с заявлениями на стр. поданных заявлений: `Нет поданных отказов от зачисления.`'
);
}
$emptyText .= '</div>';
} ?>
<?php if ($searchModel->filters) : ?>
<div class="card-group">
<div class="card mb-3">
<div class="card-header">
<h4>
<a data-toggle="collapse" href="#collapse-moderate">
<?= Yii::t(
'sandbox/index/filter-block',
'Заголовок блока с фильтрами; на стр. поданных заявлений: `Фильтры`'
); ?>
</a>
</h4>
</div>
<div id="collapse-moderate" class="panel-collapse collapse<?= $searchModel->filterLoaded ? ' in' : '' ?>">
<div class="card-body">
<?php $form = ActiveForm::begin([
'id' => 'login-form',
'action' => Url::toRoute(['sandbox/' . ($type === 'moderate' ? 'index' : $type)]),
'method' => 'GET',
]) ?>
<?php $filtersGrid = ''; ?>
<?php foreach ($searchModel->filters as $filter) : ?>
<?php $options = ['data-placement' => 'top'];
switch ($filter->name) {
case 'status':
case 'agreement':
case 'preferences':
case 'statusBlock':
case 'campaign_code':
case 'educationForm':
case 'targetReception':
case 'review_agreement':
case 'hasIndividualAchievement':
case 'financial_basis':
case 'education_level':
case 'admission_category':
$options['placeholder'] = Yii::t(
'sandbox/index/filter-block',
'Текст для пустого значения выпадающего списка; блока с фильтрами на стр. поданных заявлений: `Выберите ...`'
);
$options['class'] = 'col-12 form-control small_font';
$data = [];
switch ($filter->name) {
case 'statusBlock':
$data = BachelorApplication::getBlockStatusAliasList();
break;
case 'educationForm':
$data = ArrayHelper::merge(
['' => ''],
ArrayHelper::map(
Speciality::find()
->select(['eduform_name', 'education_form_ref.reference_uid', 'education_form_ref_id'])
->joinWith('educationFormRef education_form_ref')
->groupBy(['eduform_name', 'education_form_ref.reference_uid', 'education_form_ref_id'])
->where([Speciality::tableName() . '.archive' => false])
->all(),
'educationFormRef.reference_uid',
'eduform_name'
)
);
break;
case 'campaign_code':
$data = ArrayHelper::merge(
[null => Yii::t(
'sandbox/index/filter-block',
'Текст для значения "Все ПК" в выпадающем списке; блока с фильтрами на стр. поданных заявлений: `Все ПК`'
)],
ArrayHelper::map($listOfAdmissionCampaign, 'reference_uid', 'name')
);
break;
case 'status':
$data = BachelorApplication::sandboxMessages();
break;
case 'agreement':
case 'preferences':
case 'targetReception':
case 'review_agreement':
case 'hasIndividualAchievement':
$data = [
null => Yii::t(
'sandbox/index/filter-block',
'Текст для значения "Все" в выпадающем списке; блока с фильтрами на стр. поданных заявлений: `Все`'
),
1 => Yii::t(
'sandbox/index/filter-block',
'Текст для значения "Есть" в выпадающем списке; блока с фильтрами на стр. поданных заявлений: `Есть`'
),
2 => Yii::t(
'sandbox/index/filter-block',
'Текст для значения "Нет" в выпадающем списке; блока с фильтрами на стр. поданных заявлений: `Нет`'
)
];
break;
case 'financial_basis':
$data = ArrayHelper::merge(
['' => ''],
ArrayHelper::map(
Speciality::find()
->select(['finance_name', 'education_source_ref.reference_uid', 'education_source_ref_id'])
->joinWith('educationSourceRef education_source_ref')
->groupBy(['finance_name', 'education_source_ref.reference_uid', 'education_source_ref_id'])
->where([Speciality::tableName() . '.archive' => false])
->all(),
'educationSourceRef.reference_uid',
'finance_name'
)
);
break;
case 'education_level':
$data = ArrayHelper::merge(
['' => ''],
ArrayHelper::map(
Speciality::find()
->select(['edulevel_name', 'education_level_ref.reference_uid', 'education_level_ref_id'])
->joinWith('educationLevelRef education_level_ref')
->groupBy(['edulevel_name', 'education_level_ref.reference_uid', 'education_level_ref_id'])
->where([Speciality::tableName() . '.archive' => false])
->all(),
'educationLevelRef.reference_uid',
'edulevel_name'
)
);
break;
case 'admission_category':
$data = ArrayHelper::merge(
['' => ''],
ArrayHelper::map(
AdmissionCategory::find()->notMarkedToDelete()->active()->all(),
'ref_key',
'description'
)
);
break;
}
$field = $form->field($searchModel, $filter->name)
->widget(Select2::class, [
'language' => $appLanguage,
'data' => $data,
'options' => $options,
'pluginOptions' => ['allowClear' => true],
]);
break;
case 'citizenship':
case 'historyChanges':
case 'specialityName':
case 'lastManagerName':
$options['multiple'] = true;
$options['placeholder'] = Yii::t(
'sandbox/index/filter-block',
'Текст для пустого значения выпадающего списка; блока с фильтрами на стр. поданных заявлений: `Выберите ...`'
);
$options['class'] = 'col-12 form-control small_font';
$data = [];
switch ($filter->name) {
case 'specialityName':
$firstQuery = Speciality::find()
->select(['speciality_name', 'directionRef.reference_uid', 'direction_ref_id'])
->joinWith('directionRef directionRef')
->leftJoin(
'bachelor_speciality',
'dictionary_speciality.id = bachelor_speciality.speciality_id'
)
->where(['dictionary_speciality.archive' => false])
->andWhere(['bachelor_speciality.archive' => false])
->andWhere([
'in',
'bachelor_speciality.application_id',
(clone $applications->query)->select('bachelor_application.id')
])
->groupBy(['speciality_name', 'directionRef.reference_uid', 'direction_ref_id']);
if (isset($searchModel->{$filter->name}) && $searchModel->{$filter->name}) {
$additionalQuery = Speciality::find()
->alias('additional_dictionary_spec')
->select(['speciality_name', 'directionRef.reference_uid', 'direction_ref_id'])
->joinWith('directionRef directionRef')
->where(['additional_dictionary_spec.archive' => false])
->andWhere([
'in',
'directionRef.reference_uid',
$searchModel->{$filter->name}
]);
$firstQuery->union($additionalQuery);
}
$data = ArrayHelper::map(
$firstQuery->all(),
'directionRef.reference_uid',
'speciality_name'
);
break;
case 'historyChanges':
$data = ApplicationHistory::historyTypeNames();
break;
case 'citizenship':
$data = ArrayHelper::merge(
[null => Yii::t(
'sandbox/index/filter-block',
'Текст для значения "Все" в выпадающем списке; блока с фильтрами на стр. поданных заявлений: `Все`'
)],
ArrayHelper::map(
Country::find()->active()->orderBy('name')->all(),
'id',
'name'
)
);
break;
case 'lastManagerName':
$userTableName = User::tableName();
$rbacAuthAssignmentTableName = RBACAuthAssignment::tableName();
$data = ArrayHelper::map(
(new Query())
->select("{$userTableName}.username, {$userTableName}.id")
->from($userTableName)
->leftJoin($rbacAuthAssignmentTableName, "{$userTableName}.id = {$rbacAuthAssignmentTableName}.user_id")
->andWhere(["{$rbacAuthAssignmentTableName}.item_name" => 'manager'])
->all(),
'id',
'username'
);
break;
}
$field = $form->field($searchModel, $filter->name)
->widget(Select2::class, [
'language' => $appLanguage,
'value' => $searchModel->{$filter->name},
'data' => $data,
'options' => $options,
'pluginOptions' => [
'tags' => true,
'tokenSeparators' => [',', ' '],
'maximumInputLength' => 10
],
]);
break;
case 'sent_at':
case 'birthday':
case 'created_at':
case 'last_management_at':
$field = $form->field($searchModel, $filter->name)
->widget(DatePicker::class, [
'language' => $appLanguage,
'separator' => Yii::t(
'sandbox/index/filter-block',
'Текст для междометия дат стоящим между дат начала и конца; блока с фильтрами на стр. поданных заявлений: `по`'
),
'name2' => "to_{$filter->name}",
'attribute2' => "to_{$filter->name}",
'type' => DatePicker::TYPE_RANGE,
'options' => array_merge(
['placeholder' => Yii::t(
'sandbox/index/filter-block',
'Текст для пустого значения даты начала; блока с фильтрами на стр. поданных заявлений: `Начало`'
)],
$options
),
'options2' => array_merge(
['placeholder' => Yii::t(
'sandbox/index/filter-block',
'Текст для пустого значения даты окончания; блока с фильтрами на стр. поданных заявлений: `Конец`'
)],
$options
),
'pluginOptions' => [
'autoclose' => false,
'format' => 'dd.mm.yyyy',
]
]);
break;
case 'exam_form':
$data = ArrayHelper::map(
StoredDisciplineFormReferenceType::findAll(['archive' => false]),
'reference_uid',
'reference_name'
);
$examCode = Yii::$app->configurationManager->getCode('discipline_exam_form');
if (isset($data[$examCode])) {
$data = [$examCode => $data[$examCode]] + $data;
}
$egeCode = Yii::$app->configurationManager->getCode('discipline_ege_form');
if (isset($data[$egeCode])) {
$data = [$egeCode => $data[$egeCode]] + $data;
}
$field = $form->field($searchModel, $filter->name)->widget(Select2::class, [
'data' => $data,
'options' => [
'data-placement' => 'top',
'placeholder' => Yii::t(
'sandbox/index/filter-block',
'Текст для пустого значения выпадающего списка; блока с фильтрами на стр. поданных заявлений: `Выберите ...`'
),
'class' => 'col-12 form-control small_font',
],
'pluginOptions' => ['allowClear' => true],
]);
break;
case 'phone_number':
$field = $form->field($searchModel, $filter->name)->widget(MaskedInput::class, [
'mask' => [PhoneWidget::$phoneNumberMask],
'clientOptions' => ['clearMaskOnLostFocus' => true, 'greedy' => false],
'options' => [
'placeholder' => '+7(999)9999999',
'data-mask' => PhoneWidget::$phoneNumberMask,
'class' => 'col-12 form-control small_font',
]
]);
break;
case 'snils':
$field = $form->field($searchModel, $filter->name)->widget(MaskedInput::class, [
'mask' => '999-999-999 99',
'clientOptions' => ['clearMaskOnLostFocus' => false],
'options' => [
'class' => 'col-12 form-control small_font',
],
]);
break;
default:
$field = $form->field($searchModel, $filter->name)
->textInput($options);
break;
} ?>
<?php $filtersGrid .= Html::tag(
'div',
$field->label(Yii::t(
'abiturient/filter-table',
$filter->label
)),
['class' => 'col-xl-3 col-lg-4 col-md-6 col-12']
) ?>
<?php endforeach; ?>
<div class="row mb-3">
<?= $filtersGrid ?>
</div>
<div class="row">
<div class="col-12">
<?= Html::submitButton(
Yii::t(
'sandbox/index/filter-block',
'Подпись для кнопки применения фильтров; блока с фильтрами на стр. поданных заявлений: `Отфильтровать`'
),
['class' => 'btn btn-primary']
) ?>
<?php if ($searchModel->filterLoaded) {
$resetType = ('moderate' === $type) ? 'index' : $type;
echo Html::a(
Yii::t(
'sandbox/index/filter-block',
'Подпись для кнопки сброса фильтров; блока с фильтрами на стр. поданных заявлений: `Сбросить`'
),
['sandbox/reset-filters', 'type' => $resetType],
['class' => 'btn btn-outline-secondary']
);
} ?>
</div>
</div>
<?php ActiveForm::end() ?>
</div>
</div>
</div>
</div>
<?php endif; ?>
<?= GridView::widget([
'hover' => true,
'headerContainer' => ['class' => 'thead-light'],
'tableOptions' => ['class' => 'table-sm valign-middle'],
'striped' => false,
'summary' => false,
'emptyText' => $emptyText,
'dataProvider' => $applications,
'rowOptions' => function ($model) use ($type) {
if (
$type != 'want-delete' &&
$model->status == BachelorApplication::STATUS_WANTS_TO_RETURN_ALL
) {
return ['class' => 'table-danger'];
}
$tnBachelorApplication = BachelorApplication::tableName();
$hasAdmissionAgreement = BachelorApplication::hasAdmissionAgreementQuery(
BachelorApplication::find()
->andWhere(["{$tnBachelorApplication}.id" => $model->id])
)->exists();
if ($hasAdmissionAgreement) {
return ['class' => 'table-info'];
}
return [];
},
'pager' => [
'firstPageLabel' => '<<',
'prevPageLabel' => '<',
'nextPageLabel' => '>',
'lastPageLabel' => '>>',
],
'columns' => $searchModel->getColumnsLayout($type),
'formatter' => [
'class' => 'yii\i18n\Formatter',
'nullDisplay' => ''
],
]); ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-6">
<?= Yii::t(
'sandbox/index/all',
'Подпись к переключателю количества записей на странице; на стр. поданных заявлений: `Показывать на странице`'
); ?>
</div>
</div>
<div class="row">
<div class="col-6">
<?= HelpersHtml::radioButtonGroup(
"{$searchModel->formName()}[pageSize]",
$searchModel->pageSize,
ArrayHelper::map(
[20, 50, 100, 200, 500],
function ($data) {
return $data;
},
function ($data) {
return $data;
}
),
['itemOptions' => ['labelOptions' => [
'onclick' => 'window.changePagination($(this))',
'class' => 'btn btn-success pagination_size',
]]]
) ?>
</div>
<div class="col-6">
<?= Html::button(
'<i class="fa fa-arrow-up"></i> ' . Yii::t(
'sandbox/index/all',
'Подпись кнопки для быстрой прокрутки в начало страницы; на стр. поданных заявлений: `Наверх`'
),
[
'id' => 'btn_to_up_scroll',
'onclick' => 'window.toTop()',
'class' => 'btn btn-warning pull-right',
]
) ?>
</div>
</div>
<?php endif;