diff --git a/backend/src/services/species.ts b/backend/src/services/species.ts index 6d12e950..ca317db5 100644 --- a/backend/src/services/species.ts +++ b/backend/src/services/species.ts @@ -94,14 +94,13 @@ export const getSpeciesDetails = async (id: number) => { now_sau: { include: { now_sr: { - select: { + include: { ref_ref: { - select: { + include: { ref_authors: true, ref_journal: true, }, }, - rid: true, }, }, }, diff --git a/cypress/support/commands.js b/cypress/support/commands.js index f18eb987..8ce4f379 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -27,7 +27,7 @@ Cypress.Commands.add('login', username => { cy.clearLocalStorage() cy.visit('/login') - cy.contains('Login').click() + cy.get('[data-cy="login-button"]', { timeout: 10000 }).should('be.visible').click() cy.get('[data-cy="username-basic"]').type(username) cy.get('[data-cy="password-basic"]').type('test') cy.get('[data-cy="login-button"]').click() diff --git a/frontend/src/components/DetailView/common/UpdateTab.tsx b/frontend/src/components/DetailView/common/UpdateTab.tsx index f875e918..4757157c 100755 --- a/frontend/src/components/DetailView/common/UpdateTab.tsx +++ b/frontend/src/components/DetailView/common/UpdateTab.tsx @@ -1,4 +1,4 @@ -import { ReferenceOfUpdate, UpdateLog } from '@/shared/types' +import { AnyReference, ReferenceOfUpdate, UpdateLog } from '@/shared/types' import { useDetailContext } from '@/components/DetailView/Context/DetailContext' import { EditingModal } from '@/components/DetailView/common/EditingModal' import { SimpleTable } from '@/components/DetailView/common/SimpleTable' @@ -18,9 +18,10 @@ const makeNameList = (names: Array) => { return names[0] ?? '' } -const ReferenceList = ({ references, big }: { references: ReferenceOfUpdate[]; big: boolean }) => { +const ReferenceList = ({ references, big }: { references: AnyReference[]; big: boolean }) => { const getReferenceText = (ref: ReferenceOfUpdate) => { // php version: html/include/database.php -> referenceCitation() + //const ref = referenceOfUpdate.ref_ref const authors = makeNameList(ref.ref_authors.map(author => author.author_surname)) const issue = ref.issue ? ` (${ref.issue}) ` : '' if (ref.ref_type_id === 1) { @@ -37,6 +38,7 @@ const ReferenceList = ({ references, big }: { references: ReferenceOfUpdate[]; b // All other types return `${authors} ${ref.date_primary ? `(${ref.date_primary}). ` : ''} ${ref.title_primary?.concat('. ') ?? ''}${ref.title_secondary?.concat('. ') ?? ''}${ref.title_series?.concat('. ') ?? ''}${ref.gen_notes?.concat('.') ?? ''}` } + return ( {references.map(ref => ( @@ -44,7 +46,7 @@ const ReferenceList = ({ references, big }: { references: ReferenceOfUpdate[]; b key={ref.rid} sx={{ padding: '0.4em', margin: '0.5em', maxWidth: big ? '50em' : '30em', backgroundColor: 'lightblue' }} > -
{getReferenceText(ref)}
+
{getReferenceText(ref.ref_ref)}
{big && (
View @@ -90,10 +92,7 @@ export const UpdateTab = }) => ( - item.ref_ref)} - big={false} - /> + ), }, { @@ -105,7 +104,7 @@ export const UpdateTab = ), }, @@ -118,7 +117,7 @@ export const UpdateTab = ({ +const DetailsModal = ({ updates, references, comment, @@ -127,7 +126,7 @@ const DetailsModal = ({ coordinator, }: { updates: UpdateLog[] - references: RefType[] + references: AnyReference[] comment: string date: Date authorizer: string @@ -179,11 +178,7 @@ const DetailsModal = ({

References

- {references.length === 0 ? ( - Update has no references. - ) : ( - ref.ref_ref)} big /> - )} + {references.length === 0 ? Update has no references. : }

Changed database values

diff --git a/frontend/src/components/Species/SpeciesDetails.tsx b/frontend/src/components/Species/SpeciesDetails.tsx index cd969a09..8c66f55c 100755 --- a/frontend/src/components/Species/SpeciesDetails.tsx +++ b/frontend/src/components/Species/SpeciesDetails.tsx @@ -25,7 +25,7 @@ export const SpeciesDetails = () => { document.title = 'New species' } const [editSpeciesRequest, { isLoading: mutationLoading }] = useEditSpeciesMutation() - const { isError, isFetching, data } = useGetSpeciesDetailsQuery(id!, { skip: isNew }) + const { isError, isFetching, data } = useGetSpeciesDetailsQuery(encodeURIComponent(id!), { skip: isNew }) const { notify } = useNotify() const navigate = useNavigate() const [deleteMutation, { isSuccess: deleteSuccess, isError: deleteError }] = useDeleteSpeciesMutation() diff --git a/frontend/src/shared/types/data.ts b/frontend/src/shared/types/data.ts index 7e8bdce3..798b3b23 100755 --- a/frontend/src/shared/types/data.ts +++ b/frontend/src/shared/types/data.ts @@ -444,8 +444,12 @@ export type ReferenceOfUpdate = Prisma.ref_ref & { ref_journal: Prisma.ref_journal } -export type LocalityReference = Prisma.now_lr & ReferenceOfUpdate -export type SpeciesReference = Prisma.now_sr & ReferenceOfUpdate +export type LocalityReference = Prisma.now_lr & { ref_ref: ReferenceOfUpdate } +export type SpeciesReference = Prisma.now_sr & { ref_ref: ReferenceOfUpdate } +export type TimeUnitReference = Prisma.now_tr & { ref_ref: ReferenceOfUpdate } +export type TimeBoundReference = Prisma.now_br & { ref_ref: ReferenceOfUpdate } + +export type AnyReference = LocalityReference | SpeciesReference | TimeUnitReference | TimeBoundReference export type ReferenceJournalType = { journal_id?: number