Airport Guide Documentation

TransitController extends BaseController
in package

Transit Service Management Controller

This controller handles all operations related to airport transit services management. It provides CRUD operations for managing transit companies, their contact information, routes, and associated airport data. The controller includes features for listing, creating, editing, viewing, and deleting transit service records with proper validation and admin activity logging.

Features:

  • DataTables integration with search and filtering
  • Airport code parsing and validation
  • Security validation with MD5 hash verification
  • Admin activity logging for all operations
  • Status management (Active/Inactive)
  • Route and place information handling
  • Multiple contact methods support
Tags
author

Airport Guide System

version
1.0
since
2024

Table of Contents

Methods

__construct()  : void
Constructor for TransitController
create()  : View
Show the form for creating a new transit service resource
destroy()  : RedirectResponse
Remove the specified transit service resource from storage
edit()  : View|RedirectResponse
Show the form for editing the specified transit service resource
index()  : View|DataTable
Display a listing of transit service resources
show()  : void
Display the specified transit service resource
store()  : RedirectResponse
Store a newly created transit service resource in storage
update()  : RedirectResponse
Update the specified transit service resource in storage

Methods

__construct()

Constructor for TransitController

public __construct() : void

Initializes the controller by checking user authentication and permissions. Redirects to login if user is not authenticated or lacks proper permissions.

create()

Show the form for creating a new transit service resource

public create(Request $request) : View

Displays the create form with necessary data for adding a new transit service. Prepares dropdown lists for airports, states, and other required fields.

Parameters
$request : Request

The HTTP request object

Tags
example

GET /admin/transit/create

Return values
View

Returns the create form view

destroy()

Remove the specified transit service resource from storage

public destroy(int $id) : RedirectResponse

Deletes a transit service record and creates an admin activity log entry. Performs soft delete if the model supports it, otherwise performs hard delete.

Parameters
$id : int

The ID of the transit service record to delete

Tags
example

DELETE /admin/transit/123

Return values
RedirectResponse

Redirects to index with success message

edit()

Show the form for editing the specified transit service resource

public edit(int $id, Request $request) : View|RedirectResponse

Displays the edit form for an existing transit service record with security validation. Includes MD5 hash verification to prevent unauthorized access and maintains pagination state and search filters in the form.

Parameters
$id : int

The ID of the transit service record to edit

$request : Request

The HTTP request object containing security key and pagination data

Tags
example

GET /admin/transit/123/edit?key=abc123&page_no=2

Return values
View|RedirectResponse

Returns edit form or redirects on security failure

index()

Display a listing of transit service resources

public index(Request $request) : View|DataTable

This method handles both AJAX and regular requests for displaying transit service data. For AJAX requests, it returns DataTables formatted data with search and filtering capabilities. For regular requests, it returns a view with pagination and search filters.

Features:

  • Pagination support with configurable page size
  • Search filtering by company name, address, phone, airport name, and airport code
  • DataTables integration for enhanced user experience
  • Action buttons for view, edit, and delete operations
  • Case-insensitive search with ILIKE functions
  • Status column display (Active/Inactive)
Parameters
$request : Request

The HTTP request object containing search parameters and pagination data

Tags
example

// Regular request GET /admin/transit

// AJAX request with search filters GET /admin/transit?ajax=1&company_name=ABC&airport_code=JFK

Return values
View|DataTable

Returns view for regular requests or DataTable for AJAX

show()

Display the specified transit service resource

public show(int $id, Request $request) : void

Shows detailed information about a specific transit service record in HTML format. This method is typically called via AJAX to display data in a modal window. Only displays fields that have values (non-empty).

Parameters
$id : int

The ID of the transit service record to display

$request : Request

The HTTP request object

Tags
example

GET /admin/transit/123

Output:

Airport NameJohn F. Kennedy International Airport
Company NameABC Transit Service
Route NameDowntown Express
Return values
void

Outputs HTML content directly to the response

store()

Store a newly created transit service resource in storage

public store(Request $request) : RedirectResponse

Validates and stores a new transit service record with the following features:

  • Validates required fields (airport_name)
  • Parses airport information from formatted string
  • Creates admin activity log entry
  • Handles airport code extraction and airport ID lookup
  • Supports multiple contact methods and route information
Parameters
$request : Request

The HTTP request object containing form data

Tags
throws
ValidationException

When validation fails

example

POST /admin/transit

Request data: { "airport_name": "John F. Kennedy International Airport (JFK)", "company_name": "ABC Transit Service", "company_address": "123 Main St, New York, NY", "company_phone1": "+1-555-123-4567", "company_phone2": "+1-555-123-4568", "company_phone3": "+1-555-123-4569", "company_link": "https://abctransit.com", "route_name": "Downtown Express", "place": "Downtown", "city": "New York", "state": "NY", "zip_code": "10001", "description": "Reliable transit service", "status": "1" }

Return values
RedirectResponse

Redirects to index with success message

update()

Update the specified transit service resource in storage

public update(Request $request, int $id) : RedirectResponse

Updates an existing transit service record with validation and security features:

  • Validates required fields
  • Parses airport information from formatted string
  • Creates admin activity log entry
  • Maintains pagination and search filter state
  • Handles airport code extraction and airport ID lookup
Parameters
$request : Request

The HTTP request object containing form data

$id : int

The ID of the transit service record to update

Tags
throws
ValidationException

When validation fails

example

PUT /admin/transit/123

Request data: { "airport_name": "John F. Kennedy International Airport (JFK)", "company_name": "Updated ABC Transit Service", "company_address": "456 Updated St, New York, NY", "company_phone1": "+1-555-987-6543", "route_name": "Updated Downtown Express", "place": "Updated Downtown", "city": "New York", "state": "NY", "zip_code": "10002", "description": "Updated transit service", "status": "1" }

Return values
RedirectResponse

Redirects to index with success message and preserved filters


        
On this page

Search results