Can sort and group bills.

This commit is contained in:
James Cole
2020-07-01 06:33:21 +02:00
parent 029774687c
commit e337bcf8bd
11 changed files with 202 additions and 25 deletions

View File

@@ -32,6 +32,7 @@ use FireflyIII\Models\Note;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\ObjectGroup\CreatesObjectGroups;
use FireflyIII\Services\Internal\Destroy\BillDestroyService;
use FireflyIII\Services\Internal\Update\BillUpdateService;
use FireflyIII\Support\CacheProperties;
@@ -48,6 +49,7 @@ use Storage;
*/
class BillRepository implements BillRepositoryInterface
{
use CreatesObjectGroups;
/** @var User */
private $user;
@@ -730,4 +732,36 @@ class BillRepository implements BillRepositoryInterface
$current++;
}
}
/**
* @inheritDoc
*/
public function setObjectGroup(Bill $bill, string $objectGroupTitle): Bill
{
$objectGroup = $this->findOrCreateObjectGroup($objectGroupTitle);
if (null !== $objectGroup) {
$bill->objectGroups()->sync([$objectGroup->id]);
}
return $bill;
}
/**
* @inheritDoc
*/
public function removeObjectGroup(Bill $bill): Bill
{
$bill->objectGroups()->sync([]);
return $bill;
}
/**
* @inheritDoc
*/
public function setOrder(Bill $bill, int $order): void
{
$bill->order = $order;
$bill->save();
}
}