Skip to content

[productions] Add per production client access settings - #2280

Open
frankrousseau wants to merge 12 commits into
cgwire:mainfrom
frankrousseau:feature/client-access-toggles
Open

frankrousseau wants to merge 12 commits into
cgwire:mainfrom
frankrousseau:feature/client-access-toggles

Conversation

@frankrousseau

Copy link
Copy Markdown
Contributor

Problem

  • Studios cannot choose per production what their clients see, nor which statuses they can set
  • The available items list of the type tabs grows without limit, and bitrate cells show spinners

Solution

  • Add a Client access section to the Clients tab: stats, task list, task panel, task types shown with their tags
  • Hide the matching views, columns, totals, CSV columns and client home parts, checked on every navigation; denied clients land on the production playlists
  • List every status with a toggle that follows the studio value by default, and one button to reset them all
  • Leave task metadata out of the client metadata list, make the checkbox label optional, cap the importer height and hide the bitrate spinners

frankrousseau and others added 12 commits October 19, 2026 17:17
Expose per-production client visibility flags and an action to toggle a task type for clients.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e production says so

Clients of a production with the task list or stats turned off reach
not-found on those pages, and the topbar drops their entries. The guard
decides after the initial load, with the project role of the target
production, so a deep link on a fresh page load is covered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The guard of the main route skips moves between its children, so a client
switching production kept a hidden task list. A global guard now runs the
check too, and the main guard still runs it after the initial load.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A client no longer gets the task side panel, the entity page task info or the hidden task type columns of the lists and stats pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The all totals and the CSV export still counted the task types hidden from a client.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Production managers pick what clients see: statistics, lists, task panel and task types.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The client home still showed the department progress and the stats link
of a production with the stats off, and counted the task types hidden
from clients.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The production switcher keeps the current section, and the main route
guard does not run between its children. A client landing on a section
hidden by the target production now goes to its playlists instead of
not-found. The client-forbidden pages are checked on every navigation
too, so a per-project client is re-checked after a switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A toggle shown next to a tag needs no label: the required flag warned on
every one, though the prop already defaults to an empty string.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The available items list of the asset and task type tabs grew with the
studio list and pushed the page down. The number inputs of the bitrate
cells showed browser spinners that crowded the column.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The statuses a client can set were a studio-wide setting. The Clients tab
now lists every production status with a toggle that follows the studio
value by default, marks the ones set for the production and resets them
all to the studio value at once. Task types get their own section shown
with their tags, and every toggle line of the tab shares one height and
spacing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Clients never see task metadata, so a for_client toggle on them changed
nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant