inveniosoftware / invenio-circulation

Library circulation module for Invenio.
https://invenio-circulation.readthedocs.io
MIT License
0 stars 18 forks source link

transitions: fix ItemAtDeskToItemOnLoan transition #130

Closed blankoworld closed 4 years ago

blankoworld commented 4 years ago

After our previous message here: https://github.com/inveniosoftware/invenio-circulation/pull/124#issuecomment-582902480

We start to fix the ItemAdDeskToItemOnLoan transition to follow the Loan state chart done in collaboration with the CERN and RERO here: https://github.com/rero/rero-ils/blob/master/doc/circulation_statechart/circulation_loan_statechart.pdf

So we do:

These changes should not break the CERN behaviour.

Can you give me a confirmation that this is OK for you?

Co-Authored-by: Aly Badr aly.badr@rero.ch Co-Authored-by: Olivier DOSSMANN git@dossmann.net

ntarocco commented 4 years ago

Just be aware of this issue I have opened some time ago: we might have concurrency issues when checking out.

blankoworld commented 4 years ago

@ntarocco as suggested I moved some methods into their Transition (except those from ToItemOnLoan because of potential breaking changes). I create _ensure_default_pickup_location (instead of set_default_pickup_location). Because of all other methods that starts with _ensure.

Have you any idea why Travis tests with "lowest" don't pass? All release one are OK.

ntarocco commented 4 years ago

@ntarocco as suggested I moved some methods into their Transition (except those from ToItemOnLoan because of potential breaking changes). I create _ensure_default_pickup_location (instead of set_default_pickup_location). Because of all other methods that starts with _ensure.

Have you any idea why Travis tests with "lowest" don't pass? All release one are OK.

Thanks for the fixes, I will check again the PR. For the Travis build fail, you have to remove the dependency Flask-BabelExt and depend on Invenio-i18n instead, plus probably upgrade other invenio packages to more recent ones. In March, there was a release of werkzeug that broke many modules, and we had to upgrade them.