Skip to main content

Changelog: Dwi - 2026-06-05

Daily Changelog - Waste Vantage Legacy​

Overview​

Today's changes by Dwi focus on runsheet and database administration utilities. This includes creating console commands and queue jobs to reset and regenerate schedules for Runsheet groups, implementing a demo customer data purge command with full safety backups and transactional deletes, fixing skip bin redirection loops, and refactoring setup wizard database reset scripts to safely remove ad-hoc orders while preserving contract/rental records.


Added​

  • Runsheet Rebuilding Utilities (app/Console/Commands/ResetAllScheduleGroupsCommand.php, app/Jobs/ResetAllScheduleGroupsJob.php)
    • Added the runsheet:reset-all console command to clean up future schedules and dispatch worker tasks per group.
    • Added the ResetAllScheduleGroupsJob queued job to process RunsheetGroup schedules asynchronously via RunsheetRentalRepository::changeTaskGroups().
  • Demo Data Purging Utility (app/Console/Commands/PurgeDemoDataCommand.php)
    • Introduced the demo:purge console command to purge customer records created after a specified cutoff date, along with all cascaded order/invoice children.
    • Implemented automatic pre-purge database dump (via mysqldump), transaction execution blocks, and temporary disablement of foreign key constraints for safe deletions.

Changed​

  • General Waste Bin Hire Index Page (resources/views/admin/bin-hire/index.blade.php)
    • Refactored category and bin type dropdown callbacks to store and trace the last visited category filter, preventing navigation bugs where selection events failed to trigger.

Fixed​

  • General Waste Bin Hire Controller (app/Http/Controllers/Admin/GeneralWasteBinHireController.php)
    • Fixed a redirect loop in the index action when the category was not skip-bin, correctly routing back to the main view with the waste type parameters.
  • System Setup Wizard Reset Script (app/Console/Commands/SystemSetupWizardCommand.php)
    • Updated processSpecificDeletions() to replace unconditional table truncates with specific SQL queries targeting ad-hoc orders (is_rental = 0) and their child entities (bin locations, invoice extras, invoice details) to protect rental contract details.

Removed​

  • None.