1
0

Добавление в Архив + Фронт

1. Переписал модуль выпадающего слева меню
2. Добавил механику Архивации задач
3. Запоминания выбранного отдела
This commit is contained in:
2026-01-13 07:04:10 +07:00
parent 6688b8e37c
commit 44b6e636d4
17 changed files with 2434 additions and 1594 deletions

View File

@@ -15,6 +15,7 @@ class Task extends BaseEntity {
public $title;
public $descript;
public $descript_full;
public $archive;
// Валидация данных
protected function validate() {
@@ -65,6 +66,7 @@ class Task extends BaseEntity {
'title' => $this->title,
'descript' => $this->descript ?: null,
'descript_full' => $this->descript_full ?: null,
'archive' => 0,
'date_create' => date('Y-m-d H:i:s'),
'file_img' => '[]'
]);
@@ -175,7 +177,13 @@ class Task extends BaseEntity {
}
// Получение всех задач
public function getAll() {
// $archive: 0 = неархивные, 1 = архивные, null = все
public function getAll($archive = 0) {
$where = [];
if ($archive !== null) {
$where['archive'] = $archive ? 1 : 0;
}
$tasks = Database::select($this->db_name, [
'id',
'id_department',
@@ -188,8 +196,9 @@ class Task extends BaseEntity {
'file_img',
'title',
'descript',
'descript_full'
]);
'descript_full',
'archive'
], $where);
// Декодируем JSON и получаем avatar_url из accounts
return array_map(function($task) {
@@ -243,6 +252,29 @@ class Task extends BaseEntity {
}
return $task;
}
// Установка статуса архивации задачи (только для задач в колонке 4)
public static function setArchive($id, $archive = 1) {
// Проверка что задача существует
$task = self::check_task($id);
// Архивировать можно только задачи в колонке 4
if ($archive && $task['column_id'] != 4) {
RestApi::response([
'success' => false,
'errors' => ['column' => 'Архивировать можно только задачи из колонки "Готово"']
], 400);
}
// Обновляем archive
Database::update('cards_task', [
'archive' => $archive ? 1 : 0
], [
'id' => $id
]);
return ['success' => true, 'archive' => $archive ? 1 : 0];
}
}
?>