mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -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);
|
$perReminder = $left / count($ranges);
|
||||||
} else {
|
} else {
|
||||||
$perReminder = null;
|
$perReminder = null;
|
||||||
|
$ranges = [];
|
||||||
|
$left = 0;
|
||||||
}
|
}
|
||||||
$metaData = [
|
$metaData = [
|
||||||
'perReminder' => $perReminder
|
'perReminder' => $perReminder,
|
||||||
|
'rangesCount' => count($ranges),
|
||||||
|
'ranges' => $ranges,
|
||||||
|
'leftToSave' => $left,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
@ -97,7 +102,7 @@ class ReminderHelper implements ReminderHelperInterface
|
|||||||
$start = $piggyBank->targetdate;
|
$start = $piggyBank->targetdate;
|
||||||
$end = $piggyBank->startdate;
|
$end = $piggyBank->startdate;
|
||||||
|
|
||||||
while ($start >= $end) {
|
while ($start > $end) {
|
||||||
$currentEnd = clone $start;
|
$currentEnd = clone $start;
|
||||||
$start = Navigation::subtractPeriod($start, $piggyBank->reminder, 1);
|
$start = Navigation::subtractPeriod($start, $piggyBank->reminder, 1);
|
||||||
$currentStart = clone $start;
|
$currentStart = clone $start;
|
||||||
@ -129,6 +134,9 @@ class ReminderHelper implements ReminderHelperInterface
|
|||||||
{
|
{
|
||||||
/** @var PiggyBank $piggyBank */
|
/** @var PiggyBank $piggyBank */
|
||||||
$piggyBank = $reminder->remindersable;
|
$piggyBank = $reminder->remindersable;
|
||||||
|
if(is_null($piggyBank)) {
|
||||||
|
return 'Piggy bank no longer exists.';
|
||||||
|
}
|
||||||
|
|
||||||
if (is_null($piggyBank->targetdate)) {
|
if (is_null($piggyBank->targetdate)) {
|
||||||
return 'Add money to this piggy bank to reach your target of ' . Amount::format($piggyBank->targetamount);
|
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:
|
// 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]);
|
PiggyBankEvent::create(['piggy_bank_id' => $newClothes->id, 'date' => $this->som, 'amount' => 100]);
|
||||||
|
|
||||||
// weekly reminder piggy bank
|
/*
|
||||||
$weekly = PiggyBank::create(
|
* New: create no less than eight piggy banks that
|
||||||
[
|
* create all sorts of reminders
|
||||||
'account_id' => $savings->id,
|
*/
|
||||||
'name' => 'Weekly reminder for clothes',
|
$list = ['week','quarter','month','year'];
|
||||||
'targetamount' => 2000,
|
$nextYear = clone $this->_startOfMonth;
|
||||||
'startdate' => $this->som,
|
$nextYear->addYear();
|
||||||
'targetdate' => $next,
|
foreach($list as $entry) {
|
||||||
'repeats' => 0,
|
|
||||||
'rep_length' => null,
|
PiggyBank::create(
|
||||||
'rep_every' => 0,
|
[
|
||||||
'rep_times' => null,
|
'account_id' => $savings->id,
|
||||||
'reminder' => 'week',
|
'name' => $entry.' piggy bank with target date.',
|
||||||
'reminder_skip' => 0,
|
'targetamount' => 1000,
|
||||||
'remind_me' => 1,
|
'startdate' => $this->som,
|
||||||
'order' => 0,
|
'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>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<p>
|
<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')}}.
|
and {{$reminder->enddate->format('jS F Y')}}.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@if(isset($reminder->description))
|
@if(isset($reminder->description))
|
||||||
<p>{!! $reminder->description !!}</p>
|
<p>{!! $reminder->description !!}</p>
|
||||||
@endif
|
@endif
|
||||||
|
Loading…
Reference in New Issue
Block a user