[permissions] QA fixes (#13698)

In this PR

- Introduction of readableFields and updatableFields in
objectMetadataItem selector to ease filtering from a developer
experience perspective ( + to help developers think to do it). In
discussion @lucasbordeau @charlesBochet
- Remove non-updatable field from CSV import process (@etiennejouan)
- QA fix / Non-readable fields should not show on show page
- QA fix / It should not be offered to create a kanban view on a
non-readable field
- QA fix / It should not be offered to create view groups on a
non-readable field
- QA fix / Rating field should have a readonly mode

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Marie
2025-08-07 18:21:59 +02:00
committed by GitHub
parent 258f21a4be
commit ee19ee5119
120 changed files with 1211 additions and 943 deletions
@@ -16,6 +16,48 @@ const meta: Meta<typeof WorkflowFieldsMultiSelect> = {
export default meta;
type Story = StoryObj<typeof WorkflowFieldsMultiSelect>;
const fields = [
{
id: '1',
name: 'name',
label: 'Name',
type: FieldMetadataType.TEXT,
description: 'Company name',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: false,
createdAt: '',
updatedAt: '',
},
{
id: '2',
name: 'domainName',
label: 'Domain Name',
type: FieldMetadataType.TEXT,
description: 'Company domain name',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '',
updatedAt: '',
},
{
id: '3',
name: 'employees',
label: 'Employees',
type: FieldMetadataType.NUMBER,
description: 'Number of employees',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '',
updatedAt: '',
},
];
const mockObjectMetadataItem: ObjectMetadataItem = {
id: '1',
nameSingular: 'company',
@@ -34,47 +76,9 @@ const mockObjectMetadataItem: ObjectMetadataItem = {
isSearchable: true,
labelIdentifierFieldMetadataId: '1',
indexMetadatas: [],
fields: [
{
id: '1',
name: 'name',
label: 'Name',
type: FieldMetadataType.TEXT,
description: 'Company name',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: false,
createdAt: '',
updatedAt: '',
},
{
id: '2',
name: 'domainName',
label: 'Domain Name',
type: FieldMetadataType.TEXT,
description: 'Company domain name',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '',
updatedAt: '',
},
{
id: '3',
name: 'employees',
label: 'Employees',
type: FieldMetadataType.NUMBER,
description: 'Number of employees',
isCustom: false,
isActive: true,
isSystem: false,
isNullable: true,
createdAt: '',
updatedAt: '',
},
],
fields: fields,
readableFields: fields,
updatableFields: fields,
};
export const Default: Story = {