add tags
This commit is contained in:
47
src/Task.php
47
src/Task.php
@@ -14,9 +14,9 @@ class Task
|
||||
const STATUS_DELETED = 'deleted';
|
||||
const STATUS_WAITING = 'waiting';
|
||||
|
||||
const PRIORITY_LOW = 'L';
|
||||
const PRIORITY_LOW = 'L';
|
||||
const PRIORITY_MEDIUM = 'M';
|
||||
const PRIORITY_HIGH = 'H';
|
||||
const PRIORITY_HIGH = 'H';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
@@ -53,6 +53,13 @@ class Task
|
||||
*/
|
||||
private $due;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*
|
||||
* @JMS\Type(name="array<string>")
|
||||
*/
|
||||
private $tags;
|
||||
|
||||
/**
|
||||
* @var float
|
||||
*
|
||||
@@ -156,6 +163,42 @@ class Task
|
||||
$this->due = $due;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getTags()
|
||||
{
|
||||
return (array)$this->tags;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $tags
|
||||
*/
|
||||
public function setTags(array $tags = array())
|
||||
{
|
||||
$this->tags = $tags;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $tag
|
||||
*/
|
||||
public function addTag($tag)
|
||||
{
|
||||
if (!in_array($tag, $this->tags)) {
|
||||
$this->tags[] = $tag;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $tag
|
||||
*/
|
||||
public function removeTag($tag)
|
||||
{
|
||||
if (false !== $key = array_search($tag, $this->tags)) {
|
||||
unset($this->tags[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
*/
|
||||
|
@@ -192,6 +192,7 @@ class TaskManager
|
||||
'description' => $task->getDescription(),
|
||||
'project' => $task->getProject(),
|
||||
'priority' => $task->getPriority(),
|
||||
'tags' => $task->getTags(),
|
||||
'due' => $task->getDue() ? $task->getDue()->format('Ymd\THis\Z') : null,
|
||||
],
|
||||
$task->getUuid()
|
||||
|
@@ -70,6 +70,14 @@ class Taskwarrior
|
||||
$options[] = 'priority:' . $params['priority'];
|
||||
}
|
||||
|
||||
if (array_key_exists('tags', $params)) {
|
||||
if (is_array($params['tags'])) {
|
||||
$options[] = 'tags:' . implode(',', $params['tags']);
|
||||
} else {
|
||||
$options[] = 'tags:' . $params['tags'];
|
||||
}
|
||||
}
|
||||
|
||||
if (array_key_exists('description', $params)) {
|
||||
$options[] = $params['description'];
|
||||
}
|
||||
|
Reference in New Issue
Block a user