cloud.config_values_group
Schema: cloud
Table: cloud.config_values_group
Description: Configuration overrides applied to HR groups. A group is identified by a type (e.g. mansione, sede_op) and a code within that type (e.g. DEV, MI). Applied after tenant overrides, before user overrides.
Overview
- Column prefix:
cdv_ - Primary key:
cdv_value_id - Unique constraint: one row per
(cdv_key_id, cdv_tenant_id, cdv_group_type, cdv_group_code)
Columns
| Column | Type | Null | Default | Description |
|---|---|---|---|---|
cdv_value_id | integer | NO | auto-increment | Surrogate primary key. |
cdv_key_id | integer | NO | FK → cloud.config_catalog.cck_key_id. | |
cdv_tenant_id | integer | NO | FK → cloud.tenants.ten_internal_id. Tenant scope. | |
cdv_group_type | varchar(50) | NO | The HR grouping dimension. See supported values below. | |
cdv_group_code | varchar(100) | NO | A single code within the grouping dimension (e.g. DEV, MI, PT). | |
cdv_value | text | NO | '' | Override value. |
cdv_updated_by | uuid | YES | NULL | FK → cloud.users.usr_user_id. |
cdv_updated_at | timestamptz | NO | NOW() | Last modification timestamp. |
Constraints
- Primary key:
pk_config_values_group→cdv_value_id - Unique:
c_uk_cdv_key_group→(cdv_key_id, cdv_tenant_id, cdv_group_type, cdv_group_code) - FK:
fk_cdv_key→cloud.config_catalog(cck_key_id)ON DELETE CASCADE - FK:
fk_cdv_tenant→cloud.tenants(ten_internal_id)ON DELETE CASCADE - FK:
fk_cdv_updated_by→cloud.users(usr_user_id)ON DELETE SET NULL (audit only — override value is preserved when the user is deleted)
Supported group types (cdv_group_type)
| Value | HR entity | Description |
|---|---|---|
mansione | Job function | Employee's role or job function (e.g. DEV, MGR) |
qualifica | Qualification | Employee's grade or qualification level (e.g. JR, SR, LEAD) |
sede_op | Operational site | Location where the employee works (e.g. MI, RM, REMOTE) |
tipo_tempo | Time type | Contract working time type (e.g. FT, PT_50, PT_80) |
gruppo_tipo | Custom group type | Tenant-defined grouping from hr.element_group_types |
static_list | Static list | Named list of manually assigned employees (hr.static_lists) |
dynamic_list | Dynamic list | Filter-based computed list (hr.dynamic_lists) |
Behavior
- To apply an override to multiple codes of the same type for the same key, insert one row per code.
- Group membership is determined at login time by
IUserGroupMembershipProvider— not stored on the user record. - A key is eligible for a group override only if
cck_allowed_levels & 4 != 0. - Conflict resolution: when a user belongs to multiple groups that disagree on the same key, the system applies the
system.group_conflict_strategycatalog setting:restrictive(default): most restrictive value wins (AND for bool, min for int)permissive: most permissive value wins (OR for bool, max for int)