def save(self, *args, **kwargs): """ Create the loan in Alma or mark it as returned """ if self.returned_on is None: # the item is being checked out response = create_loan(username=self.user.username, barcode=self.item.barcode) self.loan_id = response['loan_id'] else: return_loan(mms_id=self.item.bib.pk, item_id=self.item.pk) return super().save(*args, **kwargs)
def delete(self): # make sure to clean up the loan in Alma before deleting if self.returned_on is None: return_loan(mms_id=self.item.bib.pk, item_id=self.item.pk) return super().delete()