Prevent unusable collections from being selected

Closes #5748
This commit is contained in:
rijkvanzanten
2021-05-21 19:26:52 -04:00
parent 33f4972deb
commit a5cba0dc7e
5 changed files with 65 additions and 4 deletions

View File

@@ -0,0 +1,5 @@
---
'@directus/app': patch
---
Prevent non-usable system collections from being selected in the relational field setup flow

View File

@@ -429,6 +429,20 @@ export default defineComponent({
);
});
/**
* These are the system endpoints that don't have full/regular CRUD operations available.
*/
const collectionsDenyList = [
'directus_activity',
'directus_collections',
'directus_fields',
'directus_migrations',
'directus_relations',
'directus_revisions',
'directus_sessions',
'directus_settings',
];
const systemCollections = computed(() => {
return orderBy(
collectionsStore.state.collections.filter((collection) => {
@@ -436,7 +450,7 @@ export default defineComponent({
}),
['collection'],
['asc']
);
).filter((collection) => collectionsDenyList.includes(collection.collection) === false);
});
const junctionCollection = computed({

View File

@@ -241,6 +241,20 @@ export default defineComponent({
);
});
/**
* These are the system endpoints that don't have full/regular CRUD operations available.
*/
const collectionsDenyList = [
'directus_activity',
'directus_collections',
'directus_fields',
'directus_migrations',
'directus_relations',
'directus_revisions',
'directus_sessions',
'directus_settings',
];
const systemCollections = computed(() => {
return orderBy(
collectionsStore.state.collections.filter((collection) => {
@@ -248,7 +262,7 @@ export default defineComponent({
}),
['collection'],
['asc']
);
).filter((collection) => collectionsDenyList.includes(collection.collection) === false);
});
return { availableCollections, systemCollections };

View File

@@ -330,6 +330,20 @@ export default defineComponent({
);
});
/**
* These are the system endpoints that don't have full/regular CRUD operations available.
*/
const collectionsDenyList = [
'directus_activity',
'directus_collections',
'directus_fields',
'directus_migrations',
'directus_relations',
'directus_revisions',
'directus_sessions',
'directus_settings',
];
const systemCollections = computed(() => {
return orderBy(
collectionsStore.state.collections.filter((collection) => {
@@ -337,7 +351,7 @@ export default defineComponent({
}),
['collection'],
['asc']
);
).filter((collection) => collectionsDenyList.includes(collection.collection) === false);
});
const currentCollectionPrimaryKey = computed(() => fieldsStore.getPrimaryKeyFieldForCollection(props.collection));

View File

@@ -347,6 +347,20 @@ export default defineComponent({
);
});
/**
* These are the system endpoints that don't have full/regular CRUD operations available.
*/
const collectionsDenyList = [
'directus_activity',
'directus_collections',
'directus_fields',
'directus_migrations',
'directus_relations',
'directus_revisions',
'directus_sessions',
'directus_settings',
];
const systemCollections = computed(() => {
return orderBy(
collectionsStore.state.collections.filter((collection) => {
@@ -354,7 +368,7 @@ export default defineComponent({
}),
['collection'],
['asc']
);
).filter((collection) => collectionsDenyList.includes(collection.collection) === false);
});
const junctionCollection = computed({