ReportsController
extends AppController
in package
Activities Plugin Reports Controller
Generates authorization reports with branch-scoped analytics, temporal filtering, and activity-specific reporting for administrative oversight and compliance monitoring.
Table of Contents
Constants
- VIEW_DATA_EVENT = 'KMP.plugins.callForViewData'
- VIEW_PLUGIN_EVENT = 'KMP.plugins.callForViewCells'
Properties
- $Authorizations : AuthorizationsTable
- $isCsvRequest : bool
- $pluginViewCells : array<string|int, mixed>
Methods
- authorizations() : void
- Generate authorization report with member counts, activity rollups, and detailed listings.
- beforeFilter() : Response|null|void
- Pre-action filter for application-wide processing.
- initialize() : void
- Initialize controller with authorization settings.
- isCsvRequest() : bool
- Check if current request is for CSV export.
- switchView() : Response
- Switch between mobile and desktop view modes.
- authorizeCurrentUrl() : void
- Authorize the current URL/action via Authorization component.
- organizeViewCells() : array<string|int, mixed>
- Organize view cells by type and display order.
- setValidFilter() : Query
- Apply temporal validity filter to authorization query.
Constants
VIEW_DATA_EVENT
public
string
VIEW_DATA_EVENT
= 'KMP.plugins.callForViewData'
Event for plugin view data enhancement
VIEW_PLUGIN_EVENT
public
string
VIEW_PLUGIN_EVENT
= 'KMP.plugins.callForViewCells'
Event for plugin view cell registration
Properties
$Authorizations
public
AuthorizationsTable
$Authorizations
$isCsvRequest
protected
bool
$isCsvRequest
= false
Whether current request is for CSV export (.csv extension)
$pluginViewCells
protected
array<string|int, mixed>
$pluginViewCells
= []
View cells from plugins for current request
Methods
authorizations()
Generate authorization report with member counts, activity rollups, and detailed listings.
public
authorizations() : void
beforeFilter()
Pre-action filter for application-wide processing.
public
beforeFilter(EventInterface $event) : Response|null|void
Handles: CSV detection, plugin validation, navigation history, view cell loading, and Turbo Frame detection.
Parameters
- $event : EventInterface
-
The beforeFilter event
Return values
Response|null|voidinitialize()
Initialize controller with authorization settings.
public
initialize() : void
isCsvRequest()
Check if current request is for CSV export.
public
isCsvRequest() : bool
Return values
boolswitchView()
Switch between mobile and desktop view modes.
public
switchView() : Response
Stores preference in session and redirects to appropriate interface. Mobile redirects to viewMobileCard, desktop to profile.
Return values
Response —Redirect response
authorizeCurrentUrl()
Authorize the current URL/action via Authorization component.
protected
authorizeCurrentUrl() : void
Tags
organizeViewCells()
Organize view cells by type and display order.
protected
organizeViewCells(array<string|int, mixed> $viewCells) : array<string|int, mixed>
Unused - view cells organized in ViewCellRegistry
Parameters
- $viewCells : array<string|int, mixed>
-
Flat array of view cell configurations
Return values
array<string|int, mixed> —Organized array grouped by type and sorted by order
setValidFilter()
Apply temporal validity filter to authorization query.
protected
setValidFilter(Query $q, DateTime $validOn) : Query
Parameters
- $q : Query
-
The base query object to filter
- $validOn : DateTime
-
The target date for validity checking
Return values
Query —The modified query with temporal filters applied