Fix dashboard totals when 'First month' is set

This commit is contained in:
Hillel Coren 2017-02-02 14:54:43 +02:00
parent e4d536a8c0
commit 41096a7bce
2 changed files with 14 additions and 9 deletions

View File

@ -1804,6 +1804,18 @@ class Account extends Eloquent
{
return $this->company->accounts->count() > 1;
}
public function financialYearStart()
{
$yearStart = Carbon::parse($this->financial_year_start);
$yearStart->year = date('Y');
if ($yearStart->isFuture()) {
$yearStart->subYear();
}
return $yearStart->format('Y-m-d');
}
}
Account::updated(function ($account) {

View File

@ -8,7 +8,6 @@ use App\Models\Task;
use DateInterval;
use DatePeriod;
use DB;
use Carbon;
use stdClass;
class DashboardRepository
@ -211,12 +210,7 @@ class DashboardRepository
if ($startDate) {
$paidToDate->where('payments.payment_date', '>=', $startDate);
} elseif ($account->financial_year_start) {
$yearStart = Carbon::parse($account->financial_year_start);
$yearStart->year = date('Y');
if ($yearStart->isFuture()) {
$yearStart->subYear();
}
$paidToDate->where('payments.payment_date', '>=', $yearStart->format('Y-m-d'));
$paidToDate->where('payments.payment_date', '>=', $account->financialYearStart());
}
return $paidToDate->groupBy('payments.account_id')
@ -246,8 +240,7 @@ class DashboardRepository
}
if ($account->financial_year_start) {
$yearStart = str_replace('2000', date('Y'), $account->financial_year_start);
$averageInvoice->where('invoices.invoice_date', '>=', $yearStart);
$averageInvoice->where('invoices.invoice_date', '>=', $account->financialYearStart());
}
return $averageInvoice->groupBy('accounts.id')