def remove_notice(request): try: data = utils.retrieve_data(request) validate_lecturer(data['siape'], data['password']) notice = Notice.objects.get(pk=data['id']) validate_permission(notice.class_code, data['siape']) notice.delete() return JsonResponse({ 'success': True, }) except: return JsonResponse({ 'success': False, })
def post_notice(request): try: data = utils.retrieve_data(request) validate_lecturer(data['siape'], data['password']) validate_permission(data['class_code'], data['siape']) class_code = data['class_code'] description = data['description'] notice = Notice(class_code=class_code, description=description, datetime=utils.current_time()) notice.save() return JsonResponse({ 'success': True, }) except: return JsonResponse({ 'success': False, })
def signup(request): try: data = utils.retrieve_data(request) lecturer = lecturers[data['siape']] try: db_lecturer = Lecturer.objects.get(siape=data['siape']) except: db_lecturer = Lecturer(siape=data['siape']) db_lecturer.password = ''.join(random.choice(string.digits) for i in range(4)) send_email(lecturer['email'], 'Senha AvisosDcc', "Olá %s, sua senha é: %s" % (lecturer['name'], db_lecturer.password)) db_lecturer.save() return JsonResponse({ 'success': True, }) except: return JsonResponse({ 'success': False, })
def authenticate(request): try: data = utils.retrieve_data(request) lecturer = retrieve_lecturer(data['siape'], data['password']) if lecturer is None: raise Exception("invalid credentials") classes = [] for (course_code, course_data) in courses.items(): for (class_code, class_data) in course_data['classes'].items(): if class_data['lecturer'] == data['siape']: classes.append(course_code+'/'+class_code) return JsonResponse({ 'success': True, 'name': lecturer['name'], 'classes': classes, }) except: return JsonResponse({ 'success': False, })