Expand a few repositories to support user groups.

This commit is contained in:
James Cole
2025-02-09 09:30:44 +01:00
parent c61389037d
commit 53e46895aa
22 changed files with 121 additions and 76 deletions

View File

@@ -43,6 +43,7 @@ use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface;
use FireflyIII\Services\Internal\Destroy\TransactionGroupDestroyService;
use FireflyIII\Services\Internal\Update\GroupUpdateService;
use FireflyIII\Support\NullArrayObject;
use FireflyIII\Support\Repositories\UserGroup\UserGroupTrait;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Builder;
@@ -53,7 +54,7 @@ use Illuminate\Support\Collection;
*/
class TransactionGroupRepository implements TransactionGroupRepositoryInterface
{
private User $user;
use UserGroupTrait;
public function countAttachments(int $journalId): int
{
@@ -163,13 +164,6 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface
return $result;
}
public function setUser(null|Authenticatable|User $user): void
{
if ($user instanceof User) {
$this->user = $user;
}
}
/**
* Get the note text for a journal (by ID).
*/
@@ -408,7 +402,8 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface
{
/** @var TransactionGroupFactory $factory */
$factory = app(TransactionGroupFactory::class);
$factory->setUser($this->user);
$factory->setUser($data['user']);
$factory->setUserGroup($data['user_group']);
try {
return $factory->create($data);

View File

@@ -28,6 +28,7 @@ use FireflyIII\Exceptions\DuplicateTransactionException;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Location;
use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\UserGroup;
use FireflyIII\Support\NullArrayObject;
use FireflyIII\User;
use Illuminate\Contracts\Auth\Authenticatable;
@@ -98,6 +99,7 @@ interface TransactionGroupRepositoryInterface
public function getTags(int $journalId): array;
public function setUser(null|Authenticatable|User $user): void;
public function setUserGroup(UserGroup $userGroup): void;
/**
* Create a new transaction group.