mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-12 14:12:44 +01:00
Updates for all report endpoints
This commit is contained in:
parent
e078b9637b
commit
da62f3da4b
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Services\Report\ARDetailReport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Services\Report\ARDetailReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
|
||||
class ARDetailReportController extends BaseController
|
||||
{
|
||||
@ -61,24 +62,21 @@ class ARDetailReportController extends BaseController
|
||||
*/
|
||||
public function __invoke(GenericReportRequest $request)
|
||||
{
|
||||
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), ARDetailReport::class, $this->filename);
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ARDetailReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new ARDetailReport(auth()->user()->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), ARDetailReport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Services\Report\ARSummaryReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Services\Report\ARSummaryReport;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
|
||||
class ARSummaryReportController extends BaseController
|
||||
{
|
||||
@ -71,17 +72,11 @@ class ARSummaryReportController extends BaseController
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new ARSummaryReport($user->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), ARSummaryReport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Services\Report\ClientBalanceReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Services\Report\ClientBalanceReport;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
|
||||
class ClientBalanceReportController extends BaseController
|
||||
{
|
||||
@ -61,24 +62,20 @@ class ClientBalanceReportController extends BaseController
|
||||
*/
|
||||
public function __invoke(GenericReportRequest $request)
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), ClientBalanceReport::class, $this->filename);
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ClientBalanceReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new ClientBalanceReport(auth()->user()->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), ClientBalanceReport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Services\Report\ClientSalesReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Services\Report\ClientSalesReport;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
|
||||
class ClientSalesReportController extends BaseController
|
||||
{
|
||||
@ -61,24 +62,20 @@ class ClientSalesReportController extends BaseController
|
||||
*/
|
||||
public function __invoke(GenericReportRequest $request)
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), ClientSalesReport::class, $this->filename);
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ClientSalesReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new ClientSalesReport(auth()->user()->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), ClientSalesReport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,13 +11,14 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Models\Client;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Export\CSV\ProductSalesExport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\ProductSalesReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Models\Client;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class ProductSalesReportController extends BaseController
|
||||
{
|
||||
@ -63,24 +64,20 @@ class ProductSalesReportController extends BaseController
|
||||
*/
|
||||
public function __invoke(ProductSalesReportRequest $request)
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), ProductSalesExport::class, $this->filename);
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), ProductSalesExport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new ProductSalesExport(auth()->user()->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), ProductSalesExport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,13 +11,14 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Models\Client;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Services\Report\ProfitLoss;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\ProfitLossRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Models\Client;
|
||||
use App\Services\Report\ProfitLoss;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class ProfitAndLossController extends BaseController
|
||||
{
|
||||
@ -71,18 +72,13 @@ class ProfitAndLossController extends BaseController
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$pnl = new ProfitLoss($user->company(), $request->all());
|
||||
$csv = $pnl->run();
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
PreviewReport::dispatch($user->company(), $request->all(), ProfitLoss::class, $hash);
|
||||
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Services\Report\TaxSummaryReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Services\Report\TaxSummaryReport;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
|
||||
class TaxSummaryReportController extends BaseController
|
||||
{
|
||||
@ -61,24 +62,21 @@ class TaxSummaryReportController extends BaseController
|
||||
*/
|
||||
public function __invoke(GenericReportRequest $request)
|
||||
{
|
||||
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), TaxSummaryReport::class, $this->filename);
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), TaxSummaryReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new TaxSummaryReport(auth()->user()->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), TaxSummaryReport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Services\Report\UserSalesReport;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Jobs\Report\SendToAdmin;
|
||||
use App\Jobs\Report\PreviewReport;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Services\Report\UserSalesReport;
|
||||
use App\Http\Requests\Report\GenericReportRequest;
|
||||
|
||||
class UserSalesReportController extends BaseController
|
||||
{
|
||||
@ -61,24 +62,20 @@ class UserSalesReportController extends BaseController
|
||||
*/
|
||||
public function __invoke(GenericReportRequest $request)
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
|
||||
if ($request->has('send_email') && $request->get('send_email')) {
|
||||
SendToAdmin::dispatch(auth()->user()->company(), $request->all(), UserSalesReport::class, $this->filename);
|
||||
SendToAdmin::dispatch($user->company(), $request->all(), UserSalesReport::class, $this->filename);
|
||||
|
||||
return response()->json(['message' => 'working...'], 200);
|
||||
}
|
||||
// expect a list of visible fields, or use the default
|
||||
|
||||
$export = new UserSalesReport(auth()->user()->company(), $request->all());
|
||||
$hash = \Illuminate\Support\Str::uuid();
|
||||
|
||||
$csv = $export->run();
|
||||
PreviewReport::dispatch($user->company(), $request->all(), UserSalesReport::class, $hash);
|
||||
|
||||
$headers = [
|
||||
'Content-Disposition' => 'attachment',
|
||||
'Content-Type' => 'text/csv',
|
||||
];
|
||||
return response()->json(['message' => $hash], 200);
|
||||
|
||||
return response()->streamDownload(function () use ($csv) {
|
||||
echo $csv;
|
||||
}, $this->filename, $headers);
|
||||
}
|
||||
}
|
||||
|
@ -27,8 +27,8 @@ class Locale
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
/*LOCALE SET */
|
||||
if ($request->has('lang')) {
|
||||
$locale = $request->input('lang');
|
||||
if ($request->has('lang') && is_string($request->input('lang'))) {
|
||||
$locale = $request->string('lang','en');
|
||||
App::setLocale($locale);
|
||||
} elseif (auth()->guard('contact')->user()) {
|
||||
App::setLocale(auth()->guard('contact')->user()->client()->setEagerLoads([])->first()->locale());
|
||||
|
@ -32,7 +32,7 @@ class SetEmailDb
|
||||
'errors' => new stdClass,
|
||||
];
|
||||
|
||||
if ($request->input('email') && config('ninja.db.multi_db_enabled')) {
|
||||
if ($request->input('email') && is_string($request->input('email')) && config('ninja.db.multi_db_enabled')) {
|
||||
if (! MultiDB::userFindAndSetDb($request->input('email'))) {
|
||||
return response()->json($error, 400);
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ class VendorLocale
|
||||
}
|
||||
|
||||
/*LOCALE SET */
|
||||
if ($request->has('lang')) {
|
||||
if ($request->has('lang') && is_string($request->input('lang'))) {
|
||||
$locale = $request->input('lang');
|
||||
App::setLocale($locale);
|
||||
} elseif (auth()->guard('vendor')->user()) {
|
||||
|
@ -113,12 +113,15 @@ class TaxSummaryReport extends BaseExport
|
||||
|
||||
if(in_array($invoice->status_id, [Invoice::STATUS_PARTIAL,Invoice::STATUS_PAID])) {
|
||||
|
||||
if($invoice->status_id == Invoice::STATUS_PAID) {
|
||||
$cash_map[$key]['tax_amount'] += $tax['total'];
|
||||
} else {
|
||||
$cash_map[$key]['tax_amount'] += (($invoice->amount - $invoice->balance) / $invoice->balance) * $tax['total'] ?? 0;
|
||||
try {
|
||||
if($invoice->status_id == Invoice::STATUS_PAID) {
|
||||
$cash_map[$key]['tax_amount'] += $tax['total'];
|
||||
} else {
|
||||
$cash_map[$key]['tax_amount'] += (($invoice->amount - $invoice->balance) / $invoice->balance) * $tax['total'] ?? 0;
|
||||
}
|
||||
} catch(\DivisionByZeroError $e) {
|
||||
$cash_map[$key]['tax_amount'] += 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user