Write log entry on file removal
This commit is contained in:
parent
00228ac12f
commit
cc81f9d4f5
|
|
@ -64,6 +64,10 @@ class TaskFileEventBuilder extends BaseEventBuilder
|
||||||
return e('%s attached a file to the task #%d', $author, $eventData['task']['id']);
|
return e('%s attached a file to the task #%d', $author, $eventData['task']['id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($eventName === TaskFileModel::EVENT_DESTROY) {
|
||||||
|
return e('%s removed a file from the task #%d', $author, $eventData['task']['id']);
|
||||||
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -81,6 +85,10 @@ class TaskFileEventBuilder extends BaseEventBuilder
|
||||||
return e('New attachment on task #%d: %s', $eventData['file']['task_id'], $eventData['file']['name']);
|
return e('New attachment on task #%d: %s', $eventData['file']['task_id'], $eventData['file']['name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($eventName === TaskFileModel::EVENT_DESTROY) {
|
||||||
|
return e('Attachment removed from task #%d: %s', $eventData['file']['task_id'], $eventData['file']['name']);
|
||||||
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,15 @@ abstract class FileModel extends Base
|
||||||
*/
|
*/
|
||||||
abstract protected function fireCreationEvent($file_id);
|
abstract protected function fireCreationEvent($file_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fire file destruction event
|
||||||
|
*
|
||||||
|
* @abstract
|
||||||
|
* @access protected
|
||||||
|
* @param integer $file_id
|
||||||
|
*/
|
||||||
|
abstract protected function fireDestructionEvent($file_id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get PicoDb query to get all files
|
* Get PicoDb query to get all files
|
||||||
*
|
*
|
||||||
|
|
@ -187,6 +196,8 @@ abstract class FileModel extends Base
|
||||||
public function remove($file_id)
|
public function remove($file_id)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$this->fireDestructionEvent($file_id);
|
||||||
|
|
||||||
$file = $this->getById($file_id);
|
$file = $this->getById($file_id);
|
||||||
$this->objectStorage->remove($file['path']);
|
$this->objectStorage->remove($file['path']);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ class ProjectFileModel extends FileModel
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
const EVENT_CREATE = 'project.file.create';
|
const EVENT_CREATE = 'project.file.create';
|
||||||
|
const EVENT_DESTROY = 'project.file.destroy';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the table
|
* Get the table
|
||||||
|
|
@ -70,4 +71,15 @@ class ProjectFileModel extends FileModel
|
||||||
{
|
{
|
||||||
$this->queueManager->push($this->projectFileEventJob->withParams($file_id, self::EVENT_CREATE));
|
$this->queueManager->push($this->projectFileEventJob->withParams($file_id, self::EVENT_CREATE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fire file destruction event
|
||||||
|
*
|
||||||
|
* @access protected
|
||||||
|
* @param integer $file_id
|
||||||
|
*/
|
||||||
|
protected function fireDestructionEvent($file_id)
|
||||||
|
{
|
||||||
|
$this->queueManager->push($this->projectFileEventJob->withParams($file_id, self::EVENT_DESTROY));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ class TaskFileModel extends FileModel
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
const EVENT_CREATE = 'task.file.create';
|
const EVENT_CREATE = 'task.file.create';
|
||||||
|
const EVENT_DESTROY = 'task.file.destroy';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the table
|
* Get the table
|
||||||
|
|
@ -100,4 +101,15 @@ class TaskFileModel extends FileModel
|
||||||
{
|
{
|
||||||
$this->queueManager->push($this->taskFileEventJob->withParams($file_id, self::EVENT_CREATE));
|
$this->queueManager->push($this->taskFileEventJob->withParams($file_id, self::EVENT_CREATE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fire file destruction event
|
||||||
|
*
|
||||||
|
* @access protected
|
||||||
|
* @param integer $file_id
|
||||||
|
*/
|
||||||
|
protected function fireDestructionEvent($file_id)
|
||||||
|
{
|
||||||
|
$this->queueManager->push($this->taskFileEventJob->withParams($file_id, self::EVENT_DESTROY));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ class NotificationSubscriber extends BaseSubscriber implements EventSubscriberIn
|
||||||
CommentModel::EVENT_DELETE => 'handleEvent',
|
CommentModel::EVENT_DELETE => 'handleEvent',
|
||||||
CommentModel::EVENT_USER_MENTION => 'handleEvent',
|
CommentModel::EVENT_USER_MENTION => 'handleEvent',
|
||||||
TaskFileModel::EVENT_CREATE => 'handleEvent',
|
TaskFileModel::EVENT_CREATE => 'handleEvent',
|
||||||
|
TaskFileModel::EVENT_DESTROY => 'handleEvent',
|
||||||
TaskLinkModel::EVENT_CREATE_UPDATE => 'handleEvent',
|
TaskLinkModel::EVENT_CREATE_UPDATE => 'handleEvent',
|
||||||
TaskLinkModel::EVENT_DELETE => 'handleEvent',
|
TaskLinkModel::EVENT_DELETE => 'handleEvent',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
<p class="activity-title">
|
||||||
|
<?= e('%s removed a file from the task %s',
|
||||||
|
$this->text->e($author),
|
||||||
|
$this->url->link(t('#%d', $task['id']), 'TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']))
|
||||||
|
) ?>
|
||||||
|
<small class="activity-date"><?= $this->dt->datetime($date_creation) ?></small>
|
||||||
|
</p>
|
||||||
|
<div class="activity-description">
|
||||||
|
<p class="activity-task-title"><?= $this->text->e($file['name']) ?></p>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<h2><?= $this->text->e($task['title']) ?> (#<?= $task['id'] ?>)</h2>
|
||||||
|
|
||||||
|
<p><?= t('Attachment removed "%s"', $file['name']) ?></p>
|
||||||
|
|
||||||
|
<?= $this->render('notification/footer', array('task' => $task)) ?>
|
||||||
Loading…
Reference in New Issue