Fix missing relation column on tasks / notes table (#14402)
Closes https://github.com/twentyhq/twenty/issues/13484 https://github.com/user-attachments/assets/4800b25b-956d-4681-beeb-23263041fccc
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
import { isActiveFieldMetadataItem } from '@/object-metadata/utils/isActiveFieldMetadataItem';
|
||||
|
||||
describe('isActiveFieldMetadataItem', () => {
|
||||
it('should return false for inactive fields', () => {
|
||||
const res = isActiveFieldMetadataItem({
|
||||
fieldMetadata: { isActive: false, isSystem: false, name: 'fieldName' },
|
||||
objectNameSingular: 'objectNameSingular',
|
||||
});
|
||||
expect(res).toBe(false);
|
||||
});
|
||||
|
||||
it('should return true for active fields', () => {
|
||||
const res = isActiveFieldMetadataItem({
|
||||
fieldMetadata: { isActive: true, isSystem: false, name: 'fieldName' },
|
||||
objectNameSingular: 'objectNameSingular',
|
||||
});
|
||||
expect(res).toBe(true);
|
||||
});
|
||||
|
||||
it('should return false for system fields', () => {
|
||||
const res = isActiveFieldMetadataItem({
|
||||
fieldMetadata: { isActive: true, isSystem: true, name: 'fieldName' },
|
||||
objectNameSingular: 'objectNameSingular',
|
||||
});
|
||||
expect(res).toBe(false);
|
||||
});
|
||||
|
||||
it('should return true for note targets', () => {
|
||||
const res = isActiveFieldMetadataItem({
|
||||
fieldMetadata: { isActive: true, isSystem: false, name: 'noteTargets' },
|
||||
objectNameSingular: 'note',
|
||||
});
|
||||
expect(res).toBe(true);
|
||||
});
|
||||
|
||||
it('should return true for task targets', () => {
|
||||
const res = isActiveFieldMetadataItem({
|
||||
fieldMetadata: { isActive: true, isSystem: false, name: 'taskTargets' },
|
||||
objectNameSingular: 'task',
|
||||
});
|
||||
expect(res).toBe(true);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,31 @@
|
||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||
import { type FieldMetadataItem } from '../types/FieldMetadataItem';
|
||||
|
||||
type IsFieldMetadataAvailableForViewFieldArgs = {
|
||||
objectNameSingular: string;
|
||||
fieldMetadata: Pick<FieldMetadataItem, 'name' | 'isSystem' | 'isActive'>;
|
||||
};
|
||||
|
||||
export const isActiveFieldMetadataItem = ({
|
||||
objectNameSingular,
|
||||
fieldMetadata,
|
||||
}: IsFieldMetadataAvailableForViewFieldArgs) => {
|
||||
if (fieldMetadata.isActive === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (
|
||||
(objectNameSingular === CoreObjectNameSingular.Note &&
|
||||
fieldMetadata.name === 'noteTargets') ||
|
||||
(objectNameSingular === CoreObjectNameSingular.Task &&
|
||||
fieldMetadata.name === 'taskTargets')
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (fieldMetadata.isSystem === true) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
Reference in New Issue
Block a user