diff --git a/app/Http/Controllers/ReminderController.php b/app/Http/Controllers/ReminderController.php new file mode 100644 index 0000000000..e4c63158ac --- /dev/null +++ b/app/Http/Controllers/ReminderController.php @@ -0,0 +1,75 @@ +reminders()->get(); + + $today = new Carbon; + // active reminders: + $active = $reminders->filter( + function (Reminder $reminder) use ($today, $repository) { + if ($reminder->notnow === false && $reminder->active === true && $reminder->startdate <= $today && $reminder->enddate >= $today) { + $reminder->description = $repository->getReminderText($reminder); + return $reminder; + } + } + ); + + // expired reminders: + $expired = $reminders->filter( + function (Reminder $reminder) use ($today) { + if ($reminder->notnow === false && $reminder->active === true && $reminder->startdate > $today || $reminder->enddate < $today) { + return $reminder; + } + } + ); + + // inactive reminders + $inactive = $reminders->filter( + function (Reminder $reminder) use ($today) { + if ($reminder->active === false) { + return $reminder; + } + } + ); + + // dismissed reminders + $dismissed = $reminders->filter( + function (Reminder $reminder) use ($today) { + if ($reminder->notnow === true) { + return $reminder; + } + } + ); + + $title = 'Reminders'; + $mainTitleIcon = 'fa-clock-o'; + + return view('reminders.index', compact('dismissed', 'expired', 'inactive', 'active', 'title', 'mainTitleIcon')); + } + + /** + * @param Reminder $reminder + */ + public function show(Reminder $reminder) + { + + + } + + +} diff --git a/app/Http/Requests/BillFormRequest.php b/app/Http/Requests/BillFormRequest.php index 9782d6ba6f..2c1cfdc45a 100644 --- a/app/Http/Requests/BillFormRequest.php +++ b/app/Http/Requests/BillFormRequest.php @@ -28,7 +28,7 @@ class BillFormRequest extends Request { $nameRule = 'required|between:1,255|uniqueForUser:bills,name'; if (intval(Input::get('id')) > 0) { - $nameRule .= ',' . intval(Input::get('id')); + $nameRule = 'required|between:1,255'; } $rules = [ diff --git a/app/Http/routes.php b/app/Http/routes.php index 66cbcde5eb..3b7079f4f7 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -1,6 +1,7 @@ where('user_id', Auth::user()->id)->first(); + } + + return null; +} +); + Route::bind( 'limitrepetition', function ($value, $route) { if (Auth::check()) { @@ -230,12 +241,10 @@ Route::group( Route::get('/chart/budget/{budget}/spending/{year?}', ['uses' => 'GoogleChartController@budgetsAndSpending']); Route::get('/chart/budgets/spending/{year?}', ['uses' => 'GoogleChartController@allBudgetsAndSpending']); Route::get('/chart/budget/{budget}/{limitrepetition}', ['uses' => 'GoogleChartController@budgetLimitSpending']); - Route::get('/chart/reports/income-expenses/{year}', ['uses' => 'GoogleChartController@yearInExp']); Route::get('/chart/reports/income-expenses-sum/{year}', ['uses' => 'GoogleChartController@yearInExpSum']); Route::get('/chart/bills/{bill}', ['uses' => 'GoogleChartController@billOverview']); Route::get('/chart/piggy-history/{piggyBank}', ['uses' => 'GoogleChartController@piggyBankHistory']); - Route::get('/chart/category/{category}/period', ['uses' => 'GoogleChartController@categoryPeriodChart']); Route::get('/chart/category/{category}/overview', ['uses' => 'GoogleChartController@categoryOverviewChart']); @@ -292,6 +301,12 @@ Route::group( Route::get('/related/related/{tj}', ['uses' => 'RelatedController@related', 'as' => 'related.related']); Route::post('/related/search/{tj}', ['uses' => 'RelatedController@search', 'as' => 'related.search']); + /** + * Reminder Controller + */ + Route::get('/reminders', ['uses' => 'ReminderController@index', 'as' => 'reminders.index']); + Route::get('/reminder/{reminder}', ['uses' => 'ReminderController@show', 'as' => 'reminders.show']); + /** * Repeated Expenses Controller */ diff --git a/app/Models/Reminder.php b/app/Models/Reminder.php index 002566ae1e..03ef1bf878 100644 --- a/app/Models/Reminder.php +++ b/app/Models/Reminder.php @@ -15,6 +15,16 @@ class Reminder extends Model protected $fillable = ['user_id', 'startdate', 'enddate', 'active', 'notnow', 'remindersable_id', 'remindersable_type',]; + /** + * @param $value + * + * @return int + */ + public function getActiveAttribute($value) + { + return intval($value) == 1; + } + /** * @return array */ @@ -23,6 +33,16 @@ class Reminder extends Model return ['created_at', 'updated_at', 'startdate', 'enddate']; } + /** + * @param $value + * + * @return bool + */ + public function getNotnowAttribute($value) + { + return intval($value) == 1; + } + /** * @return \Illuminate\Database\Eloquent\Relations\MorphTo */ @@ -43,9 +63,11 @@ class Reminder extends Model return $query->where('reminders.startdate', '=', $start->format('Y-m-d 00:00:00'))->where('reminders.enddate', '=', $end->format('Y-m-d 00:00:00')); } - public function scopeToday(EloquentBuilder $query) { + 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); + + 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); } /** diff --git a/resources/views/list/reminders.blade.php b/resources/views/list/reminders.blade.php new file mode 100644 index 0000000000..0d5828d5e6 --- /dev/null +++ b/resources/views/list/reminders.blade.php @@ -0,0 +1,23 @@ +
+@foreach($reminders as $reminder) +
+
+
+ Reminder for piggy bank "{{$reminder->remindersable->name}}" +
+
+ @if(isset($reminder->description)) + {!! $reminder->description !!} + @endif +
+ +
+
+ +@endforeach +
\ No newline at end of file diff --git a/resources/views/partials/boxes.blade.php b/resources/views/partials/boxes.blade.php index 1fc79dd656..8e0442362f 100644 --- a/resources/views/partials/boxes.blade.php +++ b/resources/views/partials/boxes.blade.php @@ -1,7 +1,7 @@
-
+
diff --git a/resources/views/partials/menu.blade.php b/resources/views/partials/menu.blade.php index 45ac8e55f0..2f59c657be 100644 --- a/resources/views/partials/menu.blade.php +++ b/resources/views/partials/menu.blade.php @@ -24,7 +24,7 @@