These routines fix #477

This commit is contained in:
James Cole 2016-12-19 21:07:22 +01:00
parent fc0ad622eb
commit 116e19ec06
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
6 changed files with 61 additions and 23 deletions

View File

@ -127,6 +127,7 @@ class AccountController extends Controller
$type = $account->accountType->type; $type = $account->accountType->type;
$typeName = config('firefly.shortNamesByFullName.' . $type); $typeName = config('firefly.shortNamesByFullName.' . $type);
$name = $account->name; $name = $account->name;
$accountId = $account->id;
$moveTo = $repository->find(intval(Input::get('move_account_before_delete'))); $moveTo = $repository->find(intval(Input::get('move_account_before_delete')));
$repository->destroy($account, $moveTo); $repository->destroy($account, $moveTo);
@ -134,7 +135,13 @@ class AccountController extends Controller
Session::flash('success', strval(trans('firefly.' . $typeName . '_deleted', ['name' => $name]))); Session::flash('success', strval(trans('firefly.' . $typeName . '_deleted', ['name' => $name])));
Preferences::mark(); Preferences::mark();
return redirect(session('accounts.delete.url')); $uri = session('accounts.delete.url');
if (!(strpos($uri, sprintf('accounts/show/%s', $accountId)) === false)) {
// uri would point back to account
$uri = route('accounts.index', [$typeName]);
}
return redirect($uri);
} }
/** /**

View File

@ -100,12 +100,19 @@ class BillController extends Controller
public function destroy(BillRepositoryInterface $repository, Bill $bill) public function destroy(BillRepositoryInterface $repository, Bill $bill)
{ {
$name = $bill->name; $name = $bill->name;
$billId = $bill->id;
$repository->destroy($bill); $repository->destroy($bill);
Session::flash('success', strval(trans('firefly.deleted_bill', ['name' => $name]))); Session::flash('success', strval(trans('firefly.deleted_bill', ['name' => $name])));
Preferences::mark(); Preferences::mark();
return redirect(session('bills.delete.url')); $uri = session('bills.delete.url');
if (!(strpos($uri, sprintf('bills/show/%s', $billId)) === false)) {
// uri would point back to bill
$uri = route('bills.index');
}
return redirect($uri);
} }
/** /**

View File

@ -135,14 +135,20 @@ class BudgetController extends Controller
{ {
$name = $budget->name; $name = $budget->name;
$budgetId = $budget->id;
$repository->destroy($budget); $repository->destroy($budget);
Session::flash('success', strval(trans('firefly.deleted_budget', ['name' => e($name)]))); Session::flash('success', strval(trans('firefly.deleted_budget', ['name' => e($name)])));
Preferences::mark(); Preferences::mark();
$uri = session('budgets.delete.url');
if (!(strpos($uri, sprintf('budgets/show/%s', $budgetId)) === false)) {
// uri would point back to budget
$uri = route('budgets.index');
}
return redirect(session('budgets.delete.url')); return redirect($uri);
} }
/** /**

View File

@ -99,12 +99,19 @@ class CategoryController extends Controller
{ {
$name = $category->name; $name = $category->name;
$categoryId = $category->id;
$repository->destroy($category); $repository->destroy($category);
Session::flash('success', strval(trans('firefly.deleted_category', ['name' => e($name)]))); Session::flash('success', strval(trans('firefly.deleted_category', ['name' => e($name)])));
Preferences::mark(); Preferences::mark();
return redirect(session('categories.delete.url')); $uri = session('categories.delete.url');
if (!(strpos($uri, sprintf('categories/show/%s', $categoryId)) === false)) {
// uri would point back to category
$uri = route('categories.index');
}
return redirect($uri);
} }
/** /**

View File

@ -150,13 +150,18 @@ class PiggyBankController extends Controller
*/ */
public function destroy(PiggyBankRepositoryInterface $repository, PiggyBank $piggyBank) public function destroy(PiggyBankRepositoryInterface $repository, PiggyBank $piggyBank)
{ {
Session::flash('success', strval(trans('firefly.deleted_piggy_bank', ['name' => e($piggyBank->name)]))); Session::flash('success', strval(trans('firefly.deleted_piggy_bank', ['name' => e($piggyBank->name)])));
Preferences::mark(); Preferences::mark();
$piggyBankId = $piggyBank->id;
$repository->destroy($piggyBank); $repository->destroy($piggyBank);
return redirect(session('piggy-banks.delete.url')); $uri = session('piggy-banks.delete.url');
if (!(strpos($uri, sprintf('piggy-banks/show/%s', $piggyBankId)) === false)) {
// uri would point back to piggy bank
$uri = route('piggy-banks.index');
}
return redirect($uri);
} }
/** /**
@ -260,6 +265,7 @@ class PiggyBankController extends Controller
$repository->setOrder(intval($id), ($order + 1)); $repository->setOrder(intval($id), ($order + 1));
} }
} }
return Response::json(['result' => 'ok']); return Response::json(['result' => 'ok']);
} }

View File

@ -153,7 +153,7 @@ class SingleController extends Controller
if ($this->isOpeningBalance($transactionJournal)) { if ($this->isOpeningBalance($transactionJournal)) {
return $this->redirectToAccount($transactionJournal); return $this->redirectToAccount($transactionJournal);
} }
$journalId = $transactionJournal->id;
$type = TransactionJournal::transactionTypeStr($transactionJournal); $type = TransactionJournal::transactionTypeStr($transactionJournal);
Session::flash('success', strval(trans('firefly.deleted_' . strtolower($type), ['description' => e($transactionJournal->description)]))); Session::flash('success', strval(trans('firefly.deleted_' . strtolower($type), ['description' => e($transactionJournal->description)])));
@ -161,8 +161,13 @@ class SingleController extends Controller
Preferences::mark(); Preferences::mark();
// redirect to previous URL: $uri = session('transactions.delete.url');
return redirect(session('transactions.delete.url')); if (!(strpos($uri, sprintf('transactions/show/%s', $journalId)) === false)) {
// uri would point back to transaction
$uri = route('transactions.index', [strtolower($type)]);
}
return redirect($uri);
} }
/** /**