Страница Архива
1. Добавлены новые методы 2. Добавлена страница архивных задач.
This commit is contained in:
@@ -100,22 +100,25 @@ class Task extends BaseEntity {
|
||||
return $errors;
|
||||
}
|
||||
|
||||
// Проверка что задача существует и получаем текущую колонку
|
||||
$task = Database::get($this->db_name, ['id', 'column_id'], ['id' => $this->id]);
|
||||
// Проверка что задача существует и получаем текущие данные
|
||||
$task = Database::get($this->db_name, ['id', 'column_id', 'order'], ['id' => $this->id]);
|
||||
if (!$task) {
|
||||
$this->addError('task', 'Задача не найдена');
|
||||
return $this->getErrors();
|
||||
}
|
||||
|
||||
// Получаем текущую колонку
|
||||
$old_column_id = (int)$task['column_id'];
|
||||
$new_column_id = (int)$this->column_id;
|
||||
|
||||
// Если column_id не передан — оставляем текущий
|
||||
$new_column_id = $this->column_id !== null ? (int)$this->column_id : $old_column_id;
|
||||
|
||||
// Формируем данные для обновления
|
||||
$update_data = [
|
||||
'id_department' => $this->id_department,
|
||||
'id_label' => $this->id_label,
|
||||
'order' => $this->order,
|
||||
'column_id' => $this->column_id,
|
||||
'order' => $this->order ?? $task['order'],
|
||||
'column_id' => $new_column_id,
|
||||
'date' => $this->date ?: null,
|
||||
'id_account' => $this->id_account,
|
||||
'title' => $this->title,
|
||||
@@ -168,10 +171,12 @@ class Task extends BaseEntity {
|
||||
$task = self::check_task($id);
|
||||
$old_column_id = (int)$task['column_id'];
|
||||
$new_column_id = (int)$column_id;
|
||||
$archive = (int)$task['archive'];
|
||||
|
||||
// Получаем все карточки целевой колонки (кроме перемещаемой)
|
||||
// Получаем все карточки целевой колонки с тем же статусом архивации (кроме перемещаемой)
|
||||
$cards = Database::select('cards_task', ['id', 'order'], [
|
||||
'column_id' => $column_id,
|
||||
'archive' => $archive,
|
||||
'id[!]' => $id,
|
||||
'ORDER' => ['order' => 'ASC']
|
||||
]) ?? [];
|
||||
@@ -297,10 +302,18 @@ class Task extends BaseEntity {
|
||||
], 400);
|
||||
}
|
||||
|
||||
// Обновляем archive
|
||||
Database::update('cards_task', [
|
||||
// Данные для обновления
|
||||
$update_data = [
|
||||
'archive' => $archive ? 1 : 0
|
||||
], [
|
||||
];
|
||||
|
||||
// При разархивировании — возвращаем в колонку "Готово"
|
||||
if (!$archive) {
|
||||
$update_data['column_id'] = COLUMN_DONE_ID;
|
||||
}
|
||||
|
||||
// Обновляем в БД
|
||||
Database::update('cards_task', $update_data, [
|
||||
'id' => $id
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user