def get(self, course_id): course = CourseModel.find_by_id(course_id) if course is None: return {"message": "Course not found."}, 404 return course.json(), 201
def delete(cls, course_id: int = None): course = CourseModel.find_by_id(course_id) if course: course.delete_from_db() return {"message": gettext("course_deleted")}, 200 return {"message": gettext("course_not_found")}, 404
def put(self, _id): data = self.parser.parse_args() course = CourseModel.find_by_id(_id) if course: course.name = data["name"] course.category = data["category"] course.trainers = data["trainers"] course.description = data["description"] course.target_audience = data["target_audience"] course.outcomes = data["outcomes"] course.requirements = data["requirements"] course.start_date = date(*data["start_date"]) course.end_date = date(*data["end_date"]) course.total_lectures = data["total_lectures"] course.lectures_per_week = data["lectures_per_week"] course.lecture_duration = timedelta(*data["lecture_duration"]) course.min_spg = data["min_students_per_group"] course.max_spg = data["max_students_per_group"] else: valid_data = { key: val for key, val in data.items() if val is not None } course = CourseModel(**valid_data) try: course.save_to_db() except: return { "message": "An error occurred while saving to the database." }, 500 return course.json()
def delete(self, course_id): course = CourseModel.find_by_id(course_id) if course: course.delete_from_db() return { 'message': 'The course has been deleted from the database.' } return {'message': 'Course not found.'}, 404
def get(cls, name: str = None, course_id: int = None): course = CourseModel.find_by_name(name) if course_id: course = CourseModel.find_by_id(course_id) if course: return course_schema.dump(course), 200 if course: return {"course_intances": course_list_schema.dump(course)}, 200 return {"message": gettext("course_not_found")}, 404
def steps_count(course_id): course = CourseModel.find_by_id(course_id) steps_number = 0 for chapter in course.chapters: steps_number += 1 for quiz in course.quizzes: steps_number += 1 return steps_number
def delete(self): data = Course.getparser.parse_args() course = CourseModel.find_by_id(data['id']) msgstr = [] if course: course.delete_from_db() msgstr.append({'status': "SUCCESS", "code": 200, "message": "Course with ID {} deleted successfully!".format(data['id'])}) else: msgstr.append({'status': "ERROR", "code": 500, "message": "Course with ID {} not found!".format(data['id'])}) return {'messages': msgstr}
def delete(self, course_id): course = CourseModel.find_by_id(course_id) if course is None: return {"message": "Course not found."}, 404 try: course.delete() except: return {"message": "An error occurred while deleting Course."}, 500 return {"message": "Course deleted."}, 200
def update_steps_number(course_id): course = CourseModel.find_by_id(course_id) steps_number = 0 for chapter in course.chapters: steps_number += 1 for quiz in course.quizzes: steps_number += 1 for step in course.steps: step.final_step = steps_number db.session.commit()
def delete(self, _id): course = CourseModel.find_by_id(_id) if course: try: course.delete_from_db() except: return { "message": "An error occurred while deleting this course." }, 500 return {'message': 'Course deleted.'} return { 'message': "The course you're trying to delete doesn't exist." }, 400
def post(cls): data = request.get_json() course = CourseModel.find_by_id(data['course_id']) user = UserModel.find_by_id(data['user_id']) if user: if course: if user not in course.users: return {"message": gettext('user_not_enrolled')}, 400 else: course.disenroll_user(user) else: return {"message": gettext("course_not_found")}, 404 else: return {"message": gettext("user_not_found")}, 404 return {"message": gettext("user_disenrolled").format (course.name, week_list[course.day_week].capitalize() + course.start_time.strftime(' - %H:%M'))}, 200
def put(self, _id): data = Course.parser.parse_args() course = CourseModel.find_by_id(_id) if course: course.price = data['price'] course.description = data['description'] course.on_discount = data['on_discount'] course.title = data['title'] course.date_updated = datetime.datetime.utcnow() course.image_path = data['image_path'] else: course = CourseModel(**data) course.save_to_db() return course.json()
def put(self): data = Course.putparser.parse_args() course = CourseModel.find_by_id(data['id']) jsonstr = [] msgstr = [] if course: if data['type'] == "confirmrequest": course.requestuserid = data['userid'] course.requestdate = datetime.today() course.save_to_db() if data['type'] == "cancelrequest": course.requestuserid = None course.requestdate = None course.acceptuserid = None course.acceptdate = None course.save_to_db() if data['type'] == "takeclass": course.acceptuserid = data['userid'] course.acceptdate = datetime.today() course.save_to_db() if data['type'] == "canceltake": course.acceptuserid = None course.acceptdate = None course.save_to_db() if data['type'] == "editclass": course.name = data['classname'] course.starttime = data['starttime'] course.endtime = data['endtime'] course.classdate = data['classdate'] course.save_to_db() msgstr.append({'status': "SUCCESS", "code": 200, "message": "Course with ID {} updated successfully!".format(data['id'])}) return {'courses': course.json(), 'messages': msgstr} else: msgstr.append({'status': "ERROR", "code": 500, "message": "Course with ID {} not found!".format(data['id'])}) return {'messages': msgstr}
def put(self, course_id): data = parser.parse_args() course = CourseModel.find_by_id(course_id) if course is None: new_course = CourseModel(**data) try: new_course.save() except: return {"message": "An error occurred while inserting Course."}, 500 return new_course.json(), 201 try: course.update(**data) except: return {"message": "An error occurred while updating Course."}, 500 return course.json(), 200
def get(self): data = Course.getparser.parse_args() msgstr = [] if data['id'] is not None: course = CourseModel.find_by_id(data['id']) if course: msgstr.append({'status': "SUCCESS", "code": 200}) return {'courses': course.json(), 'messages': msgstr} msgstr.append({"status": "NULL", "code": 400, "message": "A course with ID '{}' was not found.".format(data['id'])}) elif data['userid'] is not None: courses = CourseModel.find_by_userid(data['userid'], data['allrequests']) if courses: msgstr.append({"status": "SUCCESS", "code": 200}) return {'courses': [course.json() for course in courses], 'messages': msgstr} if data['allrequests'] == None: msgstr.append({"status": "NULL", "code": 400, "message": "No courses for USERID '{}' were found.".format(data['userid'])}) else: msgstr.append({"status": "NULL", "code": 400, "message": "No sub requests found."}) else: msgstr.append({"status": "ERROR", "code": 400}) return {'messages': msgstr}
def get(self, _id): course = CourseModel.find_by_id(_id) if course: return course.json() return {'message': 'course not found'}, 404
def add_course(self, course_id): course = CourseModel.find_by_id(course_id) self.course = course
def round(course_name, enter_string): scores_dict = { 'p1': { 'name': '', 'score_list': '', 'front_9': '', 'back_9': '', 'total': '' }, 'p2': { 'name': '', 'score_list': '', 'front_9': '', 'back_9': '', 'total': '' }, 'p3': { 'name': '', 'score_list': '', 'front_9': '', 'back_9': '', 'total': '' }, 'p4': { 'name': '', 'score_list': '', 'front_9': '', 'back_9': '', 'total': '' } } score_styles = { 'p1': { 'styles': [] }, 'p2': { 'styles': [] }, 'p3': { 'styles': [] }, 'p4': { 'styles': [] } } scores = [ score.json() for score in ScoreModel.find_round_by_enter_string(enter_string) ] course = CourseModel.find_by_id(scores[0]['course_id']).json() holes = [hole.json() for hole in HoleModel.find_by_course(course['id'])] round_date = [score['round_string'] for score in scores][0] date = datetime.strptime(round_date, '%Y%m%d%H%M%S') round_date = date.strftime('%m/%d/%Y') distance = [hole['distance'] for hole in holes] par = [hole['par'] for hole in holes] for i in range(1, 5): styles_list = [] for score in scores: if score['scorecard_position'] == i: name = score['golfer'].name round_scores = [ score['score'] for score in scores if score['scorecard_position'] == i ] front_9 = sum(round_scores[:9]) back_9 = sum(round_scores[9:]) total = sum(round_scores) if round_scores: for q in range(len(round_scores)): if round_scores[q] == 0: round_scores[q] = '' styles_list.append("par") else: if round_scores[q] - par[q] <= -2: styles_list.append("eagle") elif round_scores[q] - par[q] == -1: styles_list.append("birdie") elif round_scores[q] - par[q] == 0: styles_list.append("par") elif round_scores[q] - par[q] == 1: styles_list.append("bogey") elif round_scores[q] - par[q] == 2: styles_list.append("double-bogey") elif round_scores[q] - par[q] >= 3: styles_list.append("triple-bogey") if name is not None and scores is not None: player_string = "p" + str(i) scores_dict[player_string] = { 'name': name, 'score_list': round_scores, 'front_9': front_9, 'back_9': back_9, 'total': total } score_styles[player_string] = {'styles': styles_list} name = round_scores = front_9 = back_9 = total = None round = { 'scores': scores_dict, 'score_styles': score_styles, 'date': round_date, 'course': { 'name': course_name, 'city': course['city'], 'state': course['state'], 'slope': course['slope'], 'distance': { 'hole_distances': distance, 'front_9_distance': sum(distance[:9]), 'back_9_distance': sum(distance[9:]), 'total_distance': sum(distance) }, 'par': { 'hole_pars': par, 'front_9_par': sum(par[:9]), 'back_9_par': sum(par[9:]), 'total_par': sum(par) }, 'handicap': [hole['handicap'] for hole in holes], } } # return round return render_template('submitted_scorecard.jinja2', round=round)
def get(self, _id): course = CourseModel.find_by_id(_id) if course: return course.json() return {"message": "No matching course."}, 404
def delete(self, _id): course = CourseModel.find_by_id(_id) if course: course.delete_from_db() return {'message': 'course deleted.'} return {'message': 'course not found.'}, 404
def get(cls, course_id: int): course = CourseModel.find_by_id(course_id) if course: return {"registered users": [{"id": user.id, "name": user.name} for user in course.users]} else: return {"message": gettext("course_not_found")}, 404
def post(self, course_id, student_id): course = CourseModel.find_by_id(course_id) course.register_student(student_id) return course.json(), 200