def update_availability(advisor_id: int, value: bool): try: if value.upper() == 'FALSE': out = AdvisorManager.updateAdvisorAvailability(advisor_id, False) else: out = AdvisorManager.updateAdvisorAvailability(advisor_id, True) except (AssertionError, KeyError, ValueError) as e: out = {"success": False, "desc": str(e)} return to_json_response(out)
def reply_approval_request(advisor_id: int, student_id: int, action: str): try: if action == "accept": out = AdvisorManager.updateApproveStatus( advisor_id, student_id, AdvisorManager.CONST_ACCEPTED) elif action == "reject": out = AdvisorManager.updateApproveStatus( advisor_id, student_id, AdvisorManager.CONST_REJECTED) else: out = {"success": False, "desc": "invalid action"} except (AssertionError, KeyError, ValueError) as e: out = {"success": False, "desc": str(e)} return to_json_response(out)
def approval_request(advisor_id: int, student_id: int): #check student_id validity try: out = AdvisorManager.addApproveRequest(advisor_id, student_id) except (AssertionError, KeyError, ValueError, ConnectionError) as e: out = {"success": False, "desc": str(e)} return to_json_response(out)
def post_advisor(): try: availability = str( request.form.get('availability', default=None, type=str)).upper() == 'TRUE' s = Advisor( request.form.get('advisor_id', default=None, type=int), request.form.get('advisor_name', default=None, type=str), request.form.get('field_of_interest', default=None, type=str), availability) out = AdvisorManager.addAdvisor(s) except (AssertionError, KeyError, ValueError) as e: out = {"success": False, "desc": str(e)} return to_json_response(out)
def get_advisor(advisor_id: int): return to_json_response(AdvisorManager.getAdvisor(advisor_id))
def get_advisors(): return to_json_response(AdvisorManager.getAdvisors())
def is_advisor_available(advisor_id: int): try: out = AdvisorManager.isAdvisorAvailable(advisor_id) except (AssertionError, KeyError, ValueError) as e: out = {"success": False, "desc": str(e)} return to_json_response(out)
def get_approval_requests(advisor_id: int): try: out = AdvisorManager.getApprovalRequests(advisor_id) except (AssertionError, KeyError, ValueError) as e: out = {"success": False, "desc": str(e)} return to_json_response(out)