Esempio n. 1
0
    def create_new_user(self, username, password, query):
        try:
            new_user = Users()
            new_user.user_name = username
            new_user.hashed_password = bcrypt.hashpw(password.encode('utf-8'),
                                                     bcrypt.gensalt())
            new_user.school_id = query.school_id
            new_user.first_name = query.first_name
            new_user.last_name = query.last_name
            new_user.user_type = query.user_type
            new_user.email = query.email
            new_user.profession = query.profession
            new_user.save()
            if query.user_type.lower() == "teacher":
                new_teacher = Teacher()
                new_teacher.user_id = new_user.user_id
                new_teacher.has_system_access = True
                new_teacher.save()
                response.body = json.dumps({
                    'success':
                    'Successfully created teacher ' + new_user.user_name +
                    ' with id ' + str(new_user.user_id),
                    'id':
                    new_user.user_id
                })
                response.status = 200
            elif query.user_type.lower() == "student":
                new_student = Student()
                new_student.user_id = new_user.user_id
                new_student.has_system_access = False
                new_student.save()

                response.body = json.dumps({
                    'success':
                    'Successfully created student ' + new_user.user_name +
                    ' with id ' + str(new_user.user_id),
                    'id':
                    new_user.user_id
                })
                response.status = 200
            else:
                response.body = json.dumps({'error': 'Unknown user type'})
                response.status = 500

        except Exception as e:
            response.body = json.dumps({'error': str(e)})
            response.status = 500
        return response