Пример #1
0
def _student_login():
    email = request.args['email']
    password = request.args['password']
    user = User.query.filter(User.email == email).first()
    if user is None:
        return json_error(error="UserNotFound")
    if not user.verify_password(password):
        return json_error(error="PasswordMismatch")
    return json_success(name=user.name, id=user.id)
Пример #2
0
def _student_login():
    email = request.args['email']
    password = request.args['password']
    user = User.query.filter(User.email == email).first()
    if user is None:
        return json_error(error="UserNotFound")
    if not user.verify_password(password):
        return json_error(error="PasswordMismatch")
    return json_success(name=user.name, id=user.id)
Пример #3
0
def _student_reset_password():
    email = request.args['email']
    password = request.args['password']
    user = User.query.filter(User.email == email).first()
    if user is None:
        return json_error(error="UserNotFound")
    reqs = Reset_Requests.query.filter(Reset_Requests.student_id==user.id).all()
    if not any(r.approved for r in reqs):
        return json_error(error="ResetNotApproved")
    user.password = password
    db.session.commit()
    return json_success(name=user.name, id=user.id)
Пример #4
0
 def decorated_function(*args, **kwargs):
     artifact = json.loads(request.data)
     id = artifact['metadata']['id']
     password = artifact['metadata']['password']
     user = User.query.filter(User.id == id).first()
     if user is None:
         return json_error(error="UserNotFound")
     if not user.verify_password(password):
         return json_error(error="PasswordMismatch")
     g.user = user
     g.metadata = artifact['metadata']
     kwargs.update(artifact['data'])
     return f(*args, **kwargs)
Пример #5
0
 def decorated_function(*args, **kwargs):
     artifact = json.loads(request.data)
     id = artifact['metadata']['id']
     password = artifact['metadata']['password']
     user = User.query.filter(User.id == id).first()
     if user is None:
         return json_error(error="UserNotFound")
     if not user.verify_password(password):
         return json_error(error="PasswordMismatch")
     g.user = user
     g.metadata = artifact['metadata']
     kwargs.update(artifact['data'])
     return f(*args, **kwargs)
Пример #6
0
def _student_reset_password():
    email = request.args['email']
    password = request.args['password']
    user = User.query.filter(User.email == email).first()
    if user is None:
        return json_error(error="UserNotFound")
    reqs = Reset_Requests.query.filter(
        Reset_Requests.student_id == user.id).all()
    if not any(r.approved for r in reqs):
        return json_error(error="ResetNotApproved")
    user.password = password
    db.session.commit()
    return json_success(name=user.name, id=user.id)
Пример #7
0
def get(key):
    dictionary_query = !!@@!!Dictionary.query.filter(!!@@!!Dictionary.key == key, 
                                               !!@@!!Dictionary.user == g.user)
    if dictionary_query.count() > 0:
        value= dictionary_query.first()
        return json_success(value.value)
    else:
        return json_error(error="ValueNotFound")
Пример #8
0
def get(key):
    dictionary_query = TemplateDictionary.query.filter(TemplateDictionary.key == key, 
                                               TemplateDictionary.user == g.user)
    if dictionary_query.count() > 0:
        value= dictionary_query.first()
        return json_success(value.value)
    else:
        return json_error(error="ValueNotFound")
Пример #9
0
def _student_request_reset():
    email = request.args['student']
    teacher_email = request.args['teacher']
    student = User.query.filter(User.email == email).first()
    teacher = User.query.filter(User.email == teacher_email).first()
    if Reset_Requests.query.filter(Reset_Requests.student_id==student.id).count() == 0:
        r = Reset_Requests(student_id = student.id, 
                        teacher_id = teacher.id, 
                        approved=False)
        db.session.add(r)
        db.session.commit()
        return json_success()
    return json_error(error="ResetAlreadyRequested")
Пример #10
0
def _student_request_reset():
    email = request.args['student']
    teacher_email = request.args['teacher']
    student = User.query.filter(User.email == email).first()
    teacher = User.query.filter(User.email == teacher_email).first()
    if Reset_Requests.query.filter(
            Reset_Requests.student_id == student.id).count() == 0:
        r = Reset_Requests(student_id=student.id,
                           teacher_id=teacher.id,
                           approved=False)
        db.session.add(r)
        db.session.commit()
        return json_success()
    return json_error(error="ResetAlreadyRequested")
Пример #11
0
def test(module):
    if module in [a_module.internal_name for a_module in app.activity_modules]:
        return json_success()
    else:
        module_dir= 'inspire/skeleton_module'
        new_module= os.path.join('inspire/modules', module)
        if os.path.exists(module_dir) and not os.path.exists(new_module):
            shutil.copytree(module_dir, new_module)
            replace_in_file(new_module+'/config.py', '!!@@!!', module)
            replace_in_file(new_module+'/conspyre.py', '!!@@!!', module)
            replace_in_file(new_module+'/database.py', '!!@@!!', module)
            replace_in_file(new_module+'/pages.py', '!!@@!!', module)
            replace_in_file(new_module+'/templates/template/index.html', '!!@@!!', module)
            return json_success()
        return json_error(error="ModuleNotFound")
Пример #12
0
def test(module):
    if module in [a_module.internal_name for a_module in app.activity_modules]:
        return json_success()
    else:
        module_dir = 'inspire/skeleton_module'
        new_module = os.path.join('inspire/modules', module)
        if os.path.exists(module_dir) and not os.path.exists(new_module):
            shutil.copytree(module_dir, new_module)
            replace_in_file(new_module + '/config.py', '!!@@!!', module)
            replace_in_file(new_module + '/conspyre.py', '!!@@!!', module)
            replace_in_file(new_module + '/database.py', '!!@@!!', module)
            replace_in_file(new_module + '/pages.py', '!!@@!!', module)
            replace_in_file(new_module + '/templates/template/index.html',
                            '!!@@!!', module)
            return json_success()
        return json_error(error="ModuleNotFound")
Пример #13
0
def _student_register():
    email = request.args['email']
    password = request.args['password']
    name = request.args['name']
    if User.query.filter(User.email == email).count() > 0:
        return json_error(error="UsernameExists")
    user = User(email=email, 
             password=password, 
             name=name, 
             user_type=User.STUDENT)
    db.session.add(user)
    db.session.commit()
    if 'teacher' in request.args:
        teaching = Teaching(student= user,
                            teacher_id= request.args['teacher'],
                            time= time.time())
        db.session.add(teaching)
        db.session.commit()
    return json_success(id = user.id)
Пример #14
0
def _logging(module):
    log_file = 'inspire/modules/%s/log.txt' % (module,)
    if os.path.exists(log_file):
        f = open(log_file, 'a')
        artifact = json.loads(request.data)
        entry = "%(message)s\n\t%(time)s\n" % {"time" : time.ctime(float(artifact['metadata']['time'])),
                   "message": artifact['message']}
        if artifact['metadata']['email']:
            entry+= ("\tUser: %(email)s (%(id)d)\n" % 
                    {"email" : artifact['metadata']['email'],
                     "id" : artifact['metadata']['id']})
        if artifact['metadata']['teacher']:
            entry+= ("\tTeacher: %(teacher)s\n" % 
                     {"teacher" : artifact['metadata']['teacher']})
        f.write(entry)
        f.close()
        return json_success()
    else:
        return json_error(error="FailedToSaveLog")
Пример #15
0
def _student_register():
    email = request.args['email']
    password = request.args['password']
    name = request.args['name']
    if User.query.filter(User.email == email).count() > 0:
        return json_error(error="UsernameExists")
    user = User(email=email,
                password=password,
                name=name,
                user_type=User.STUDENT)
    db.session.add(user)
    db.session.commit()
    if 'teacher' in request.args:
        teaching = Teaching(student=user,
                            teacher_id=request.args['teacher'],
                            time=time.time())
        db.session.add(teaching)
        db.session.commit()
    return json_success(id=user.id)
Пример #16
0
def _logging(module):
    log_file = 'inspire/modules/%s/log.txt' % (module, )
    if os.path.exists(log_file):
        f = open(log_file, 'a')
        artifact = json.loads(request.data)
        entry = "%(message)s\n\t%(time)s\n" % {
            "time": time.ctime(float(artifact['metadata']['time'])),
            "message": artifact['message']
        }
        if artifact['metadata']['email']:
            entry += ("\tUser: %(email)s (%(id)d)\n" % {
                "email": artifact['metadata']['email'],
                "id": artifact['metadata']['id']
            })
        if artifact['metadata']['teacher']:
            entry += ("\tTeacher: %(teacher)s\n" % {
                "teacher": artifact['metadata']['teacher']
            })
        f.write(entry)
        f.close()
        return json_success()
    else:
        return json_error(error="FailedToSaveLog")