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)
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)
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)
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)
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")
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")
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")
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")
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")
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")
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)
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")
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)
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")