mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-01-13 09:32:48 -06:00
Fix #1074
This commit is contained in:
parent
6d9baaa499
commit
d9dd00eb39
@ -29,6 +29,7 @@ use FireflyIII\Helpers\Collector\JournalCollectorInterface;
|
||||
use FireflyIII\Http\Requests\AccountFormRequest;
|
||||
use FireflyIII\Models\Account;
|
||||
use FireflyIII\Models\AccountType;
|
||||
use FireflyIII\Models\Note;
|
||||
use FireflyIII\Models\Transaction;
|
||||
use FireflyIII\Models\TransactionType;
|
||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||
@ -195,7 +196,15 @@ class AccountController extends Controller
|
||||
'openingBalance' => $openingBalanceAmount,
|
||||
'virtualBalance' => $account->virtual_balance,
|
||||
'currency_id' => $currency->id,
|
||||
'notes' => '',
|
||||
];
|
||||
/** @var Note $note */
|
||||
$note = $account->notes()->first();
|
||||
if (null !== $note) {
|
||||
$preFilled['notes'] = $note->text;
|
||||
}
|
||||
|
||||
|
||||
$request->session()->flash('preFilled', $preFilled);
|
||||
|
||||
return view(
|
||||
|
@ -57,6 +57,7 @@ class AccountFormRequest extends Request
|
||||
'openingBalanceDate' => $this->date('openingBalanceDate'),
|
||||
'ccType' => $this->string('ccType'),
|
||||
'ccMonthlyPaymentDate' => $this->string('ccMonthlyPaymentDate'),
|
||||
'notes' => $this->string('notes'),
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -345,6 +345,15 @@ class Account extends Model
|
||||
$this->attributes['iban'] = Crypt::encrypt($value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
* Get all of the notes.
|
||||
*/
|
||||
public function notes()
|
||||
{
|
||||
return $this->morphMany(Note::class, 'noteable');
|
||||
}
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
*
|
||||
|
@ -132,7 +132,7 @@ class Bill extends Model
|
||||
*/
|
||||
public function notes()
|
||||
{
|
||||
return $this->morphMany('FireflyIII\Models\Note', 'noteable');
|
||||
return $this->morphMany(Note::class, 'noteable');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -57,8 +57,8 @@ class Note extends Model
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
* Get all of the owning noteable models. Currently piggy bank and
|
||||
* transaction journal.
|
||||
*
|
||||
* Get all of the owning noteable models.
|
||||
*/
|
||||
public function noteable()
|
||||
{
|
||||
|
@ -29,6 +29,7 @@ use FireflyIII\Models\Account;
|
||||
use FireflyIII\Models\AccountMeta;
|
||||
use FireflyIII\Models\AccountType;
|
||||
use FireflyIII\Models\Category;
|
||||
use FireflyIII\Models\Note;
|
||||
use FireflyIII\Models\Tag;
|
||||
use FireflyIII\Models\Transaction;
|
||||
use FireflyIII\Models\TransactionJournal;
|
||||
@ -176,6 +177,11 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
}
|
||||
$this->deleteInitialBalance($newAccount);
|
||||
|
||||
// update note:
|
||||
if (isset($data['notes'])) {
|
||||
$this->updateNote($newAccount, $data['notes']);
|
||||
}
|
||||
|
||||
return $newAccount;
|
||||
}
|
||||
|
||||
@ -199,6 +205,12 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
$this->updateInitialBalance($account, $data);
|
||||
}
|
||||
|
||||
// update note:
|
||||
if (isset($data['notes']) && null !== $data['notes']) {
|
||||
$this->updateNote($account, strval($data['notes']));
|
||||
}
|
||||
|
||||
|
||||
return $account;
|
||||
}
|
||||
|
||||
@ -507,6 +519,33 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Account $account
|
||||
* @param string $note
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function updateNote(Account $account, string $note): bool
|
||||
{
|
||||
if (0 === strlen($note)) {
|
||||
$dbNote = $account->notes()->first();
|
||||
if (null !== $dbNote) {
|
||||
$dbNote->delete();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
$dbNote = $account->notes()->first();
|
||||
if (null === $dbNote) {
|
||||
$dbNote = new Note();
|
||||
$dbNote->noteable()->associate($account);
|
||||
}
|
||||
$dbNote->text = trim($note);
|
||||
$dbNote->save();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Account $account
|
||||
* @param TransactionJournal $journal
|
||||
|
@ -746,6 +746,7 @@ return [
|
||||
'opt_group_savingAsset' => 'Savings accounts',
|
||||
'opt_group_sharedAsset' => 'Shared asset accounts',
|
||||
'opt_group_ccAsset' => 'Credit cards',
|
||||
'notes' => 'Notes',
|
||||
|
||||
// new user:
|
||||
'welcome' => 'Welcome to Firefly!',
|
||||
|
@ -44,6 +44,7 @@
|
||||
{{ ExpandedForm.select('accountRole', roles,null,{'helpText' : 'asset_account_role_help'|_}) }}
|
||||
{{ ExpandedForm.nonSelectableBalance('virtualBalance') }}
|
||||
{% endif %}
|
||||
{{ ExpandedForm.textarea('notes',null,{helpText: trans('firefly.field_supports_markdown')}) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -48,6 +48,7 @@
|
||||
{{ ExpandedForm.nonSelectableBalance('virtualBalance',null, {'currency' : currency }) }}
|
||||
|
||||
{% endif %}
|
||||
{{ ExpandedForm.textarea('notes',null,{helpText: trans('firefly.field_supports_markdown')}) }}
|
||||
{{ ExpandedForm.checkbox('active','1') }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -70,6 +70,19 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if account.notes.count == 1 %}
|
||||
<div class="row">
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'notes'|_ }}</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ account.notes.first.text|markdown }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if periods.count > 0 %}
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-10 col-lg-2 col-md-offset-8 col-md-4 col-sm-12 col-xs-12">
|
||||
|
Loading…
Reference in New Issue
Block a user