- Add excelize v2 for XLSX parsing
- Auto-detect column indices from header row using common DD checklist
naming conventions (section/category/topic, item#/ref/no, description/
request/document, priority/urgency/criticality)
- Detect file type by extension + PK magic bytes (xlsx is a zip)
- Smart priority mapping: critical/urgent→high, nice/optional→low
- Fall back to positional parsing (col 0=section, 1=item#, 2=desc) if
headers don't match known patterns
- Update modal label: 'Excel .xlsx or CSV — columns auto-detected'
- Auto-migrate deals table: old CHECK constraint ('pipeline','loi',...) → new
stages ('prospect','internal','initial_marketing','ioi','loi','closed')
Maps legacy values: pipeline→prospect, initial_review→initial_marketing,
due_diligence→ioi, final_negotiation→loi, dead→closed
- Add POST /deals/folders/reparent endpoint with circular-ref guard
- Child folders are now draggable with full drag support
- Drop onto top 40% of a folder → reorder at same level (existing behaviour)
- Drop onto bottom 60% of a folder → make dragged folder a child of target
- Root drop zone appears when dragging a subfolder: drop here to promote to root
- Visual teal outline on hover shows where folder will land
Add deal filter and buyer group filter dropdowns to request lists page.
Client-side filtering hides/shows deal sections and group subsections.
Organized by deal name as section header with per-group subsections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add debounced search input in deal detail header.
HTMX-powered search across files, folders, and request items.
Returns categorized results with links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add file_comments table and FileComment model.
Add comment icon per file that toggles inline comment panel.
Comments loaded via HTMX with add form, stored per file/deal.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show linked file names as downloadable pills in request list view.
Files linked to request items during upload are displayed inline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add file upload with multipart form, local disk storage at data/uploads/.
Add file download with original filename and activity logging.
Add file delete (owner/admin only) with disk cleanup.
Add upload modal with folder selector and request item linking.
Add download and delete actions to file list.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add folder create, rename, delete, and reorder handlers.
Add New Folder modal to deal room detail with parent folder selector.
Add sort_order field to folders for drag-to-reorder.
Order folders by sort_order in folder tree.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add buyer_can_comment/seller_can_comment to deals, buyer_group to profiles.
Add buyer_groups and folder_access tables for granular access control.
Add permission checkboxes to admin deal form, buyer_group to admin user form.
Update RBAC to use profile buyer_group field.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add industry field and exclusivity end date to new room modal.
Add folder structure textarea for auto-creating nested folders.
Add initial team invite textarea for inviting members on deal creation.
Add New Room button and modal to deal rooms page.
Add industry field to admin deal form.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove close_probability form field from admin deal edit form.
Field kept in model for backward compatibility but no longer exposed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add invites table, invite create/accept routes and handlers.
Add Team page with member list, invite modal with link generation.
Add invite accept page for new users to set name/password and join org.
Add Team nav item in sidebar.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add org_type field (bank/pe_vc/company) to organizations table with
additive migration. Add type selector to signup form and admin org
edit form. Fix signup handler column names and session creation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Admin section accessible to owner/admin roles only
- Full CRUD for contacts with type filtering (buyer/internal/advisor)
- Full CRUD for deals with all fields (stage, size, dates, etc.)
- Full CRUD for users/profiles with role management
- Full CRUD for organizations
- Admin dashboard with entity counts
- Consistent dark theme matching existing UI
- Breadcrumb navigation throughout admin section
- Delete confirmation dialogs