From 198f3eda90807c0295a013cd4ebdc3806545d608 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 4 Jul 2015 17:35:52 -0400 Subject: Add search attribute to search by reference --- app/Core/Lexer.php | 3 +++ app/Model/TaskFilter.php | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'app') diff --git a/app/Core/Lexer.php b/app/Core/Lexer.php index d277f998..f6978bbd 100644 --- a/app/Core/Lexer.php +++ b/app/Core/Lexer.php @@ -33,6 +33,8 @@ class Lexer "/^(category:)/" => 'T_CATEGORY', "/^(column:)/" => 'T_COLUMN', "/^(project:)/" => 'T_PROJECT', + "/^(ref:)/" => 'T_REFERENCE', + "/^(reference:)/" => 'T_REFERENCE', "/^(\s+)/" => 'T_WHITESPACE', '/^([<=>]{0,2}[0-9]{4}-[0-9]{2}-[0-9]{2})/' => 'T_DATE', '/^(yesterday|tomorrow|today)/' => 'T_DATE', @@ -124,6 +126,7 @@ class Lexer case 'T_STATUS': case 'T_DUE': case 'T_DESCRIPTION': + case 'T_REFERENCE': $next = next($tokens); if ($next !== false && ($next['token'] === 'T_DATE' || $next['token'] === 'T_STRING')) { diff --git a/app/Model/TaskFilter.php b/app/Model/TaskFilter.php index e9d9ccbd..0bac3f46 100644 --- a/app/Model/TaskFilter.php +++ b/app/Model/TaskFilter.php @@ -68,6 +68,9 @@ class TaskFilter extends Base case 'T_COLUMN': $this->filterByColumnName($value); break; + case 'T_REFERENCE': + $this->filterByReference($value); + break; } } @@ -140,6 +143,22 @@ class TaskFilter extends Base return $this; } + /** + * Filter by reference + * + * @access public + * @param string $reference + * @return TaskFilter + */ + public function filterByReference($reference) + { + if (! empty($reference)) { + $this->query->eq(Task::TABLE.'.reference', $reference); + } + + return $this; + } + /** * Filter by title * -- cgit v1.2.3