feat: Add Table classes and CRUD controllers for all admin entities #34

Open
opened 2026-06-29 14:06:58 +00:00 by jmiller · 1 comment
Owner

Summary

The admin component has no Table classes and only a generic DisplayController. Without Table classes, Joomla's AdminModel cannot save/delete records. Without entity-specific controllers, form submissions and batch operations won't work.

Requirements

Table Classes (admin/src/Table/)

  • WorkOrderTable#__mokosuitefield_work_orders, auto-generate work_order_ref on save
  • EquipmentTable#__mokosuitefield_equipment
  • EquipmentHistoryTable#__mokosuitefield_equipment_history
  • TechnicianTable#__mokosuitefield_technicians
  • PartTable#__mokosuitefield_parts
  • TruckInventoryTable#__mokosuitefield_truck_inventory
  • WorkOrderPartTable#__mokosuitefield_work_order_parts
  • ChecklistTable#__mokosuitefield_checklists
  • PmAgreementTable#__mokosuitefield_pm_agreements, auto-generate agreement_ref
  • DispatchTable#__mokosuitefield_dispatches

Controllers (admin/src/Controller/)

  • WorkOrderController — single-record save/cancel
  • WorkOrdersController — list actions (delete, publish, batch)
  • Repeat pattern for Equipment, Technicians, Parts, TruckInventory, Checklists, PmAgreements, Dispatches

Technical Notes

  • Extend Joomla\CMS\Table\Table
  • Controllers extend Joomla\CMS\MVC\Controller\FormController (single) and Joomla\CMS\MVC\Controller\AdminController (list)
  • Namespace: Moko\Component\MokoSuiteField\Administrator\Table / ...Controller
## Summary The admin component has no Table classes and only a generic DisplayController. Without Table classes, Joomla's AdminModel cannot save/delete records. Without entity-specific controllers, form submissions and batch operations won't work. ## Requirements ### Table Classes (`admin/src/Table/`) - [ ] **WorkOrderTable** — `#__mokosuitefield_work_orders`, auto-generate `work_order_ref` on save - [ ] **EquipmentTable** — `#__mokosuitefield_equipment` - [ ] **EquipmentHistoryTable** — `#__mokosuitefield_equipment_history` - [ ] **TechnicianTable** — `#__mokosuitefield_technicians` - [ ] **PartTable** — `#__mokosuitefield_parts` - [ ] **TruckInventoryTable** — `#__mokosuitefield_truck_inventory` - [ ] **WorkOrderPartTable** — `#__mokosuitefield_work_order_parts` - [ ] **ChecklistTable** — `#__mokosuitefield_checklists` - [ ] **PmAgreementTable** — `#__mokosuitefield_pm_agreements`, auto-generate `agreement_ref` - [ ] **DispatchTable** — `#__mokosuitefield_dispatches` ### Controllers (`admin/src/Controller/`) - [ ] **WorkOrderController** — single-record save/cancel - [ ] **WorkOrdersController** — list actions (delete, publish, batch) - [ ] Repeat pattern for Equipment, Technicians, Parts, TruckInventory, Checklists, PmAgreements, Dispatches ## Technical Notes - Extend `Joomla\CMS\Table\Table` - Controllers extend `Joomla\CMS\MVC\Controller\FormController` (single) and `Joomla\CMS\MVC\Controller\AdminController` (list) - Namespace: `Moko\Component\MokoSuiteField\Administrator\Table` / `...Controller`
Author
Owner

Branch created: feature/34-feat-add-table-classes-and-crud-controll

git fetch origin
git checkout feature/34-feat-add-table-classes-and-crud-controll
Branch created: [`feature/34-feat-add-table-classes-and-crud-controll`](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteField/src/branch/feature/34-feat-add-table-classes-and-crud-controll) ```bash git fetch origin git checkout feature/34-feat-add-table-classes-and-crud-controll ```
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteField#34