0e55e36cea
PHP Tests / php-tests (push) Has been cancelled
New modules/reporting Filament page: filterable bookings table (travel date range, status, route, channel) with CSV/Excel export. Report columns include booking ref, route, passenger name/count, price, best-payment status/amount, and driver info, plus a TOTAL row summing passenger count, price, and payment amount in both export formats. - BookingsRevenueExport backs both CSV and XLSX via maatwebsite/excel ^4.0 (the only version compatible with PHP 8.5; 3.1.x caps phpoffice/phpspreadsheet below 8.5). - CSV export writes a UTF-8 BOM so non-Latin passenger names (Burmese) open correctly in Excel. - New view_reports permission (super_admin/admin/support) gates the page; new indexes on bookings.travel_date/status/created_by_channel and payments.completed_at support the report's filters.
30 lines
548 B
PHP
30 lines
548 B
PHP
<?php
|
|
|
|
namespace Modules\Reporting;
|
|
|
|
use Filament\Contracts\Plugin;
|
|
use Filament\Panel;
|
|
|
|
class ReportingPlugin implements Plugin
|
|
{
|
|
public function getId(): string
|
|
{
|
|
return 'reporting';
|
|
}
|
|
|
|
public function register(Panel $panel): void
|
|
{
|
|
$panel->discoverPages(
|
|
in: __DIR__.'/Filament/Pages',
|
|
for: 'Modules\Reporting\Filament\Pages',
|
|
);
|
|
}
|
|
|
|
public function boot(Panel $panel): void {}
|
|
|
|
public static function make(): static
|
|
{
|
|
return app(static::class);
|
|
}
|
|
}
|