示例#1
0
文件: loadCmb.py 项目: ckSchool/bucky
def genNoId(cmb, sql , first_item = '') : #sql should be designed to return two items 'id' and 'title'
    try:
        origional_str = fetch.cmbValue(cmb)
    except: origional_str = ''
    
    ##rint'origional_str', origional_str
    dataSet      = fetch.getList(sql)
    #rint dataSet
    cmb.Freeze()  # locks the combo so that other processes are not called
    cmb.Clear()
    try:
        if first_item: 
            cmb.Append(first_item, 0)
        x = 1    
        for item in dataSet:
            #rint row
            cmb.Append(str(item), x)
            x += 1
            #if x%10==0: rint x 
        #restored = restore_str(cmb, origional_str)
        
        cmb.Thaw()    
        if restored: return origional_str
        else:        return 0
    except:
        #rint 'load cmb error'
        return 0   
    cmb.Thaw()
示例#2
0
文件: loadCmb.py 项目: ckSchool/bucky
def excul_subjectsPool(cmb, excul_id, edited_activity_id=0):
    # collect activity_ids for exculset_id
    sql = " SELECT es.id \
              FROM excul_groups eg \
              JOIN excul_subjects es ON es.id = eg.excul_subject_id \
             WHERE eg.id = %d " % (excul_id, )
    
    activityIDs = fetch.getList(sql)

    if edited_activity_id:
	l = []
	for x in activityIDs:
	    #rint x
	    if not x == edited_activity_id: l.append(x)
	activityIDs = l
	
    activityIDs = [str(x) for x in activityIDs]
    #rint 'activityIDs',activityIDs
	
    listStr = "'%s'" % ','.join(activityIDs)
    
    sql = " SELECT id, name \
              FROM excul_subjects \
             WHERE NOT FIND_IN_SET(id, %s) \
	     ORDER BY name" % listStr
    #rint sql, fetch.getAllCol(sql)
    fillCmb(cmb, fetch.getAllCol(sql), 'without activity')
    restore(cmb, int(edited_activity_id))
示例#3
0
文件: lv.py 项目: ckSchool/bucky
def populate_list_ctrl_RegistrationsForSchYr(list_ctrl, schYr, filter=""):
    list_ctrl.DeleteAllItems()
    # rint 'populate_list_ctrl_RegistrationsForSchYr'
    sql = (
        " SELECT s.id, first_name, booking_date, observation_date, \
            offering_letter_date, admision_fee_date, c.name, \
            FROM students s \
            JOIN courses c ON s.enter_course_id = c.id \
            WHERE s.exit_year <='%s' \
            AND s.reg_year = %d \
            %s \
            ORDER BY s.id "
        % (gVar.schYr, schYr, filter)
    )

    list = fetch.getList(sql)

    # rint sql, '  :  ', list
    for row in list:
        student_id = row("s.id")
        index = list_ctrl.Append(str(student_id))  # key = student_id
        list_ctrl.SetStringItem(index, 0, str(student_id))  # display student_id
        list_ctrl.SetStringItem(index, 2, row["first_name"])
        list_ctrl.SetStringItem(index, 3, row["cl.name"])  # form year
        admision_fee_date = row["admision_fee_date"]
        if admision_fee_date == True:
            status = "accepted"
        else:
            status = "rejected"
        list_ctrl.SetStringItem(index, 4, status)  # Status
        list_ctrl.SetStringItem(index, 5, row["booking_date"])  # booking_date
        list_ctrl.SetStringItem(index, 6, row["observation_date"])  # observation_date
        list_ctrl.SetStringItem(index, 6, row["offering_letter_date"])  # offering_letter_date
        list_ctrl.SetStringItem(index, 7, admision_fee_date)  # admission_fee_date

    decorateBanding(list_ctrl)

    return
示例#4
0
    def showData(self):
        """
        TYPE    CLASSNAME CURRENT_POPULATION LEAVING  RETAKE  CONTINUE    TOTAL  CLASS_SIZE CLASSES     PENDING_BOOKINGS    notes  
        heading CLASSNAME CURRENT_POPULATION LEAVING  RETAKE  CONTINUE   
        kelas   ClassName CurrentPopulation  Leaving  Retake  Continue
        kelas   ClassName CurrentPopulation  Leaving  Retake  Continue
        tot     Totals    CurrentPopulation  Leaving  Retake  Continue
        heading NEXTCLASSNAME                         NEW     CONTINUE    TOTAL  CLASS_SIZE CLASSES     PENDING_BOOKINGS
        course  nextclassname                         New     Continue    tot                           Pending_Bookings
        course  nextclassname                         New     Continue    tot                            Pending_Bookings 
        space
        
        """
        mylist = []
        mylist.append(("TYPE", "FORM NAME", "POP.NOW", "OUT", "RETAKE", "CONT.", "TOTAL", "FORM SIZE", "FORMS", "PENDING BOOKINGS", "NOTES") )
        
        # list of course ids for year
        sql ="SELECT courses \
                FROM courses_by_year \
               WHERE schYr = %s" % gVar.schYr
        course_ids = fetch.getList(sql)
        
        sql ="SELECT level \
                FROM courses_levels \
               ORDER BY course_level"
        course_levels = fetch.getList(sql)
        
        for level in course_levels:
            for course_id in course_ids:
                sql ="SELECT id, name, school_id \
                        FROM courses \
                       WHERE level=%d AND id =%d" % (int(level), int(course_id))
                res = fetch.getAllDict(sql)
                for row in res:
                    mylist.append(row)
        #rintmylist

        for level in range(3,20):
            # show last years classes & students
            sql ="SELECT id, name, school_id \
                    FROM forms \
                   WHERE level=%d AND schYr =%d" % (level, gVar.schYr-1)
            forms = fetch.getAllDict(sql)
            
            level_totals =[0,0,0,0,0]
            for myForm in forms:
                form_id = myForm[0]
                now  = fetch.formPopulation(form_id) #GetClassPopulation
                level_totals[0]+=now
                cont = 4 #GetRereg
                level_totals[1]+=cont
                out  = 2 #GetStudentsLeaving
                level_totals[2]+=out
                redo = 1 #GetStudentsRetaking
                level_totals[3]+=redo
                subtot = cont-out+redo
                level_totals[4]+=subtot
                
                index = self.listCtrl.Append((myForm[1], now, cont, out, redo, subtot))
                self.listCtrl.SetItemData(index, form_id)
            self.listCtrl.Append(('Totals', str(level_totals[0]), str(level_totals[1]), str(level_totals[2]), str(level_totals[3]), str(level_totals[4])))
            
            # list of Kelas for this sch yr
            sql ="SELECT c.id, c.name \
                    FROM courses c \
                    JOIN students ON s.join_course_id = c.id) \
                   WHERE s.register_schYr = %d AND c.level=%d" % (gVar.schYr, level )
            res2 = fetch.getAllDict(sql)
            
            for row in res2:
                self.listCtrl.Append(('New reg','','',''))
                #sql ="SELECT * FROM cSiswa WHERE TahunAjaran = %d AND Kelas =%d" % (gVar.schYr, )
            
        return   
        for course_id in results:
            sql ="SELECT id, school_id, level, name \
                    FROM courses \
                   WHERE id =%d" % int(course_id)
            course = fetch.getOneDict(sql)
            mylist.append(course)
        
         
        mylist.sort(key=lambda tup: tup[1])
        
        mylist = [(tup[1], tup) for tup in mylist]
        school_ids = list(set(mylist))
        
        sql ="SELECT level, name \
                FROM courses \
               ORDER BY level, name"
        results = fetch.getAllDict(sql)