Tickets - как полностью удалять загруженные файлы?

Есть форма добавления тикета с встроенной возможностью добавления изображений.
Сейчас действует схема: "Удалить/Восстановить", при которой легко можно восстановить помеченный на удаление файл.
Как реализовать возможность немедленного полного удаления (уничтожения) загруженного файла?

То есть не нужны никакие восстановления, нужно сразу же удалить файл.
Вариант с display:none для .deleted (помеченных для удаления) не подходит, т.к. при повторной загрузке уже удалённого изображения выдаётся ошибка о том, что такой файл уже существует.
Нужно же сразу после нажатия на «Удалить» чтобы файл уничтожался на сервере и в базе, без возможности восстановления.

Мои мысли:
Насколько я понимаю, в файле assets/components/tickets/js/web/files.js отправляется ajax-запрос к процессору ticket/file/delete:
$.post(TicketsConfig.actionUrl, {action: 'ticket/file/delete', id: id, form_key: form_key}, function(response) {
		if (response.success) {
			if ($parent.hasClass(deleted)) {
				$parent.removeClass(deleted)
			}
			else {
				$parent.addClass(deleted)
			}
		}
		else {
			Tickets.Message.error(response.message);
		}
	}, 'json');
Сам процессор похоже находится тут: core/components/tickets/processors/web/file/delete.class.php

Что мне нужно сделать, чтобы заработало полное уничтожение загруженного файла? Помогите набросать план действий (только без редактирования оригинальных файлов, чтобы исключить затирание при обновлении)!
Василий Столейков
28 октября 2015, 10:12
modx.pro
1
1 874
0
Поблагодарить автора Отправить деньги

Комментарии: 4

    Василий Столейков
    28 октября 2015, 13:23
    0
    О! Спасибо что ткнул носом в нужную строчку!
    Похоже можно просто отправить свой ajax-запрос при нажатии на «Удалить» и воспользоваться
    $item->remove();
    Спасибо! Буду пробовать!
      Konstantin
      28 октября 2015, 15:05
      +1
      так это я могу изменить пост запрос и снесу любой файл из другого тикета?
        Василий Столейков
        28 октября 2015, 21:25
        0
        У меня при нажатии на кнопку удаления отправляется пост запрос в ajax-файл, который проверяет:
        1. Если это ajax-запрос
        2. Если пользователь авторизован
        3. Если этот файл действительно принадлежит текущему пользователю. Иначе он вернёт ошибку!
        То есть вся логика с проверками проходит на php, он фильтрует поступившие данные.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4