mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-11 07:55:51 -06:00
Small optimizations to the reminders
This commit is contained in:
parent
9b9bd11ebb
commit
d9028ed9b7
@ -39,9 +39,14 @@ class ReminderHelper implements ReminderHelperInterface
|
||||
$perReminder = $left / count($ranges);
|
||||
} else {
|
||||
$perReminder = null;
|
||||
$ranges = [];
|
||||
$left = 0;
|
||||
}
|
||||
$metaData = [
|
||||
'perReminder' => $perReminder
|
||||
'perReminder' => $perReminder,
|
||||
'rangesCount' => count($ranges),
|
||||
'ranges' => $ranges,
|
||||
'leftToSave' => $left,
|
||||
];
|
||||
|
||||
|
||||
@ -97,7 +102,7 @@ class ReminderHelper implements ReminderHelperInterface
|
||||
$start = $piggyBank->targetdate;
|
||||
$end = $piggyBank->startdate;
|
||||
|
||||
while ($start >= $end) {
|
||||
while ($start > $end) {
|
||||
$currentEnd = clone $start;
|
||||
$start = Navigation::subtractPeriod($start, $piggyBank->reminder, 1);
|
||||
$currentStart = clone $start;
|
||||
@ -129,6 +134,9 @@ class ReminderHelper implements ReminderHelperInterface
|
||||
{
|
||||
/** @var PiggyBank $piggyBank */
|
||||
$piggyBank = $reminder->remindersable;
|
||||
if(is_null($piggyBank)) {
|
||||
return 'Piggy bank no longer exists.';
|
||||
}
|
||||
|
||||
if (is_null($piggyBank->targetdate)) {
|
||||
return 'Add money to this piggy bank to reach your target of ' . Amount::format($piggyBank->targetamount);
|
||||
|
@ -66,6 +66,14 @@ class Reminders
|
||||
|
||||
}
|
||||
}
|
||||
// delete invalid reminders
|
||||
$reminders = $this->auth->user()->reminders()->get();
|
||||
foreach($reminders as $reminder) {
|
||||
if(is_null($reminder->remindersable)) {
|
||||
$reminder->delete();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// get and list active reminders:
|
||||
|
@ -301,24 +301,50 @@ class TestDataSeeder extends Seeder
|
||||
|
||||
PiggyBankEvent::create(['piggy_bank_id' => $newClothes->id, 'date' => $this->som, 'amount' => 100]);
|
||||
|
||||
// weekly reminder piggy bank
|
||||
$weekly = PiggyBank::create(
|
||||
[
|
||||
'account_id' => $savings->id,
|
||||
'name' => 'Weekly reminder for clothes',
|
||||
'targetamount' => 2000,
|
||||
'startdate' => $this->som,
|
||||
'targetdate' => $next,
|
||||
'repeats' => 0,
|
||||
'rep_length' => null,
|
||||
'rep_every' => 0,
|
||||
'rep_times' => null,
|
||||
'reminder' => 'week',
|
||||
'reminder_skip' => 0,
|
||||
'remind_me' => 1,
|
||||
'order' => 0,
|
||||
]
|
||||
);
|
||||
/*
|
||||
* New: create no less than eight piggy banks that
|
||||
* create all sorts of reminders
|
||||
*/
|
||||
$list = ['week','quarter','month','year'];
|
||||
$nextYear = clone $this->_startOfMonth;
|
||||
$nextYear->addYear();
|
||||
foreach($list as $entry) {
|
||||
|
||||
PiggyBank::create(
|
||||
[
|
||||
'account_id' => $savings->id,
|
||||
'name' => $entry.' piggy bank with target date.',
|
||||
'targetamount' => 1000,
|
||||
'startdate' => $this->som,
|
||||
'targetdate' => $nextYear,
|
||||
'repeats' => 0,
|
||||
'rep_length' => null,
|
||||
'rep_every' => 0,
|
||||
'rep_times' => null,
|
||||
'reminder' => $entry,
|
||||
'reminder_skip' => 0,
|
||||
'remind_me' => 1,
|
||||
'order' => 0,
|
||||
]
|
||||
);
|
||||
PiggyBank::create(
|
||||
[
|
||||
'account_id' => $savings->id,
|
||||
'name' => $entry.' piggy bank without target date.',
|
||||
'targetamount' => 1000,
|
||||
'startdate' => $this->som,
|
||||
'targetdate' => null,
|
||||
'repeats' => 0,
|
||||
'rep_length' => null,
|
||||
'rep_every' => 0,
|
||||
'rep_times' => null,
|
||||
'reminder' => $entry,
|
||||
'reminder_skip' => 0,
|
||||
'remind_me' => 1,
|
||||
'order' => 0,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,10 +15,9 @@
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<p>
|
||||
Active between {{$reminder->startdate->format('jS F Y')}}
|
||||
This reminder is active between {{$reminder->startdate->format('jS F Y')}}
|
||||
and {{$reminder->enddate->format('jS F Y')}}.
|
||||
</p>
|
||||
|
||||
@if(isset($reminder->description))
|
||||
<p>{!! $reminder->description !!}</p>
|
||||
@endif
|
||||
|
Loading…
Reference in New Issue
Block a user