Activity as standard object (#6219)
In this PR I layout the first steps to migrate Activity to a traditional Standard objects Since this is a big transition, I'd rather split it into several deployments / PRs <img width="1512" alt="image" src="https://github.com/user-attachments/assets/012e2bbf-9d1b-4723-aaf6-269ef588b050"> --------- Co-authored-by: Charles Bochet <charles@twenty.com> Co-authored-by: bosiraphael <71827178+bosiraphael@users.noreply.github.com> Co-authored-by: Weiko <corentin@twenty.com> Co-authored-by: Faisal-imtiyaz123 <142205282+Faisal-imtiyaz123@users.noreply.github.com> Co-authored-by: Prateek Jain <prateekj1171998@gmail.com>
This commit is contained in:
@ -84,6 +84,9 @@ export const generateEmptyFieldValue = (
|
||||
case FieldMetadataType.RawJson: {
|
||||
return null;
|
||||
}
|
||||
case FieldMetadataType.RichText: {
|
||||
return null;
|
||||
}
|
||||
default: {
|
||||
throw new Error('Unhandled FieldMetadataType');
|
||||
}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
||||
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
||||
import { isObjectMetadataAvailableForRelation } from '@/object-metadata/utils/isObjectMetadataAvailableForRelation';
|
||||
import {
|
||||
@ -7,9 +8,11 @@ import {
|
||||
|
||||
export const isFieldCellSupported = (fieldMetadataItem: FieldMetadataItem) => {
|
||||
if (
|
||||
[FieldMetadataType.Uuid, FieldMetadataType.Position].includes(
|
||||
fieldMetadataItem.type,
|
||||
)
|
||||
[
|
||||
FieldMetadataType.Uuid,
|
||||
FieldMetadataType.Position,
|
||||
FieldMetadataType.RichText,
|
||||
].includes(fieldMetadataItem.type)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
@ -22,6 +25,25 @@ export const isFieldCellSupported = (fieldMetadataItem: FieldMetadataItem) => {
|
||||
fieldMetadataItem.fromRelationMetadata?.toObjectMetadata ??
|
||||
fieldMetadataItem.toRelationMetadata?.fromObjectMetadata;
|
||||
|
||||
// Hack to display targets on Notes and Tasks
|
||||
if (
|
||||
fieldMetadataItem.fromRelationMetadata?.toObjectMetadata?.nameSingular ===
|
||||
CoreObjectNameSingular.NoteTarget &&
|
||||
fieldMetadataItem.relationDefinition?.sourceObjectMetadata
|
||||
.nameSingular === CoreObjectNameSingular.Note
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (
|
||||
fieldMetadataItem.fromRelationMetadata?.toObjectMetadata?.nameSingular ===
|
||||
CoreObjectNameSingular.TaskTarget &&
|
||||
fieldMetadataItem.relationDefinition?.sourceObjectMetadata
|
||||
.nameSingular === CoreObjectNameSingular.Task
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (
|
||||
!relationMetadata ||
|
||||
// TODO: Many to many relations are not supported yet.
|
||||
|
||||
@ -36,7 +36,7 @@ export const sanitizeRecordInput = ({
|
||||
(field) => field.name === relationIdFieldName,
|
||||
);
|
||||
|
||||
return relationIdFieldMetadataItem
|
||||
return relationIdFieldMetadataItem && fieldValue?.id
|
||||
? [relationIdFieldName, fieldValue?.id ?? null]
|
||||
: undefined;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user