Version 8.1.1

Date: April 17, 2026

New Report State Persistence & Data Protection

New Report Autosave System

Implemented browser-based autosave using sessionStorage
Automatically saves in-progress form data on input/change
Preserves report data across:
page reloads
back navigation
owner / corporate view toggles
Restores saved form state automatically on page load

Form State Preservation

Added full-field restoration for new_report, including:
Store and Report Date
Prepared By and Security Level
Shift Began Date and DOW
Shift and Time Range (Start / End / Manual)
Employees on Duty/Subject
Signoff Employee and Signoff Flow
Breakage and Meals fields
Report editor content

Owner / Corporate Toggle Protection

Form state is saved prior to toggle submission
Form data is restored immediately after reload
Eliminates data loss when switching internal views

Unsaved Changes Warning

Added navigation warning for unsaved form data
Triggered on:
browser back navigation
page exit
link navigation away from new_report
Reduces accidental loss of in-progress reports

Draft Clearing Behavior

Browser-stored form data is automatically cleared after:
successful Save Draft
successful Finalize Report
Prevents stale data from reappearing in new reports

Constraints

No changes to backend report logic
No impact to:
Save Draft workflow
Approval process
Email system
File upload inputs are not preserved (browser limitation)

Impact

Eliminates loss of in-progress report data
Improves usability for store and corporate users
Reduces rework and frustration during report creation

Version 7.9.0
Date: April 16, 2026

Major Release – Workflow, UI, and Notification Enhancements

Prepared By System Overhaul

* Replaced free-text preparer field with controlled email-based identity system
* Added preparer dropdown tied to internal email addresses
* Mapped emails to display names via control/config logic
* Stored preparer email and display name in report data
* Maintained masking/unmasking behavior for preparer visibility

Approval & Notification Improvements

* Implemented email notification to preparer upon owner approval
* Standardized email routing:

  * Store email as primary recipient (To)
  * Internal recipients (Prepared By, Tom, others) as CC
* Enhanced sent email content to display:

  * Primary recipient
  * Copied recipients
  * Clear visibility of all notified parties

Recipient Selection Logic

* Refined default recipient behavior after owner approval:

  * Includes Tom ([toma@aldridgeinc.com](mailto:toma@aldridgeinc.com))
  * Includes Prepared By email
  * Includes store email
* Removed unintended default selection of unrelated emails

Report Creation & Draft Handling

* Added warning when saving draft without evidence photos
* Adjusted validation order: evidence warning now precedes report content validation
* Save Draft now redirects to reports_index for smoother workflow
* Added “Saving evidence, please wait” feedback during file uploads

Edit Report Improvements

* Removed redundant approval display block after owner approval
* Cleaned up recipient instruction messaging
* Send Report now returns to reports_index after completion

UI / Layout Refinements

* Standardized layout between new_report and edit_report
* Consolidated Prepared By fields into a single field
* Repositioned key fields for improved horizontal alignment
* Integrated Time Range controls into main row with Shift fields
* Fixed toolbar and report editor alignment issues
* Extended report editor height to match toolbar container
* Fixed button truncation (Finalize Report visibility)
* Improved consistency of spacing and field sizing

Duplicate Report Enhancements

* Reordered fields for better workflow:

  * “Sign off flows to” now appears before “Signoff Flow”
* Refactored duplicate_report.php for readability and maintainability

General Stability

* Resolved multiple regressions during iterative UI updates
* Preserved existing report logic while improving structure and usability
* Continued use of overlay-based deployment for safe incremental updates

---

Notes

* Foundation now in place for future login-based identity system
* Preparer/email model ready for expansion to store-level roles


### Version 7.8.0 – 2026-04-14

Major Enhancements
- Reworked report form layout for improved usability and workflow
  - Consolidated “Prepared By” into a single First/Last Name field
  - Moved preparer fields to top row with Store and Report Date
- Added structured shift tracking
  - Shift Began Date
  - Auto-populated Day of Week (DOW)
  - Shift selector (1st / 2nd / 3rd)

Workflow Improvements
- Streamlined report entry flow across new_report and edit_report
- Aligned field groupings for logical left-to-right completion
- Standardized layout and behavior between new_report and edit_report

UI & Usability Enhancements
- Moved Time Range controls (Start / End / Manual Override) inline with shift fields
- Reduced field widths to support single-row entry
- Improved spacing and visual density across form sections

Report Editor Improvements
- Corrected toolbar and report editor alignment
  - Top edges aligned
  - Bottom edges aligned
- Removed excess whitespace around editor section
- Standardized editor layout across new_report and edit_report

Validation & Data Integrity
- Preserved DOW auto-population from Shift Began Date
- Maintained time range validation and end-time restriction logic
- Maintained editor toolbar functionality and formatting behavior
- Maintained Save Draft and Finalize workflows

System Stability
- Resolved JavaScript error that disabled DOW, time logic, and editor toolbar
- Fixed save_report failure related to preparer name handling
- Eliminated layout regressions introduced during prior updates

Cleanup
- Removed outdated corporate draft instruction from new_report
- Improved consistency across form sections without altering behavior

-----

### Version 7.5.2 – 2026-04-10

Major Enhancements
- Introduced internal visibility control system
  - Reports display masked “Prepared By” (Bloodhound Security & Investigations) by default
  - Added unlock mechanism for internal users to view actual preparer
- Added “Prepared By” tracking
  - First Name, Last Name (required)
  - Security Level (1–5, internal use)

Workflow Improvements
- Implemented draft notification system
  - Saving a draft sends email to toma@aldridgeinc.com for review/finalization
- Added Save Draft confirmation popup
  - Warns user that email will be sent before proceeding
- Added overview / how-to page for report preparation
  - Linked from reports index
  - Includes guidance for Melissa and Lissette (note-taking, draft workflow)

Email & Recipient Logic Fixes
- Fixed issue where toma@aldridgeinc.com was unintentionally included
- Ensured:
  - “Store only” sends only to store
  - “Internal only” sends only to selected internal recipients
- Removed hidden/default recipient overrides and BCC behavior
- Prevented re-sending of completed reports

UI & Usability Enhancements
- Improved report editor toolbar
  - Added Bold, Italic, Underline formatting
  - Added color controls (Black, Red)
- Refined layout of key fields (Store / Date / Time Range)
- Added auto-refresh to reports index
- Improved “Sent” status display
  - Disabled send button after completion
  - Clear visual indication of sent state

Validation & Data Integrity
- Enforced required Report field
- Enforced required Prepared By fields
- Improved time range validation logic
- Ensured recipient selection validation (at least one required)

System Stability
- Fixed 500 error on report creation/edit (missing helper functions)
- Cleaned config handling (single source for internal unlock code)
- Standardized save and display behavior across report lifecycle

Notes
- Internal unlock code is controlled via config.php
- Public-facing reports remain masked; internal identity available only via unlock
- System now operates as a controlled draft → review → finalize workflow

-----

7.2.0
- moved live base path to /bloodhound/ald
- standardized admin/report/signoff styling
- converted signoff form CSS to relative asset path usage
- added bloodhoundform.css for shared signoff forms
- made report intro and timeline use self-contained local styles.css and media.css
- added admin version badge
- cleaned config.php and set DEV_MODE false for production
