views.py 文件源码

python
阅读 33 收藏 0 点赞 0 评论 0

项目:WikiLinks 作者: JakobGM 项目源码 文件源码
def semester_view(request, study_program, main_profile=None, semester_number=None, save_location=True):
    """
    Generates the link portal for a given semester in a given program code
    """
    try:
        semester = Semester.get(study_program, main_profile, semester_number)
    except Semester.DoesNotExist:
        if not main_profile and not semester_number:
            # This URL might refer to a userpage instead
            return studentpage(request, study_program)
        raise Http404(
            _('%s. semester ved hovedprofilen "%s" knyttet til studieprogrammet "%s" eksisterer ikke')
            % ((semester_number or 'Et'), main_profile or 'felles', study_program)
        )

    if save_location:
        # Save the deliberate change of location by user in the session, as the semester has been found successfully
        request.session['semester_pk'] = semester.pk
        request.session['study_program_slug'] = semester.study_program.slug

        # Delete studentpage slug in order to prevent redirection to it
        request.session['homepage'] = ''

        if semester.main_profile:
            request.session['main_profile_slug'] = semester.main_profile.slug
        else:
            request.session['main_profile_slug'] = ''
        request.session['semester_number_slug'] = semester.number
        request.session['homepage'] = ''  # Delete saved homepage

    # Where to send users if the semester has electives
    electives_url = ''
    if semester.has_electives:
        if request.user.is_authenticated:
            electives_url = request.user.options.get_admin_url()
        else:
            electives_url = '/accounts/dataporten/login'

    return render(
        request,
        'semesterpage/courses.html',
        {
            'semester': semester,
            'courses': semester.courses.all(),
            'study_programs': StudyProgram.objects.filter(published=True),
            'calendar_name': get_calendar_name(request),
            'electives_url': electives_url,
            'user': request.user,
            'student_page': False,
        },
    )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号