diff --git a/app/Helpers/Reminders/ReminderHelper.php b/app/Helpers/Reminders/ReminderHelper.php deleted file mode 100644 index b3717c5e92..0000000000 --- a/app/Helpers/Reminders/ReminderHelper.php +++ /dev/null @@ -1,176 +0,0 @@ -reminders()->where('remindersable_id', $piggyBank->id)->onDates($start, $end)->first(); - if (is_null($reminder)) { - - if (!is_null($piggyBank->targetdate)) { - // get ranges again, but now for the start date - $ranges = $this->getReminderRanges($piggyBank, $start); - $currentRep = $piggyBank->currentRelevantRep(); - $left = $piggyBank->targetamount - $currentRep->currentamount; - $perReminder = count($ranges) == 0 ? $left : $left / count($ranges); - } else { - $perReminder = null; - $ranges = []; - $left = 0; - } - $metaData = [ - 'perReminder' => $perReminder, - 'rangesCount' => count($ranges), - 'ranges' => $ranges, - 'leftToSave' => $left, - ]; - - $reminder = new Reminder; - $reminder->user()->associate(Auth::user()); - $reminder->startdate = $start; - $reminder->enddate = $end; - $reminder->active = true; - $reminder->metadata = $metaData; - $reminder->notnow = false; - $reminder->remindersable()->associate($piggyBank); - $reminder->save(); - - return $reminder; - - } else { - return $reminder; - } - } - - /** - * Create all reminders for a piggy bank for a given date. - * - * @param PiggyBank $piggyBank - * - * @param Carbon $date - * - * @return mixed - */ - public function createReminders(PiggyBank $piggyBank, Carbon $date) - { - $ranges = $this->getReminderRanges($piggyBank); - - foreach ($ranges as $range) { - if ($date < $range['end'] && $date > $range['start']) { - // create a reminder here! - $this->createReminder($piggyBank, $range['start'], $range['end']); - // stop looping, we're done. - break; - } - - } - } - - /** - * This routine will return an array consisting of two dates which indicate the start - * and end date for each reminder that this piggy bank will have, if the piggy bank has - * any reminders. For example: - * - * [12 mar - 15 mar] - * [15 mar - 18 mar] - * - * etcetera. - * - * Array is filled with tiny arrays with Carbon objects in them. - * - * @param PiggyBank $piggyBank - * @param Carbon $date ; - * - * @return array - */ - public function getReminderRanges(PiggyBank $piggyBank, Carbon $date = null) - { - $ranges = []; - if (is_null($date)) { - $date = new Carbon; - } - - if ($piggyBank->remind_me === false) { - return $ranges; - } - - if (!is_null($piggyBank->targetdate)) { - // count back until now. - $start = $piggyBank->targetdate; - $end = $piggyBank->startdate; - - while ($start > $end) { - $currentEnd = clone $start; - $start = Navigation::subtractPeriod($start, $piggyBank->reminder, 1); - $currentStart = clone $start; - $ranges[] = ['start' => clone $currentStart, 'end' => clone $currentEnd]; - } - } else { - $start = clone $piggyBank->startdate; - while ($start < $date) { - $currentStart = clone $start; - $start = Navigation::addPeriod($start, $piggyBank->reminder, 0); - $currentEnd = clone $start; - $ranges[] = ['start' => clone $currentStart, 'end' => clone $currentEnd]; - } - } - - return $ranges; - } - - /** - * Takes a reminder, finds the piggy bank and tells you what to do now. - * Aka how much money to put in. - * - * - * @param Reminder $reminder - * - * @return string - */ - public function getReminderText(Reminder $reminder) - { - /** @var PiggyBank $piggyBank */ - $piggyBank = $reminder->remindersable; - - if (is_null($piggyBank)) { - return trans('firefly.piggy_bank_not_exists'); - } - - if (is_null($piggyBank->targetdate)) { - return trans('firefly.add_any_amount_to_piggy', ['amount' => Amount::format($piggyBank->targetamount)]); - } - - $lang = Preferences::get('language', 'en')->data; - - return trans( - 'firefly.add_set_amount_to_piggy', - [ - 'amount' => Amount::format($reminder->metadata->perReminder), - 'date' => $piggyBank->targetdate->formatLocalized(Config::get('firefly.monthAndDay.' . $lang)) - ] - ); - } -} diff --git a/app/Helpers/Reminders/ReminderHelperInterface.php b/app/Helpers/Reminders/ReminderHelperInterface.php deleted file mode 100644 index a25a23e65c..0000000000 --- a/app/Helpers/Reminders/ReminderHelperInterface.php +++ /dev/null @@ -1,63 +0,0 @@ - $piggyBank->account_id, 'targetamount' => $piggyBank->targetamount, 'targetdate' => $targetDate, - 'reminder' => $piggyBank->reminder, - 'remind_me' => intval($piggyBank->remind_me) == 1 && !is_null($piggyBank->reminder) ? true : false ]; Session::flash('preFilled', $preFilled); Session::flash('gaEventCategory', 'piggy-banks'); @@ -300,11 +298,6 @@ class PiggyBankController extends Controller public function show(PiggyBankRepositoryInterface $repository, PiggyBank $piggyBank) { $events = $repository->getEvents($piggyBank); - - /* - * Number of reminders: - */ - $subTitle = e($piggyBank->name); return view('piggy-banks.show', compact('piggyBank', 'events', 'subTitle')); @@ -326,8 +319,6 @@ class PiggyBankController extends Controller 'account_id' => intval($request->get('account_id')), 'targetamount' => floatval($request->get('targetamount')), 'targetdate' => strlen($request->get('targetdate')) > 0 ? new Carbon($request->get('targetdate')) : null, - 'reminder' => $request->get('reminder'), - 'remind_me' => $request->get('remind_me'), ]; $piggyBank = $repository->store($piggyBankData); @@ -361,8 +352,6 @@ class PiggyBankController extends Controller 'account_id' => intval($request->get('account_id')), 'targetamount' => floatval($request->get('targetamount')), 'targetdate' => strlen($request->get('targetdate')) > 0 ? new Carbon($request->get('targetdate')) : null, - 'reminder' => $request->get('reminder'), - 'remind_me' => $request->get('remind_me') ]; $piggyBank = $repository->update($piggyBank, $piggyBankData); diff --git a/app/Http/Controllers/ReminderController.php b/app/Http/Controllers/ReminderController.php deleted file mode 100644 index 67479f76f5..0000000000 --- a/app/Http/Controllers/ReminderController.php +++ /dev/null @@ -1,92 +0,0 @@ - 'Money for piggy bank "' . $reminder->remindersable->name . '"', - 'amount' => round($reminder->metadata->perReminder, 2), - 'account_to_id' => $reminder->remindersable->account_id, - 'piggy_bank_id' => $reminder->remindersable_id, - 'reminder_id' => $reminder->id, - ]; - Session::flash('_old_input', $data); - - return Redirect::route('transactions.create', ['transfer']); - } - - /** - * @param Reminder $reminder - * - * @return \Illuminate\Http\RedirectResponse - */ - public function dismiss(Reminder $reminder) - { - $reminder->notnow = true; - $reminder->save(); - - return Redirect::to(URL::previous()); - - - } - - /** - * @param ReminderRepositoryInterface $repository - * - * @return \Illuminate\View\View - */ - public function index(ReminderRepositoryInterface $repository) - { - - - $active = $repository->getActiveReminders(); - $expired = $repository->getExpiredReminders(); - $inactive = $repository->getInactiveReminders(); - $dismissed = $repository->getDismissedReminders(); - - $title = 'Reminders'; - $mainTitleIcon = 'fa-clock-o'; - - return view('reminders.index', compact('dismissed', 'expired', 'inactive', 'active', 'title', 'mainTitleIcon')); - } - - /** - * @param Reminder $reminder - * - * @return \Illuminate\View\View - */ - public function show(Reminder $reminder) - { - $title = trans('firefly.reminder'); - $mainTitleIcon = 'fa-clock-o'; - if ($reminder->notnow === true) { - $subTitle = trans('firefly.dismissed_reminder_for_piggy', ['name' => $reminder->remindersable->name]); - } else { - $subTitle = trans('firefly.reminder_for_piggy', ['name' => $reminder->remindersable->name]); - } - - return view('reminders.show', compact('reminder', 'title', 'subTitle', 'mainTitleIcon')); - - - } - -} diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index a46e138425..f7cb8e10bb 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -296,8 +296,6 @@ class TransactionController extends Controller event(new JournalCreated($journal, intval($request->get('piggy_bank_id')))); } - $repository->deactivateReminder($request->get('reminder_id')); - Session::flash('success', 'New transaction "' . $journal->description . '" stored!'); Preferences::mark(); diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 30bdc71e89..232b742f8f 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -37,7 +37,6 @@ class Kernel extends HttpKernel 'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth', 'guest' => 'FireflyIII\Http\Middleware\RedirectIfAuthenticated', 'range' => 'FireflyIII\Http\Middleware\Range', - 'reminders' => 'FireflyIII\Http\Middleware\Reminders', ]; diff --git a/app/Http/Middleware/Reminders.php b/app/Http/Middleware/Reminders.php deleted file mode 100644 index 0be752e89e..0000000000 --- a/app/Http/Middleware/Reminders.php +++ /dev/null @@ -1,96 +0,0 @@ -auth = $auth; - } - - /** - * Handle an incoming request. - * - * @param \Illuminate\Http\Request $request - * @param \Closure $next - * - * @return mixed - */ - public function handle(Request $request, Closure $next) - { - - - $user = $this->auth->user(); - if ($this->auth->check() && !$request->isXmlHttpRequest() && $user instanceof User) { - // do reminders stuff. - - // abuse CacheProperties to find out if we need to do this: - $cache = new CacheProperties; - - $cache->addProperty('reminders'); - if ($cache->has()) { - $reminders = $cache->get(); - View::share('reminders', $reminders); - - return $next($request); - } - - $piggyBanks = $user->piggyBanks()->where('remind_me', 1)->get(); - - /** @var \FireflyIII\Helpers\Reminders\ReminderHelperInterface $helper */ - $helper = App::make('FireflyIII\Helpers\Reminders\ReminderHelperInterface'); - - /** @var PiggyBank $piggyBank */ - foreach ($piggyBanks as $piggyBank) { - $helper->createReminders($piggyBank, new Carbon); - } - // delete invalid reminders - // this is a construction SQLITE cannot handle :( - if (env('DB_CONNECTION') != 'sqlite') { - Reminder::whereUserId($user->id)->leftJoin('piggy_banks', 'piggy_banks.id', '=', 'remindersable_id')->whereNull('piggy_banks.id')->delete(); - } - - // get and list active reminders: - $reminders = $user->reminders()->today()->get(); - $reminders->each( - function (Reminder $reminder) use ($helper) { - $reminder->description = $helper->getReminderText($reminder); - } - ); - $cache->store($reminders); - View::share('reminders', $reminders); - } - - return $next($request); - } -} diff --git a/app/Http/Requests/JournalFormRequest.php b/app/Http/Requests/JournalFormRequest.php index 914eae0583..3f9e4341de 100644 --- a/app/Http/Requests/JournalFormRequest.php +++ b/app/Http/Requests/JournalFormRequest.php @@ -61,7 +61,6 @@ class JournalFormRequest extends Request 'what' => 'required|in:withdrawal,deposit,transfer', 'amount' => 'numeric|required|min:0.01', 'date' => 'required|date', - 'reminder_id' => 'numeric|exists:reminders,id', 'amount_currency_id' => 'required|exists:transaction_currencies,id', ]; diff --git a/app/Http/Requests/PiggyBankFormRequest.php b/app/Http/Requests/PiggyBankFormRequest.php index f4878aeea6..a13d92e7d7 100644 --- a/app/Http/Requests/PiggyBankFormRequest.php +++ b/app/Http/Requests/PiggyBankFormRequest.php @@ -42,9 +42,6 @@ class PiggyBankFormRequest extends Request 'amount_currency_id' => 'exists:transaction_currencies,id', 'startdate' => 'date', 'targetdate' => $targetDateRule, - 'reminder' => 'in:day,week,quarter,month,year', - 'reminder_skip' => 'integer|min:0|max:99', - 'remind_me' => 'boolean|piggyBankReminder', 'order' => 'integer|min:1', ]; diff --git a/app/Http/breadcrumbs.php b/app/Http/breadcrumbs.php index 70126b332d..d9991cbf56 100644 --- a/app/Http/breadcrumbs.php +++ b/app/Http/breadcrumbs.php @@ -7,7 +7,6 @@ use FireflyIII\Models\Budget; use FireflyIII\Models\Category; use FireflyIII\Models\LimitRepetition; use FireflyIII\Models\PiggyBank; -use FireflyIII\Models\Reminder; use FireflyIII\Models\Tag; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionJournal; @@ -286,25 +285,6 @@ Breadcrumbs::register( } ); -// reminders -Breadcrumbs::register( - 'reminders.index', function (Generator $breadcrumbs) { - $breadcrumbs->parent('home'); - $breadcrumbs->push(trans('breadcrumbs.reminders'), route('reminders.index')); - -} -); - -// reminders -Breadcrumbs::register( - 'reminders.show', function (Generator $breadcrumbs, Reminder $reminder) { - $breadcrumbs->parent('reminders.index'); - $breadcrumbs->push(trans('breadcrumbs.reminder', ['id' => e($reminder->id)]), route('reminders.show', [$reminder->id])); - -} -); - - // reports Breadcrumbs::register( 'reports.index', function (Generator $breadcrumbs) { diff --git a/app/Http/routes.php b/app/Http/routes.php index c5c9699af8..f7c34ea677 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -5,7 +5,6 @@ use FireflyIII\Models\Budget; use FireflyIII\Models\Category; use FireflyIII\Models\LimitRepetition; use FireflyIII\Models\PiggyBank; -use FireflyIII\Models\Reminder; use FireflyIII\Models\Tag; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionJournal; @@ -81,19 +80,6 @@ Route::bind( } ); -Route::bind( - 'reminder', function ($value) { - if (Auth::check()) { - $object = Reminder::where('id', $value)->where('user_id', Auth::user()->id)->first(); - if ($object) { - return $object; - } - } - - throw new NotFoundHttpException; -} -); - Route::bind( 'limitrepetition', function ($value) { if (Auth::check()) { @@ -140,23 +126,6 @@ Route::bind( } ); -/** @noinspection PhpUnusedParameterInspection */ -Route::bind( - 'reminder', function ($value) { - if (Auth::check()) { - /** @var \FireflyIII\Models\Reminder $object */ - $object = Reminder::find($value); - if ($object) { - if ($object->remindersable->account->user_id == Auth::user()->id) { - return $object; - } - } - } - - throw new NotFoundHttpException; -} -); - Route::bind( 'tag', function ($value) { if (Auth::check()) { @@ -185,7 +154,7 @@ Route::controllers( Route::group( - ['middleware' => ['auth', 'range', 'reminders']], function () { + ['middleware' => ['auth', 'range']], function () { /** * Home Controller @@ -355,14 +324,6 @@ Route::group( Route::post('/profile/delete-account', ['uses' => 'ProfileController@postDeleteAccount', 'as' => 'delete-account-post']); Route::post('/profile/change-password', ['uses' => 'ProfileController@postChangePassword', 'as' => 'change-password-post']); - /** - * Reminder Controller - */ - Route::get('/reminders', ['uses' => 'ReminderController@index', 'as' => 'reminders.index']); - Route::get('/reminder/dismiss/{reminder}', ['uses' => 'ReminderController@dismiss', 'as' => 'reminders.dismiss']); - Route::get('/reminder/act/{reminder}', ['uses' => 'ReminderController@act', 'as' => 'reminders.act']); - Route::get('/reminder/{reminder}', ['uses' => 'ReminderController@show', 'as' => 'reminders.show']); - /** * Report Controller */ diff --git a/app/Models/PiggyBank.php b/app/Models/PiggyBank.php index 127a65e619..f7f0c7053e 100644 --- a/app/Models/PiggyBank.php +++ b/app/Models/PiggyBank.php @@ -19,15 +19,11 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property string $targetamount_encrypted * @property \Carbon\Carbon $startdate * @property \Carbon\Carbon $targetdate - * @property string $reminder - * @property integer $reminder_skip - * @property boolean $remind_me * @property integer $order * @property boolean $encrypted * @property-read \FireflyIII\Models\Account $account * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\PiggyBankRepetition[] $piggyBankRepetitions * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\PiggyBankEvent[] $piggyBankEvents - * @property-read \Illuminate\Database\Eloquent\Collection|\FireflyIII\Models\Reminder[] $reminders * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereId($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereCreatedAt($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereUpdatedAt($value) @@ -38,9 +34,6 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereTargetamountEncrypted($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereStartdate($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereTargetdate($value) - * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereReminder($value) - * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereReminderSkip($value) - * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereRemindMe($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereOrder($value) * @method static \Illuminate\Database\Query\Builder|\FireflyIII\Models\PiggyBank whereEncrypted($value) * @property PiggyBankRepetition currentRep @@ -50,7 +43,7 @@ class PiggyBank extends Model use SoftDeletes; protected $fillable - = ['name', 'account_id', 'order', 'reminder_skip', 'targetamount', 'startdate', 'targetdate', 'reminder', 'remind_me']; + = ['name', 'account_id', 'order', 'targetamount', 'startdate', 'targetdate']; protected $hidden = ['targetamount_encrypted', 'encrypted']; /** @@ -112,17 +105,6 @@ class PiggyBank extends Model return $value; } - /** - * - * @param $value - * - * @return boolean - */ - public function getRemindMeAttribute($value) - { - return intval($value) == 1; - } - /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ @@ -131,14 +113,6 @@ class PiggyBank extends Model return $this->hasMany('FireflyIII\Models\PiggyBankEvent'); } - /** - * @return \Illuminate\Database\Eloquent\Relations\MorphMany - */ - public function reminders() - { - return $this->morphMany('FireflyIII\Models\Reminder', 'remindersable'); - } - /** * * @param $value diff --git a/app/Models/Reminder.php b/app/Models/Reminder.php deleted file mode 100644 index d8c5d90afe..0000000000 --- a/app/Models/Reminder.php +++ /dev/null @@ -1,148 +0,0 @@ -encrypted) == 1) { - return json_decode(Crypt::decrypt($value)); - } - - return json_decode($value); - } - - /** - * - * @param $value - * - * @return bool - */ - public function getNotnowAttribute($value) - { - return intval($value) == 1; - } - - /** - * @return \Illuminate\Database\Eloquent\Relations\MorphTo - */ - public function remindersable() - { - return $this->morphTo(); - } - - /** - * - * @param EloquentBuilder $query - * @param Carbon $start - * @param Carbon $end - * - * @return $this - */ - public function scopeOnDates(EloquentBuilder $query, Carbon $start, Carbon $end) - { - return $query->where('reminders.startdate', '=', $start->format('Y-m-d 00:00:00'))->where('reminders.enddate', '=', $end->format('Y-m-d 00:00:00')); - } - - /** - * - * @param EloquentBuilder $query - * - * @return $this - */ - public function scopeToday(EloquentBuilder $query) - { - $today = new Carbon; - - return $query->where('startdate', '<=', $today->format('Y-m-d 00:00:00'))->where('enddate', '>=', $today->format('Y-m-d 00:00:00'))->where('active', 1) - ->where('notnow', 0); - } - - /** - * - * @param $value - */ - public function setMetadataAttribute($value) - { - $this->attributes['encrypted'] = true; - $this->attributes['metadata'] = Crypt::encrypt(json_encode($value)); - } - - /** - * @return \Illuminate\Database\Eloquent\Relations\BelongsTo - */ - public function user() - { - return $this->belongsTo('FireflyIII\User'); - } - -} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 697f7df767..78b59b0585 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -5,7 +5,6 @@ use FireflyIII\Models\BudgetLimit; use FireflyIII\Models\LimitRepetition; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\PiggyBankRepetition; -use FireflyIII\Models\Reminder; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionJournal; use FireflyIII\Support\Facades\Navigation; @@ -101,15 +100,6 @@ class EventServiceProvider extends ServiceProvider } } ); - PiggyBank::deleting( - function (PiggyBank $piggyBank) { - $reminders = $piggyBank->reminders()->get(); - /** @var Reminder $reminder */ - foreach ($reminders as $reminder) { - $reminder->delete(); - } - } - ); Account::deleted( function (Account $account) { diff --git a/app/Providers/FireflyServiceProvider.php b/app/Providers/FireflyServiceProvider.php index eff456ea08..7429939d67 100644 --- a/app/Providers/FireflyServiceProvider.php +++ b/app/Providers/FireflyServiceProvider.php @@ -89,12 +89,10 @@ class FireflyServiceProvider extends ServiceProvider $this->app->bind('FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface', 'FireflyIII\Repositories\PiggyBank\PiggyBankRepository'); $this->app->bind('FireflyIII\Repositories\Currency\CurrencyRepositoryInterface', 'FireflyIII\Repositories\Currency\CurrencyRepository'); $this->app->bind('FireflyIII\Repositories\Tag\TagRepositoryInterface', 'FireflyIII\Repositories\Tag\TagRepository'); - $this->app->bind('FireflyIII\Repositories\Reminder\ReminderRepositoryInterface', 'FireflyIII\Repositories\Reminder\ReminderRepository'); $this->app->bind('FireflyIII\Support\Search\SearchInterface', 'FireflyIII\Support\Search\Search'); $this->app->bind('FireflyIII\Helpers\Help\HelpInterface', 'FireflyIII\Helpers\Help\Help'); - $this->app->bind('FireflyIII\Helpers\Reminders\ReminderHelperInterface', 'FireflyIII\Helpers\Reminders\ReminderHelper'); $this->app->bind('FireflyIII\Helpers\Report\ReportHelperInterface', 'FireflyIII\Helpers\Report\ReportHelper'); $this->app->bind('FireflyIII\Helpers\Report\ReportQueryInterface', 'FireflyIII\Helpers\Report\ReportQuery'); diff --git a/app/Repositories/Journal/JournalRepository.php b/app/Repositories/Journal/JournalRepository.php index 6713821bb9..11cce176e9 100644 --- a/app/Repositories/Journal/JournalRepository.php +++ b/app/Repositories/Journal/JournalRepository.php @@ -26,21 +26,6 @@ use Log; class JournalRepository implements JournalRepositoryInterface { - /** - * @param int $reminderId - * - * @return boolean|null - */ - public function deactivateReminder($reminderId) - { - $reminder = Auth::user()->reminders()->find($reminderId); - if ($reminder) { - $reminder->active = 0; - $reminder->save(); - } - - } - /** * @param TransactionJournal $journal * diff --git a/app/Repositories/Journal/JournalRepositoryInterface.php b/app/Repositories/Journal/JournalRepositoryInterface.php index 9e46b6213a..baaee122f2 100644 --- a/app/Repositories/Journal/JournalRepositoryInterface.php +++ b/app/Repositories/Journal/JournalRepositoryInterface.php @@ -16,13 +16,6 @@ use Illuminate\Support\Collection; */ interface JournalRepositoryInterface { - /** - * @param int $reminderId - * - * @return bool - */ - public function deactivateReminder($reminderId); - /** * @param TransactionJournal $journal * diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php index 78c8d80b2d..4b4787825e 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepository.php +++ b/app/Repositories/PiggyBank/PiggyBankRepository.php @@ -116,7 +116,6 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface */ public function store(array $data) { - $data['remind_me'] = isset($data['remind_me']) && $data['remind_me'] == '1' ? true : false; $piggyBank = PiggyBank::create($data); return $piggyBank; @@ -130,21 +129,12 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface */ public function update(PiggyBank $piggyBank, array $data) { - /** - * 'rep_length' => $request->get('rep_length'), - * 'rep_every' => intval($request->get('rep_every')), - * 'rep_times' => intval($request->get('rep_times')), - * 'remind_me' => intval($request->get('remind_me')) == 1 ? true : false , - * 'reminder' => $request->get('reminder'), - */ $piggyBank->name = $data['name']; $piggyBank->account_id = intval($data['account_id']); $piggyBank->targetamount = floatval($data['targetamount']); $piggyBank->targetdate = $data['targetdate']; - $piggyBank->reminder = $data['reminder']; $piggyBank->startdate = $data['startdate']; - $piggyBank->remind_me = isset($data['remind_me']) && $data['remind_me'] == '1' ? 1 : 0; $piggyBank->save(); diff --git a/app/Repositories/PiggyBank/PiggybankPart.php b/app/Repositories/PiggyBank/PiggybankPart.php index 1cc6b9051f..1be6e78d27 100644 --- a/app/Repositories/PiggyBank/PiggybankPart.php +++ b/app/Repositories/PiggyBank/PiggybankPart.php @@ -4,7 +4,6 @@ namespace FireflyIII\Repositories\PiggyBank; use Carbon\Carbon; use FireflyIII\Models\PiggyBankRepetition; -use FireflyIII\Models\Reminder; /** * Class PiggyBankPart @@ -20,8 +19,6 @@ class PiggyBankPart public $cumulativeAmount; /** @var float */ public $currentamount; - /** @var Reminder */ - public $reminder; /** @var PiggyBankRepetition */ public $repetition; @@ -32,28 +29,6 @@ class PiggyBankPart /** @var Carbon */ public $targetdate; - /** - * @return Reminder - */ - public function getReminder() - { - if (is_null($this->reminder)) { - $this->reminder = $this->repetition->piggyBank->reminders()->where('startdate', $this->getStartdate()->format('Y-m-d'))->where( - 'enddate', $this->getTargetdate()->format('Y-m-d') - )->first(); - } - - return $this->reminder; - } - - /** - * @param Reminder $reminder - */ - public function setReminder($reminder) - { - $this->reminder = $reminder; - } - /** * @return Carbon */ @@ -102,14 +77,6 @@ class PiggyBankPart $this->repetition = $repetition; } - /** - * @return bool - */ - public function hasReminder() - { - return !is_null($this->reminder); - } - /** * @return float|int */ diff --git a/app/Repositories/Reminder/ReminderRepository.php b/app/Repositories/Reminder/ReminderRepository.php deleted file mode 100644 index 8db6d0ada0..0000000000 --- a/app/Repositories/Reminder/ReminderRepository.php +++ /dev/null @@ -1,116 +0,0 @@ -helper = App::make('FireflyIII\Helpers\Reminders\ReminderHelperInterface'); - } - - /** - * @return Collection - */ - public function getActiveReminders() - { - $today = new Carbon; - // active reminders: - $active = Auth::user()->reminders() - ->where('notnow', 0) - ->where('active', 1) - ->where('startdate', '<=', $today->format('Y-m-d 00:00:00')) - ->where('enddate', '>=', $today->format('Y-m-d 00:00:00')) - ->get(); - - $active->each( - function (Reminder $reminder) { - $reminder->description = $this->helper->getReminderText($reminder); - } - ); - - return $active; - - } - - /** - * @return Collection - */ - public function getDismissedReminders() - { - $dismissed = Auth::user()->reminders() - ->where('notnow', 1) - ->get(); - - $dismissed->each( - function (Reminder $reminder) { - $reminder->description = $this->helper->getReminderText($reminder); - } - ); - - return $dismissed; - } - - /** - * @return Collection - */ - public function getExpiredReminders() - { - - $expired = Auth::user()->reminders() - ->where('notnow', 0) - ->where('active', 1) - ->where( - function (Builder $q) { - $today = new Carbon; - $q->where('startdate', '>', $today->format('Y-m-d 00:00:00')); - $q->orWhere('enddate', '<', $today->format('Y-m-d 00:00:00')); - } - )->get(); - - $expired->each( - function (Reminder $reminder) { - $reminder->description = $this->helper->getReminderText($reminder); - } - ); - - return $expired; - } - - /** - * @return Collection - */ - public function getInactiveReminders() - { - $inactive = Auth::user()->reminders() - ->where('active', 0) - ->get(); - - $inactive->each( - function (Reminder $reminder) { - $reminder->description = $this->helper->getReminderText($reminder); - } - ); - - return $inactive; - } -} diff --git a/app/Repositories/Reminder/ReminderRepositoryInterface.php b/app/Repositories/Reminder/ReminderRepositoryInterface.php deleted file mode 100644 index 8255e58f02..0000000000 --- a/app/Repositories/Reminder/ReminderRepositoryInterface.php +++ /dev/null @@ -1,35 +0,0 @@ -hasMany('FireflyIII\Models\Preference'); } - /** - * @return \Illuminate\Database\Eloquent\Relations\HasMany - */ - public function reminders() - { - return $this->hasMany('FireflyIII\Models\Reminder'); - } - /** * @return \Illuminate\Database\Eloquent\Relations\HasMany */ diff --git a/app/Validation/FireflyValidator.php b/app/Validation/FireflyValidator.php index 120b757542..e1739119ac 100644 --- a/app/Validation/FireflyValidator.php +++ b/app/Validation/FireflyValidator.php @@ -55,35 +55,6 @@ class FireflyValidator extends Validator } - /** - * @return bool - */ - public function validatePiggyBankReminder() - { - $array = $this->data; - // no reminder? dont care. - if (!isset($array['remind_me'])) { - return true; - } - - // get or set start date & target date: - $startDate = isset($array['startdate']) ? new Carbon($array['startdate']) : new Carbon; - $targetDate = isset($array['targetdate']) && strlen($array['targetdate']) > 0 ? new Carbon($array['targetdate']) : null; - - // target date is null? reminder period is always good. - if ($array['remind_me'] == '1' && is_null($targetDate)) { - return true; - } - - $nextReminder = Navigation::addPeriod($startDate, $array['reminder'], 0); - // reminder is beyond target? - if ($nextReminder > $targetDate) { - return false; - } - - return true; - } - /** * @param $attribute * @param $value diff --git a/database/migrations/2015_06_22_192411_changes_for_v3451.php b/database/migrations/2015_06_22_192411_changes_for_v3451.php new file mode 100644 index 0000000000..f852fda93b --- /dev/null +++ b/database/migrations/2015_06_22_192411_changes_for_v3451.php @@ -0,0 +1,41 @@ +smallInteger('reminder_skip')->unsigned(); + $table->boolean('remind_me'); + } + ); + + } + + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table( + 'piggy_banks', function (Blueprint $table) { + //$table->dropColumn('reminder_skip'); + $table->dropColumn('remind_me'); + } + ); + } +} diff --git a/database/seeds/TestDataSeeder.php b/database/seeds/TestDataSeeder.php index d4b3c2f022..d777ae03e4 100644 --- a/database/seeds/TestDataSeeder.php +++ b/database/seeds/TestDataSeeder.php @@ -88,7 +88,6 @@ class TestDataSeeder extends Seeder $this->createBudgets(); $this->createCategories(); $this->createPiggyBanks(); - $this->createReminders(); $this->createBills(); $this->createExpenseAccounts(); $this->createRevenueAccounts(); @@ -264,9 +263,6 @@ class TestDataSeeder extends Seeder 'targetamount' => 2000, 'startdate' => $this->som, 'targetdate' => null, - 'reminder' => null, - 'reminder_skip' => 0, - 'remind_me' => 0, 'order' => 0, ] ); @@ -281,9 +277,6 @@ class TestDataSeeder extends Seeder 'targetamount' => 2000, 'startdate' => $this->som, 'targetdate' => $end, - 'reminder' => null, - 'reminder_skip' => 0, - 'remind_me' => 0, 'order' => 0, ] ); @@ -292,7 +285,6 @@ class TestDataSeeder extends Seeder /* * New: create no less than eight piggy banks that - * create all sorts of reminders */ $list = ['week', 'quarter', 'month', 'year']; $nextYear = clone $this->_startOfMonth; @@ -306,9 +298,6 @@ class TestDataSeeder extends Seeder 'targetamount' => 1000, 'startdate' => $this->som, 'targetdate' => $nextYear, - 'reminder' => $entry, - 'reminder_skip' => 0, - 'remind_me' => 1, 'order' => 0, ] ); @@ -319,9 +308,6 @@ class TestDataSeeder extends Seeder 'targetamount' => 1000, 'startdate' => $this->som, 'targetdate' => null, - 'reminder' => $entry, - 'reminder_skip' => 0, - 'remind_me' => 1, 'order' => 0, ] ); @@ -348,14 +334,6 @@ class TestDataSeeder extends Seeder return null; } - /** - * - */ - public function createReminders() - { - - } - /** * */ diff --git a/public/js/gcharts.options.js b/public/js/gcharts.options.js index f3430605ba..5c85cfa711 100644 --- a/public/js/gcharts.options.js +++ b/public/js/gcharts.options.js @@ -87,7 +87,7 @@ var defaultBarChartOptions = { }, fontName: 'Roboto', fontSize: 11, - colors: ["#4285f4", "#db4437", "#f4b400", "#0f9d58", "#ab47bc", "#00acc1", "#ff7043", "#9e9d24", "#5c6bc0", "#f06292", "#00796b", "#c2185b"], + colors: ["#357ca5", "#008d4c", "#db8b0b", "#ca195a", "#555299", "#4285f4", "#db4437", "#f4b400", "#0f9d58", "#ab47bc", "#00acc1", "#ff7043", "#9e9d24", "#5c6bc0", "#f06292", "#00796b", "#c2185b"], vAxis: { textStyle: { color: '#838383' @@ -124,6 +124,7 @@ var defaultComboChartOptions = { format: '\u20AC #' }, fontName: 'Roboto', + colors: ["#357ca5", "#008d4c", "#db8b0b", "#ca195a", "#555299", "#4285f4", "#db4437", "#f4b400", "#0f9d58", "#ab47bc", "#00acc1", "#ff7043", "#9e9d24", "#5c6bc0", "#f06292", "#00796b", "#c2185b"], fontSize: 11, legend: { position: 'none' diff --git a/resources/lang/en/breadcrumbs.php b/resources/lang/en/breadcrumbs.php index aa16b615d8..480c8120f0 100644 --- a/resources/lang/en/breadcrumbs.php +++ b/resources/lang/en/breadcrumbs.php @@ -33,10 +33,6 @@ return [ 'edit_bill' => 'Edit bill ":name"', 'delete_bill' => 'Delete bill ":name"', - // reminders - 'reminders' => 'Reminders', - 'reminder' => 'Reminder #:id', - // reports 'reports' => 'Reports', 'monthly_report' => 'Montly report for :date', diff --git a/resources/lang/en/firefly.php b/resources/lang/en/firefly.php index 0babbc40a6..d6feb0f661 100644 --- a/resources/lang/en/firefly.php +++ b/resources/lang/en/firefly.php @@ -147,8 +147,6 @@ return [ // menu and titles, should be recycled as often as possible: 'toggleNavigation' => 'Toggle navigation', - 'seeAllReminders' => 'See all reminders', - 'reminders' => 'Reminders', 'currency' => 'Currency', 'preferences' => 'Preferences', 'logout' => 'Logout', @@ -272,10 +270,6 @@ return [ 'start_date' => 'Start date', 'target_date' => 'Target date', 'no_target_date' => 'No target date', - 'reminder' => 'Reminder', - 'no_reminder' => 'No reminder', - 'reminders_left' => 'Reminders left', - 'expected_amount_per_reminder' => 'Expected amount per reminder', 'todo' => 'to do', 'table' => 'Table', 'piggy_bank_not_exists' => 'Piggy bank no longer exists.', @@ -293,9 +287,5 @@ return [ 'tag_title_balancingAct' => 'Balancing act tags', 'tag_title_advancePayment' => 'Advance payment tags', - // reminders - 'reminder_for_piggy' => 'Reminder for piggy bank ":name"', - 'dismissed_reminder_for_piggy' => 'Dismissed reminder for piggy bank ":name"', - ]; diff --git a/resources/lang/en/form.php b/resources/lang/en/form.php index f882f3fb43..4fbb9a44f3 100644 --- a/resources/lang/en/form.php +++ b/resources/lang/en/form.php @@ -41,9 +41,7 @@ return [ 'deletePermanently' => 'Delete permanently', 'cancel' => 'Cancel', 'targetdate' => 'Target date', - 'remind_me' => 'Remind me', 'tag' => 'Tag', - 'reminder' => 'Remind me every', 'under' => 'Under', 'symbol' => 'Symbol', 'code' => 'Code', diff --git a/resources/lang/en/passwords.php b/resources/lang/en/passwords.php index 50dfd5d15b..bdbc1cd1d7 100644 --- a/resources/lang/en/passwords.php +++ b/resources/lang/en/passwords.php @@ -4,7 +4,6 @@ return [ /* |-------------------------------------------------------------------------- - | Password Reminder Language Lines |-------------------------------------------------------------------------- | | The following language lines are the default lines which match reasons diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php index 6a25eebfa4..ac0bef742d 100644 --- a/resources/lang/en/validation.php +++ b/resources/lang/en/validation.php @@ -21,7 +21,6 @@ return [ "alpha_num" => "The :attribute may only contain letters and numbers.", "array" => "The :attribute must be an array.", "unique_for_user" => "There already is an entry with this :attribute.", - 'piggy_bank_reminder' => 'The target date is too close to today to allow reminders.', "before" => "The :attribute must be a date before :date.", 'unique_object_for_user' => 'This name is already in use', "between" => [ diff --git a/resources/lang/nl/breadcrumbs.php b/resources/lang/nl/breadcrumbs.php index a5a1dddb8a..8a73a52cf1 100644 --- a/resources/lang/nl/breadcrumbs.php +++ b/resources/lang/nl/breadcrumbs.php @@ -33,10 +33,6 @@ return [ 'edit_bill' => 'Wijzig contract ":name"', 'delete_bill' => 'Verwijder contract ":name"', - // reminders - 'reminders' => 'Herinneringen', - 'reminder' => 'Herinnering #:id', - // reports 'reports' => 'Overzichten', 'monthly_report' => 'Maandoverzicht :date', diff --git a/resources/lang/nl/firefly.php b/resources/lang/nl/firefly.php index b2aab31a2b..bdab21f817 100644 --- a/resources/lang/nl/firefly.php +++ b/resources/lang/nl/firefly.php @@ -156,8 +156,6 @@ return [ // menu and titles, should be recycled as often as possible: 'toggleNavigation' => 'Navigatie aan of uit', - 'seeAllReminders' => 'Bekijk alle herinneringen', - 'reminders' => 'Herinneringen', 'currency' => 'Munteenheden', 'preferences' => 'Voorkeuren', 'logout' => 'Uitloggen', @@ -281,10 +279,6 @@ return [ 'start_date' => 'Startdatum', 'target_date' => 'Doeldatum', 'no_target_date' => 'Geen doeldatum', - 'reminder' => 'Herinnering', - 'no_reminder' => 'Geen herinnering', - 'reminders_left' => 'Herinneringen te gaan', - 'expected_amount_per_reminder' => 'Verwacht bedrag per herinnering', 'todo' => 'te doen', 'table' => 'Tabel', 'piggy_bank_not_exists' => 'Dit spaarpotje bestaat niet meer.', @@ -302,8 +296,4 @@ return [ 'tag_title_balancingAct' => 'Balancing act tags', 'tag_title_advancePayment' => 'Advance payment tags', - // reminders - 'reminder_for_piggy' => 'Herinnering voor spaarpotje ":name"', - 'dismissed_reminder_for_piggy' => 'Genegeerde herinnering voor spaarpotje ":name"', - ]; diff --git a/resources/lang/nl/form.php b/resources/lang/nl/form.php index bcb086d5c2..5ab0cd308b 100644 --- a/resources/lang/nl/form.php +++ b/resources/lang/nl/form.php @@ -41,9 +41,7 @@ return [ 'deletePermanently' => 'Verwijderen', 'cancel' => 'Annuleren', 'targetdate' => 'Doeldatum', - 'remind_me' => 'Help me herinneren', 'tag' => 'Tag', - 'reminder' => 'Herinner me elke', 'under' => 'Onder', 'symbol' => 'Symbool', 'code' => 'Code', diff --git a/resources/lang/nl/passwords.php b/resources/lang/nl/passwords.php index 82c8be3b28..b3a0582dbf 100644 --- a/resources/lang/nl/passwords.php +++ b/resources/lang/nl/passwords.php @@ -4,7 +4,6 @@ return [ /* |-------------------------------------------------------------------------- - | Password Reminder Language Lines |-------------------------------------------------------------------------- | | The following language lines are the default lines which match reasons diff --git a/resources/lang/nl/validation.php b/resources/lang/nl/validation.php index a34fdeee08..8a73cd4f45 100644 --- a/resources/lang/nl/validation.php +++ b/resources/lang/nl/validation.php @@ -21,7 +21,6 @@ return [ "alpha_num" => "The :attribute may only contain letters and numbers.", "array" => "The :attribute must be an array.", "unique_for_user" => "There already is an entry with this :attribute.", - 'piggy_bank_reminder' => 'The target date is too close to today to allow reminders.', "before" => "The :attribute must be a date before :date.", 'unique_object_for_user' => 'Deze naam is al in gebruik', "between" => [ diff --git a/resources/twig/partials/menu-sidebar.twig b/resources/twig/partials/menu-sidebar.twig index ce0541b58a..5ae477bc1b 100644 --- a/resources/twig/partials/menu-sidebar.twig +++ b/resources/twig/partials/menu-sidebar.twig @@ -140,5 +140,4 @@ - \ No newline at end of file diff --git a/resources/twig/partials/menu.twig b/resources/twig/partials/menu.twig index 3d47c33fb3..ac850e9af3 100644 --- a/resources/twig/partials/menu.twig +++ b/resources/twig/partials/menu.twig @@ -13,43 +13,6 @@
@@ -202,14 +164,10 @@ - - diff --git a/resources/twig/piggy-banks/show.twig b/resources/twig/piggy-banks/show.twig index df3748e558..fdae48b235 100644 --- a/resources/twig/piggy-banks/show.twig +++ b/resources/twig/piggy-banks/show.twig @@ -71,23 +71,6 @@ {% endif %} - {% if piggyBank.reminder %} -