def search_courses(request, keyword): user = request.user if request.user.is_authenticated: uname = user.uname course = course_manager.search_courses(keyword, uname) return success_json_response({'courses': course}) return error_json_response("User not logged in")
def add_enroll_request_by_uname_and_code(request, code): user = request.user if request.user.is_authenticated: uname = user.uname student_manager.add_enroll_request_by_uname_and_code(uname, code) return success_json_response({}) return error_json_response("User not logged in")
def calculate_final_grade(request, code, a, b, c, d, e, f): if float(a) + float(b) + float(c) + float(d) + float(e) + float(f) != 100: return error_json_response({'error': 'Sum not equal to 1'}) else: amount = student_manager.retrieve_complete_amount(code) amount = amount[0]['count(*)'] print(amount) a = math.ceil(amount * float(a) / 100.0) b = math.ceil(amount * float(b) / 100.0) c = math.ceil(amount * float(c) / 100.0) d = math.ceil(amount * float(d) / 100.0) e = math.ceil(amount * float(e) / 100.0) f = math.ceil(amount * float(f) / 100.0) enrolls = student_manager.calculate_final_grade( code, a, a + b, a + b + c, a + b + c + d, a + b + c + d + e, a + b + c + d + e + f) for enroll in enrolls: student_manager.update_final_grade(enroll['uname'], enroll['code'], enroll['final_result']) students = student_manager.get_students_by_coursecode_and_status( code, 'completed') return success_json_response({'students': students})
def add_reply(request): user = request.user if request.user.is_authenticated: uname = user.uname data = json.loads(request.body) post = post_manager.add_reply(data['code'], data['fid'], data['pid'], data['title'], data['content'], uname) return success_json_response({'reply': post}) return error_json_response("User not logged in")
def get_tutorials_by_tA_and_course(request, code): user = request.user if request.user.is_authenticated: uname = user.uname tutorials = tutorial_manager.get_tutorials_by_tA_and_course( uname, code) return success_json_response({'tutorials': tutorials}) return error_json_response("User not logged in")
def get_courses(request): user = request.user if request.user.is_authenticated: uname = user.uname puname = prof_manager.get_prof_by_username(uname) if len(puname) > 0: return get_courses_by_puname(request, uname) return success_json_response({'courses': course_manager.get_course_by_suname(uname)}) return error_json_response("User not logged in")
def add_student_to_tut_by_uname_coursecode_groupnum(request, uname, code, group_num): student = student_manager.add_student_to_tut_by_uname_coursecode_groupnum( uname, code, group_num) return success_json_response({'student': student})
def get_students_by_coursecode_and_groupnum(request, code, group_num): students = student_manager.get_students_by_coursecode_and_groupnum( code, group_num) return success_json_response({'students': students})
def mark_enroll_complete_by_uname_and_code(requst, code, uname): student_manager.mark_enroll_complete_by_uname_and_code(code, uname) return success_json_response({})
def update_testgrade_by_uname_and_code(request, uname, code, grade): student = student_manager.update_testgrade_by_uname_and_code( uname, code, grade) return success_json_response({'student': student})
def login_root(request): user = auth.authenticate(username="******", password="******") if user is not None: auth.login(request, user) return success_json_response({'user': {'username': user.uname}})
def reject_requests(request, uname, code): student = student_manager.reject_requests(uname, code) return success_json_response({'student': student})
def get_students_by_coursecode(request, code): students = student_manager.get_students_by_coursecode(code) return success_json_response({'students': students})
def get_tutorials_by_course_and_group(request, code, num): tutorials = tutorial_manager.get_tutorials_by_course_and_group(code, num) return success_json_response({'tutorials': tutorials})
def add_stu_to_attendance_by_uname_code_group_num(request, uname, code, group_num, attend_week): attendance = tutorial_manager.add_stu_to_attendance_by_uname_code_group_num( uname, code, group_num, attend_week) return success_json_response({'attendance': attendance})
def get_profs_by_coursecode(request, code): profs = prof_manager.get_profs_by_coursecode(code) return success_json_response({'profs': profs})
def get_TAs_by_coursecode(request, code): TAs = TA_manager.get_TAs_by_coursecode(code) return success_json_response({'TAs': TAs})
def get_prof_by_username(request, username): profs = prof_manager.get_prof_by_username(username) return success_json_response({'profs': profs})
def logout(request): auth.logout(request) return success_json_response({'message': 'Successfully log out'})
def login(request): if request.user.is_authenticated: user = request.user # is_admin = user.is_staff or user.is_superuser prof = prof_manager.get_prof_by_username(user.uname) is_prof = len(prof) > 0 ta = TA_manager.get_TA_by_username(user.uname) is_ta = len(ta) > 0 is_admin = True return success_json_response({ 'user': { 'username': request.user.uname, 'name': request.user.name, 'isAdmin': is_admin, 'isProf': is_prof, 'isTA': is_ta } }) if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] private_key = rsa.PrivateKey.load_pkcs1( ('-----BEGIN RSA PRIVATE KEY-----\n \ MIICXAIBAAKBgQClKNC9Gyk0K2d3x1XnJhsNQOm4pqem0UmElIH6rvUSHmbx9R1S\n \ HZSLqE7biTcYhkU8gYe0+fIBeExt/qW4L6IbEB3XG/Xv0rarK18vCNulkD43eDae\n \ JZPOIdy3nItXiBIpNQxEu8MiOtqTIPeGIcueIOP0C3+HeIZFiKPSZMoteQIDAQAB\n \ AoGBAIQQyCF/N4p87qar4bgNE3Kcpoe906+kCOqYKft/rX4Ii38M5p5EAwVN14jb\n \ BxB4RaLlXNPNTcP5IvyNtIw8op1CZJZxdneTKjquH+cBYdZE5v/UpQfa1PP3o22b\n \ 0/jGtHyCGJzzZ/+DlCtgTBLJsK7e5mJPw8X9hvqR+kIPDoXRAkEA01CL26Ufr0PC\n \ /gGMpOvI6iK8DDwBdE8ISrW+XkgixSnPBZcYrhKnLi3zvOg5yEMEBCqt9Wi/qorW\n \ h4ZBqzVbVQJBAMgVq936/15lwJeSv6Z7Ssm7iVsLETr7xFt9m8CT3+FykrtNBZQx\n \ rOm/daLfyTjXNsv0EaePVF6xCfyuQ7698ZUCQBeqsb9L4xySDki8i6/86GewtDb6\n \ kX8hSuBzMnsEwUAryo/puE3msOqvItlJeQ9A0jZVQV52+OB05EoRc1FljHECQCDT\n \ bV79zuetyesUKF0n3R07p01Ig4spww0/jk4J9LEIGwqfmEq326Z9ws716A1rQZI0\n \ eLEE0tK2OO07qeGhSAECQEXbD/vOhPYzpME56uyev9hNBm61k4Uc4JDpq6yz81OB\n \ +NMBbLi1tT4RBVxJKPD38CFKR0umqzVRygAl8PuOECY=\n \ -----END RSA PRIVATE KEY-----').encode()) try: password = rsa.decrypt(base64.b64decode(password), private_key) except DecryptionError: return error_json_response('Wrong password. Please try again.') user = auth.authenticate(username=username, password=password) if user is not None: # and user.is_active: auth.login(request, user) # is_admin = user.is_staff or user.is_superuser prof = prof_manager.get_prof_by_username(user.uname) is_prof = len(prof) > 0 ta = TA_manager.get_TA_by_username(user.uname) is_ta = len(ta) > 0 is_admin = True return success_json_response({ 'user': { 'username': request.user.uname, 'name': request.user.name, 'isAdmin': is_admin, 'isProf': is_prof, 'isTA': is_ta } }) else: return error_json_response('Wrong password. Please try again.') else: return error_json_response('Invalid username') return error_json_response('User not logged in.')
def get_students_noattend_by_coursecode(request, code): students = student_manager.get_student_enrolledbutnotattend_by_coursecode( code) return success_json_response({'students': students})
def add_TA_to_tut_by_uname_code_group_num(request, uname, code, group_num): TA = TA_manager.add_TA_to_tut_by_uname_code_group_num( uname, code, group_num) return success_json_response({'TA': TA})
def approve_requests(request, uname, code): student = student_manager.approve_requests(uname, code) return success_json_response({'student': student})
def retrieve_attendance_by_uname_code_group_num(request, uname, code, group_num): attendances = tutorial_manager.retrieve_attendance_by_uname_code_group_num( uname, code, group_num) return success_json_response({'attendances': attendances})
def add_ta_by_uname_coursecode_group(request, uname, code): ta = student_manager.add_ta_by_uname_coursecode_group(uname, code) return success_json_response({'ta': ta})
def get_tutorials_by_student(request, username): tutorials = tutorial_manager.get_tutorials_by_student(username) return success_json_response({'tutorials': tutorials})
def get_students_by_coursecode_and_status(request, code, status): students = student_manager.get_students_by_coursecode_and_status( code, status) return success_json_response({'students': students})
def get_TAs_notincurtut_by_code_group_num(request, code, group_num): TAs = TA_manager.get_TAs_notincurtut_by_code_group_num(code, group_num) return success_json_response({'TAs': TAs})
def get_tutorials_by_coursecode(request, code): tutorial = tutorial_manager.get_tutorials_by_coursecode(code) return success_json_response({'tutorials': tutorial})
def get_TAs_by_coursecode_and_groupnum(request, code, group_num): TAs = TA_manager.get_TAs_by_coursecode_and_groupnum(code, group_num) return success_json_response({'TAs': TAs})