Ejemplo n.º 1
0
def create(request,template_name="oa/schedule/add_form.html"):
    """添加周课表"""
    user = request.user
    schools = helpers.get_schools(user)
    is_admin = helpers.is_school_admin(request.user)
    if is_admin:
        school_id = schools[0].id
        groups = Group.objects.filter(school_id=school_id).exclude(type=3)
    else:
        group_pks = [g.group_id for g in GroupTeacher.objects.filter(teacher=user.teacher)]
        groups = Group.objects.filter(pk__in=group_pks)
    group_count = groups.count()
    group_id = int(request.GET.get("class_id",-1))
    ctx = {'schools':schools,'groups':groups,'group_count':group_count}

    if request.method == 'POST':
        form = ScheduleForm(request.POST,request.FILES)
        group_id = request.POST.get("group","")
        if form.is_valid():
            schedule = form.save(commit=False)
            schedule.save()
            group = schedule.group
            messages.success(request, u'课表 %s 上传成功' % schedule.name)
            return redirect(request.get_full_path() + '?class_id=' + str(group.id))
    else:
        form = ScheduleForm()
    
    ctx.update({'form':form,"group_id":group_id})
    return render(request, template_name, ctx)
Ejemplo n.º 2
0
def teacher_index(request, template_name="oa/schedule/teacher_index.html"):
    """周课表列表页"""
    user = request.user
    schools = helpers.get_schools(user)
    school_id = int(request.GET.get("sid",-1))
    group_id = int(request.GET.get("gid",-1))
    try:
        school = get_object_or_404(School, pk=school_id)
    except:
        school = None
        
    is_admin = helpers.is_school_admin(request.user)
    if is_admin:
        groups = Group.objects.filter(school_id=school_id).exclude(type=3)
    else:
        group_pks = [g.group_id for g in GroupTeacher.objects.filter(teacher=user.teacher)]
        groups = Group.objects.filter(pk__in=group_pks)

    group_count = groups.count()
    schedules = Schedule.objects.all()
    try:
        group = Group.objects.get(pk=group_id)
    except:
        group = None
        
    schedules = Schedule.objects.filter(user=user)
    if school:
        schedules = schedules.filter(group__school=school)
    if group:
        schedules = schedules.filter(group=group)
    ctx = {"schedules":schedules,"group":group,"groups":groups,\
           "schools":schools,"school":school,'group_count':group_count}
    return render(request, template_name, ctx)