renamed report events and listeners

This commit is contained in:
denisdulici
2020-01-31 12:59:12 +03:00
parent 5a5521e5ad
commit d5366e74cf
17 changed files with 106 additions and 106 deletions

View File

@@ -1,86 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterShowing;
use App\Events\Common\ReportGroupApplying;
use App\Events\Common\ReportGroupShowing;
use App\Events\Common\ReportRowsShowing;
class AddAccountsToReports extends Listener
{
protected $classes = [
'App\Reports\IncomeSummary',
'App\Reports\ExpenseSummary',
'App\Reports\IncomeExpenseSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->filters['accounts'] = $this->getAccounts();
}
/**
* Handle group showing event.
*
* @param $event
* @return void
*/
public function handleReportGroupShowing(ReportGroupShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->groups['account'] = trans_choice('general.accounts', 1);
}
/**
* Handle group applying event.
*
* @param $event
* @return void
*/
public function handleReportGroupApplying(ReportGroupApplying $event)
{
if ($this->skipThisClass($event)) {
return;
}
$this->applyAccountGroup($event);
}
/**
* Handle rows showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if ($this->skipRowsShowing($event, 'account')) {
return;
}
if ($accounts = request('accounts')) {
$rows = collect($event->class->filters['accounts'])->filter(function ($value, $key) use ($accounts) {
return in_array($key, $accounts);
});
} else {
$rows = $event->class->filters['accounts'];
}
$this->setRowNamesAndValues($event, $rows);
}
}

View File

@@ -1,85 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterShowing;
use App\Events\Common\ReportGroupApplying;
use App\Events\Common\ReportGroupShowing;
use App\Events\Common\ReportRowsShowing;
class AddCustomersToReports extends Listener
{
protected $classes = [
'App\Reports\IncomeSummary',
'App\Reports\IncomeExpenseSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->filters['customers'] = $this->getCustomers();
}
/**
* Handle group showing event.
*
* @param $event
* @return void
*/
public function handleReportGroupShowing(ReportGroupShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->groups['customer'] = trans_choice('general.customers', 1);
}
/**
* Handle group applying event.
*
* @param $event
* @return void
*/
public function handleReportGroupApplying(ReportGroupApplying $event)
{
if ($this->skipThisClass($event)) {
return;
}
$this->applyCustomerGroup($event);
}
/**
* Handle rows showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if ($this->skipRowsShowing($event, 'customer')) {
return;
}
if ($customers = request('customers')) {
$rows = collect($event->class->filters['customers'])->filter(function ($value, $key) use ($customers) {
return in_array($key, $customers);
});
} else {
$rows = $event->class->filters['customers'];
}
$this->setRowNamesAndValues($event, $rows);
}
}

View File

@@ -1,49 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterApplying;
use App\Events\Common\ReportFilterShowing;
class AddDateToReports extends Listener
{
protected $classes = [
'App\Reports\IncomeSummary',
'App\Reports\ExpenseSummary',
'App\Reports\IncomeExpenseSummary',
'App\Reports\ProfitLoss',
'App\Reports\TaxSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->filters['years'] = $this->getYears();
}
/**
* Handle filter applying event.
*
* @param $event
* @return void
*/
public function handleReportFilterApplying(ReportFilterApplying $event)
{
if ($this->skipThisClass($event)) {
return;
}
// Apply date
$this->applyDateFilter($event);
}
}

View File

@@ -1,68 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterShowing;
use App\Events\Common\ReportGroupShowing;
use App\Events\Common\ReportRowsShowing;
class AddExpenseCategoriesToReports extends Listener
{
protected $classes = [
'App\Reports\ExpenseSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->filters['categories'] = $this->getExpenseCategories();
}
/**
* Handle group showing event.
*
* @param $event
* @return void
*/
public function handleReportGroupShowing(ReportGroupShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->groups['category'] = trans_choice('general.categories', 1);
}
/**
* Handle rows showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if ($this->skipRowsShowing($event, 'category')) {
return;
}
if ($categories = request('categories')) {
$rows = collect($event->class->filters['categories'])->filter(function ($value, $key) use ($categories) {
return in_array($key, $categories);
});
} else {
$rows = $event->class->filters['categories'];
}
$this->setRowNamesAndValues($event, $rows);
}
}

View File

@@ -1,68 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterShowing;
use App\Events\Common\ReportGroupShowing;
use App\Events\Common\ReportRowsShowing;
class AddIncomeCategoriesToReports extends Listener
{
protected $classes = [
'App\Reports\IncomeSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->filters['categories'] = $this->getIncomeCategories();
}
/**
* Handle group showing event.
*
* @param $event
* @return void
*/
public function handleReportGroupShowing(ReportGroupShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->groups['category'] = trans_choice('general.categories', 1);
}
/**
* Handle rows showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if ($this->skipRowsShowing($event, 'category')) {
return;
}
if ($categories = request('categories')) {
$rows = collect($event->class->filters['categories'])->filter(function ($value, $key) use ($categories) {
return in_array($key, $categories);
});
} else {
$rows = $event->class->filters['categories'];
}
$this->setRowNamesAndValues($event, $rows);
}
}

View File

@@ -1,108 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterShowing;
use App\Events\Common\ReportGroupShowing;
use App\Events\Common\ReportRowsShowing;
use App\Models\Setting\Category;
class AddIncomeExpenseCategoriesToReports extends Listener
{
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
$classes = [
'App\Reports\IncomeExpenseSummary',
];
if (empty($event->class) || !in_array(get_class($event->class), $classes)) {
return;
}
$event->class->filters['categories'] = $this->getIncomeExpenseCategories();
}
/**
* Handle group showing event.
*
* @param $event
* @return void
*/
public function handleReportGroupShowing(ReportGroupShowing $event)
{
$classes = [
'App\Reports\IncomeExpenseSummary',
'App\Reports\ProfitLoss',
];
if (empty($event->class) || !in_array(get_class($event->class), $classes)) {
return;
}
$event->class->groups['category'] = trans_choice('general.categories', 1);
}
/**
* Handle records showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if (
empty($event->class)
|| empty($event->class->model->settings->group)
|| ($event->class->model->settings->group != 'category')
) {
return;
}
switch (get_class($event->class)) {
case 'App\Reports\ProfitLoss':
$categories = Category::type(['income', 'expense'])->orderBy('name')->get();
$rows = $categories->pluck('name', 'id')->toArray();
$this->setRowNamesAndValuesForProfitLoss($event, $rows, $categories);
break;
case 'App\Reports\IncomeExpenseSummary':
if ($categories = request('categories')) {
$rows = collect($event->class->filters['categories'])->filter(function ($value, $key) use ($categories) {
return in_array($key, $categories);
});
} else {
$rows = $event->class->filters['categories'];
}
$this->setRowNamesAndValues($event, $rows);
break;
}
}
public function setRowNamesAndValuesForProfitLoss($event, $rows, $categories)
{
foreach ($event->class->dates as $date) {
foreach ($event->class->tables as $type_id => $type_name) {
foreach ($rows as $id => $name) {
$category = $categories->where('id', $id)->first();
if ($category->type != $type_id) {
continue;
}
$event->class->row_names[$type_name][$id] = $name;
$event->class->row_values[$type_name][$id][$date] = 0;
}
}
}
}
}

View File

@@ -1,33 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportRowsShowing;
class AddRowsToTaxReport extends Listener
{
protected $classes = [
'App\Reports\TaxSummary',
];
/**
* Handle rows showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$rows = [
'income' => trans_choice('general.sales', 2),
'expense' => trans_choice('general.purchases', 2),
];
$this->setRowNamesAndValues($event, $rows);
}
}

View File

@@ -1,49 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterApplying;
use App\Events\Common\ReportFilterShowing;
class AddSearchToReports extends Listener
{
protected $classes = [
'App\Reports\IncomeSummary',
'App\Reports\ExpenseSummary',
'App\Reports\IncomeExpenseSummary',
'App\Reports\ProfitLoss',
'App\Reports\TaxSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
//$event->class->filters['search'] = $this->getSearch();
}
/**
* Handle filter applying event.
*
* @param $event
* @return void
*/
public function handleReportFilterApplying(ReportFilterApplying $event)
{
if ($this->skipThisClass($event)) {
return;
}
// Apply date
$this->applySearchStringFilter($event);
}
}

View File

@@ -1,85 +0,0 @@
<?php
namespace App\Listeners\Common;
use App\Abstracts\Listeners\Report as Listener;
use App\Events\Common\ReportFilterShowing;
use App\Events\Common\ReportGroupApplying;
use App\Events\Common\ReportGroupShowing;
use App\Events\Common\ReportRowsShowing;
class AddVendorsToReports extends Listener
{
protected $classes = [
'App\Reports\ExpenseSummary',
'App\Reports\IncomeExpenseSummary',
];
/**
* Handle filter showing event.
*
* @param $event
* @return void
*/
public function handleReportFilterShowing(ReportFilterShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->filters['vendors'] = $this->getVendors();
}
/**
* Handle group showing event.
*
* @param $event
* @return void
*/
public function handleReportGroupShowing(ReportGroupShowing $event)
{
if ($this->skipThisClass($event)) {
return;
}
$event->class->groups['vendor'] = trans_choice('general.vendors', 1);
}
/**
* Handle group applying event.
*
* @param $event
* @return void
*/
public function handleReportGroupApplying(ReportGroupApplying $event)
{
if ($this->skipThisClass($event)) {
return;
}
$this->applyVendorGroup($event);
}
/**
* Handle rows showing event.
*
* @param $event
* @return void
*/
public function handleReportRowsShowing(ReportRowsShowing $event)
{
if ($this->skipRowsShowing($event, 'vendor')) {
return;
}
if ($vendors = request('vendors')) {
$rows = collect($event->class->filters['vendors'])->filter(function ($value, $key) use ($vendors) {
return in_array($key, $vendors);
});
} else {
$rows = $event->class->filters['vendors'];
}
$this->setRowNamesAndValues($event, $rows);
}
}