DiamondLightSource / SynchWeb

ISPyB web application
http://diamondlightsource.github.io/SynchWeb/
Apache License 2.0
15 stars 31 forks source link

ULIMS-50: Shipping service incoming shipment redirect #731

Closed MattPrit closed 6 months ago

MattPrit commented 9 months ago

JIRA ticket: ULIMS-50

Depends on #698

Summary:

Adds the option to redirect to the shipping service to book shipments when booking an incoming shipment.

Changes:

To test:

Note:

gfrn commented 9 months ago

Just so we have it in writing, what is the purpose of externalShippingIdToSynchrotron and why should it exist in both Dewar and Shipping?

MattPrit commented 8 months ago

Just so we have it in writing, what is the purpose of externalShippingIdToSynchrotron and why should it exist in both Dewar and Shipping?

externalShippingIdToSynchrotron exists only in the Shipping table, it holds the id of the entity in the external shipping service that corresponds to the booking of Shipping's Dewars to the synchrotron. externalShippingIdFromSynchrotron exists only in the Dewar table, it holds the id of the entity in the external shipping service that corresponds to the booking of each Dewar from the synchrotron. These columns are split across multiple tables because, while all Dewars in a shipment are shipped to the synchrotron together, they are dispatched individually. Alternatively, the externalShippingIdToSynchrotron column could be in the Dewar table, but the same id would be duplicated for each Dewar in the 'shipping'.

The required database change has now been made, see https://github.com/DiamondLightSource/ispyb-database/pull/228

MattPrit commented 7 months ago

New things to test:

gfrn commented 7 months ago

There is a possible non-issue, where if you manually delete the package description/shipping date, they cause validation to fail as they are still required, unlike all the other fields.

Not sure if this is an issue, since this would require users to deliberately "break" their own shipment, and I don't see a way this could happen during the "automated" process