Building a backend interface
Until now, we have been dealing with setting up general module configuration, e-mail templates, frontend route, frontend layout, block, and template. What remains to complete the module requirements is the admin interface, where the store owner can see submitted tickets and change statuses from open to closed.
The following are needed for a fully functional admin interface as per the requirements:
ACL resource used to allow or disallow access to the ticket listing
Menu item linking to tickets listing the controller action
Route that maps to our admin controller
Layout XMLs that map to the ticket listing the controller action
Controller action for listing tickets
Full XML layout grid definition within layout XMLs defining grid, custom column renderers, and custom dropdown filter values
Controller action for closing tickets and sending e-mails to customers
Linking the access control list and menu
We start by adding a new ACL resource entry to the previously defined app/code...