@staticmethod
    def allowance_ondelete(row):
        """
            Actions after deleting allowance information
                - Update last_seen_on in the corresponding case(s)

            @param row: the deleted Row
        """

        if current.deployment_settings.get_dvr_payments_update_last_seen_on():

            # Get the deleted keys
            table = current.s3db.dvr_allowance
            row = current.db(table.id == row.id).select(table.deleted_fk,
                                                        limitby = (0, 1),
                                                        ).first()
            if row and row.deleted_fk:

                # Get the person ID
                try:
                    deleted_fk = json.loads(row.deleted_fk)
                except (ValueError, __HOLE__):
                    person_id = None
                else:
                    person_id = deleted_fk.get("person_id")

                # Update last_seen_on
                if person_id:
                    dvr_update_last_seen(person_id)

# =============================================================================
dataset/ETHPy150Open sahana/eden/modules/s3db/dvr.py/DVRCaseAllowanceModel.allowance_ondelete