EnquiryController
extends BaseController
in package
Enquiry Controller
This controller manages comprehensive enquiry operations including enquiry CRUD, contact management, enquiry filtering, and enquiry information management. It provides functionality for managing contact enquiries with advanced filtering, search capabilities, and enquiry tracking for customer service management.
Table of Contents
Methods
- __construct() : void
- Create a new EnquiryController instance.
- create() : View
- Show the form for creating a new enquiry.
- destroy() : RedirectResponse
- Remove the specified enquiry from storage.
- edit() : View
- Show the form for editing the specified enquiry.
- index() : View|JsonResponse
- Display a listing of enquiries with DataTables support and advanced filtering.
- show() : void
- Display the specified enquiry details.
- store() : RedirectResponse
- Store a newly created enquiry in storage.
- update() : RedirectResponse
- Update the specified enquiry in storage.
Methods
__construct()
Create a new EnquiryController instance.
public
__construct() : void
Checks if user is logged in and has proper permissions for enquiry management. Redirects to appropriate page if permissions are not met.
create()
Show the form for creating a new enquiry.
public
create(Request $request) : View
Displays the enquiry creation form for adding new contact enquiries to the customer service management system.
Parameters
- $request : Request
Return values
Viewdestroy()
Remove the specified enquiry from storage.
public
destroy(int $id) : RedirectResponse
Deletes enquiry record and provides confirmation message. Handles enquiry removal with proper error handling.
Parameters
- $id : int
Return values
RedirectResponseedit()
Show the form for editing the specified enquiry.
public
edit(int $id, Request $request) : View
Displays the enquiry edit form with security key validation. Requires valid security key to prevent unauthorized access. Supports enquiry information updates with proper validation.
Parameters
- $id : int
- $request : Request
Return values
Viewindex()
Display a listing of enquiries with DataTables support and advanced filtering.
public
index(Request $request) : View|JsonResponse
Provides a paginated list of enquiries with comprehensive filtering capabilities. Supports AJAX requests for DataTables with search and filter functionality. Includes advanced filtering by name, email, comments, and address. Features enquiry preview, edit, and delete actions.
Parameters
- $request : Request
Return values
View|JsonResponseshow()
Display the specified enquiry details.
public
show(int $id, Request $request) : void
Shows detailed enquiry information in a formatted HTML table. Displays comprehensive enquiry data including contact information, IP address, comments, and address details.
Parameters
- $id : int
- $request : Request
store()
Store a newly created enquiry in storage.
public
store(Request $request) : RedirectResponse
Validates enquiry input, creates new enquiry record, and tracks creation activity. Supports comprehensive enquiry data including contact information, IP tracking, and enquiry details.
Parameters
- $request : Request
Return values
RedirectResponseupdate()
Update the specified enquiry in storage.
public
update(Request $request, int $id) : RedirectResponse
Handles enquiry updates including contact information, IP tracking, and enquiry details. Validates enquiry input and tracks update activity. Supports comprehensive enquiry information management.
Parameters
- $request : Request
- $id : int