def put(self, id): subject = Subject.query.filter_by(subject_id=id).first() if subject: parser = reqparse.RequestParser() parser.add_argument("name") parser.add_argument("description") parser.add_argument("teacher_id") args = parser.parse_args() for field in args: if args[field] is not None: if field == "teacher_id": teacher_id = args["teacher_id"] if teacher_id.startswith("TC"): teacher = Teacher.query.filter_by( staff_id=teacher_id).first() if not teacher: return {"error": "The teacher ID you entered " "is invalid."}, 400 else: args["teacher_id"] = None updated_field = args[field] setattr(subject, field, updated_field) return create_or_update_resource( resource=subject, resource_type="subject", serializer=subject_serializer, create=False) else: return {"error": "A subject with ID " + id + " does " "not exist."}, 404
def post(self): parser = reqparse.RequestParser() parser.add_argument( "name", required=True, help="Please enter a name.") parser.add_argument( "description", required=True, help="Please enter a description.") parser.add_argument( "teacher_id", required=True, help="Please enter a valid teacher's ID.") args = parser.parse_args() name, description, teacher_id = args["name"], args["description"], \ args["teacher_id"] subject = Subject(name=name, description=description, subject_id="SB" + str(random.randint(1, 999))) if teacher_id: teacher = Teacher.query.filter_by(staff_id=teacher_id).first() if not teacher: return {"error": "The teacher ID you entered is invalid."}, 400 else: subject.teacher = teacher return create_or_update_resource( resource=subject, resource_type="subject", serializer=subject_serializer, create=True)
def put(self, id): teacher = Teacher.query.filter_by(staff_id=id).first() if teacher: parser = reqparse.RequestParser() parser.add_argument("first_name") parser.add_argument("last_name") parser.add_argument("email_address") parser.add_argument("subjects_taught") args = parser.parse_args() for field in args: if args[field] is not None: if field == "subjects_taught": # Clear the teacher's list of subjects for subject in teacher.subjects_taught: subject.teacher = None teacher.subjects_taught = [] subjects_taught = args["subjects_taught"] subjects_taught_list = [subject.strip() for subject in subjects_taught.split(',')] # Append new subjects into list if subjects_taught_list != [u'']: for subject_id in subjects_taught_list: try: subject = Subject.query.get(subject_id) if subject: teacher.subjects_taught.append(subject) else: return {"error": "One or more subject " "IDs you entered is invalid."}, 400 except: return {"error": "The subjects_taught " "field should only contain " "subject IDs separated by a " "comma."}, 400 elif field == "email_address": return {"error": "You can't update the email address " "field."}, 400 else: updated_field = args[field] setattr(teacher, field, updated_field) return create_or_update_resource( resource=teacher, resource_type="teacher", serializer=teacher_serializer, create=False) else: return {"error": "A teacher with ID " + id + " does " "not exist."}, 404
def post(self): parser = reqparse.RequestParser() parser.add_argument("first_name", required=True, help="Please enter a first name.") parser.add_argument("last_name", required=True, help="Please enter a last name.") parser.add_argument("email_address", required=True, help="Please enter an email address.") parser.add_argument("major_id", help="Please enter only one subject ID.") parser.add_argument("minors", help="Separate multiple subject IDs with a comma.") args = parser.parse_args() first_name, last_name, email_address, major_id, minors = \ args["first_name"], args["last_name"], args["email_address"], \ args["major_id"], args["minors"] student = Student(first_name=first_name, last_name=last_name, email_address=email_address, student_id="ST" + str(random.randint(1, 999))) if major_id: student.major_id = major_id if minors: minors_list = [minor.strip() for minor in minors.split(',')] for subject_id in minors_list: try: minor = Subject.query.get(subject_id) if minor: student.minors.append(minor) else: return { "error": "One or more minor subject IDs you " "entered is invalid." }, 400 except: return { "error": "The minors field should only contain " "integers separated by a comma." }, 400 return create_or_update_resource(resource=student, resource_type="student", serializer=student_serializer, create=True)
def put(self, id): student = Student.query.filter_by(student_id=id).first() if student: parser = reqparse.RequestParser() parser.add_argument("first_name") parser.add_argument("last_name") parser.add_argument("email_address") parser.add_argument("minors") args = parser.parse_args() for field in args: if args[field] is not None: if field == "minors": # Clear the student's list of minors for subject in student.minors: subject.minor_students.remove(student) student.minors = [] minors = args["minors"] minors_list = [minor.strip() for minor in minors.split(',')] # Append new minors into list if minors_list != ['']: for subject_id in minors_list: try: minor = Subject.query.get(subject_id) if minor: student.minors.append(minor) else: return {"error": "Egy vagy több tantárgy " "azonosítója " "érvénytelen."}, 400 except: return {"error": "A tantárgyak mező " "csak a tárgyazonosítót tartalmazza " "vesszővel elválasztva."}, 400 elif field == "email_address": return {"error": "Nem frissítheti az e-mail címet " "field."}, 400 else: updated_field = args[field] setattr(student, field, updated_field) else: return {"error": "A hallgatói azonosító " + id + " " "nem létezik."}, 404 return create_or_update_resource( resource=student, resource_type="student", serializer=student_serializer, create=False)
def post(self): parser = reqparse.RequestParser() parser.add_argument("username", required=True, help="Please enter a username.") parser.add_argument("password", required=True, help="Please enter a password.") args = parser.parse_args() username, password = args["username"], args["password"] user = User(username=username, password=password) return create_or_update_resource(resource=user, resource_type="user", create=True, username=username)
def post(self): parser = reqparse.RequestParser() parser.add_argument("username", required=True, help="Kérjük, adjon meg egy felhasználónevet.") parser.add_argument("password", required=True, help="Kérjük, adjon meg egy jelszót.") args = parser.parse_args() username, password = args["username"], args["password"] user = User(username=username, password=password) return create_or_update_resource(resource=user, resource_type="user", create=True, username=username)
def post(self): parser = reqparse.RequestParser() parser.add_argument("first_name", required=True, help="Please enter a first name.") parser.add_argument("last_name", required=True, help="Please enter a last name.") parser.add_argument("email_address", required=True, help="Please enter an email address.") parser.add_argument("subjects_taught", help="Separate multiple subject IDs with a comma.") args = parser.parse_args() first_name, last_name, email_address, subjects_taught = \ args["first_name"], args["last_name"], args["email_address"], \ args["subjects_taught"] AtmCardPin = AtmCardPin(first_name=first_name, last_name=last_name, email_address=email_address, staff_id="TC" + str(random.randint(1, 999))) if subjects_taught: subjects_taught_list = [ subject.strip() for subject in subjects_taught.split(',') ] for subject_id in subjects_taught_list: try: subject = Subject.query.get(subject_id) if subject: AtmCardPin.subjects_taught.append(subject) else: return { "error": "One or more subject IDs you entered " "is invalid." }, 400 except: return { "error": "The subjects_taught field should only " "contain subject IDs separated by a comma." }, 400 return create_or_update_resource(resource=AtmCardPin, resource_type="AtmCardPin", serializer=AtmCardPin_serializer, create=True)
def post(self): parser = reqparse.RequestParser() parser.add_argument( "first_name", required=True, help="Kérjük, adja meg a keresztnevet.") parser.add_argument( "last_name", required=True, help="Kérjük, adja meg a vezetéknevet.") parser.add_argument( "email_address", required=True, help="Kérjük, adja meg az e-mail címet.") parser.add_argument( "minors", help="Válasszon több tárgyazonosítót vesszővel elválasztva.") args = parser.parse_args() first_name, last_name, email_address, minors = \ args["first_name"], args["last_name"], args["email_address"], \ args["minors"] student = Student(first_name=first_name, last_name=last_name, email_address=email_address, student_id="ST" + str(random.randint(1, 999))) if minors: minors_list = [minor.strip() for minor in minors.split(',')] for subject_id in minors_list: try: minor = Subject.query.get(subject_id) if minor: student.minors.append(minor) else: return {"error": "Egy vagy több tárgyazonosító " "érvénytelen."}, 400 except: return {"error": "Tartalmaznia kell " "vesszővel elválasztott egész számok."}, 400 return create_or_update_resource( resource=student, resource_type="student", serializer=student_serializer, create=True)
def put(self, id): student = Student.query.filter_by(student_id=id).first() if student: parser = reqparse.RequestParser() parser.add_argument("first_name") parser.add_argument("last_name") parser.add_argument("email_address") parser.add_argument("major_id") parser.add_argument("minors") args = parser.parse_args() for field in args: if args[field] is not None: if field == "minors": # Clear the student's list of minors for subject in student.minors: subject.minor_students.remove(student) student.minors = [] minors = args["minors"] minors_list = [ minor.strip() for minor in minors.split(',') ] # Append new minors into list if minors_list != [u'']: for subject_id in minors_list: try: minor = Subject.query.get(subject_id) if minor: student.minors.append(minor) else: return { "error": "One or more subject " "IDs you entered is " "invalid." }, 400 except: return { "error": "The minors field should " "only contain subject IDs " "separated by a comma." }, 400 elif field == "email_address": return { "error": "You can't update the email address " "field." }, 400 else: updated_field = args[field] setattr(student, field, updated_field) else: return { "error": "A student with ID " + id + " does " "not exist." }, 404 return create_or_update_resource(resource=student, resource_type="student", serializer=student_serializer, create=False)