diff --git a/app/Ninja/Presenters/AccountPresenter.php b/app/Ninja/Presenters/AccountPresenter.php
index 9560e844d7fc..9921b33c4bce 100644
--- a/app/Ninja/Presenters/AccountPresenter.php
+++ b/app/Ninja/Presenters/AccountPresenter.php
@@ -2,6 +2,7 @@
namespace App\Ninja\Presenters;
+use Carbon;
use Domain;
use Laracasts\Presenter\Presenter;
use stdClass;
@@ -112,4 +113,23 @@ class AccountPresenter extends Presenter
return $data;
}
+
+ public function dateRangeOptions()
+ {
+ $yearStart = Carbon::parse($this->entity->financialYearStart() ?: '2000-01-01');
+ $month = $yearStart->month - 1;
+ $year = $yearStart->year;
+ $lastYear = $year - 1;
+
+ $str = '{
+ "' . trans('texts.last_7_days') . '": [moment().subtract(6, "days"), moment()],
+ "' . trans('texts.last_30_days') . '": [moment().subtract(29, "days"), moment()],
+ "' . trans('texts.this_month') . '": [moment().startOf("month"), moment().endOf("month")],
+ "' . trans('texts.last_month') . '": [moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month")],
+ "' . trans('texts.this_year') . '": [moment().date(1).month(' . $month . ').year(' . $year . '), moment()],
+ "' . trans('texts.last_year') . '": [moment().date(1).month(' . $month . ').year(' . $lastYear . '), moment().date(1).month(' . $month . ').year(' . $year . ').subtract(1, "day")],
+ }';
+
+ return $str;
+ }
}
diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php
index 547e07be1238..2c7622884fa6 100644
--- a/resources/lang/en/texts.php
+++ b/resources/lang/en/texts.php
@@ -2356,7 +2356,8 @@ $LANG = array(
'template' => 'Template',
'start_of_week_help' => 'Used by date selectors',
'financial_year_start_help' => 'Used by date range selectors',
- 'reports_help' => 'Shift + Click to sort by multple columns, Ctrl + Click to clear the grouping.'
+ 'reports_help' => 'Shift + Click to sort by multple columns, Ctrl + Click to clear the grouping.',
+ 'this_year' => 'This Year',
);
diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php
index bf1b1bdd16df..3ff821d9f563 100644
--- a/resources/views/dashboard.blade.php
+++ b/resources/views/dashboard.blade.php
@@ -110,13 +110,7 @@
startDate: chartStartDate,
endDate: chartEndDate,
linkedCalendars: false,
- ranges: {
- "{{ trans('texts.last_7_days') }}": [moment().subtract(6, 'days'), moment()],
- "{{ trans('texts.last_30_days') }}": [moment().subtract(29, 'days'), moment()],
- "{{ trans('texts.this_month') }}": [moment().startOf('month'), moment().endOf('month')],
- "{{ trans('texts.last_month') }}": [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
- "{{ trans('texts.last_year') }}": [moment().subtract(1, 'year'), moment()],
- }
+ ranges: {!! $account->present()->dateRangeOptions !!}
}, cb);
cb(chartStartDate, chartEndDate);
diff --git a/resources/views/reports/chart_builder.blade.php b/resources/views/reports/chart_builder.blade.php
index 077295a6a192..caedeb10e7db 100644
--- a/resources/views/reports/chart_builder.blade.php
+++ b/resources/views/reports/chart_builder.blade.php
@@ -37,18 +37,13 @@
$('#reportrange').daterangepicker({
locale: {
- "format": "{{ $account->getMomentDateFormat() }}",
+ format: "{{ $account->getMomentDateFormat() }}",
+ customRangeLabel: "{{ trans('texts.custom_range') }}",
},
startDate: chartStartDate,
endDate: chartEndDate,
linkedCalendars: false,
- ranges: {
- 'Last 7 Days': [moment().subtract(6, 'days'), moment()],
- 'Last 30 Days': [moment().subtract(29, 'days'), moment()],
- 'This Month': [moment().startOf('month'), moment().endOf('month')],
- 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
- 'This Year': [moment().startOf('year'), moment().endOf('month')]
- }
+ ranges: {!! $account->present()->dateRangeOptions !!}
}, cb);
cb(chartStartDate, chartEndDate);