def renew_loan_for_X_days(barcode, borrower_id=None): """ Renew a loan based on its loan period @param barcode: identify the item. Primary key of crcITEM. @type barcode: string @return new due date """ if borrower_id == None: borrower_id = db.get_borrower_id(barcode) loan_period = db.get_loan_period_from_loan_rule(barcode, user_id=borrower_id) if loan_period['code'] in ( CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS_OVERNIGHT, CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS): due_date = generate_new_due_date(loan_period['value'], hours=True) elif loan_period['code'] in ( CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS_MINUTE_OVERNIGHT, CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS_MINUTE): due_date = generate_new_due_date(loan_period['value'], hours=True, minutes=True) elif loan_period['code'] == CFG_BIBCIRCULATION_LOAN_RULE_CODE_ABSOLUTE: due_date = generate_new_due_date(loan_period['value'], absolute=True) else: due_date = generate_new_due_date(loan_period['value']) return due_date
def renew_loan_for_X_days(barcode, borrower_id=None): """ Renew a loan based on its loan period @param barcode: identify the item. Primary key of crcITEM. @type barcode: string @return new due date """ if borrower_id == None: borrower_id = db.get_borrower_id(barcode) loan_period = db.get_loan_period_from_loan_rule(barcode, user_id=borrower_id) if loan_period['code'] in (CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS_OVERNIGHT, CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS): due_date = generate_new_due_date(loan_period['value'], hours=True) elif loan_period['code'] in (CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS_MINUTE_OVERNIGHT, CFG_BIBCIRCULATION_LOAN_RULE_CODE_HOURS_MINUTE): due_date = generate_new_due_date(loan_period['value'], hours=True, minutes=True) elif loan_period['code'] == CFG_BIBCIRCULATION_LOAN_RULE_CODE_ABSOLUTE: due_date = generate_new_due_date(loan_period['value'], absolute=True) else: due_date = generate_new_due_date(loan_period['value']) return due_date
def print_actual_due_date(loan_id=None, barcode=None, borrower_id=None): if not loan_id and barcode: loan_id = db.get_current_loan_id(barcode) elif not barcode and loan_id: loan_infos = db.get_loan_infos(loan_id) if loan_infos: barcode = loan_infos[1] if loan_id and barcode: due_date = db.get_due_date(loan_id) if not (borrower_id): borrower_id = db.get_borrower_id_from_loan(loan_id) loan_period = db.get_loan_period_from_loan_rule(barcode, user_id=borrower_id, patrontype_id=None) if loan_period and loan_period['type'] == 'hours': return due_date else: return due_date.split(" ")[0] return None