Build code for tag report.

This commit is contained in:
James Cole
2017-02-15 20:07:10 +01:00
parent ae06f1b8f0
commit a5f8aa914f
17 changed files with 265 additions and 60 deletions

View File

@@ -19,6 +19,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Category\CategoryRepositoryInterface;
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
use Illuminate\Support\Collection;
/**
@@ -141,13 +142,34 @@ class ReportFormRequest extends Request
return $date;
}
/**
* @return Collection
*/
public function getTagList(): Collection
{
/** @var TagRepositoryInterface $repository */
$repository = app(TagRepositoryInterface::class);
$set = $this->get('tag');
$collection = new Collection;
if (is_array($set)) {
foreach ($set as $tagTag) {
$tag = $repository->findByTag($tagTag);
if (!is_null($tag->id)) {
$collection->push($tag);
}
}
}
return $collection;
}
/**
* @return array
*/
public function rules(): array
{
return [
'report_type' => 'in:audit,default,category,budget',
'report_type' => 'in:audit,default,category,budget,tag',
];
}