- Pipeline page: clicking a supplier quote card opens a modal with full
line-item breakdown, lead time, payment terms, notes, awarded status,
and a Compare All Quotes button
- Eager-load supplierQuotes.supplier and supplierQuotes.items in pipeline
controller to avoid N+1 on the modal data
- Browser tab now shows SteelERP first (SteelERP — Page Name)
- Added SVG favicon matching the sidebar blue-square logo
- Notification clicks now navigate to the relevant page via a dedicated
/notifications/{id}/go route that marks only that notification as read
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Browsers treat label clicks as direct user gestures, ensuring the
OS file picker always opens. Removes unreliable div.onclick -> input.click()
pattern. Also fixes DataTransfer.files assignment (read-only in some browsers).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Departments now belong to a Company, not a Project.
- New migration: recreates settings_departments with company_id (migrates existing data)
- Department model: company_id FK, company() relation
- Company model: departments() hasMany relation
- ProjectSetting model: removes departments() relation
- Controller: dept methods now take Company instead of ProjectSetting
- Routes: department CRUD moves to companies/{company}/departments
- View: departments section appears on each company card (purple theme);
project body is now locations-only (single column)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each project's Edit strip now has a Company dropdown.
Changing company and saving moves the project card to the
correct company section live without a page reload.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Company → Project → (Locations + Departments) hierarchy
- Company CRUD (add, edit, delete) with AJAX
- Projects are created under a company via inline strip
- Two-column project body: Locations | Departments
- Stats show companies, projects, locations, departments, active projects
- Dynamic stat counters update on add/delete without page reload
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Migration: add project_id FK to settings_locations
- Models: ProjectSetting hasMany Location, Location belongsTo ProjectSetting
- Settings: /settings/projects page — manage projects and their sub-locations (two-panel UI)
- Sidebar: Projects nav item under Settings group
- Routes: 7 new settings/projects routes (Admin only)
- Modal: project_name and location fields now cascading dropdowns populated from settings_projects/settings_locations
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>