Skip to content
Snippets Groups Projects
Commit 4d5e7fa1 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

MAINT: remove name overrides box borrowed/returned

parent 48b6c9eb
No related branches found
No related tags found
No related merge requests found
Pipeline #61765 failed
...@@ -286,7 +286,7 @@ def test_request_loan_multiple_items(loan_form_data_multi): ...@@ -286,7 +286,7 @@ def test_request_loan_multiple_items(loan_form_data_multi):
assert response.stderr is None, response.stderr assert response.stderr is None, response.stderr
assert response.code == 0 assert response.code == 0
loan = get_entity_by_id(loanid) loan = get_entity_by_id(loanid)
assert loan.get_property(BOX_BORROWED).value == box_versionids assert loan.get_property(BOX_BORROWED.name).value == box_versionids
assert loan.get_property(f"{LENT.name}").value.startswith("20") assert loan.get_property(f"{LENT.name}").value.startswith("20")
box1 = get_entity_by_name(TESTBOXNUMBER) box1 = get_entity_by_name(TESTBOXNUMBER)
box2 = get_entity_by_name(TESTBOXNUMBER2) box2 = get_entity_by_name(TESTBOXNUMBER2)
...@@ -377,7 +377,7 @@ def test_direct_call(loan_form_data_multi): ...@@ -377,7 +377,7 @@ def test_direct_call(loan_form_data_multi):
data[F_LOAN] = loan.id data[F_LOAN] = loan.id
confirm_loan(data) confirm_loan(data)
loan = db.execute_query(f"FIND loan with {COMMENT.name}='{TESTLOANCOMMENT}'", unique=True) loan = db.execute_query(f"FIND loan with {COMMENT.name}='{TESTLOANCOMMENT}'", unique=True)
assert loan.get_property(BOX_BORROWED).value == box_before_confirm_versionids assert loan.get_property(BOX_BORROWED.name).value == box_before_confirm_versionids
assert loan.get_property(f"{LENT.name}").value.startswith("20") assert loan.get_property(f"{LENT.name}").value.startswith("20")
box1 = get_entity_by_name(TESTBOXNUMBER) box1 = get_entity_by_name(TESTBOXNUMBER)
box2 = get_entity_by_name(TESTBOXNUMBER2) box2 = get_entity_by_name(TESTBOXNUMBER2)
...@@ -418,8 +418,8 @@ def test_direct_call(loan_form_data_multi): ...@@ -418,8 +418,8 @@ def test_direct_call(loan_form_data_multi):
loan = db.execute_query(f"FIND loan with {COMMENT.name}='{TESTLOANCOMMENT}'", unique=True) loan = db.execute_query(f"FIND loan with {COMMENT.name}='{TESTLOANCOMMENT}'", unique=True)
assert loan.get_property(f"{RETURNED.name}").value.startswith("20") assert loan.get_property(f"{RETURNED.name}").value.startswith("20")
assert loan.get_property(f"{RETURNED.name}").value.startswith("20") assert loan.get_property(f"{RETURNED.name}").value.startswith("20")
assert loan.get_property(BOX_BORROWED).value == box_before_confirm_versionids assert loan.get_property(BOX_BORROWED.name).value == box_before_confirm_versionids
assert loan.get_property(BOX_RETURNED).value == box_before_return_versionids assert loan.get_property(BOX_RETURNED.name).value == box_before_return_versionids
def modded_config(config): def modded_config(config):
...@@ -448,7 +448,7 @@ def test_no_location_setting(loan_form_data_multi): ...@@ -448,7 +448,7 @@ def test_no_location_setting(loan_form_data_multi):
data[F_LOAN] = loanid data[F_LOAN] = loanid
confirm_loan(data) confirm_loan(data)
loan = get_entity_by_id(loanid) loan = get_entity_by_id(loanid)
assert loan.get_property(BOX_BORROWED).value == box_versionids assert loan.get_property(BOX_BORROWED.name).value == box_versionids
assert loan.get_property(f"{LENT.name}").value.startswith("20") assert loan.get_property(f"{LENT.name}").value.startswith("20")
box1 = get_entity_by_name(TESTBOXNUMBER) box1 = get_entity_by_name(TESTBOXNUMBER)
box2 = get_entity_by_name(TESTBOXNUMBER2) box2 = get_entity_by_name(TESTBOXNUMBER2)
......
...@@ -565,10 +565,10 @@ def get_borrowed_items_from(loan) -> db.Container: ...@@ -565,10 +565,10 @@ def get_borrowed_items_from(loan) -> db.Container:
db.Container, borrowed items referenced by the given loan. Return value is a container with db.Container, borrowed items referenced by the given loan. Return value is a container with
one element, even if only one item is referenced and the property value is not a list. one element, even if only one item is referenced and the property value is not a list.
""" """
borrowed = loan.get_property(BOX_BORROWED) borrowed = loan.get_property(BOX_BORROWED.name)
if borrowed is None: if borrowed is None:
raise RuntimeError( raise RuntimeError(
f"Loan has no reference to a borrowed item. {BOX_BORROWED} property is missing." f"Loan has no reference to a borrowed item. {BOX_BORROWED.name} property is missing."
f"Loan ID: {loan.id}") f"Loan ID: {loan.id}")
elif not isinstance(borrowed.value, list): elif not isinstance(borrowed.value, list):
borrowed = [borrowed.value] borrowed = [borrowed.value]
......
...@@ -36,8 +36,5 @@ RETURN_REQUESTED = db.Property(name=ps['RETURN_REQUESTED'], datatype=db.DATETIME ...@@ -36,8 +36,5 @@ RETURN_REQUESTED = db.Property(name=ps['RETURN_REQUESTED'], datatype=db.DATETIME
RETURN_ACCEPTED = db.Property(name=ps['RETURN_ACCEPTED'], datatype=db.DATETIME) RETURN_ACCEPTED = db.Property(name=ps['RETURN_ACCEPTED'], datatype=db.DATETIME)
RETURNED = db.Property(name=ps['RETURNED'], datatype=db.DATETIME) RETURNED = db.Property(name=ps['RETURNED'], datatype=db.DATETIME)
BOX_NUMBER = db.Property(name=ps['BOX_NUMBER'], datatype=db.TEXT) BOX_NUMBER = db.Property(name=ps['BOX_NUMBER'], datatype=db.TEXT)
BOX_RETURNED = db.Property(name=ps['BOX_RETURNED'], datatype=rts['BOX'])
# Other Strings BOX_BORROWED = db.Property(name=ps['BOX_BORROWED'], datatype=rts['BOX'])
# TODO: Adapt datamodel and remove name override
BOX_RETURNED = "Box (returned)"
BOX_BORROWED = "Box (borrowed)"
...@@ -33,7 +33,7 @@ from .box_loan import (BOX, BOX_BORROWED, DESTINATION, F_LOAN, LENT, S_LENT, S_L ...@@ -33,7 +33,7 @@ from .box_loan import (BOX, BOX_BORROWED, DESTINATION, F_LOAN, LENT, S_LENT, S_L
def _set_lent_box(loan): def _set_lent_box(loan):
""" Store the exact versions of borrowed items when it was delivered to the borrower. """ """ Store the exact versions of borrowed items when it was delivered to the borrower. """
references = set_references_to_current_version(loan.get_property(BOX).value) references = set_references_to_current_version(loan.get_property(BOX).value)
loan.add_property(id=BOX.id, name=BOX_BORROWED, value=references, loan.add_property(id=BOX.id, name=BOX_BORROWED.name, value=references,
datatype=db.LIST(BOX.name) if isinstance(references, list) else BOX.name) datatype=db.LIST(BOX.name) if isinstance(references, list) else BOX.name)
loan.update() loan.update()
......
...@@ -23,3 +23,5 @@ RETURN_REQUESTED = returnRequested ...@@ -23,3 +23,5 @@ RETURN_REQUESTED = returnRequested
RETURN_ACCEPTED = returnAccepted RETURN_ACCEPTED = returnAccepted
RETURNED = returned RETURNED = returned
BOX_NUMBER = Number BOX_NUMBER = Number
BOX_RETURNED = returned Box version
BOX_BORROWED = borrowed Box version
...@@ -36,8 +36,8 @@ def _set_returned_box(loan): ...@@ -36,8 +36,8 @@ def _set_returned_box(loan):
This stores the version of the box that was returned by a borrower. This stores the version of the box that was returned by a borrower.
""" """
references = set_references_to_current_version(loan.get_property(BOX_BORROWED).value) references = set_references_to_current_version(loan.get_property(BOX_BORROWED.name).value)
loan.add_property(id=BOX.id, name=BOX_RETURNED, value=references, loan.add_property(id=BOX.id, name=BOX_RETURNED.name, value=references,
datatype=db.LIST(BOX.name) if isinstance(references, list) else BOX.name) datatype=db.LIST(BOX.name) if isinstance(references, list) else BOX.name)
...@@ -57,7 +57,7 @@ def set_content(loan): ...@@ -57,7 +57,7 @@ def set_content(loan):
and "entity_loan.no_content_updates" in config["Misc"] and "entity_loan.no_content_updates" in config["Misc"]
and config["Misc"]["entity_loan.no_content_updates"]): and config["Misc"]["entity_loan.no_content_updates"]):
return return
items = loan.get_property(BOX_BORROWED).value items = loan.get_property(BOX_BORROWED.name).value
if not isinstance(items, list): if not isinstance(items, list):
items = [items] items = [items]
for item in items: for item in items:
......
...@@ -5,14 +5,14 @@ from loan.manual_return import _set_returned_box ...@@ -5,14 +5,14 @@ from loan.manual_return import _set_returned_box
def test_set_returned_box(): def test_set_returned_box():
loan = Record() loan = Record()
loan.add_property(BOX, name=BOX_BORROWED, value="1234@abcd") loan.add_property(BOX, name=BOX_BORROWED.name, value="1234@abcd")
assert len(loan.get_properties()) == 1 assert len(loan.get_properties()) == 1
assert loan.get_property(BOX_BORROWED).value == "1234@abcd" assert loan.get_property(BOX_BORROWED.name).value == "1234@abcd"
assert loan.get_property(BOX_RETURNED) is None assert loan.get_property(BOX_RETURNED.name) is None
_set_returned_box(loan) _set_returned_box(loan)
assert len(loan.get_properties()) == 2 assert len(loan.get_properties()) == 2
assert loan.get_property(BOX_BORROWED).value == "1234@abcd" assert loan.get_property(BOX_BORROWED.name).value == "1234@abcd"
assert loan.get_property(BOX_RETURNED).value == "1234@HEAD" assert loan.get_property(BOX_RETURNED.name).value == "1234@HEAD"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment