summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFrancois Ferrand <thetypz@gmail.com>2015-02-24 14:20:34 +0100
committerFrancois Ferrand <thetypz@gmail.com>2015-02-24 14:21:23 +0100
commitdedf425e8168b2c38e8566a3d407f77fb11cc001 (patch)
tree1ea3e6bbb6bce46c34ade9cb9ee216fc7a63a718 /app
parent0450d86a18b1bc16b88bf3d3540a00eb9318203e (diff)
Add project description field.
Description is shown in a popup when hovering the 'information' icon, like column description, which is shown in project list on dashboard and in board's title. This is useful to document the categories and colors used in the project.
Diffstat (limited to 'app')
-rw-r--r--app/Controller/Board.php2
-rw-r--r--app/Schema/Mysql.php7
-rw-r--r--app/Schema/Postgres.php7
-rw-r--r--app/Schema/Sqlite.php7
-rw-r--r--app/Template/app/projects.php10
-rw-r--r--app/Template/layout.php8
-rw-r--r--app/Template/project/edit.php23
-rw-r--r--app/Template/project/index.php8
-rw-r--r--app/Template/project/show.php10
9 files changed, 74 insertions, 8 deletions
diff --git a/app/Controller/Board.php b/app/Controller/Board.php
index 90b7f357..a6e002f2 100644
--- a/app/Controller/Board.php
+++ b/app/Controller/Board.php
@@ -127,6 +127,7 @@ class Board extends Base
'swimlanes' => $this->board->getBoard($project['id']),
'categories' => $this->category->getList($project['id'], false),
'title' => $project['name'],
+ 'description' => $project['description'],
'no_layout' => true,
'not_editable' => true,
'board_public_refresh_interval' => $this->config->get('board_public_refresh_interval'),
@@ -187,6 +188,7 @@ class Board extends Base
'swimlanes' => $this->board->getBoard($project['id']),
'categories' => $this->category->getList($project['id'], true, true),
'title' => $project['name'],
+ 'description' => $project['description'],
'board_selector' => $board_selector,
'board_private_refresh_interval' => $this->config->get('board_private_refresh_interval'),
'board_highlight_period' => $this->config->get('board_highlight_period'),
diff --git a/app/Schema/Mysql.php b/app/Schema/Mysql.php
index 947a62b3..eeab24d6 100644
--- a/app/Schema/Mysql.php
+++ b/app/Schema/Mysql.php
@@ -6,7 +6,12 @@ use PDO;
use Core\Security;
use Model\Link;
-const VERSION = 46;
+const VERSION = 47;
+
+function version_47($pdo)
+{
+ $pdo->exec('ALTER TABLE projects ADD COLUMN description TEXT');
+}
function version_46($pdo)
{
diff --git a/app/Schema/Postgres.php b/app/Schema/Postgres.php
index 027401ff..c3e8fbda 100644
--- a/app/Schema/Postgres.php
+++ b/app/Schema/Postgres.php
@@ -6,7 +6,12 @@ use PDO;
use Core\Security;
use Model\Link;
-const VERSION = 27;
+const VERSION = 28;
+
+function version_28($pdo)
+{
+ $pdo->exec('ALTER TABLE projects ADD COLUMN description TEXT');
+}
function version_27($pdo)
{
diff --git a/app/Schema/Sqlite.php b/app/Schema/Sqlite.php
index c6dec33f..eefa0ae1 100644
--- a/app/Schema/Sqlite.php
+++ b/app/Schema/Sqlite.php
@@ -6,7 +6,12 @@ use Core\Security;
use PDO;
use Model\Link;
-const VERSION = 45;
+const VERSION = 46;
+
+function version_46($pdo)
+{
+ $pdo->exec('ALTER TABLE projects ADD COLUMN description TEXT');
+}
function version_45($pdo)
{
diff --git a/app/Template/app/projects.php b/app/Template/app/projects.php
index 4740c4b8..c3a39a83 100644
--- a/app/Template/app/projects.php
+++ b/app/Template/app/projects.php
@@ -17,9 +17,15 @@
<?php if ($this->isManager($project['id'])): ?>
<?= $this->a('<i class="fa fa-cog"></i>', 'project', 'show', array('project_id' => $project['id']), false, 'dashboard-table-link', t('Settings')) ?>&nbsp;
<?php endif ?>
-
+
<?= $this->a('<i class="fa fa-calendar"></i>', 'calendar', 'show', array('project_id' => $project['id']), false, 'dashboard-table-link', t('Calendar')) ?>&nbsp;
+
<?= $this->a($this->e($project['name']), 'board', 'show', array('project_id' => $project['id'])) ?>
+ <?php if (! empty($project['description'])): ?>
+ <span class="column-tooltip" title="<?= $this->markdown($project['description']) ?>">
+ <i class="fa fa-info-circle"></i>
+ </span>
+ <?php endif ?>
</td>
<td class="dashboard-project-stats">
<?php foreach ($project['columns'] as $column): ?>
@@ -32,4 +38,4 @@
</table>
<?= $paginator ?>
-<?php endif ?> \ No newline at end of file
+<?php endif ?>
diff --git a/app/Template/layout.php b/app/Template/layout.php
index ad4c4084..7adb0559 100644
--- a/app/Template/layout.php
+++ b/app/Template/layout.php
@@ -35,7 +35,13 @@
<?php else: ?>
<header>
<nav>
- <h1><?= $this->a('K<span>B</span>', 'app', 'index', array(), false, 'logo', t('Dashboard')).' '.$this->summary($this->e($title)) ?></h1>
+ <h1><?= $this->a('K<span>B</span>', 'app', 'index', array(), false, 'logo', t('Dashboard')).' '.$this->summary($this->e($title)) ?>
+ <?php if (! empty($description)): ?>
+ <span class="column-tooltip" title="<?= $this->markdown($description) ?>">
+ <i class="fa fa-info-circle"></i>
+ </span>
+ <?php endif ?>
+ </h1>
<ul>
<?php if (isset($board_selector) && ! empty($board_selector)): ?>
<li>
diff --git a/app/Template/project/edit.php b/app/Template/project/edit.php
index a1b945cd..37b03fe1 100644
--- a/app/Template/project/edit.php
+++ b/app/Template/project/edit.php
@@ -9,7 +9,28 @@
<?= $this->formLabel(t('Name'), 'name') ?>
<?= $this->formText('name', $values, $errors, array('required', 'maxlength="50"')) ?>
+ <?= $this->formLabel(t('Description'), 'description') ?>
+
+ <div class="form-tabs">
+
+ <div class="write-area">
+ <?= $this->formTextarea('description', $values, $errors) ?>
+ </div>
+ <div class="preview-area">
+ <div class="markdown"></div>
+ </div>
+ <ul class="form-tabs-nav">
+ <li class="form-tab form-tab-selected">
+ <i class="fa fa-pencil-square-o fa-fw"></i><a id="markdown-write" href="#"><?= t('Write') ?></a>
+ </li>
+ <li class="form-tab">
+ <a id="markdown-preview" href="#"><i class="fa fa-eye fa-fw"></i><?= t('Preview') ?></a>
+ </li>
+ </ul>
+ </div>
+ <div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
+
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
</div>
-</form> \ No newline at end of file
+</form>
diff --git a/app/Template/project/index.php b/app/Template/project/index.php
index a36a9ce1..50ca0435 100644
--- a/app/Template/project/index.php
+++ b/app/Template/project/index.php
@@ -39,7 +39,13 @@
<?php if ($project['is_private']): ?>
<i class="fa fa-lock fa-fw"></i>
<?php endif ?>
+
<?= $this->a($this->e($project['name']), 'project', 'show', array('project_id' => $project['id'])) ?>
+ <?php if (! empty($project['description'])): ?>
+ <span class="column-tooltip" title="<?= $this->markdown($project['description']) ?>">
+ <i class="fa fa-info-circle"></i>
+ </span>
+ <?php endif ?>
</td>
<td class="dashboard-project-stats">
<?php foreach ($project['columns'] as $column): ?>
@@ -54,4 +60,4 @@
<?= $paginator ?>
<?php endif ?>
</section>
-</section> \ No newline at end of file
+</section>
diff --git a/app/Template/project/show.php b/app/Template/project/show.php
index b8bfd510..b0003370 100644
--- a/app/Template/project/show.php
+++ b/app/Template/project/show.php
@@ -60,3 +60,13 @@
</tr>
<?php endforeach ?>
</table>
+
+<?php if (! empty($project['description'])): ?>
+ <div class="page-header">
+ <h2><?= t('Description') ?></h2>
+ </div>
+
+ <article class="markdown">
+ <?= $this->markdown($project['description']) ?>
+ </article>
+<?php endif ?>