Фиксы...
This commit is contained in:
@@ -30,8 +30,12 @@ class Comment extends BaseEntity {
|
||||
return $errors;
|
||||
}
|
||||
|
||||
// Проверяем что задача существует
|
||||
Task::check_task($this->id_task);
|
||||
// Проверяем что задача существует и не архивная
|
||||
$task = Task::check_task($this->id_task);
|
||||
if ((int)$task['archive'] === 1) {
|
||||
$this->addError('task', 'Нельзя комментировать архивные задачи');
|
||||
return $this->getErrors();
|
||||
}
|
||||
|
||||
// Если это ответ — проверяем что родительский комментарий существует
|
||||
if ($this->id_answer) {
|
||||
@@ -75,6 +79,13 @@ class Comment extends BaseEntity {
|
||||
// Проверяем что комментарий существует
|
||||
$comment = self::checkComment($this->id);
|
||||
|
||||
// Проверяем что задача не архивная
|
||||
$task = Database::get('cards_task', ['archive'], ['id' => $comment['id_task']]);
|
||||
if ($task && (int)$task['archive'] === 1) {
|
||||
$this->addError('task', 'Нельзя редактировать комментарии архивных задач');
|
||||
return $this->getErrors();
|
||||
}
|
||||
|
||||
// Проверяем что пользователь — автор комментария
|
||||
if ((int)$comment['id_accounts'] !== (int)$this->id_accounts) {
|
||||
$this->addError('access', 'Вы можете редактировать только свои комментарии');
|
||||
@@ -99,8 +110,16 @@ class Comment extends BaseEntity {
|
||||
// Проверяем что комментарий существует
|
||||
$comment = self::checkComment($id);
|
||||
|
||||
// Получаем задачу для проверки админа проекта
|
||||
$task = Database::get('cards_task', ['id_project'], ['id' => $comment['id_task']]);
|
||||
// Получаем задачу для проверки админа проекта и архивации
|
||||
$task = Database::get('cards_task', ['id_project', 'archive'], ['id' => $comment['id_task']]);
|
||||
|
||||
// Нельзя удалять комментарии архивных задач
|
||||
if ($task && (int)$task['archive'] === 1) {
|
||||
RestApi::response([
|
||||
'success' => false,
|
||||
'errors' => ['task' => 'Нельзя удалять комментарии архивных задач']
|
||||
], 400);
|
||||
}
|
||||
|
||||
// Проверяем права: автор комментария ИЛИ админ проекта
|
||||
$isAuthor = (int)$comment['id_accounts'] === (int)$id_accounts;
|
||||
|
||||
Reference in New Issue
Block a user