Example #1
0
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
        })
Example #2
0
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
    })
Example #3
0
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
    })
Example #4
0
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
        })