diff --git a/app/lang/en/cachet.php b/app/lang/en/cachet.php
index 37a70187..49bf6a0e 100644
--- a/app/lang/en/cachet.php
+++ b/app/lang/en/cachet.php
@@ -35,6 +35,8 @@ return [
'setup' => 'Setup Cachet',
'no_incidents' => 'No incidents reported.',
'past_incidents' => 'Past incidents',
+ 'previous_week' => 'Previous week',
+ 'next_week' => 'Next week',
// Dashboard
'dashboard' => [
'dashboard' => 'Dashboard',
diff --git a/app/views/index.blade.php b/app/views/index.blade.php
index b43ef1e0..8fe9ac05 100644
--- a/app/views/index.blade.php
+++ b/app/views/index.blade.php
@@ -29,4 +29,20 @@
@foreach($allIncidents as $incidents)
@include('partials.incidents', $incidents)
@endforeach
+
+
+
@stop
diff --git a/src/Http/Controllers/HomeController.php b/src/Http/Controllers/HomeController.php
index 28bd3ff3..8c20fd1a 100644
--- a/src/Http/Controllers/HomeController.php
+++ b/src/Http/Controllers/HomeController.php
@@ -6,6 +6,7 @@ use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\Incident;
use CachetHQ\Cachet\Models\Setting;
use Carbon\Carbon;
+use GrahamCampbell\Binput\Facades\Binput;
use GrahamCampbell\Markdown\Facades\Markdown;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\View;
@@ -25,8 +26,25 @@ class HomeController extends Controller
$incidentDays = Setting::get('app_incident_days') ?: 7;
+ $today = Carbon::now();
+ $startDate = Carbon::now();
+
+ // Check if we have another starting date
+ if (Binput::has('start_date')) {
+ try {
+ // If date provided is valid
+ $oldDate = Carbon::createFromFormat('Y-m-d', Binput::get('start_date'));
+ // If trying to get a future date fallback to today
+ if ($today->gt($oldDate)) {
+ $startDate = $oldDate;
+ }
+ } catch (Exception $e) {
+ // Fallback to today
+ }
+ }
+
foreach (range(0, $incidentDays) as $i) {
- $date = Carbon::now()->subDays($i);
+ $date = $startDate->copy()->subDays($i);
$incidents = Incident::whereBetween('created_at', [
$date->format('Y-m-d').' 00:00:00',
$date->format('Y-m-d').' 23:59:59',
@@ -35,10 +53,13 @@ class HomeController extends Controller
}
return View::make('index', [
- 'components' => $components,
- 'allIncidents' => $allIncidents,
- 'pageTitle' => Setting::get('app_name'),
- 'aboutApp' => Markdown::render(Setting::get('app_about')),
+ 'components' => $components,
+ 'allIncidents' => $allIncidents,
+ 'pageTitle' => Setting::get('app_name'),
+ 'aboutApp' => Markdown::render(Setting::get('app_about')),
+ 'canPageForward' => (bool) $today->gt($startDate),
+ 'previousDate' => $startDate->copy()->subWeek()->subDay()->toDateString(),
+ 'nextDate' => $startDate->copy()->addWeek()->addDay()->toDateString(),
]);
}
}