mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 10:33:30 +00:00
Moved destroy() method from CRUD to Account repos.
This commit is contained in:
@@ -52,23 +52,7 @@ class AccountCrud implements AccountCrudInterface
|
|||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param Account $account
|
|
||||||
* @param Account $moveTo
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function destroy(Account $account, Account $moveTo): bool
|
|
||||||
{
|
|
||||||
if (!is_null($moveTo->id)) {
|
|
||||||
DB::table('transactions')->where('account_id', $account->id)->update(['account_id' => $moveTo->id]);
|
|
||||||
}
|
|
||||||
if (!is_null($account)) {
|
|
||||||
$account->delete();
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $accountId
|
* @param $accountId
|
||||||
|
@@ -24,13 +24,6 @@ use Illuminate\Support\Collection;
|
|||||||
*/
|
*/
|
||||||
interface AccountCrudInterface
|
interface AccountCrudInterface
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @param Account $account
|
|
||||||
* @param Account $moveTo
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function destroy(Account $account, Account $moveTo): bool;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param int $accountId
|
* @param int $accountId
|
||||||
|
@@ -94,19 +94,20 @@ class AccountController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @param ARI $repository
|
||||||
* @param AccountCrudInterface $crud
|
* @param AccountCrudInterface $crud
|
||||||
* @param Account $account
|
* @param Account $account
|
||||||
*
|
*
|
||||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||||
*/
|
*/
|
||||||
public function destroy(AccountCrudInterface $crud, Account $account)
|
public function destroy(ARI $repository, AccountCrudInterface $crud, Account $account)
|
||||||
{
|
{
|
||||||
$type = $account->accountType->type;
|
$type = $account->accountType->type;
|
||||||
$typeName = config('firefly.shortNamesByFullName.' . $type);
|
$typeName = config('firefly.shortNamesByFullName.' . $type);
|
||||||
$name = $account->name;
|
$name = $account->name;
|
||||||
$moveTo = $crud->find(intval(Input::get('move_account_before_delete')));
|
$moveTo = $crud->find(intval(Input::get('move_account_before_delete')));
|
||||||
|
|
||||||
$crud->destroy($account, $moveTo);
|
$repository->destroy($account, $moveTo);
|
||||||
|
|
||||||
Session::flash('success', strval(trans('firefly.' . $typeName . '_deleted', ['name' => $name])));
|
Session::flash('success', strval(trans('firefly.' . $typeName . '_deleted', ['name' => $name])));
|
||||||
Preferences::mark();
|
Preferences::mark();
|
||||||
|
@@ -64,6 +64,26 @@ class AccountRepository implements AccountRepositoryInterface
|
|||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Moved here from account CRUD.
|
||||||
|
*
|
||||||
|
* @param Account $account
|
||||||
|
* @param Account $moveTo
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function destroy(Account $account, Account $moveTo): bool
|
||||||
|
{
|
||||||
|
if (!is_null($moveTo->id)) {
|
||||||
|
DB::table('transactions')->where('account_id', $account->id)->update(['account_id' => $moveTo->id]);
|
||||||
|
}
|
||||||
|
if (!is_null($account)) {
|
||||||
|
$account->delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will call AccountRepositoryInterface::journalsInPeriod and get all withdrawaks made from the given $accounts,
|
* This method will call AccountRepositoryInterface::journalsInPeriod and get all withdrawaks made from the given $accounts,
|
||||||
* as well as the transfers that move away from those $accounts. This is a slightly sharper selection
|
* as well as the transfers that move away from those $accounts. This is a slightly sharper selection
|
||||||
|
@@ -26,6 +26,7 @@ use Illuminate\Support\Collection;
|
|||||||
*/
|
*/
|
||||||
interface AccountRepositoryInterface
|
interface AccountRepositoryInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Moved here from account CRUD.
|
* Moved here from account CRUD.
|
||||||
*
|
*
|
||||||
@@ -35,6 +36,16 @@ interface AccountRepositoryInterface
|
|||||||
*/
|
*/
|
||||||
public function count(array $types): int;
|
public function count(array $types): int;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Moved here from account CRUD.
|
||||||
|
*
|
||||||
|
* @param Account $account
|
||||||
|
* @param Account $moveTo
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function destroy(Account $account, Account $moveTo): bool;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will call AccountRepositoryInterface::journalsInPeriod and get all withdrawaks made from the given $accounts,
|
* This method will call AccountRepositoryInterface::journalsInPeriod and get all withdrawaks made from the given $accounts,
|
||||||
* as well as the transfers that move away from those $accounts. This is a slightly sharper selection
|
* as well as the transfers that move away from those $accounts. This is a slightly sharper selection
|
||||||
|
Reference in New Issue
Block a user