soda-framework / reports
Soda Framework: Reports
Installs: 2 788
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 0
Open Issues: 1
Requires
- php: >=5.5.9
- soda-framework/cms: >=0.10.0 <0.11.0
This package is not auto-updated.
Last update: 2022-03-15 05:55:44 UTC
README
Reporting module for Soda CMS
composer require soda-framework/reports
app.php Providers: Soda\Reports\SodaReportsServiceProvider::class
php artisan soda:reports:install
php artisan soda:reports:seed
#!sql
INSERT INTO `reports` (`id`, `name`, `description`, `class`, `application_id`, `position`, `times_ran`, `last_run_at`, `created_at`, `updated_at`)
VALUES
(1, 'Subscriptions', NULL, 'Themes\\Snackable\\Components\\SubscriptionReport', 1, NULL, 4, '2017-01-27 04:13:20', NULL, '2017-01-27 04:13:20');
INSERT INTO `report_role` (`report_id`, `role_id`)
VALUES
(1, 1),
(1, 2);
#!php
Themes\Snackable\Components\SubscriptionReport.php
<?php
namespace Themes\Snackable\Components;
use Soda;
use Illuminate\Http\Request;
use Soda\Reports\Foundation\AbstractReporter;
use Themes\Snackable\Controllers\PageController;
use Zofe\Rapyd\Facades\DataGrid;
class SubscriptionReport extends AbstractReporter{
public function query(Request $request)
{
$query = Soda::model(PageController::$subscription_block)->select('name','email','dob','created_at');
return $query;
}
public function run(Request $request)
{
$grid = DataGrid::source($this->query($request));
$grid->add('name', 'Name');
$grid->add('email', 'Email');
$grid->add('dob', 'Date of Birth');
$grid->add('created_at', 'Date Subscribed');
$grid->paginate(20)->getGrid($this->getGridView());
return view($this->getView(), ['report' => $this->report, 'grid' => $grid]);
}
}