This commit is contained in:
James Cole
2016-09-24 10:58:48 +02:00
parent ab6dd0a1ec
commit 6fef9ee72b
3 changed files with 30 additions and 14 deletions

View File

@@ -217,26 +217,17 @@ class TagController extends Controller
}
/**
* @param Tag $tag
* @param Tag $tag
* @param TagRepositoryInterface $repository
*
* @return View
*/
public function show(Tag $tag)
public function show(Tag $tag, TagRepositoryInterface $repository)
{
$subTitle = $tag->tag;
$subTitleIcon = 'fa-tag';
/** @var Collection $journals */
$journals = $tag
->transactionJournals()
->sortCorrectly()
->expanded()
->groupBy(['tag_transaction_journal.tag_id'])
->get(TransactionJournal::queryFields());
$sum = $journals->sum(
$journals = $repository->getJournals($tag);
$sum = $journals->sum(
function (TransactionJournal $journal) {
return TransactionJournal::amount($journal);
}

View File

@@ -131,6 +131,24 @@ class TagRepository implements TagRepositoryInterface
return $tags;
}
/**
* @param Tag $tag
*
* @return Collection
*/
public function getJournals(Tag $tag) : Collection
{
/** @var Collection $journals */
$journals = $tag
->transactionJournals()
->sortCorrectly()
->expanded()
->groupBy(['tag_transaction_journal.tag_id'])
->get(TransactionJournal::queryFields());
return $journals;
}
/**
* @param array $data
*

View File

@@ -33,6 +33,13 @@ interface TagRepositoryInterface
*/
public function connect(TransactionJournal $journal, Tag $tag): bool;
/**
* @param Tag $tag
*
* @return Collection
*/
public function getJournals(Tag $tag) : Collection;
/**
* This method destroys a tag.
*