def reminders(request): autocomplete_courses = {'tokens': []} insert_autocomplete_courses(autocomplete_courses) error = False if request.method == 'POST': reminder = Reminder(user=request.user) if 'course' in request.POST and request.POST['course'].isdigit(): course = get_object_or_404(Course, pk=request.POST['course']) elif 'course_name' in request.POST: course_name = request.POST.get('course_name', '').strip() course = Course(name=course_name, short_name='') else: course = None exam_date_str = request.POST.get('exam_date', '') try: exam_date_t = time.strptime(exam_date_str, '%Y-%m-%d') exam_date = date(exam_date_t.tm_year, exam_date_t.tm_mon, exam_date_t.tm_mday) if Reminder.objects.filter(exam_date=exam_date, course=course, user=request.user).exists(): error = True except ValueError: error = True if not error: reminder.exam_date = exam_date reminder.course = course reminder.save() reminders = Reminder.objects.select_related() \ .filter(user=request.user) \ .order_by('exam_date') return render( request, 'gprot/reminders.html', { 'reminders': reminders, 'autocomplete_course_json': json.dumps(autocomplete_courses), 'error': error })
def reminders(request): autocomplete_courses = {'tokens': []} insert_autocomplete_courses(autocomplete_courses) error = False if request.method == 'POST': reminder = Reminder(user=request.user) if 'course' in request.POST and request.POST['course'].isdigit(): course = get_object_or_404(Course, pk=request.POST['course']) elif 'course_name' in request.POST: course_name = request.POST.get('course_name', '').strip() course = Course(name=course_name, short_name='') else: course = None exam_date_str = request.POST.get('exam_date', '') try: exam_date_t = time.strptime(exam_date_str, '%Y-%m-%d') exam_date = date(exam_date_t.tm_year, exam_date_t.tm_mon, exam_date_t.tm_mday) if Reminder.objects.filter(exam_date=exam_date, course=course, user=request.user).exists(): error = True except ValueError: error = True if not error: reminder.exam_date = exam_date reminder.course = course reminder.save() reminders = Reminder.objects.select_related() \ .filter(user=request.user) \ .order_by('exam_date') return render(request, 'gprot/reminders.html', { 'reminders': reminders, 'autocomplete_course_json': json.dumps(autocomplete_courses), 'error': error })
def notifications(request): autocomplete_courses = {'tokens': []} insert_autocomplete_courses(autocomplete_courses) error = False if request.method == 'POST': notification = Notification(added_date=date.today(), user=request.user) if 'course' in request.POST: course_pk = request.POST['course'] try: course = Course.objects.get(pk=course_pk) notification.course = course except Course.DoesNotExist: error = True elif 'course_name' in request.POST: notification.course_query = request.POST['course_name'] else: error = True if Notification.objects.filter(course=notification.course, course_query=notification.course_query, user=notification.user).exists(): error = True if not error: notification.save() notifications = Notification.objects.select_related() \ .filter(user=request.user) \ .order_by('-added_date') return render(request, 'gprot/notifications.html', { 'notifications': notifications, 'autocomplete_course_json': json.dumps(autocomplete_courses), 'error': error })
def notifications(request): autocomplete_courses = {'tokens': []} insert_autocomplete_courses(autocomplete_courses) error = False if request.method == 'POST': notification = Notification(added_date=date.today(), user=request.user) if 'course' in request.POST: course_pk = request.POST['course'] try: course = Course.objects.get(pk=course_pk) notification.course = course except Course.DoesNotExist: error = True elif 'course_name' in request.POST: notification.course_query = request.POST['course_name'] else: error = True if Notification.objects.filter(course=notification.course, course_query=notification.course_query, user=notification.user).exists(): error = True if not error: notification.save() notifications = Notification.objects.select_related() \ .filter(user=request.user) \ .order_by('-added_date') return render( request, 'gprot/notifications.html', { 'notifications': notifications, 'autocomplete_course_json': json.dumps(autocomplete_courses), 'error': error })