Esempio n. 1
0
def _student_student_list():
    teacher_id = request.args['teacher']
    if not teacher_id:
        students = User.query.filter(User.user_type == User.STUDENT).all()
        students = [{'name': student.name, 
                     'id'  : student.id, 
                     'username': student.email} for student in students]
        return json_success(students= students)
    else:
        students = User.query.filter(User.user_type == User.STUDENT).all()
        students = [{'name': student.name, 
                     'id'  : student.id, 
                     'username': student.email} for student in students]
        return json_success(students= students)
Esempio n. 2
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")
Esempio n. 3
0
def _student_teacher_list():
    teachers = User.query.filter(User.user_type == User.TEACHER).all()
    teachers = [{'id': teacher.id, 
                 'name': teacher.name,
                 'username': teacher.email}
                for teacher in teachers]
    return json_success(teachers= teachers)
Esempio n. 4
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")
Esempio n. 5
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")
Esempio n. 6
0
def _student_teacher_list():
    teachers = User.query.filter(User.user_type == User.TEACHER).all()
    teachers = [{
        'id': teacher.id,
        'name': teacher.name,
        'username': teacher.email
    } for teacher in teachers]
    return json_success(teachers=teachers)
Esempio n. 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")
Esempio n. 8
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)
Esempio n. 9
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)
Esempio n. 10
0
def _student_student_list():
    teacher_id = request.args['teacher']
    if not teacher_id:
        students = User.query.filter(User.user_type == User.STUDENT).all()
        students = [{
            'name': student.name,
            'id': student.id,
            'username': student.email
        } for student in students]
        return json_success(students=students)
    else:
        students = User.query.filter(User.user_type == User.STUDENT).all()
        students = [{
            'name': student.name,
            'id': student.id,
            'username': student.email
        } for student in students]
        return json_success(students=students)
Esempio n. 11
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)
Esempio n. 12
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")
Esempio n. 13
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)
Esempio n. 14
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")
Esempio n. 15
0
def put(key, value):
    dictionary_query = TemplateDictionary.query.filter(TemplateDictionary.key == key, 
                                               TemplateDictionary.user == g.user)
    if dictionary_query.count() > 0:
        d = dictionary_query.first()
        d.value = value
        d.time_modified = datetime.datetime.now()
    else:
        db.session.add(TemplateDictionary(user = g.user, 
                                  teacher_id= g.metadata['teacher'],
                                  time_created = datetime.datetime.now(),
                                  time_modified = datetime.datetime.now(),
                                  key = key,
                                  value = value))
    db.session.commit()
    return json_success()
Esempio n. 16
0
def put(key, value):
    dictionary_query = !!@@!!Dictionary.query.filter(!!@@!!Dictionary.key == key, 
                                               !!@@!!Dictionary.user == g.user)
    if dictionary_query.count() > 0:
        d = dictionary_query.first()
        d.value = value
        d.time_modified = datetime.datetime.now()
    else:
        db.session.add(!!@@!!Dictionary(user = g.user, 
                                  teacher_id= g.metadata['teacher'],
                                  time_created = datetime.datetime.now(),
                                  time_modified = datetime.datetime.now(),
                                  key = key,
                                  value = value))
    db.session.commit()
    return json_success()
Esempio n. 17
0
def update(dict):
    for key, value in dict.items():
        dictionary_query = TemplateDictionary.query.filter(
            TemplateDictionary.key == key, TemplateDictionary.user == g.user)
        if dictionary_query.count() > 0:
            d = dictionary_query.first()
            d.value = value
            d.time_modified = datetime.datetime.now()
        else:
            db.session.add(
                TemplateDictionary(user=g.user,
                                   teacher_id=g.metadata['teacher'],
                                   time_created=datetime.datetime.now(),
                                   time_modified=datetime.datetime.now(),
                                   key=key,
                                   value=value))
    db.session.commit()
    return json_success()
Esempio n. 18
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)
Esempio n. 19
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")
Esempio n. 20
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)
Esempio n. 21
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")
Esempio n. 22
0
def items():
    items = !!@@!!Dictionary.query.filter(!!@@!!Dictionary.user == g.user).all()
    return json_success(dict([(item.key, item.value) for item in items]))
Esempio n. 23
0
def has(key):
    dictionary_query = TemplateDictionary.query.filter(
        TemplateDictionary.key == key, TemplateDictionary.user == g.user)
    return json_success((dictionary_query.count() > 0))
Esempio n. 24
0
def conspyre_get_type():
    return json_success(type=g.user.user_type)
Esempio n. 25
0
def _student_password_resetable():
    email = request.args['student']
    student = User.query.filter(User.email == email).first()
    reqs = Reset_Requests.query.filter(Reset_Requests.student_id==student.id).all()
    return json_success(status=not any(r.approved for r in reqs))
Esempio n. 26
0
def conspyre_get_type():
    return json_success(type=g.user.user_type)
    
Esempio n. 27
0
def items():
    items = TemplateDictionary.query.filter(TemplateDictionary.user == g.user).all()
    return json_success(dict([(item.key, item.value) for item in items]))
Esempio n. 28
0
def _student_password_resetable():
    email = request.args['student']
    student = User.query.filter(User.email == email).first()
    reqs = Reset_Requests.query.filter(
        Reset_Requests.student_id == student.id).all()
    return json_success(status=not any(r.approved for r in reqs))
Esempio n. 29
0
def has(key):
    dictionary_query = !!@@!!Dictionary.query.filter(!!@@!!Dictionary.key == key, 
                                               !!@@!!Dictionary.user == g.user)
    return json_success((dictionary_query.count() > 0))
Esempio n. 30
0
def has(key):
    dictionary_query = TemplateDictionary.query.filter(TemplateDictionary.key == key, 
                                               TemplateDictionary.user == g.user)
    return json_success((dictionary_query.count() > 0))