Example #1
0
def sendSMSForAPupil(s,user):
    #print s
    strings=s.split(':')
    
    idMark=int(strings[0])    
    setOfNumber =strings[1].split('*')
    setOfValue  =strings[2].split('*')    
    
    length = len(setOfNumber)
    
    m = Mark.objects.get(id=idMark)
    termNumber = m.term_id.number
    markStr1="" 
    markStr2="" 
    markStr3="" 
    markStr4=""
    markStr5=""
    markStr6=""
    markStr7=""
    tbNam   = None
    tbhk1   = None
    arrSent=['']*(3*MAX_COL+3)
    sents=m.sent.split('|')
    print "sent",m.sent
    for (i,s) in enumerate(sents):
        ss=s.split('*')
        for (j,a) in enumerate(ss):
            if i<3:
                arrSent[i*MAX_COL+j+1]=a
            else:
                arrSent[3*MAX_COL+i-2]=a
    for i in range(length-1):
        number= int(setOfNumber[i])
        value = setOfValue[i]
        if   number <= MAX_COL   : markStr1+=value+"  "
        elif number <= 2*MAX_COL : markStr2+=value+"  "
        elif number <= 3*MAX_COL : markStr3+=value+"  "
        elif number == 3*MAX_COL+1 : markStr4+=value+" "
        elif number == 3*MAX_COL+2 :
            markStr5+=value+" "
            tbhk1   =Mark.objects.get(subject_id=m.subject_id,student_id=m.student_id,term_id__number=1)
            tempSent = tbhk1.sent
            tempSent=tempSent.split('|')
            tempSent[4]="1"
            tbhk1.sent = '|'.join(tempSent)
            continue
        elif number == 3*MAX_COL+3 : markStr6+=value+" "
        elif number == 3*MAX_COL+4 :
            markStr7+=value+" "
            tbNam = TKMon.objects.get(subject_id=m.subject_id,student_id=m.student_id)
            tbNam.sent=True
            continue
        if number==3*MAX_COL+3:
            number = 3*MAX_COL+2
        arrSent[number]='1'
        
        print to_en1(markStr1)
    smsString=u'Diem mon '+to_en1(m.subject_id.name)+ u' cua hs '
    smsString+=to_en1(m.student_id.last_name)+" "+to_en1(m.student_id.first_name)+" nhu sau: "    
    termNumber = m.term_id.number
    print smsString

    if markStr1 !="":  smsString+="\nmieng:" + markStr1
    if markStr2 !="":  smsString+="\ndiem 15 phut:" + markStr2
    if markStr3 !="":  smsString+="\ndiem 45 phut:" + markStr3
    if markStr4 !="":  smsString+="\nthi cuoi ky:" + markStr4
    
    if markStr5 !="":
        smsString+="\nTBHK I:" + markStr5

    if markStr6 !="" :  smsString+="\nTBHK II:" + markStr6
    if markStr7 !="" :  smsString+="\nTB ca nam:" + markStr7

    print markStr1
    print markStr2
    print markStr3
    print markStr4
    print markStr5
    print markStr6
    print markStr7
    
    sent=''
    for i in range(3):
        tempSent=''
        pre=1
        for j in range(1,MAX_COL+1):
            if arrSent[i*MAX_COL+j]!='':
                tempSent+=(j-pre)*'*'+arrSent[i*MAX_COL+j]
                pre=j
        sent+=tempSent+'|'
    sent+=arrSent[3*MAX_COL+1]+'|'+arrSent[3*MAX_COL+2]
    m.sent=sent

    print smsString
    print m.sent
    if m.student_id.sms_phone:
        try:
            """
            m.save()
            if tbNam!=None:
                tbNam.save()
            if tbhk1 != None:
                tbhk1.save()
            """
            sent1=sendSMS(m.student_id.sms_phone,smsString,user)
            if sent1=='1':
                m.save()
                if tbNam != None:
                    tbNam.save()
                if tbhk1 != None:
                    tbhk1.save()

            return  str(idMark)
        except Exception as e:
            pass
            #print e
    return ''
Example #2
0
def sendSMSForAPupil(s,user):
    #print s
    strings=s.split(':')
    
    idMark=int(strings[0])    
    setOfNumber =strings[1].split('*')
    setOfValue  =strings[2].split('*')    
    
    length = len(setOfNumber)
    
    m = Mark.objects.get(id=idMark)
    termNumber = m.term_id.number
    markStr1="" 
    markStr2="" 
    markStr3="" 
    markStr4=""
    markStr5=""
    markStr6=""
    markStr7=""
    print m.sent_mark
    for i in range(length-1):                 
        number= int(setOfNumber[i])
        value = setOfValue[i]
        m.sent_mark=m.sent_mark[:number-1]+'1'+m.sent_mark[number:]
                
        if  (termNumber==2) & (number==17) : number=18
        elif (termNumber==2) & (number==18): number=17  
        if   number <6  : markStr1+=value+"  "
        elif number <11 : markStr2+=value+"  " 
        elif number <16 : markStr3+=value+"  " 
        elif number ==16: markStr4+=value+" " 
        elif number ==17: markStr5+=value+" " 
        elif number ==18: markStr6+=value+" " 
        elif number ==19: markStr7+=value+" "
        
    smsString=u'Diem mon '+to_en1(m.subject_id.name)+ u' cua hs '
    smsString+=to_en1(m.student_id.last_name)+" "+to_en1(m.student_id.first_name)+" nhu sau: "    
    termNumber = m.term_id.number
     
    if markStr1 !="":  smsString+="\nmieng:" + markStr1
    if markStr2 !="":  smsString+="\ndiem 15 phut:" + markStr2
    if markStr3 !="":  smsString+="\ndiem 45 phut:" + markStr3
    if markStr4 !="":  smsString+="\nthi cuoi ky:" + markStr4
    
    if markStr5 !="":
        if termNumber==2:
            smsString+="\nTBHK II:" + markStr5
        else:         
            smsString+="\nTBHK I:" + markStr5

    if markStr6 !="":  smsString+="\nTBHK I:" + markStr6
    if markStr7 !="":  smsString+="\nTB ca nam:" + markStr7
    
    print m.student_id.sms_phone
    if m.student_id.sms_phone:
        try:
            sent=sendSMS(m.student_id.sms_phone,smsString,user)
            if sent=='1':
                m.save()
                return  str(idMark)            
        except Exception as e:
            pass
            #print e     
    print smsString    
    print len(smsString)
    print user
    return ''