Skip to content

Dev - #2885

Merged
DarylTodosichuk merged 30 commits into
dev2from
dev
Aug 26, 2026
Merged

Dev#2885
DarylTodosichuk merged 30 commits into
dev2from
dev

Conversation

@DarylTodosichuk

Copy link
Copy Markdown
Collaborator

No description provided.

AndreGAot and others added 30 commits August 20, 2026 14:15
… modal, Metabase post-creation step

Onboarding "Create Tenant" modal:
- Reorders field mapping so Name and the new Display Name field come first,
  then Ministry, Division, Branch, Program Area, Features, Program Managers.
- Adds Display Name and Division as mappable fields (stored on the tenant's
  ExtraProperties / passed through to TenantCreateDto).
- Fixes the Jaro-Winkler auto-detection matching a "ProgramManagerEmail"-style
  field to the Name canonical instead of a literal "Name" field, via an
  exact-match short-circuit before fuzzy scoring.

New Tenant modal (Tenants/CreateModal):
- Rebuilt to match the Edit Configuration modal's tabbed layout (Details,
  Program Managers, Features, Metabase) instead of a single flat form.
- Details tab now actually renders Division/Branch/Description/CAS Client
  Code (previously present on the model but never shown) plus Display Name.
- Program Managers search now uses the same field-selector UX as Edit.
- Features tab lets you pick features to enable at creation time, reusing
  the existing FeatureKeys -> TenantCreatedEventHandler mechanism.
- New Metabase tab manages the group's member emails, backed by ABP Settings
  (Global default list + per-tenant snapshot, with an "add for this tenant
  only" vs "save as default" option).

Tenants list: adds a Display Name column.

Post-tenant-creation pipeline (new):
- IPostTenantCreationStep (Unity.SharedKernel) - pluggable, ordered,
  per-step ContinueOnError.
- PostTenantCreationSequenceJob - a self-chaining ABP background job that
  runs steps in order, entirely via the job queue (durable/retryable per
  step), stopping on failure only where ContinueOnError is false.
- MetabaseTenantRegistrationStep - first step. Registers the new tenant
  with Metabase (database connection over its readonly Postgres role, a
  permissions group with its configured members, and a collection),
  automating what manual_deploy_new_metabase_tenant.ps1 used to do by hand.
  Resolves the Metabase endpoint via the existing DynamicUrls mechanism
  (new METABASE_API_BASE key) and the API key via new TenantCreation:
  Steps:Metabase:ApiKey config.
- IResilientHttpRequest gains an optional extraHeaders parameter (needed
  for Metabase's x-api-key auth), backward compatible with all existing
  call sites.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…validation

AB#32500 enhance validation for worksheet datagrids
…-Bulk-Emails

Feature/AB#34054 Compose And Send Bulk Emails
…updates

Feature/ab#34137 tenant creation updates
…-than-one-primary-address

AB#34140 - Scoped primary address exclusivity by address type
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
B Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@DarylTodosichuk
DarylTodosichuk merged commit 40524b1 into dev2 Aug 26, 2026
10 of 12 checks passed
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.

5 participants