diff --git a/app/Controller/Task.php b/app/Controller/Task.php
index 741db61eb..d94c5908f 100644
--- a/app/Controller/Task.php
+++ b/app/Controller/Task.php
@@ -68,7 +68,8 @@ class Task extends Base
$this->response->html($this->taskLayout('task/show', array(
'project' => $this->project->getById($task['project_id']),
- 'files' => $this->file->getAll($task['id']),
+ 'files' => $this->file->getAllDocuments($task['id']),
+ 'images' => $this->file->getAllImages($task['id']),
'comments' => $this->comment->getAll($task['id']),
'subtasks' => $subtasks,
'links' => $this->taskLink->getLinks($task['id']),
diff --git a/app/Model/File.php b/app/Model/File.php
index f069c8cf0..46710658b 100644
--- a/app/Model/File.php
+++ b/app/Model/File.php
@@ -111,6 +111,38 @@ class File extends Base
->asc('name')
->findAll();
}
+
+ /**
+ * Get all images for a given task
+ *
+ * @access public
+ * @param integer $task_id Task id
+ * @return array
+ */
+ public function getAllImages($task_id)
+ {
+ return $this->db->table(self::TABLE)
+ ->eq('task_id', $task_id)
+ ->eq('is_image', 1)
+ ->asc('name')
+ ->findAll();
+ }
+
+ /**
+ * Get all files without images for a given task
+ *
+ * @access public
+ * @param integer $task_id Task id
+ * @return array
+ */
+ public function getAllDocuments($task_id)
+ {
+ return $this->db->table(self::TABLE)
+ ->eq('task_id', $task_id)
+ ->eq('is_image', 0)
+ ->asc('name')
+ ->findAll();
+ }
/**
* Check if a filename is an image
diff --git a/app/Template/file/show.php b/app/Template/file/show.php
index 298976f63..2af5a7aa1 100644
--- a/app/Template/file/show.php
+++ b/app/Template/file/show.php
@@ -1,23 +1,53 @@
-
-
+
+
-
+
+
+
+ = t('Images') ?>
+
+
+
+
+
+ = t('Files') ?>
+
+
+
+ -
+ = $this->a($this->e($file['name']), 'file', 'download', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'file_id' => $file['id'])) ?>
+
+ = $this->a(t('remove'), 'file', 'confirm', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'file_id' => $file['id'])) ?>
+
+
+
+
-
-
- -
- = $this->a($this->e($file['name']), 'file', 'download', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'file_id' => $file['id'])) ?>
-
-
- = $this->a(t('open'), 'file', 'open', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'file_id' => $file['id']), false, 'popover') ?>,
-
- = $this->a(t('remove'), 'file', 'confirm', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'file_id' => $file['id'])) ?>
-
-
-
-
+
+
+
-
\ No newline at end of file
+
+
+
+ endif ?>
\ No newline at end of file
diff --git a/app/Template/task/show.php b/app/Template/task/show.php
index 1ff2ef438..45485e535 100644
--- a/app/Template/task/show.php
+++ b/app/Template/task/show.php
@@ -4,5 +4,5 @@
= $this->render('tasklink/show', array('task' => $task, 'links' => $links)) ?>
= $this->render('subtask/show', array('task' => $task, 'subtasks' => $subtasks)) ?>
= $this->render('task/timesheet', array('task' => $task)) ?>
-= $this->render('file/show', array('task' => $task, 'files' => $files)) ?>
+= $this->render('file/show', array('task' => $task, 'files' => $files, 'images' => $images)) ?>
= $this->render('task/comments', array('task' => $task, 'comments' => $comments, 'project' => $project)) ?>
diff --git a/assets/css/app.css b/assets/css/app.css
index f0446f305..a304d27f1 100644
--- a/assets/css/app.css
+++ b/assets/css/app.css
@@ -1551,3 +1551,35 @@ td li.dropit-trigger {
.task-board .dropit-submenu a:hover {
text-decoration: none;
}
+.task-show-images {
+ list-style-type: none;
+}
+.task-show-images li img {
+ width: 100%;
+}
+.task-show-images li .img_container {
+ width: 250px;
+ height: 100px;
+ overflow: hidden;
+}
+.task-show-images li {
+ padding: 10px;
+ overflow: auto;
+ width: 250px;
+ min-height: 120px;
+ display: inline-block;
+ vertical-align: top;
+}
+.task-show-images li p{
+ padding: 5px;
+ font-weight: bold;
+}
+.task-show-images li:hover {
+ background: #eee;
+}
+.task-show-image-actions {
+ margin-left: 5px;
+}
+.task-show-images li .img_container:hover {
+ height: 100%;
+}
\ No newline at end of file
diff --git a/assets/css/src/task.css b/assets/css/src/task.css
index b7a5cb9cf..5cb7b969a 100644
--- a/assets/css/src/task.css
+++ b/assets/css/src/task.css
@@ -245,3 +245,35 @@ span.task-board-date-overdue {
.task-link-closed {
text-decoration: line-through;
}
+.task-show-images {
+ list-style-type: none;
+}
+.task-show-images li img {
+ width: 100%;
+}
+.task-show-images li .img_container {
+ width: 250px;
+ height: 100px;
+ overflow: hidden;
+}
+.task-show-images li {
+ padding: 10px;
+ overflow: auto;
+ width: 250px;
+ min-height: 120px;
+ display: inline-block;
+ vertical-align: top;
+}
+.task-show-images li p{
+ padding: 5px;
+ font-weight: bold;
+}
+.task-show-images li:hover {
+ background: #eee;
+}
+.task-show-image-actions {
+ margin-left: 5px;
+}
+.task-show-images li .img_container:hover {
+ height: 100%;
+}