Allow to associate project categories to colors
The color is then used as background in the board and list views
This commit is contained in:
parent
efd64d842d
commit
ae3ade0908
|
|
@ -41,6 +41,7 @@ class CategoryController extends BaseController
|
|||
|
||||
$this->response->html($this->template->render('category/create', array(
|
||||
'values' => $values + array('project_id' => $project['id']),
|
||||
'colors' => $this->colorModel->getList(),
|
||||
'errors' => $errors,
|
||||
'project' => $project,
|
||||
)));
|
||||
|
|
@ -87,6 +88,7 @@ class CategoryController extends BaseController
|
|||
|
||||
$this->response->html($this->template->render('category/edit', array(
|
||||
'values' => empty($values) ? $category : $values,
|
||||
'colors' => $this->colorModel->getList(),
|
||||
'errors' => $errors,
|
||||
'project' => $project,
|
||||
)));
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ class ColorModel extends Base
|
|||
$buffer = '';
|
||||
|
||||
foreach ($this->default_colors as $color => $values) {
|
||||
$buffer .= '.task-board.color-'.$color.', .task-summary-container.color-'.$color.', .color-picker-square.color-'.$color.' {';
|
||||
$buffer .= '.task-board.color-'.$color.', .task-summary-container.color-'.$color.', .color-picker-square.color-'.$color.', .task-board-category.color-'.$color.', .table-list-category.color-'.$color.' {';
|
||||
$buffer .= 'background-color: '.$values['background'].';';
|
||||
$buffer .= 'border-color: '.$values['border'];
|
||||
$buffer .= '}';
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ class TaskFinderModel extends Base
|
|||
UserModel::TABLE.'.avatar_path AS assignee_avatar_path',
|
||||
CategoryModel::TABLE.'.name AS category_name',
|
||||
CategoryModel::TABLE.'.description AS category_description',
|
||||
CategoryModel::TABLE.'.color_id AS category_color_id',
|
||||
ColumnModel::TABLE.'.title AS column_name',
|
||||
ColumnModel::TABLE.'.position AS column_position',
|
||||
SwimlaneModel::TABLE.'.name AS swimlane_name',
|
||||
|
|
|
|||
|
|
@ -8,7 +8,12 @@ use PDO;
|
|||
use Kanboard\Core\Security\Token;
|
||||
use Kanboard\Core\Security\Role;
|
||||
|
||||
const VERSION = 131;
|
||||
const VERSION = 132;
|
||||
|
||||
function version_132(PDO $pdo)
|
||||
{
|
||||
$pdo->exec('ALTER TABLE `project_has_categories` ADD COLUMN `color_id` VARCHAR(50) DEFAULT NULL');
|
||||
}
|
||||
|
||||
function version_131(PDO $pdo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,12 @@ use PDO;
|
|||
use Kanboard\Core\Security\Token;
|
||||
use Kanboard\Core\Security\Role;
|
||||
|
||||
const VERSION = 109;
|
||||
const VERSION = 110;
|
||||
|
||||
function version_110(PDO $pdo)
|
||||
{
|
||||
$pdo->exec('ALTER TABLE "project_has_categories" ADD COLUMN "color_id" VARCHAR(50) DEFAULT NULL');
|
||||
}
|
||||
|
||||
function version_109(PDO $pdo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -294,6 +294,7 @@ CREATE TABLE `project_has_categories` (
|
|||
`name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`project_id` int(11) NOT NULL,
|
||||
`description` mediumtext COLLATE utf8mb4_unicode_ci,
|
||||
`color_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `idx_project_category` (`project_id`,`name`),
|
||||
KEY `categories_project_idx` (`project_id`),
|
||||
|
|
|
|||
|
|
@ -542,7 +542,8 @@ CREATE TABLE "project_has_categories" (
|
|||
"id" integer NOT NULL,
|
||||
"name" character varying(255) NOT NULL,
|
||||
"project_id" integer NOT NULL,
|
||||
"description" "text"
|
||||
"description" "text",
|
||||
"color_id" character varying(255)
|
||||
);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,12 @@ use Kanboard\Core\Security\Token;
|
|||
use Kanboard\Core\Security\Role;
|
||||
use PDO;
|
||||
|
||||
const VERSION = 118;
|
||||
const VERSION = 119;
|
||||
|
||||
function version_119(PDO $pdo)
|
||||
{
|
||||
$pdo->exec('ALTER TABLE project_has_categories ADD COLUMN color_id TEXT DEFAULT NULL');
|
||||
}
|
||||
|
||||
function version_118(PDO $pdo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php if (! empty($task['category_id'])): ?>
|
||||
<div class="task-board-category-container task-board-category-container-color">
|
||||
<span class="task-board-category category-<?= $this->text->e($task['category_name']) ?>">
|
||||
<span class="task-board-category category-<?= $this->text->e($task['category_name']) ?> <?= $task['category_color_id'] ? "color-{$task['category_color_id']}" : '' ?>">
|
||||
<?php if ($not_editable): ?>
|
||||
<?= $this->text->e($task['category_name']) ?>
|
||||
<?php else: ?>
|
||||
|
|
|
|||
|
|
@ -7,5 +7,8 @@
|
|||
<?= $this->form->label(t('Category Name'), 'name') ?>
|
||||
<?= $this->form->text('name', $values, $errors, array('autofocus', 'required')) ?>
|
||||
|
||||
<?= $this->form->label(t('Color'), 'color_id') ?>
|
||||
<?= $this->form->select('color_id', array('' => t('No color')) + $colors, $values, $errors, array(), 'color-picker') ?>
|
||||
|
||||
<?= $this->modal->submitButtons() ?>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -11,5 +11,8 @@
|
|||
<?= $this->form->label(t('Description'), 'description') ?>
|
||||
<?= $this->form->textEditor('description', $values, $errors, array('tabindex' => 2)) ?>
|
||||
|
||||
<?= $this->form->label(t('Color'), 'color_id') ?>
|
||||
<?= $this->form->select('color_id', array('' => t('No color')) + $colors, $values, $errors, array(), 'color-picker') ?>
|
||||
|
||||
<?= $this->modal->submitButtons() ?>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<?= $this->text->e($task['column_name']) ?>
|
||||
|
||||
<?php if (! empty($task['category_id'])): ?>
|
||||
<span class="table-list-category">
|
||||
<span class="table-list-category <?= $task['category_color_id'] ? "color-{$task['category_color_id']}" : '' ?>">
|
||||
<?php if ($this->user->hasProjectAccess('TaskModificationController', 'edit', $task['project_id'])): ?>
|
||||
<?= $this->url->link(
|
||||
$this->text->e($task['category_name']),
|
||||
|
|
|
|||
Loading…
Reference in New Issue