def return_to_warehouse(user): deal_id = user.deal_data.deal_id # get stage, check it's actual actual_stage = BW.get_deal_stage(deal_id) if actual_stage != BFM.DEAL_IS_IN_DELIVERY_STATUS_ID: return BW.BW_WRONG_STAGE fields = { DEAL_STAGE_ALIAS: BFM.DEAL_APPROVED_STATUS_ID, DEAL_WAREHOUSE_RETURNED: BFM.DEAL_IS_RETURNED_TO_WAREHOUSE_YES, DEAL_WAREHOUSE_RETURN_REASON: user.data.warehouse_return_reason } BW.update_deal(deal_id, fields) return BW.BW_OK
def finish_deal(user): deal_id = user.deal_data.deal_id # get stage, check it's actual actual_stage = BW.get_deal_stage(deal_id) if actual_stage != BFM.DEAL_IS_IN_DELIVERY_STATUS_ID: return BW.BW_WRONG_STAGE fields = { DEAL_STAGE_ALIAS: BFM.DEAL_SUCCESSFUL_STATUS_ID, DEAL_WAREHOUSE_RETURNED: BFM.DEAL_IS_RETURNED_TO_WAREHOUSE_NO } if user.data.late_reason is None: fields[DEAL_IS_LATE_ALIAS] = BFM.DEAL_IS_LATE_NO else: fields[DEAL_IS_LATE_ALIAS] = BFM.DEAL_IS_LATE_YES fields[DEAL_IS_LATE_REASON_ALIAS] = user.data.late_reason BW.update_deal(deal_id, fields) return BW.BW_OK