Organizations list
What Was Built
Organizations list presents saved organizations through the shared recipe explorer, including their type, parent context and business status. Recently Viewed is its listed built-in view. Supported Ask phrases become filters; a phrase requiring membership, account owner or subscription information produces an explicit unavailable answer. New Organization opens the type-first creation route.
Routing
The registered CRM list page renders the explorer inside PageLayout and Suspense. Its domain wrapper applies read permission before displaying RecipeExplorer. The list’s create action leads to a separate static new route; record cells open the registered record view. Navigation and breadcrumbs use the shared route registry.
Source
OrganizationsExplorer owns the coordination described here. The source manifest identifies its page, presentation collaborators and request adapters at the pinned console commit. Service route evidence identifies the authoritative operation names and permission declarations. No pull-request attribution or earlier implementation date is inferred from the current checkout.
Components
RecipeExplorer renders the table and query controls. OrganizationNameCell and OrganizationStatusCell supply domain presentation, while the joined parent supplies its own record link. NewOrganizationAction opens creation. ExplorerDataJobActions and query export operate on the selected result through their separate modules; no Entities collection editor appears on the list.
Data Integration
Recipe metadata determines field names and linked records. Named organization-type phrases resolve against this workspace’s type catalogue before they become record filters; an unresolved name prevents an invented partial answer.
Query answers, recipe metadata, saved views and recent visits come through the shared explorer. Organization types are read when named Ask filters need resolving. The explorer owns search, filter, page, sort, columns, view and selection state. The organization-specific interpreter contributes a filter result rather than holding another record list.
RecordExplorerFallback covers page suspension; query loading belongs to RecipeExplorer. Missing named types and unsupported Ask data have explanatory unavailable results. Query and recipe failures retain the shared explorer request-error experience.
Query controls request fresh pages; there is no organization mutation on this page to reconcile. Platform owns saved-view and recent-visit persistence. The list keeps no unsaved organization draft.
Actions as Implemented
The inventory below follows every action of the protected design. These designs have no permanent action ids; the exact design label identifies each comparison until the design retrofit allocates them. Draft interactions are distinguished from requests that persist a record.
| Design action | Operation or boundary | Built behavior | Provenance | Source |
|---|---|---|---|---|
| Create Organization | createOrganization (through SCR-CRM-ENT-006) | The permission-filtered primary action navigates to the type chooser; it does not create a record on the list. | observed | react-console:components/console/organizations/organizations-explorer.tsx; react-console:components/console/organizations/organizations-definition.tsx |
| Bulk Actions on a selection | submitOrganizationDataJob (owned by MOD-CRM-DJB) | The selection bar opens the shared data-job action flow with the selected record scope. Confirmation, dispatch and job progress belong to Data Jobs. | observed | react-console:components/console/organizations/organizations-explorer.tsx; react-console:components/console/organizations/organizations-definition.tsx |
| Export | startQueryExport (Platform Queries) | The export action opens the shared query-delivery flow over the current query/selection; export availability follows the evaluated export alias. | observed | react-console:components/console/organizations/organizations-explorer.tsx; react-console:components/console/organizations/organizations-definition.tsx |
| Choose view, search, filters, columns and page | none: local interaction | Shared explorer controls change the view/query and request resulting pages; saved-view persistence stays with Platform. | observed | react-console:components/console/organizations/organizations-explorer.tsx; react-console:components/console/organizations/organizations-definition.tsx |
Authorization
RequirePermission checks permissions.crm.organizations.view, mapped to crm.organizations.read. useGrantedKeys evaluates create, edit, export and bulk actions. The recipe declares crm.organizations.read; query execution depends on crm.organizations.query. listOrganizationTypes requires crm.organization-types.read; job and export requests enforce their owning permissions.
The authorization inventory in frontmatter records the actual service requirements. Browser filtering is presentation; the service is authoritative for scope, version and record restrictions. Nothing in this source review makes a business role an authorization role or certifies shell identity and application access beyond the recorded dependency.
Observability
Navigation and request state drive the screen. Record creation uses service-owned change capture; no separate screen domain-event emitter is established. No dedicated screen logging is established in the listed components; shared request and service logging remains outside this screen’s telemetry claim. No screen-specific metric emission is established by the inspected source.
Missing named types and unsupported Ask data have explanatory unavailable results. Query and recipe failures retain the shared explorer request-error experience. These visible failure surfaces are evidence of feedback, not evidence that every request reached a deployed service or every wider audit integration completed.
Design Fidelity
The inspected action and state inventory has no additional implementation departure established by this pass. Unavailable fields and inert actions already identified by the design remain explicitly unavailable; describing them does not turn them into completed features.
All twelve designs still require their standard retrofit: feature, user goals, scope, navigation, layout mode, dependency list, field details, action ids, registered components, acceptance criteria and open questions are incomplete. A Screen Acceptance Specification is also absent for this screen. The implementation preserves those gaps as findings and does not manufacture acceptance ids or change the protected design.
Verification
Organization acceptance supplies adjacent record creation and discovery assertions; deployed console checks supplement record links and presentation. Neither establishes every saved-view, export or bulk lifecycle on this list.
The frontmatter names the relevant existing registers and feature suite; none is reported as executed here. API and aggregate integration prove their declared service boundaries, not assembled-screen accessibility. No dedicated registered component-test group or complete screen acceptance document exists for this screen. Accessibility and deployment remain not-verified.
A development-console capture is owed for this screen; the dedicated missing-capture finding records the obligation. No image is generated or substituted.