Projects
Project routes manage the staff Projects module (/dashboard/project): list with client, team, date, timeline counts, add/update/delete/archive, plus project board columns.
Projects
- Use Projects.List for the dashboard Projects table (PROJECT, CLIENT, TEAM MEMBER, DATE, TIMELINE).
- Each row includes client, team_members, date/c_date, timeline {to_do,queries,testing}, timeline_counts, and is_private for purple/private rows.
- Use Projects.Count with the same filters for paging totals.
- Use Projects.Get then Projects.Update (or Projects.Save) for the Add/Edit Project modal fields.
- Use Projects.Add to create; Projects.Delete/Remove to hard-delete; Projects.Archive to archive/unarchive.
- Projects can link to customers, tasks, messages, files, expenses, and columns. Store project_id for follow-up actions.
- Customer portal projects use Customer.Projects.List (separate from staff Projects.List).
Columns
- Column routes manage board columns such as list, get, add, update, and delete.
- Column actions should keep sort/order and project ownership consistent.
Common Flow
- Load project permissions from User.Basic.
- Call Projects.List / Projects.Count for the Projects screen.
- Create with Projects.Add or Projects.Save; edit with Projects.Get + Projects.Update.
- Archive with Projects.Archive; hard-delete with Projects.Delete when allowed.
- List columns with Projects.ColumnsList when opening a project board.
- Store project_id and column_id for later actions.
- Refresh board data after column changes.