Esempio n. 1
0
def index(request):
    data = {
        'current_semester': Semester.current_semester(),
        'registration_open': Semester.semesters_open_for_registration(),
    }
    data.update(request.user.profile.unread_messages())
    return render(request, 'professor/home_professor.html', data)
Esempio n. 2
0
def semesters(request):
    logged_in = request.user.is_authenticated
    if logged_in:
        user_role = request.user.profile.role
    is_admin = logged_in and user_role == Profile.ACCESS_ADMIN

    data = {'can_add': is_admin}

    qs = Semester.objects.all()
    if request.method == 'POST':
        if request.POST.get('active') is not None:
            qs = Semester.active_semesters()
        elif request.POST.get('upcoming') is not None:
            qs = Semester.objects.filter(
                date_started__gte=datetime.now().date())

    data.update(
        filtered_table2(
            name='semesters',
            qs=qs,
            filter=SemesterFilter,
            table=SemestersTable,
            request=request,
            scrollable=True,
            self_url=reverse('schooladmin:semesters'),
            click_url=reverse('schooladmin:semester', args=[DUMMY_ID]),
        ))
    if not logged_in:
        data['user'] = {'home_template': "schooladmin/home_guest.html"}
    return render(request, 'schooladmin/semesters.html', data)
Esempio n. 3
0
def secitems(request):
    the_user = request.user

    the_semester = Semester.current_semester()
    if request.method == 'POST':
        the_id = request.POST.get('semester', the_semester.id)
        the_semester = Semester.objects.get(id=the_id)

    data = {
        'auser': the_user,
        'semester': the_semester,
        'semesters': the_user.profile.student.semesters.all(),
    }

    data.update(
        filtered_table2(
            name='secitems',
            qs=the_user.profile.student.section_reference_items_for(
                the_semester),
            filter=SectionItemFilter,
            table=SectionReferenceItemsTable,
            request=request,
            self_url=reverse('student:secitems'),
            click_url=reverse('sis:secitem', args=[DUMMY_ID]),
        ))

    return render(request, 'student/items.html', data)
Esempio n. 4
0
def current_schedule_view(request):
    current_semester = Semester.current_semester()
    context = {
        'my_sections':
        request.user.profile.student.sectionstudent_set.filter(
            section__semester=current_semester),
        'name':
        request.user.profile.name,
        'semester':
        current_semester,
    }
    return render(request, 'student/current_schedule.html', context)
Esempio n. 5
0
def sections(request):
    the_prof = request.user.profile.professor
    sections_qs = Section.objects.filter(professor=the_prof)
    sections = {}
    # set up our sections qs dictionary by semester
    for sect in sections_qs:
        if sect.semester.finalized():
            continue
        if sect.semester.name not in sections.keys():
            sections[sect.semester.name] = [sect.semester.id]

    # fill in our sections dictionary with tables by semester
    for name, sem in sections.items():
        qs = sections_qs.filter(semester=sem[0])
        table = ProfSectionsTable(qs)
        RequestConfig(request, paginate={
            "per_page": 25,
            "page": 1
        }).configure(table)
        sections[name].append(table)

    data = {
        'semesters': sections.keys(),
    }
    if request.method == 'POST':
        sem = request.POST.get('semester')
        table = sections[sem][1]
        data['table'] = table
    else:
        sem = Semester.current_semester()
        if sem is not None:
            sem = sem.name
            values = sections.get(sem)
            if values is not None:
                table = values[1]
                data['table'] = table
    return render(request, 'professor/sections.html', data)
 def test_bad_name(self):
     self.assertRaises(Exception, Semester.name_for_session('xx'))
 def test_names(self):
     self.assertEqual(Semester.name_for_session(Semester.FALL), 'Fall')
     self.assertEqual(Semester.name_for_session(Semester.SPRING), 'Spring')
     self.assertEqual(Semester.name_for_session(Semester.SUMMER), 'Summer')
     self.assertEqual(Semester.name_for_session(Semester.WINTER), 'Winter')
Esempio n. 8
0
 def test_current_semester_is(self):
     s2 = createSemester(date_started=4, date_ended=7, session=Semester.WINTER)
     self.assertEqual(Semester.current_semester(at=datetime.now() + timedelta(days=4.5)), s2)