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...