Example #1
0
    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)
Example #2
0
 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()