summaryrefslogtreecommitdiff
path: root/app/Template
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-02-18 20:21:48 -0500
committerFrederic Guillot <fred@kanboard.net>2017-02-18 20:21:48 -0500
commit11a774e555786182dd634676811e3c58f316dad0 (patch)
tree4dd0092b45d15d1c6ae1db613e37eb9bb009c0ec /app/Template
parent93c05371a882b3c07d16457479129e42a2999492 (diff)
Send tasks by email
Diffstat (limited to 'app/Template')
-rw-r--r--app/Template/task/dropdown.php3
-rw-r--r--app/Template/task_mail/create.php17
-rw-r--r--app/Template/task_mail/email.php46
3 files changed, 66 insertions, 0 deletions
diff --git a/app/Template/task/dropdown.php b/app/Template/task/dropdown.php
index 21b04598..f35abc79 100644
--- a/app/Template/task/dropdown.php
+++ b/app/Template/task/dropdown.php
@@ -36,6 +36,9 @@
<li>
<?= $this->modal->small('clone', t('Move to another project'), 'TaskDuplicationController', 'move', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>
</li>
+ <li>
+ <?= $this->modal->small('paper-plane', t('Send by email'), 'TaskMailController', 'create', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>
+ </li>
<?php if ($this->projectRole->canRemoveTask($task)): ?>
<li>
<?= $this->modal->confirm('trash-o', t('Remove'), 'TaskSuppressionController', 'confirm', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>
diff --git a/app/Template/task_mail/create.php b/app/Template/task_mail/create.php
new file mode 100644
index 00000000..9a1a26b3
--- /dev/null
+++ b/app/Template/task_mail/create.php
@@ -0,0 +1,17 @@
+<div class="page-header">
+ <h2><?= $this->text->e($task['title']) ?> &gt; <?= t('Send by email') ?></h2>
+</div>
+<form method="post" action="<?= $this->url->href('TaskMailController', 'send', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>" autocomplete="off">
+ <?= $this->form->csrf() ?>
+
+ <?= $this->form->label(t('Email'), 'email') ?>
+ <?= $this->form->email('email', $values, $errors, array('autofocus', 'required', 'tabindex="1"')) ?>
+
+ <?= $this->form->label(t('Subject'), 'subject') ?>
+ <?= $this->form->text('subject', $values, $errors, array('required', 'tabindex="2"')) ?>
+
+ <?= $this->modal->submitButtons(array(
+ 'submitLabel' => t('Send by email'),
+ 'tabindex' => 3,
+ )) ?>
+</form>
diff --git a/app/Template/task_mail/email.php b/app/Template/task_mail/email.php
new file mode 100644
index 00000000..51f88178
--- /dev/null
+++ b/app/Template/task_mail/email.php
@@ -0,0 +1,46 @@
+<h2><?= $this->text->e($task['title']) ?> (#<?= $task['id'] ?>)</h2>
+
+<ul>
+ <li>
+ <?= t('Project: %s', $task['project_name']) ?>
+ </li>
+ <li>
+ <?= t('Created:').' '.$this->dt->datetime($task['date_creation']) ?>
+ </li>
+ <?php if ($task['date_due']): ?>
+ <li>
+ <strong><?= t('Due date:').' '.$this->dt->date($task['date_due']) ?></strong>
+ </li>
+ <?php endif ?>
+ <?php if (! empty($task['creator_username'])): ?>
+ <li>
+ <?= t('Created by %s', $task['creator_name'] ?: $task['creator_username']) ?>
+ </li>
+ <?php endif ?>
+ <li>
+ <strong>
+ <?php if (! empty($task['assignee_username'])): ?>
+ <?= t('Assigned to %s', $task['assignee_name'] ?: $task['assignee_username']) ?>
+ <?php else: ?>
+ <?= t('There is nobody assigned') ?>
+ <?php endif ?>
+ </strong>
+ </li>
+ <li>
+ <?= t('Column on the board:') ?>
+ <strong><?= $this->text->e($task['column_title']) ?></strong>
+ </li>
+ <li><?= t('Task position:').' '.$this->text->e($task['position']) ?></li>
+ <?php if (! empty($task['category_name'])): ?>
+ <li>
+ <?= t('Category:') ?> <strong><?= $this->text->e($task['category_name']) ?></strong>
+ </li>
+ <?php endif ?>
+</ul>
+
+<?php if (! empty($task['description'])): ?>
+ <h2><?= t('Description') ?></h2>
+ <?= $this->text->markdown($task['description'], true) ?>
+<?php endif ?>
+
+<?= $this->render('notification/footer', array('task' => $task, 'application_url' => $this->app->config('application_url'))) ?> \ No newline at end of file