return $this->hasMany(Comment::class, ['entity_id' => 'id'])->onCondition(['=', 'entity', 'task']);
}
+ public static function getPriorities()
+ {
+ return [
+ 0 => ['label' => 'Очень низкий', 'color' => '#e0f7fa'], // светло-голубой
+ 1 => ['label' => 'Низкий', 'color' => '#b2ebf2'], // голубой
+ 2 => ['label' => 'Терпит', 'color' => '#80deea'], // бирюзовый
+ 3 => ['label' => 'Можно не спешить', 'color' => '#4dd0e1'], // яркий голубой
+ 4 => ['label' => 'Пониженный', 'color' => '#26c6da'], // более насыщенный бирюзовый
+ 5 => ['label' => 'Обычный', 'color' => '#00acc1'], // темно-бирюзовый
+ 6 => ['label' => 'Повышенный', 'color' => '#0097a7'], // темный циан
+ 7 => ['label' => 'Ниже среднего', 'color' => '#00838f'], // темный циан
+ 8 => ['label' => 'Средний', 'color' => '#006064'], // темный бирюзовый
+ 9 => ['label' => 'Высокий', 'color' => '#ffccbc'], // светло-оранжевый
+ 10 => ['label' => 'Самая важная', 'color' => '#ff5252'], // красный
+ ];
+ }
+
+ public function getPriorityLabel()
+ {
+ $priorities = self::getPriorities();
+ return $priorities[$this->prioritet]['label'] ?? 'Не указан';
+ }
+
+ public function getPriorityColor()
+ {
+ $priorities = self::getPriorities();
+ return $priorities[$this->prioritet]['color'] ?? '#ffffff'; // по умолчанию белый цвет
+ }
+
public function validateSaveAndManageImages() {
if ($this->validate()) {
$this->save();
)->label(false); ?>
</div>
+ <div class="form-group">
+ <label>Приоритет</label>
+ <?= $form->field($model, 'prioritet')->dropDownList(
+ [
+ 0 => 'Очень низкий',
+ 1 => 'Низкий',
+ 2 => 'Терпит',
+ 3 => 'Можно не спешить',
+ 4 => 'Пониженый',
+ 5 => 'Обычный',
+ 6 => 'Повышенный',
+ 7 => 'Ниже среднего',
+ 8 => 'Средний',
+ 9 => 'Высокий',
+ 10 => 'Самая важная'
+ ],
+ ['prompt' => 'Выберите приоритет'] // Опционально: можно добавить "пустую" опцию
+ )->label(false); ?>
+ </div>
+
<div class="form-group">
<label>Продолжительность</label>
<?= $form->field($model, 'duration')->textInput(['type' => 'number', 'disabled' => !$canUpdateStatusAndDuration])->label(false); ?>
'template' => '{input}',
'clientOptions' => [
'autoclose' => true,
- 'format' => 'Y-m-d H:i',
+ 'format' => 'yyyy-mm-dd hh:ii',
'todayBtn' => true
],
])->label(false); ?>
'template' => '{input}',
'clientOptions' => [
'autoclose' => true,
- 'format' => 'Y-m-d H:i',
+ 'format' => 'yyyy-mm-dd hh:ii',
'todayBtn' => true
],
])->label(false); ?>
<?php
+use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\DetailView;
</tr>
<tr>
<td><strong>Приоритет:</strong></td>
- <td><?= Html::encode($model->prioritet) ?></td>
+ <td style="background-color: <?= Html::encode($model->getPriorityColor()) ?>;">
+ <?= Html::encode($model->getPriorityLabel()) ?>
+ </td>
</tr>
<tr>
<td><strong>Исполнитель:</strong></td>
<td><strong>Создатель:</strong></td>
<td><?= Html::encode($model->createdBy->name ?? '---') ?></td>
</tr>
+ <!-- Участники задачи -->
+ <tr>
+ <td><strong>Участники:</strong></td>
+ <td>
+ <?php
+ $taskUsers = ArrayHelper::map($model->users, 'id', 'name'); // Получаем список участников
+ if (!empty($taskUsers)) {
+ echo Html::encode(implode(', ', $taskUsers)); // Выводим имена участников через запятую
+ } else {
+ echo '---'; // Если участников нет
+ }
+ ?>
+ </td>
+ </tr>
+
+ <!-- Наблюдатели задачи -->
+ <tr>
+ <td><strong>Наблюдатели:</strong></td>
+ <td>
+ <?php
+ $taskViewers = ArrayHelper::map($model->viewers, 'id', 'name'); // Получаем список наблюдателей
+ if (!empty($taskViewers)) {
+ echo Html::encode(implode(', ', $taskViewers)); // Выводим имена наблюдателей через запятую
+ } else {
+ echo '---'; // Если наблюдателей нет
+ }
+ ?>
+ </td>
+ </tr>
+
<tr>
<td><strong>Дата начала:</strong></td>
<td><?= DateTimeService::formatHuman($model->data_start) ?></td>
<?php endif; ?>
</div>
<div class="col-4 text-end">
- <!-- Кнопка для создания задачи -->
- <?= Html::a('Создать задачу', ['/crud/task/create'], ['class' => 'btn btn-success', 'target' => '_blank', 'data-pjax' => '0']) ?>
+
<!-- Кнопка для открытия модального окна -->
<?= Html::button('Создать задачу', [
'class' => 'btn btn-success',
$form = ActiveForm::begin(['id' => 'filter-form']); ?>
-<?php /*PrintBlockHelper::printBlock('Группы', $form->field($filterModel, 'taskFilter')->radioList(
- ['0' => 'Мои', '1' => 'На контроле', '2' => 'Участвую', '3' => 'Просматриваю', '4' => 'Неразобранные'],
- ['class' => 'form-control', 'onchange' => '$("#filter-form").get(0).submit();'])->label(false)); */?>
+
<?= $form->field($filterModel, 'taskFilter')->radioList(