mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-18 02:03:40 +00:00
Updated accounts so actions will trigger cache flush.
This commit is contained in:
@@ -94,7 +94,7 @@ class AccountController extends BaseController
|
||||
*/
|
||||
foreach ($journals as $id) {
|
||||
$journal = $jrnls->find($id);
|
||||
$journal->delete();
|
||||
$jrnls->destroy($journal);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -243,9 +243,9 @@ class AccountController extends BaseController
|
||||
$acct = App::make('FireflyIII\Database\Account');
|
||||
if (Input::get('showAll') == 'true') {
|
||||
|
||||
$journals = $acct->getAllTransactionJournals($account, 10);
|
||||
$journals = $acct->getAllTransactionJournals($account, 50);
|
||||
} else {
|
||||
$journals = $acct->getTransactionJournals($account, 10);
|
||||
$journals = $acct->getTransactionJournals($account, 50);
|
||||
}
|
||||
|
||||
|
||||
@@ -321,6 +321,7 @@ class AccountController extends BaseController
|
||||
throw new FireflyException('Cannot handle account type "' . e($account->accountType->type) . '"');
|
||||
break;
|
||||
case 'Default account':
|
||||
case 'Asset account':
|
||||
$data['what'] = 'asset';
|
||||
break;
|
||||
case 'Expense account':
|
||||
|
@@ -103,19 +103,6 @@ class TransactionController extends BaseController
|
||||
{
|
||||
$type = $transactionJournal->transactionType->type;
|
||||
|
||||
/*
|
||||
* Trigger creation of new piggy bank event
|
||||
*/
|
||||
Event::fire('transactionJournal.destroy', [$transactionJournal]); // new and used.
|
||||
/*
|
||||
* Since this event will also destroy both transactions, trigger on those as
|
||||
* well because we might want to update some caches and what-not.
|
||||
*/
|
||||
/** @var Transaction $transaction */
|
||||
foreach ($transactionJournal->transactions as $transaction) {
|
||||
Event::fire('transaction.destroy', [$transaction]);
|
||||
}
|
||||
|
||||
/** @var \FireflyIII\Database\TransactionJournal $repository */
|
||||
$repository = App::make('FireflyIII\Database\TransactionJournal');
|
||||
$repository->destroy($transactionJournal);
|
||||
|
@@ -206,7 +206,6 @@ class Account implements CUD, CommonDatabaseCalls, AccountInterface
|
||||
exit;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -216,6 +215,10 @@ class Account implements CUD, CommonDatabaseCalls, AccountInterface
|
||||
*/
|
||||
public function destroy(Ardent $model)
|
||||
{
|
||||
/*
|
||||
* Trigger deletion:
|
||||
*/
|
||||
\Event::fire('account.destroy', [$model]);
|
||||
$model->delete();
|
||||
|
||||
return true;
|
||||
@@ -256,6 +259,7 @@ class Account implements CUD, CommonDatabaseCalls, AccountInterface
|
||||
|
||||
|
||||
/* Tell transaction journal to store a new one.*/
|
||||
\Event::fire('account.store', [$account]);
|
||||
|
||||
|
||||
return $account;
|
||||
@@ -274,7 +278,7 @@ class Account implements CUD, CommonDatabaseCalls, AccountInterface
|
||||
$model->active = isset($data['active']) ? intval($data['active']) : 0;
|
||||
$model->save();
|
||||
|
||||
if (isset($data['openingbalance']) && isset($data['openingbalancedate'])) {
|
||||
if (isset($data['openingbalance']) && isset($data['openingbalancedate']) && strlen($data['openingbalancedate']) > 0) {
|
||||
$openingBalance = $this->openingBalanceTransaction($model);
|
||||
|
||||
$openingBalance->date = new Carbon($data['openingbalancedate']);
|
||||
@@ -290,7 +294,7 @@ class Account implements CUD, CommonDatabaseCalls, AccountInterface
|
||||
$transaction->save();
|
||||
}
|
||||
}
|
||||
|
||||
\Event::fire('account.update', [$model]);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -37,6 +37,19 @@ class TransactionJournal implements TransactionJournalInterface, CUD, CommonData
|
||||
*/
|
||||
public function destroy(Ardent $model)
|
||||
{
|
||||
/*
|
||||
* Trigger deletion.
|
||||
*/
|
||||
\Event::fire('transactionJournal.destroy', [$model]); // new and used.
|
||||
/*
|
||||
* Since this event will also destroy both transactions, trigger on those as
|
||||
* well because we might want to update some caches and what-not.
|
||||
*/
|
||||
/** @var Transaction $transaction */
|
||||
foreach ($model->transactions as $transaction) {
|
||||
\Event::fire('transaction.destroy', [$transaction]);
|
||||
}
|
||||
|
||||
$model->delete();
|
||||
|
||||
return true;
|
||||
|
39
app/lib/FireflyIII/Event/Account.php
Normal file
39
app/lib/FireflyIII/Event/Account.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace FireflyIII\Event;
|
||||
|
||||
|
||||
use Illuminate\Events\Dispatcher;
|
||||
|
||||
class Account
|
||||
{
|
||||
public function destroy(\Account $account)
|
||||
{
|
||||
\Cache::forget('account.' . $account->id . '.latestBalance');
|
||||
\Cache::forget('account.' . $account->id . '.lastActivityDate');
|
||||
}
|
||||
|
||||
public function store(\Account $account)
|
||||
{
|
||||
|
||||
\Cache::forget('account.' . $account->id . '.latestBalance');
|
||||
\Cache::forget('account.' . $account->id . '.lastActivityDate');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Dispatcher $events
|
||||
*/
|
||||
public function subscribe(Dispatcher $events)
|
||||
{
|
||||
// triggers when others are updated.
|
||||
$events->listen('account.store', 'FireflyIII\Event\Account@store');
|
||||
$events->listen('account.update', 'FireflyIII\Event\Account@update');
|
||||
$events->listen('account.destroy', 'FireflyIII\Event\Account@destroy');
|
||||
}
|
||||
|
||||
public function update(\Account $account)
|
||||
{
|
||||
\Cache::forget('account.' . $account->id . '.latestBalance');
|
||||
\Cache::forget('account.' . $account->id . '.lastActivityDate');
|
||||
}
|
||||
}
|
@@ -20,6 +20,7 @@
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
<!-- TODO clean up these methods and everything associated with them. -->
|
||||
@if(Input::get('showAll') == 'true')
|
||||
<a href="{{route('accounts.show',$account->id)}}" class="btn btn-default">Stick to date-range</a>
|
||||
@else
|
||||
|
@@ -92,6 +92,7 @@ Event::subscribe('FireflyIII\Event\Piggybank');
|
||||
Event::subscribe('FireflyIII\Event\Budget');
|
||||
Event::subscribe('FireflyIII\Event\TransactionJournal');
|
||||
Event::subscribe('FireflyIII\Event\Transaction');
|
||||
Event::subscribe('FireflyIII\Event\Account');
|
||||
|
||||
// event that creates a relationship between transaction journals and recurring events when created.
|
||||
// event that updates the relationship between transaction journals and recurring events when edited.
|
||||
|
Reference in New Issue
Block a user