Пример #1
0
 def initGroup(self, idCath=0):
     if not idCath:
         self.initCath()
         idCath=1
     self.groupList = CathGroup().getList(idCath=idCath)
     self.cbOther.clear()
     self.cbOther.addItems([row['name'] for row in self.groupList])
 def insertRecord(self):
     idC = self.cathList[self.cbCath.currentIndex()]['id']
     idT = self.teachersList[self.cbTeacher.currentIndex()]['id']
     CathGroup().insertRecord(name=self.leName.text(),
                              idCath=idC,
                              idTeacher=idT,
                              course=self.leCourse.text())
    def initUI(self):
        self.lFio = QLabel('ФИО полностью')
        self.leFio = QLineEdit()
        self.lShort = QLabel('Фамилия И.О.')
        self.leShort = QLineEdit()
        hl1 = QHBoxLayout()
        hl1.addWidget(self.lFio)
        hl1.addWidget(self.leFio)
        mainL = QVBoxLayout()
        mainL.addLayout(hl1)

        hl2 = QHBoxLayout()
        hl2.addWidget(self.lShort)
        hl2.addWidget(self.leShort)
        mainL.addLayout(hl2)

        hl3 = QHBoxLayout()
        self.lGroup = QLabel('Группа')
        self.cbGroup = QComboBox()
        self.groupList = CathGroup().getList()
        self.cbGroup.addItems([rec['name'] for rec in self.groupList])
        hl3.addWidget(self.lGroup)
        hl3.addWidget(self.cbGroup)
        mainL.addLayout(hl3)

        self.pbSave = QPushButton('Сохранить')
        mainL.addWidget(self.pbSave)
        self.pbSave.clicked.connect(self.save)

        self.setLayout(mainL)
    def getTVModelRII(self):
        data = self.getAllData()

        for i in range(len(data)):
            data2 = 0
            idGroup = data[i]['idClientGroup']
            if idGroup == 2:
                data2 = Client().getFromID(data[i]['idRii'])
                data2['nameClientGroup'] = 'Преподаватель'

            elif idGroup == 3:
                data2 = CathGroup().getFromID(id=data[i]['idRii'])
                if data2:
                    data2['shortfio'] = data2['name']
                data2['nameClientGroup'] = 'Студент'

            if data2:
                if 'id' in data2.keys():
                    del data2['id']
                data[i] = {**data[i], **data2}
            else:
                data[i]['shortfio'] = "-"
                data[i]['nameClientGroup'] = 'Администратор'

        fieldsTable = ['id', 'idTelegram', 'shortfio', 'nameClientGroup']
        fieldsView = [
            'id', 'idTelegram', 'ФИО/группа клиента', 'Группа клиентов'
        ]

        model = DBM.CreateTableViewModelFromData(data=data,
                                                 fieldTab=fieldsTable,
                                                 fieldsView=fieldsView)
        return model
Пример #5
0
    def initStudents(self):
        self.GroupData = CathGroup().getFromID(self.idClient)
        self.lab1.setText('Группа : ')
        cathData = Cathedra().getRecord(id=self.GroupData['idCathedra'])
        self.labFio.setText(self.GroupData['name'])
        self.labCath.setText(cathData['name'])

        self.giveTVModel()
 def initStudent(self):
     self.selGroup = 1
     self.cbClientsGroupSelected = True
     self.lab3.setText('Группа : ')
     self.cbGroup.clear()
     self.stGroup = CathGroup().getList(idCath=self.getSelectedIDCath())
     for row in self.stGroup:
         self.cbGroup.addItem(row['name'])
Пример #7
0
    def initStudents(self):
        self.setVisibleOtherCB(True)
        idCath = self._getCathID()

        self.labClient.setText('Группа')
        self.studentList = CathGroup().getList(idCath=idCath)
        self.cbClient.clear()
        self.cbClient.addItems([row['name'] for row in self.studentList])
Пример #8
0
    def cbGroupInit(self):

        self.selectedTable = self.AdisTable['Group']
        self.connect_disconnect_ViewSlot()
        self.setVisibleCB(True)
        self.lView.setText("Группа :")
        self.CathGroupList = CathGroup().getList()
        self.cbView.clear()
        for line in self.CathGroupList:
            self.cbView.addItem(line['name'])
        self.connect_disconnect_ViewSlot()
    def initEdit(self):
        record = CathGroup().getFromID(self.ID)
        self.leName.setText(record['name'])
        for i in range(len(self.cathList)):
            if record['idCathedra'] == self.cathList[i]['id']:
                ind = i
                break
        self.cbCath.setCurrentIndex(ind)
        self.refreshTeachers()
        for i in range(len(self.teachersList)):
            if record['idCurator'] == self.teachersList[i]['id']:
                indT = i
                break
        self.cbTeacher.setCurrentIndex(indT)
        self.leCourse.setText(record['course'])

        self.setWindowTitle('Редактирование зиписи')
 def getRecordFromIDTelegram(self, idTelegram):
     sql = "SELECT id, idRii, idTelegram, idClientGroup " \
           "FROM botdb.clientstab " \
           "WHERE idTelegram = '%s';" % idTelegram
     data = DBM.GetData(sql=sql, nameDB='botdb')
     #data = data[0]
     if len(data) == 0 or "Error" in data[0].keys():
         return 0
     else:
         data = data[0]
         idClient = data['idRii']
         idGroup = data['idClientGroup']
         data2 = 0
         if idGroup == 2:
             data2 = Client().getFromID(id=idClient)
         elif idGroup == 3:
             data2 = CathGroup().getFromID(id=idClient)
         if data2:
             return {**data, **data2}
         else:
             return data
Пример #11
0
    def GetTableModel(self, table):

        if table == 'Студенты':
            self.setVisibleCB(True)
            if self.selectedTable != self.AdisTable['Group']:
                self.cbGroupInit()
            idGroup = self.getAdditionalParIndex()
            model = Client().getTVStudentsModel(idGroup)
        elif table == 'Преподаватели':
            self.setVisibleCB(True)
            if self.selectedTable != self.AdisTable['Cathedra']:
                self.cbCathedraInit()
            idCathedra = self.getAdditionalParIndex()
            model = Client().getTVTeachersModel(idCathedra)
        elif table == 'Кафедры':
            self.setVisibleCB(False)
            model = Cathedra().getTVCathedraModel(zav=False)
        elif table == 'Группы студентов':
            self.setVisibleCB(True)
            if self.selectedTable != self.AdisTable['Cathedra']:
                self.cbCathedraInit()
            idCathedra = self.getAdditionalParIndex()
            model = CathGroup().getTVCathGroup(idCathedra)
        elif table == 'Аудитории':
            self.setVisibleCB(False)
            model = Auditory().getTVModel()
        elif table == 'Клиенты Telegram':
            self.setVisibleCB(False)
            model = ClientsTab().getTVModelRII()
        elif table == "Проекторы":
            model = Projectors().getTVModel()

        self.tableView.setModel(model)
        self.tableView.resizeRowsToContents()
        self.tableView.resizeColumnsToContents()
        self.tableView.horizontalHeader().setStyleSheet(
            "::section{Background-color:rgb(100,200,100);border-radius:14px;}")
Пример #12
0
 def refreshGroups(self):
     idC = self.cbCath.currentIndex()
     if idC == -1: idC = 0
     self.groupList = CathGroup().getList(idCath=self.cathList[idC]['id'])
     self.cbTeacherOrGroup.clear()
     self.cbTeacherOrGroup.addItems([row['name'] for row in self.groupList])