Пример #1
0
def thu111(request):
    t1= time.time()
    t2= time.time()
    if request.method=='POST':
        print "chao"
        s=request.FILES.get('file')
        print s.name
        print s.size 
                       
        filename = save_file(request.FILES.get('file'), request.session)
        filepath = os.path.join(settings.TEMP_FILE_LOCATION, filename)
       
        book = xlrd.open_workbook(filepath)
        sheet = book.sheet_by_index(0)
        
        print to_en1(sheet.cell(13,1).value)
        print book
        print sheet
        print "ffffffffffffff"
        
        
    print (t2-t1)
    t = loader.get_template(os.path.join('school','ll.html'))
    
    c = RequestContext(request, {
                                }
                       )
    
    #print (t2-t1)

    return HttpResponse(t.render(c))
Пример #2
0
def importMark(request,term_id,subject_id):
    user = request.user
    if not user.is_authenticated():
        return HttpResponseRedirect( reverse('login'))
    
    selectedSubject = Subject.objects.get(id=subject_id)
    try:        
        if in_school(request,selectedSubject.class_id.year_id.school_id) == False:
            return HttpResponseRedirect('/school')
    
    except Exception as e:
        return HttpResponseRedirect(reverse('index'))
    
    position= get_position(request)
    if position==4:
        pass
    elif position ==3:
        if (selectedSubject.teacher_id.id != request.user.teacher.id):  
            return HttpResponseRedirect('/school')
    else:    
            return HttpResponseRedirect('/school')
    
    t1= time.time()
    timeToEdit = int(selectedSubject.class_id.year_id.school_id.get_setting('lock_time'))*60
    timeNow =datetime.datetime.now()
    selectedTerm=Term.objects.get(id=term_id)   
    absentMessage=''
    editMarkMessage=''
    numberOk =0
    if request.method=='POST':
                
        filename = save_file(request.FILES.get('file'), request.session)
        filepath = os.path.join(settings.TEMP_FILE_LOCATION, filename)
        book = xlrd.open_workbook(filepath)                
        s = book.sheet_by_index(0)        
        validateMessage = validate(s,selectedSubject.nx)
        isNx=selectedSubject.nx        
        if validateMessage=='': 
            markList  = Mark.objects.filter(subject_id=subject_id,term_id=term_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday')
            pupilList = Pupil.objects.filter(classes=selectedSubject.class_id,attend__is_member=True).order_by('index','first_name','last_name','birthday')
            markTimeList =MarkTime.objects.filter(mark_id__term_id=term_id,mark_id__subject_id=subject_id,mark_id__current=True).order_by('mark_id__student_id__index','mark_id__student_id__first_name','mark_id__student_id__last_name','mark_id__student_id__birthday')
            if (isNx & (selectedTerm.number==2)):
                tkMonList=TKMon.objects.filter(subject_id=subject_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday')
            x=11
            y=0
            list = zip(pupilList,markList,markTimeList)
            for p,m,mt in list:
                pass
            
            for i in range(x,s.nrows):
                
                lastName  = s.cell(i,y+1).value
                firstName = s.cell(i,y+2).value
                birthday  = s.cell(i,y+3).value
                
                #p=pupilList.filter()
                ok=False
                for p,m,mt in list:
                    if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday):
                        ok=True                        
                        editMarkMessage,m.mieng_1,mt.mieng_1=process(s,i,y+4,m.mieng_1,mt.mieng_1,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_2,mt.mieng_2=process(s,i,y+5,m.mieng_2,mt.mieng_2,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_3,mt.mieng_3=process(s,i,y+6,m.mieng_3,mt.mieng_3,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_4,mt.mieng_4=process(s,i,y+7,m.mieng_4,mt.mieng_4,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_5,mt.mieng_5=process(s,i,y+8,m.mieng_5,mt.mieng_5,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                           
                        editMarkMessage,m.mlam_1,mt.mlam_1=process(s,i,y+9,m.mlam_1,mt.mlam_1,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_2,mt.mlam_2=process(s,i,y+10,m.mlam_2,mt.mlam_2,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_3,mt.mlam_3=process(s,i,y+11,m.mlam_3,mt.mlam_3,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_4,mt.mlam_4=process(s,i,y+12,m.mlam_4,mt.mlam_4,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_5,mt.mlam_5=process(s,i,y+13,m.mlam_5,mt.mlam_5,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        
                        editMarkMessage,m.mot_tiet_1,mt.mot_tiet_1=process(s,i,y+14,m.mot_tiet_1,mt.mot_tiet_1,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_2,mt.mot_tiet_2=process(s,i,y+15,m.mot_tiet_2,mt.mot_tiet_2,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_3,mt.mot_tiet_3=process(s,i,y+16,m.mot_tiet_3,mt.mot_tiet_3,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_4,mt.mot_tiet_4=process(s,i,y+17,m.mot_tiet_4,mt.mot_tiet_4,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_5,mt.mot_tiet_5=process(s,i,y+18,m.mot_tiet_5,mt.mot_tiet_5,timeNow,timeToEdit,position,isNx)                    
                        if editMarkMessage !='': break
                        editMarkMessage,m.ck,mt.ck=process(s,i,y+19,m.ck,mt.ck,timeNow,timeToEdit,position,isNx)
                        
                        if isNx:
                            if selectedTerm.number==1:
                                print "f1"
                                editMarkMessage,m.tb,mt.tb=process(s,i,y+20,m.tb,mt.tb,timeNow,timeToEdit,position,isNx)
                            else:    
                                print "f2"
                                editMarkMessage,m.tb,mt.tb=process(s,i,y+21,m.tb,mt.tb,timeNow,timeToEdit,position,isNx)
                                for p,tkMon in zip(pupilList,tkMonList):
                                    if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday):
                                        editMarkMessage,tkMon.tb_nam,tkMon.time=process(s,i,y+22,tkMon.tb_nam,tkMon.time,timeNow,timeToEdit,position,isNx)
                                        tkMon.save()
                                        break
                                    
                                    
                        break        
                if (editMarkMessage!=''): break    
                if not ok:
                    absentMessage+='<tr>'+u'<td>' +lastName+' '+firstName+u'</td>'+u'<td>'+unicode(birthday)+u'</td>'+'</tr>'
                else:
                    numberOk+=1    
            
            if (editMarkMessage==''):
                for m,mt in zip(markList,markTimeList):
                    m.save()
                    mt.save()
    message='Lỗi'                 
    if (validateMessage=='') & (editMarkMessage==''):
        if numberOk==len(markList):
            message="Đã nhập thành công cả lớp"
        else:
            message="Đã nhập được "+str(numberOk)+"/"+str(len(markList))+" học sinh."
                                                       
    t2= time.time()
    print (t2-t1)
    data=[{"absentMessage":absentMessage,
           'validateMessage':validateMessage,
           'editMarkMessage':editMarkMessage,
           'message':message,
           }]
    #print (t2-t1)

    return HttpResponse( simplejson.dumps( data ))
Пример #3
0
def importMark(request,term_id,subject_id):
    user = request.user
    if not user.is_authenticated():
        return HttpResponseRedirect( reverse('login'))
    
    selectedSubject = Subject.objects.get(id=subject_id)
    try:        
        if in_school(request,selectedSubject.class_id.year_id.school_id) == False:
            return HttpResponseRedirect('/school')
    
    except Exception as e:
        return HttpResponseRedirect(reverse('index'))
    
    position= get_position(request)
    if position==4:
        pass
    elif position ==3:
        if (selectedSubject.teacher_id.id != request.user.teacher.id):  
            return HttpResponseRedirect('/school')
    else:    
            return HttpResponseRedirect('/school')
    
    t1= time.time()
    timeToEdit = int(selectedSubject.class_id.year_id.school_id.get_setting('lock_time'))*60
    timeNow =datetime.datetime.now()
    selectedTerm=Term.objects.get(id=term_id)   
    absentMessage=''
    editMarkMessage=''
    numberOk =0
    if request.method=='POST':
                
        filename = save_file(request.FILES.get('file'), request.session)
        filepath = os.path.join(TEMP_FILE_LOCATION, filename)       
        book = xlrd.open_workbook(filepath)                
        s = book.sheet_by_index(0)        
        validateMessage = validate(s,selectedSubject.nx)
        isNx=selectedSubject.nx        
        if validateMessage=='': 
            markList  = Mark.objects.filter(subject_id=subject_id,term_id=term_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday')
            pupilList = Pupil.objects.filter(classes=selectedSubject.class_id,attend__is_member=True).order_by('index','first_name','last_name','birthday')
            markTimeList =MarkTime.objects.filter(mark_id__term_id=term_id,mark_id__subject_id=subject_id,mark_id__current=True).order_by('mark_id__student_id__index','mark_id__student_id__first_name','mark_id__student_id__last_name','mark_id__student_id__birthday')
            if (isNx & (selectedTerm.number==2)):
                tkMonList=TKMon.objects.filter(subject_id=subject_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday')
            x=11
            y=0
            list = zip(pupilList,markList,markTimeList)
            for p,m,mt in list:
                pass
            
            for i in range(x,s.nrows):
                
                lastName  = s.cell(i,y+1).value
                firstName = s.cell(i,y+2).value
                birthday  = s.cell(i,y+3).value
                
                #p=pupilList.filter()
                ok=False
                for p,m,mt in list:
                    if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday):
                        ok=True                        
                        editMarkMessage,m.mieng_1,mt.mieng_1=process(s,i,y+4,m.mieng_1,mt.mieng_1,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_2,mt.mieng_2=process(s,i,y+5,m.mieng_2,mt.mieng_2,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_3,mt.mieng_3=process(s,i,y+6,m.mieng_3,mt.mieng_3,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_4,mt.mieng_4=process(s,i,y+7,m.mieng_4,mt.mieng_4,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mieng_5,mt.mieng_5=process(s,i,y+8,m.mieng_5,mt.mieng_5,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                           
                        editMarkMessage,m.mlam_1,mt.mlam_1=process(s,i,y+9,m.mlam_1,mt.mlam_1,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_2,mt.mlam_2=process(s,i,y+10,m.mlam_2,mt.mlam_2,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_3,mt.mlam_3=process(s,i,y+11,m.mlam_3,mt.mlam_3,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_4,mt.mlam_4=process(s,i,y+12,m.mlam_4,mt.mlam_4,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mlam_5,mt.mlam_5=process(s,i,y+13,m.mlam_5,mt.mlam_5,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        
                        editMarkMessage,m.mot_tiet_1,mt.mot_tiet_1=process(s,i,y+14,m.mot_tiet_1,mt.mot_tiet_1,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_2,mt.mot_tiet_2=process(s,i,y+15,m.mot_tiet_2,mt.mot_tiet_2,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_3,mt.mot_tiet_3=process(s,i,y+16,m.mot_tiet_3,mt.mot_tiet_3,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_4,mt.mot_tiet_4=process(s,i,y+17,m.mot_tiet_4,mt.mot_tiet_4,timeNow,timeToEdit,position,isNx)        
                        if editMarkMessage !='': break
                        editMarkMessage,m.mot_tiet_5,mt.mot_tiet_5=process(s,i,y+18,m.mot_tiet_5,mt.mot_tiet_5,timeNow,timeToEdit,position,isNx)                    
                        if editMarkMessage !='': break
                        editMarkMessage,m.ck,mt.ck=process(s,i,y+19,m.ck,mt.ck,timeNow,timeToEdit,position,isNx)
                        
                        if isNx:
                            if selectedTerm.number==1:
                                print "f1"
                                editMarkMessage,m.tb,mt.tb=process(s,i,y+20,m.tb,mt.tb,timeNow,timeToEdit,position,isNx)
                            else:    
                                print "f2"
                                editMarkMessage,m.tb,mt.tb=process(s,i,y+21,m.tb,mt.tb,timeNow,timeToEdit,position,isNx)
                                for p,tkMon in zip(pupilList,tkMonList):
                                    if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday):
                                        editMarkMessage,tkMon.tb_nam,tkMon.time=process(s,i,y+22,tkMon.tb_nam,tkMon.time,timeNow,timeToEdit,position,isNx)
                                        tkMon.save()
                                        break
                                    
                                    
                        break        
                if (editMarkMessage!=''): break    
                if not ok:
                    absentMessage+='<tr>'+u'<td>' +lastName+' '+firstName+u'</td>'+u'<td>'+unicode(birthday)+u'</td>'+'</tr>'
                else:
                    numberOk+=1    
            
            if (editMarkMessage==''):
                for m,mt in zip(markList,markTimeList):
                    m.save()
                    mt.save()
    message='Lỗi'                 
    if (validateMessage=='') & (editMarkMessage==''):
        if numberOk==len(markList):
            message="Đã nhập thành công cả lớp"
        else:
            message="Đã nhập được "+str(numberOk)+"/"+str(len(markList))+" học sinh."
                                                       
    t2= time.time()
    print (t2-t1)
    data=[{"absentMessage":absentMessage,
           'validateMessage':validateMessage,
           'editMarkMessage':editMarkMessage,
           'message':message,
           }]
    #print (t2-t1)

    return HttpResponse( simplejson.dumps( data ))