check that a synonym does not already exist as a species

This commit is contained in:
juhanikat
2025-09-27 15:28:16 +03:00
parent 4f7499e7d9
commit 914585dd11
2 changed files with 24 additions and 0 deletions
@@ -7,9 +7,13 @@ import { EditingForm, EditingFormField } from '@/components/DetailView/common/Ed
import { useNotify } from '@/hooks/notification'
import { validateSynonym } from '@/shared/validators/synonym'
import { convertSynonymTaxonomyFields } from '@/util/taxonomyUtilities'
import { useGetAllSpeciesQuery } from '@/redux/speciesReducer'
import { skipToken } from '@reduxjs/toolkit/query'
import { CircularProgress } from '@mui/material'
export const SynonymTab = () => {
const { mode, setEditData, editData } = useDetailContext<SpeciesDetailsType>()
const { data: speciesQueryData, isFetching } = useGetAllSpeciesQuery(mode.read ? skipToken : undefined)
const { notify } = useNotify()
const convertAndCheckNewSynonymTaxonomy = (newSynonym: EditDataType<SpeciesSynonym>) => {
@@ -43,6 +47,21 @@ export const SynonymTab = () => {
}
}
for (const existingSpecies of speciesQueryData!) {
if (
convertedSynonym.syn_genus_name === existingSpecies.genus_name &&
convertedSynonym.syn_species_name === existingSpecies.species_name
) {
notify(
`${convertedSynonym.syn_genus_name} ${convertedSynonym.syn_species_name} \
has already been created as a separate species, adding it as a synonym is currently not allowed.`,
'error',
null
)
return false
}
}
return convertedSynonym
}
@@ -88,6 +107,8 @@ export const SynonymTab = () => {
/>
)
if (isFetching) return <CircularProgress />
return (
<>
<Grouped title="Synonyms">
+3
View File
@@ -19,6 +19,9 @@ const isDuplicateTaxon = (newSpecies: EditDataType<Species>, existingSpecies: Sp
newSpecies.species_name === existingSpecies.species_name &&
newSpecies.unique_identifier === existingSpecies.unique_identifier
) {
console.log('joo')
console.log(newSpecies)
console.log(existingSpecies)
return true
}