Ability to dismiss reminders, added some logic to pre fill transaction form.

This commit is contained in:
James Cole
2014-11-20 07:51:01 +01:00
parent 359c71ef2f
commit 07388dd58a
4 changed files with 41 additions and 21 deletions

View File

@@ -1,4 +1,5 @@
<?php
use FireflyIII\Exception\FireflyException;
/**
* Class ReminderController
@@ -18,24 +19,9 @@ class ReminderController extends BaseController
*/
public function show(Reminder $reminder)
{
// $subTitle = $reminder->title;
// $model = null; // related model.
//
// if(isset($reminder->data->model) && isset($reminder->data->type)) {
// switch($reminder->data->type) {
// case 'Test':
// break;
// case 'Piggybank':
// break;
// default:
// throw new FireflyException('Cannot handle model of type '.$reminder->data->model);
// break;
// }
// } else {
//
// }
//
$amount = null;
$actionURL = '#';
if (get_class($reminder->remindersable) == 'Piggybank') {
/** @var \FireflyIII\Shared\Toolkit\Reminders $toolkit */
$reminderKit = App::make('FireflyIII\Shared\Toolkit\Reminders');
@@ -45,4 +31,36 @@ class ReminderController extends BaseController
return View::make('reminders.show', compact('reminder', 'amount'));
}
public function act(Reminder $reminder) {
/** @var \FireflyIII\Shared\Toolkit\Reminders $toolkit */
$reminderKit = App::make('FireflyIII\Shared\Toolkit\Reminders');
switch(get_class($reminder->remindersable)) {
default:
throw new FireflyException('Cannot act on reminder for ' . get_class($reminder->remindersable));
break;
break;
case 'Piggybank':
$amount = $reminderKit->amountForReminder($reminder);
$prefilled = [
'amount' => round($amount,2),
'description' => 'Money for ' . $reminder->remindersable->name,
'piggybank_id' => $reminder->remindersable_id,
'account_to_id' => $reminder->remindersable->account_id
];
Session::flash('prefilled',$prefilled);
return Redirect::route('transactions.create','transfer');
break;
}
}
public function dismiss(Reminder $reminder) {
$reminder->active = 0;
$reminder->save();
Session::flash('success','Reminder dismissed');
return Redirect::route('index');
}
}