mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-11-03 20:55:05 +00:00 
			
		
		
		
	Cleaned out the reminder controller.
This commit is contained in:
		@@ -1,97 +1,10 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
use Carbon\Carbon;
 | 
			
		||||
use Firefly\Storage\Reminder\ReminderRepositoryInterface as RRI;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Class ReminderController
 | 
			
		||||
 *
 | 
			
		||||
 * @SuppressWarnings(PHPMD.CamelCasePropertyName)
 | 
			
		||||
 */
 | 
			
		||||
class ReminderController extends BaseController
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    protected $_repository;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param RRI $repository
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct(RRI $repository)
 | 
			
		||||
    {
 | 
			
		||||
        $this->_repository = $repository;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param Reminder $reminder
 | 
			
		||||
     *
 | 
			
		||||
     * @return \Illuminate\Http\JsonResponse
 | 
			
		||||
     */
 | 
			
		||||
    public function dismiss(\Reminder $reminder)
 | 
			
		||||
    {
 | 
			
		||||
        $reminder = $this->_repository->deactivate($reminder);
 | 
			
		||||
 | 
			
		||||
        return Response::json($reminder->id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns the reminders currently active for the modal dialog.
 | 
			
		||||
     */
 | 
			
		||||
    public function modalDialog()
 | 
			
		||||
    {
 | 
			
		||||
        $today     = new Carbon;
 | 
			
		||||
        $reminders = $this->_repository->getPiggybankReminders();
 | 
			
		||||
 | 
			
		||||
        /** @var \Reminder $reminder */
 | 
			
		||||
        foreach ($reminders as $index => $reminder) {
 | 
			
		||||
            if (\Session::has('dismissal-' . $reminder->id)) {
 | 
			
		||||
                $time = \Session::get('dismissal-' . $reminder->id);
 | 
			
		||||
                if ($time >= $today) {
 | 
			
		||||
                    unset($reminders[$index]);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return View::make('reminders.popup')->with('reminders', $reminders);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param Reminder $reminder
 | 
			
		||||
     *
 | 
			
		||||
     * @return \Illuminate\Http\JsonResponse
 | 
			
		||||
     */
 | 
			
		||||
    public function postpone(\Reminder $reminder)
 | 
			
		||||
    {
 | 
			
		||||
        $now = new Carbon;
 | 
			
		||||
        $now->addDay();
 | 
			
		||||
        Session::put('dismissal-' . $reminder->id, $now);
 | 
			
		||||
 | 
			
		||||
        return Response::json($reminder->id);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param Reminder $reminder
 | 
			
		||||
     *
 | 
			
		||||
     * @return $this|\Illuminate\Http\RedirectResponse
 | 
			
		||||
     */
 | 
			
		||||
    public function redirect(\Reminder $reminder)
 | 
			
		||||
    {
 | 
			
		||||
        if ($reminder instanceof PiggybankReminder) {
 | 
			
		||||
            // fields to prefill:
 | 
			
		||||
            $parameters = [
 | 
			
		||||
                'account_to_id' => $reminder->piggybank->account->id,
 | 
			
		||||
                'amount'        => round($reminder->amountToSave(), 2),
 | 
			
		||||
                'description'   => 'Money for ' . $reminder->piggybank->name,
 | 
			
		||||
                'piggybank_id'  => $reminder->piggybank->id,
 | 
			
		||||
                'reminder_id'   => $reminder->id
 | 
			
		||||
            ];
 | 
			
		||||
 | 
			
		||||
            return Redirect::to(
 | 
			
		||||
                route('transactions.create', ['what' => 'transfer']) . '?' . http_build_query($parameters)
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
        return View::make('error')->with('message', 'No such reminder.');
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
} 
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user