Exemplo n.º 1
0
    def button_click(self, a):
        # shost is a QString object
        arr = {}
        arr['schno'] = self.schnoData.text()
        arr['surname'] = self.surnameData.text()
        arr['firstname'] = self.firstnameData.text()
        arr['othername'] = self.middlenameData.text()
        arr['soo'] = self.sooData.text()
        arr['lga'] = self.lgaData.text()
        arr['addr'] = self.addrData.toPlainText()
        dob = self.dobData.date()
        arr['dob'] = dob.toPyDate()
        admit = self.admitData.date()
        arr['admit'] = admit.toPyDate()
        arr['active'] = 0
        if self.r1.isChecked():
            arr['gender'] = 0
        else:
            arr['gender'] = 1

        self.a = a

        g = Db()
        if ((arr['surname']) and (arr['firstname']) and (arr['schno'])):
            h = g.insert('students', arr)

        self.contFill(h)
Exemplo n.º 2
0
    def button_click(self, b):
        # shost is a QString object
        b.close()
        sid = self.sid
        mid = self.mid
        s2 = self.le2.text()
        s1 = self.le.itemData(self.le.currentIndex())
        g = Db()
        try:
            if (int(s2) > 0):
                y = {'name': s1, 'abbrv': s2}
                z = {'id': mid}
                g.update('datas', y, z)

            else:
                pass
        except:
            pass

        try:
            self.lunchForm()
        except:
            pass
        try:
            self.close()
        except:
            pass
Exemplo n.º 3
0
 def button_click(self, a, b):
     # shost is a QString object
     b.close()
     self.a = a
     s1 = self.le.text()
     g = Db()
     try:
         if(len(s1) > 0):
             y = { 'name':s1, 'sessionID':self.a,  'start_date':s2, 'end_date':s3, 'active':0}
             z = g.insert('terms', y)
             
             if z and z > 0:
                 g.createClass(z)
                 g.createFee(z)
                 g.createResult(z)   
         else:
             pass
     except:
         pass
     
     try:
         self.lunchForm(self.a)
     except:
         pass
     try:
         self.close()
     except:
         pass
Exemplo n.º 4
0
    def subjectAverage(self, session, student, ca, subject):
        #get student class
        db = 'student_class' + str(session)
        cn = Db()
        cl = cn.selectn(db, '', 1, {'studentID': student})
        scla = cl['classID']
        scl = StudentTable(session, student, [], scla)

        #get all alass mates
        studentsIDs = scl.classStudents()
        student_id = []
        for dx in studentsIDs:
            student_id.append(dx[0])

        dat = self.allSubjects(session, student_id, subject, ca)
        df = pd.DataFrame.from_dict(dat)
        ret = {}
        for x in subject:
            dy = df.loc[df['subjectID'] == x]
            me = dy['score'].mean()
            co = dy['score'].count()
            dx = dy.set_index('studentID')
            dx = dx.sort_values('score', ascending=False)
            dx = dx.reset_index()
            dx = dx.index[dx['studentID'] == int(student)]
            dx = dx.values.tolist()
            ran = dx[0] + 1
            arr = [round(me, 2), co, ran]
            ret[x] = arr

        return ret
Exemplo n.º 5
0
 def button_edit(self):
     row = self.getSelected()
     currentDate = QDate()
     if row:
         self.editrow = row
         g = Db()
         if self.sessionMain:
             data = g.selectn('session', '', 1, {'id': row})
             data_name = str(data['name'])
             self.groupBox2.setTitle('Edit')
             self.sessionID = False
         else:
             data = g.selectn('terms', '', 1, {'id': row})
             data_sess = g.selectn('session', '', 1,
                                   {'id': data['sessionID']})
             data_name = str(data['name'])
             self.sessionID = data['sessionID']
             self.groupBox2.setTitle('Edit ' + str(data_sess['name']))
         try:
             self.le1.setText(data_name)
         except:
             self.le1.setText('')
         try:
             self.fromData.setDate(data['start_date'])
         except:
             self.fromData.setDate(currentDate.currentDate())
         try:
             self.toData.setDate(data['end_date'])
         except:
             self.toData.setDate(currentDate.currentDate())
         self.pb.hide()
         self.pb4.show()
Exemplo n.º 6
0
    def button_click(self):
        tex = ' Please wait processing, do not cancel or close..'
        self.feesPop.setText(tex)
        _term = self.term
        _class = self.cla
        _students = self.students
        _amount = self.feesAmount.text()
        _fee = self.hol[self.feesCombo.currentIndex()]

        for j in _class:
            data = {}
            data['pubID'] = 'fee'
            data['subID'] = _term
            data['abbrv'] = _fee
            data['name'] = j

            cn = Db()
            feeStudent = self.feeStudents(_term, _students, _fee, _amount)
            check = cn.selectn('datas', '', 1, data)
            if (check and check['id'] == 0):
                pass
            else:
                data['description'] = _amount
                cn.insert('datas', data)

        ins = feeStudent
        tex = ' TOTAL of ' + str(ins) + ' inserted'
        self.feesPop.setText(tex)
Exemplo n.º 7
0
    def button_add(self):
        s1 = self.le1.text()
        _datef = self.fromData.date().toPyDate()
        _datef = time.mktime(_datef.timetuple())
        _datee = self.toData.date().toPyDate()
        _datee = time.mktime(_datee.timetuple())
        g = Db()

        if self.sessionID and self.sessionID > 0:
            try:
                if (len(s1) > 0):
                    y = {
                        'name': s1.lower(),
                        'start_date': _datef,
                        'sessionID': self.sessionID,
                        'end_date': _datee,
                        'active': 0
                    }
                    z = g.insert('terms', y)
                    if z and z > 0:
                        g.createClass(z)
                        g.createSubject(z)
                        g.createFee(z)
                        g.createPay(z)
                        g.createResult(z)
                        g.createAffective(z)
                        g.createPsychomoto(z)
                    self.makeTree()
                    self.button_reset()
                    self.par.menuSession()
                    self.par.dropdownSession()
                else:
                    pass
            except:
                pass
        else:
            try:
                if (len(s1) > 0):
                    y = {
                        'name': s1.lower(),
                        'start_date': _datef,
                        'end_date': _datee,
                        'active': 0
                    }
                    z = g.insert('session', y)
                    if z and z > 0:
                        g.createExpenses(z)
                        g.createStores(z)
                        g.createAwards(z)
                        g.createConducts(z)
                        g.createMails(z)
                        g.createMedicals(z)
                    self.makeTree()
                    self.button_reset()
                    self.par.menuSession()
                    self.par.dropdownSession()
                else:
                    pass
            except:
                pass
Exemplo n.º 8
0
 def setActive(self):
     g = Db()
     for i in self.hold_data:
         if self.hold_data[i].checkState(0) == Qt.Checked:
             g.update('datas', {'active': 0}, {'id': i})
         else:
             g.update('datas', {'active': 1}, {'id': i})
Exemplo n.º 9
0
    def getSelection(self):
        self.le1.clear()
        currentDate = QDate()
        self.fromData.setDate(currentDate.currentDate())
        self.toData.setDate(currentDate.currentDate())
        self.sessionMain = False

        if self.hold_data_add['addnew'].isSelected():
            self.groupBox2.setTitle('Add New')
            self.groupBox2.show()
            self.sessionMain = True
            self.sessionID = False
        else:
            self.sessionMain = False
            r = None
            for i in self.hold_data_add_item:
                if self.hold_data_add_item[i].isSelected():
                    r = i
            if r:
                g = Db()
                v = g.selectn('session', '', 1, {'id': r})
                vname = str(v['name']).upper() + ' Session'
                self.groupBox2.setTitle('ADD ' + str(vname) + ' Term')
                self.sessionID = r
                self.groupBox2.show()
            else:
                self.groupBox2.setTitle('Add')
                self.sessionID = False
                self.groupBox2.hide()
Exemplo n.º 10
0
    def studentAverageUnit(self, session, student, ca, subject):
        #get student class
        db = 'student_class' + str(session)
        cn = Db()
        cl = cn.selectn(db, '', 1, {'studentID': student})
        scla = cl['classID']
        ar = []
        ar.append(scla)
        scl = StudentTable(session, [None], [None], ar)

        #get all alass mates
        studentsIDs = scl.classUnitStudent()
        student_id = []
        for dx in studentsIDs:
            student_id.append(dx[0])

        dat = self.allStudents(session, student_id, subject, ca)
        dy = pd.DataFrame.from_dict(dat)

        me = dy['score'].mean()
        co = dy['score'].count()
        dx = dy.set_index('studentID')
        dx = dx.sort_values('score', ascending=False)
        dx = dx.reset_index()
        dx = dx.index[dx['studentID'] == int(student)]
        dx = dx.values.tolist()
        ran = dx[0] + 1
        arr = [round(me, 2), co, ran]
        return arr
Exemplo n.º 11
0
    def button_click(self, b):
        # shost is a QString object
        b.close()
        sid = self.sid
        s2 = self.le2.text()
        s1 = self.le.itemData(self.le.currentIndex())
        g = Db()
        try:
            if (int(s2) > 0):
                y = {
                    'name': s1,
                    'subID': sid,
                    'pubID': 'ca',
                    'abbrv': s2,
                    'active': 0
                }
                h = g.insert('datas', y)
            else:
                pass
        except:
            pass

        try:
            self.lunchForm()
        except:
            pass
        try:
            self.close()
        except:
            pass
Exemplo n.º 12
0
 def button_click(self):
     g = Db()
     
     g.createDatas()
     g.createStudent()
     g.createSession()
     g.createTerm()
     
     for z in self.sessions:
          g.createExpenses(z)
          g.createStores(z)
          g.createAwards(z)
          g.createConducts(z)
          g.createMails(z)
          g.createMedicals(z)
          arr = g.selectn('terms', '', '', {'id':z})
     
          for t1  in arr:
              t = t1['id']
              g.createClass(t)
              g.createSubject(t)
              g.createFee(t)
              g.createPay(t)
              g.createResult(t)  
              g.createAffective(t)
              g.createPsychomoto(t)
     
     for c in self.list_data:
         try:
             g.replacePandas(c)
         except:
             pass
     
     off = OfflineDialog() 
     off.clearFolder()
Exemplo n.º 13
0
    def button_click(self, a, b):
        # shost is a QString object
        b.close()
        self.a = a
        s1 = self.le.text()
        s2 = self.le2.text()

        g = Db()
        try:
            if (len(s1) > 0 and len(s2) > 0):
                y = {
                    'name': s1,
                    'abbrv': s2,
                    'pubID': 16,
                    'subID': self.a,
                    'description': 0l,
                    'active': 0
                }
                g.insert('datas', y)
            else:
                pass
        except:
            pass

        try:
            self.lunchForm(self.a)
        except:
            pass
        try:
            self.close()
        except:
            pass
Exemplo n.º 14
0
    def button_click(self, a):
        # shost is a QString object
        a.close()
        s1 = self.le.text()
        s2 = self.le2.text()
        g = Db()
        try:
            if (len(s1) > 0) and (len(s2) > 0):
                y = {
                    'name': s1.lower(),
                    'abbrv': s2.lower(),
                    'pubID': 15,
                    'active': 0
                }
                g.insert('datas', y)

            else:
                pass
        except:
            pass

        try:
            self.lunchForm()
        except:
            pass
        try:
            self.close()
        except:
            pass
Exemplo n.º 15
0
    def editRow(self, a):
        _session = self.session
        g = Db()
        db = 'school_expenses' + str(_session)
        data = g.selectn(db, '', 1, {'id': a})
        if len(data) > 0:
            self.editID = int(data['id'])
            if float(data['amount']) < 0:
                amt = float(data['amount']) * -1
                self.amountData.setText(str(amt))
                self.r1.setChecked(True)
            else:
                amt = float(data['amount'])
                self.amountData.setText(str(amt))
                self.r2.setChecked(True)

            self.descriptionData.clear()
            self.descriptionData.insertPlainText(str(data['description']))
            self.tellerData.setText(str(data['teller']))
            acID = self.hold_account.keys()[self.hold_account.values().index(
                data['accountID'])]
            self.accountData.setCurrentIndex(acID)
            exID = self.hold_expenses.keys()[self.hold_expenses.values().index(
                data['expenseID'])]
            self.expenseData.setCurrentIndex(exID)
Exemplo n.º 16
0
    def button_click(self):
        _session = self.session
        _amount = self.amountData.text()
        _teller = self.tellerData.text()
        _date = self.dateData.date().toPyDate()
        _date = time.mktime(_date.timetuple())
        _description = self.descriptionData.toPlainText()
        _account = self.hold_account[self.accountData.currentIndex()]
        _expense = self.hold_expenses[self.expenseData.currentIndex()]
        if self.r1.isChecked():
            _amount = float(_amount)
        else:
            _amount = float(_amount) * -1

        arr = {}
        if _amount and not (_amount
                            == 0) and int(_expense) > 0 and int(_account) > 0:
            arr['amount'] = _amount
            arr['datepaid'] = _date
            arr['description'] = _description
            arr['accountID'] = _account
            arr['expenseID'] = _expense
            arr['teller'] = _teller

            db = 'school_expenses' + str(_session)
            g = Db()
            ins = g.insert(db, arr)
            if int(ins) > 0:
                self.button_reset()
Exemplo n.º 17
0
    def button_add(self):
        s1 = self.le1.text()
        s2 = self.le2.text()
        g = Db()
        try:
            if (len(s1) > 0) and (len(s2) > 0):
                if self.sessionMain == 0:
                    y = {
                        'name': s1.lower(),
                        'abbrv': s2.lower(),
                        'pubID': self.titleID,
                        'active': 0
                    }
                else:
                    y = {
                        'name': s1.lower(),
                        'abbrv': s2.lower(),
                        'subID': self.sessionMain,
                        'pubID': self.titleIDx,
                        'active': 0
                    }
                g.insert('datas', y)

                self.makeTree()
                self.button_reset()
                if self.titleID == 1:
                    #if class was changed only relod class menu on main window
                    self.par.menuStudent()
                    self.par.dropdownStudent()
            else:
                pass
        except:
            pass
Exemplo n.º 18
0
    def feeStudentsUpdate(self, session, students, fee, amount, sid):
        db = 'student_fee' + str(session)
        cn = Db()
        ed = []
        ed1 = []

        for s in students:
            datas = {}
            datas['studentID'] = s
            datas['feeID'] = fee
            #datas['active'] = sid

            data = {}
            data['studentID'] = s
            data['feeID'] = fee
            data['amount'] = amount
            data['active'] = sid
            e = cn.update(db, data, datas)
            if e == 1:
                ed1.append(e)
            else:
                e = cn.insert(db, data)
                ed.append(e)

        return [len(ed), len(ed1)]
Exemplo n.º 19
0
    def reloadBorrowed(self):
        self.getQuantity()
        _store = self.hold_store[self.storeData.currentIndex()]
        _session = self.session
        g = Db()
        db = 'school_stores' + str(_session)
        data = g.selectn(db, '', '', {'itemID': _store, 'state': 4})
        fig = 0
        self.borrowedData.clear()
        self.hold_borrowed = {}
        i = 0
        for a in data:
            ret = g.selectStoreReturned(db, a['id'])

            if ret:
                retu = ret['qty']
            else:
                retu = 0

            fig = float(a['quantity']) - float(retu)
            damz = float(a['datepaid'])
            if float(fig) > 0:
                self.hold_borrowed[i] = a['id']
                damt = datetime.utcfromtimestamp(damz).strftime('%d-%m-%Y')
                tex = str(damt) + " " + str(
                    a['person']).upper() + " (" + str(fig).upper() + ")"
                self.borrowedData.addItem(tex)
                i += 1
Exemplo n.º 20
0
    def button_click(self, a):
        # shost is a QString object
        a.close()
        s1 = self.le.text()
        s2 = self.le2.date().toPyDate()
        s3 = self.le3.date().toPyDate()
        g = Db()
        try:
            if (len(s1) > 0):
                y = {'name': s1, 'start_date': s2, 'end_date': s3, 'active': 0}
                z = g.insert('session', y)
                if z and z > 0:
                    g.createExpenses(z)
                    g.createStores(z)
                    g.createAwards(z)
                    g.createConducts(z)
                    g.createMails(z)
                    g.createMedicals(z)
            else:
                pass
        except:
            pass

        try:
            self.button_close()
        except:
            pass
        try:
            self.close()
        except:
            pass
Exemplo n.º 21
0
 def button_delete(self):
     item = self.mySelectTable()
     _session = self.session
     g = Db()
     db = 'school_stores' + str(_session)
     for j in item:
         g.delete(db, {'id': j})
     self.reloadTable(1)
Exemplo n.º 22
0
def getStudentAssessments(session, student=[], subject=[], ca=[]):
    _session = session
    _student = student
    _subject = subject
    _ca = ca
    g = Db()
    data = g.selectStudentsCaRep(_session, _student, _subject, _ca)
    return data
Exemplo n.º 23
0
    def pullClass(self, a):
        self.a = a
        cn = Db()
        students = cn.select('datas', '', '', {'subID': self.a})
        arr = {}

        for j in students:
            arr[j[0]] = j[2]
        return arr
Exemplo n.º 24
0
 def removeSubject(self, a, b):
     session = self.session
     db = 'student_subject' + str(session)
     g = Db()
     for i in a:
         for j in b:
             f = g.selectn(db, '', 1, {'studentID': i, 'subjectID': j})
             if f and f['id'] > 0:
                 g.delete(db, {'id': f['id']})
Exemplo n.º 25
0
 def button_click1(self, a):
     # shost is a QString object
     s1 = self.le.text()
     s2 = self.le2.text()
     self.a = a
     g = Db()
     if (len(s1) > 0):
         y = {'name': s1, 'subID': self.a, 'abbrv': s2}
         return g.insert('datas', y)
Exemplo n.º 26
0
 def getData(self, a=[]):
     self.a = a
     nm = {}
     g = Db()
     for re in self.a:
         si = g.selectn('datas', '', 1, {'id':re})
         nm[re] = si['name']
         
     return nm
Exemplo n.º 27
0
 def __init__(self, sid, title, header, body, footer, formarts, columns,  parent=None):
     super(TableProfile, self).__init__(parent)
     #page setup
     self.setGeometry(100, 100, 700, 700)
     self.textStyle = "background-color: white; color:black; border: 3px ridge #ccc"
     self.minW = 670
     self.maxW = 700
     self.sid = sid
     self.header = header
     self.body = body
     self.footer = footer
     self.formarts = formarts
     self.title = title
     self.columns = [x + 1 for x in columns]
     self.hold = self.columns
     cn = Db()
     self.myterms = cn.getTermClass(self.sid)
     menu = self.menuUi()
     
     self.h1_box = QVBoxLayout()
     
     self.bioText = QTextEdit(self)
     self.bioText.setMinimumWidth(self.minW)
     self.bioText.setMinimumHeight(self.maxW)
     self.bioText.setMaximumHeight(self.maxW)
     btext = self.buildBio()
     self.bioText.insertHtml(btext)
     self.bioText.setStyleSheet(self.textStyle)
     self.h1_box.addWidget(self.bioText)
     self.h1_box.setSizeConstraint(QLayout.SetFixedSize)
     self.doc1 = self.bioText
     
     scrollArea = QScrollArea(self)
     scrollArea.setWidgetResizable(True)
     scrollArea.setFixedHeight(700)
     scrollArea.setFixedWidth(700)
     
     bioProfileWidget = QWidget()
     bioProfileWidget.setLayout(self.h1_box)
     #Main layout
     Hbox = QVBoxLayout()
     Hbox.addWidget(menu)
     Hbox.addStretch()
     Hbox.addWidget(bioProfileWidget)
     Hbox.setContentsMargins(0, 0, 0, 0)
    
     #Create central widget, add layout and set
     central_widget = QWidget(scrollArea)
     scrollArea.setWidget(central_widget)
     central_widget.setContentsMargins(0, 0, 0, 0)
     central_widget.setGeometry(0, 0, 650, 700)
     central_widget.setStyleSheet("background-color: #ccc; color:#000")
     central_widget.setLayout(Hbox)
    
     self.setWindowTitle(title)
     self.show()    
Exemplo n.º 28
0
 def button_template(self, b):
     template  = self.lTemplate.text()
     template =template.lower()
     if(len(template) >  0):
         g = Db()
         Ch =  g.selectn('datas', '', 1, {'abbrv':template, 'pubID': 'temp'})
         if Ch and Ch['id'] > 0:
             self.rTemplate.setText('Failed: Name already exist.')
         else:
             set_arr = []
             ass_arr = []
             gra_arr = []
             cla_arr = []
             
             for i in self.set_arr:
                 if self.set_arr[i].checkState(0) == Qt.Checked:
                     set_arr.append(i)
             
             for i in self.ass_arr:
                 if self.ass_arr[i].checkState(0) == Qt.Checked:
                     ass_arr.append(i) 
                     
             for i in self.gra_arr:
                 if self.gra_arr[i].checkState(0) == Qt.Checked:
                     gra_arr.append(i)
                     
             for i in self.cla_arr:
                 if self.cla_arr[i].checkState(0) == Qt.Checked:
                     cla_arr.append(i)
                     
             title = self.titleData.text()
             themeColor = self.le5.text()
             themeFont = self.le6.text()
             cla_store = self.cla_arr
             cla_store = ','.join(str(x) for x in cla_store)
             
             set_arr = '::'.join(str(x) for x in set_arr)
             gra_arr = '::'.join(str(x) for x in gra_arr)
             ass_arr = '::'.join(str(x) for x in ass_arr)
             
             
             save1 = title.upper()+':::'+ themeColor+':::'+ themeFont+':::'+ass_arr+':::'+ gra_arr+':::'+set_arr 
 
         
         
         try:
             if(len(title) > 0):
                 y = { 'name':cla_store, 'subID':self.term, 'pubID':'temp', 'abbrv':template, 'description': save1, 'active':0}
                 h = g.insert('datas', y)
                 self.button_click()
             else:
                 pass
         except:
             pass
     else:
         self.rTemplate.setText('Please give the template a name')
Exemplo n.º 29
0
    def pullStoreData(self, a=None):
        st_date = self.fromData.date().toPyDate()
        en_date = self.toData.date().toPyDate()
        st_date = time.mktime(st_date.timetuple())
        en_date = time.mktime(en_date.timetuple())

        db = 'school_stores' + str(self.session)
        cn = Db()
        arr = cn.selectStoreDate(db, st_date, en_date, a)
        return arr
Exemplo n.º 30
0
    def pullExpensesData(self):
        st_date = self.fromData.date().toPyDate()
        en_date = self.toData.date().toPyDate()
        st_date = time.mktime(st_date.timetuple())
        en_date = time.mktime(en_date.timetuple())

        db = 'school_expenses' + str(self.session)
        cn = Db()
        arr = cn.selectExpenseDate(db, st_date, en_date)
        return arr