예제 #1
0
 def post(self,classname):
     data=ClassResource.parser.parse_args()
     classes=ClassModel.find_by_classname(classname)
     if classes:
         return {"message":"This class already exist"}
     classes=ClassModel(data['classname'], data['cc'])
     classes.insert_in_db()
     return {"message":"Insert Success"}
예제 #2
0
 def post(self, name):
     data = Class.parser.parse_args()
     try:
         new_class = ClassModel(name=name,
                                student_limit=data['student_limit'])
         new_class.save_to_db()
         return {
             'message': 'Class {} was created'.format(data['name'])
         }, 201
     except AssertionError as exception_message:
         return {'message': 'Error: {}.'.format(exception_message)}, 400
예제 #3
0
 def post(self):
     mail = request.args.get('mail')
     classe = request.args.get('class')
     user = UserModel.find_by_mail(mail)
     if user:
         tag = randomtag()
         class_to_add = ClassModel(None, classe, tag, user.id)
         class_to_add.save_to_db()
         class_added = ClassModel.find_by_tag(tag)
         return {"tag": tag}
     return {"message": "user does not exist"}, 400
예제 #4
0
 def get(self, name):
     my_class = ClassModel.find_by_name_with_tutor(name)
     if my_class:
         return {
             'students': [student.json() for student in my_class.students]
         }
     return {'message': 'Class not found or the class is not your own !'}
예제 #5
0
 def delete(self, p_id):
     class_data = ClassModel.find_by_id(p_id)  #GET SINGLE DATA BY ID
     if class_data:
         class_data.db_to_delete()
         return {'message': 'Class data deleted successfully'}, 200
     else:
         return {'message': 'Class not found'}, 500
예제 #6
0
 def put(self,classname):
     data=ClassResource.parser.parse_args()
     classes=ClassModel.find_by_classname(classname)
     if classes:
         classes.cc=data['cc']
         classes.insert_in_db()
         return {"message":"update success"}
     return {"message":"not found for update"}
예제 #7
0
 def post(self):
     mail = request.args.get('mail')
     tag = request.args.get('tag')
     user = UserModel.find_by_mail(mail)
     if user:
         classe = ClassModel.find_by_tag(tag)
         if classe:
             user.classe_id = classe.id
             user.save_to_db()
             return {"message": "user added to class succesfully"}, 200
         return {"message": "class does not exist"}, 500
     return {"message": "user does not exist"}, 500
예제 #8
0
    def put(self, p_id):
        data = parser.parse_args()
        class_data = ClassModel.find_by_id(p_id)
        class_data.update_data(class_data,data)

        try:
            class_data.db_to_commit()
            return {
                'message': ' This {} class data  updated successfully'.format(data['name'])
            }, 200
        except:
            return {'message': 'Something went wrong'}, 500
예제 #9
0
    def post(self):
        data = parser.parse_args()

        if ClassModel.find_by_name(data['name']):
            return {
                'message': 'This class {} already exists '.format(data['name'])
            }

        if ClassModel.find_by_code(data['code']):
            return {
                'message': 'This code {} already exists '.format(data['code'])
            }

        #CREATE MODEL DATA FOR SAVE
        new_class = ClassModel(
            name=data['name'],
            code=data['code'],
        )
        try:
            new_class.save_to_db()  #CALL THIS FUNCTION FOR COMMIT DATA

            return {
                'message':
                ' This {} class data  created successfully'.format(
                    data['name'])
            }, 200
        except:
            return {'message': 'Something went wrong'}, 500
예제 #10
0
    def put(self, name):
        data = Enroll.parser.parse_args()
        try:
            enroll_class = ClassModel.find_by_name(name)
            student_id = get_jwt_claims()['id']
            if enroll_class:
                enroll = EnrollModel.deactive(student_id, enroll_class.id)
                return {
                    'message':
                    'Deregistered {} successfully!'.format(data['name']),
                    'isRemoved': enroll.isRemoved
                }, 201
            return {'message': 'Class not found!'}

        except AssertionError as exception_message:
            return {'message': 'Error: {}.'.format(exception_message)}, 400
예제 #11
0
    def delete(self, name, student_id):
        my_id = get_jwt_claims()['id']

        try:
            my_class = ClassModel.find_by_name_with_tutor(name)
            if my_class:
                enroll = EnrollModel.deactive(student_id, my_class.id)
                return {
                    'message':
                    'Remove student {} successfully!'.format(student_id),
                    'isRemoved': enroll.isRemoved
                }, 201
            return {
                'message': 'Class not found or the class is not your own !'
            }
        except AssertionError as exception_message:
            return {'message': 'Error: {}.'.format(exception_message)}, 400
예제 #12
0
    def put(self, name):
        data = Class.parser.parse_args()
        try:
            my_class = ClassModel.find_by_name_with_tutor(name)
            # if class does not exist, create new class with given name
            if my_class is None:
                raise AssertionError(
                    'Class not found or the class is not your own')
            else:
                if my_class.isDeleted():
                    raise AssertionError('Can not change deactived class')
                if data['student_limit'] < len(my_class.getStudents()):
                    raise AssertionError(
                        'Number of student limit can not less current enroll student'
                    )
                if name != data['name']:
                    my_class.name = data['name']
                my_class.student_limit = data['student_limit']
            my_class.save_to_db()
            return my_class.json(), 201

        except AssertionError as exception_message:
            return {'message': 'Error: {}.'.format(exception_message)}, 400
예제 #13
0
    def post(self, name):
        data = Enroll.parser.parse_args()
        try:
            enroll_class = ClassModel.find_by_name(name)
            student_id = get_jwt_claims()['id']
            if enroll_class:
                if enroll_class.isAvailable(
                ) and not EnrollModel.get_by_student_and_class(
                        student_id, enroll_class.id):
                    enroll = EnrollModel(student_id, enroll_class.id)
                    enroll.save_to_db()
                    return {
                        'message':
                        'Enroll {} successfully!'.format(data['name']),
                        'class': enroll_class.json()
                    }, 201
                return {
                    'message':
                    'No slot available or you cannot register this class'
                }
            return {'message': 'Class not found!'}

        except AssertionError as exception_message:
            return {'message': 'Error: {}.'.format(exception_message)}, 400
예제 #14
0
def pre_run():
    first = ClassModel('first', 4, 40, 14)
    business = ClassModel('business', 8, 30, 10)
    economy = ClassModel('economy', 156, 30, 7)

    flight1 = FlightModel(572, 'mumbai', 'kuwait', '0225', '0400')
    flight2 = FlightModel(574, 'mumbai', 'kuwait', '2125', '2300')

    fare1 = FareModel(572, 'first', 25000)
    fare2 = FareModel(572, 'business', 15000)
    fare3 = FareModel(572, 'economy', 9000)
    fare4 = FareModel(574, 'first', 18000)
    fare5 = FareModel(574, 'business', 11000)
    fare6 = FareModel(574, 'economy', 8000)

    discount1 = DiscountModel('10OFF', 10)
    discount2 = DiscountModel('15OFF', 15)

    aircraft1 = AircraftModel('VT-JGV', 'Boeing 737MAX', 168)
    aircraft2 = AircraftModel('VT-JGW', 'Boeing 737MAX', 168)
    aircraft3 = AircraftModel('VT-JGQ', 'Boeing 737MAX', 168)
    aircraft4 = AircraftModel('VT-JGX', 'Boeing 737MAX', 168)

    flight1.insert()
    flight2.insert()

    fare1.insert()
    fare2.insert()
    fare3.insert()
    fare4.insert()
    fare5.insert()
    fare6.insert()

    first.insert()
    business.insert()
    economy.insert()

    discount1.insert()
    discount2.insert()

    aircraft1.insert()
    aircraft2.insert()
    aircraft3.insert()
    aircraft4.insert()
예제 #15
0
 def get(self, p_id):
     class_data = ClassModel.find_by_id(p_id)  #GET SINGLE DATA BY ID
     jsonify_data = class_data.to_json(class_data)
     return {'class': jsonify_data}
예제 #16
0
 def get(self):
     return ClassModel.return_all()
예제 #17
0
 def delete(self,classname):
     classes=ClassModel.find_by_classname(classname)
     if classes:
         classes.delete_from_db()
         return {"message":"delete success"}
     return {"message":"not found for delete"}
예제 #18
0
 def get(self,classname):
     classes=ClassModel.find_by_classname(classname)
     if classes:
         return classes.json()
     return {"message":"Not found"}
예제 #19
0
 def delete(self, name):
     my_class = ClassModel.find_by_name_with_tutor(name)
     if my_class:
         my_class.markDelete()
         return {'message': 'Classes deleted'}
     return {'message': 'Class not found or the class is not your own.'}