def setInvoiceNumberLine(self): if self.invoiceTypeComboBox.currentText() == "Hurtowa": number = (operationsMongo.Database("SP").searchForItem( "H", "TYP_FS"))[-1]["NUMER"] + 1 self.accountingNumberSpinBox.setValue(number) numberString = "H" + str(number) + "/1" self.invoiceNumberEdit.setText(numberString) elif self.invoiceTypeComboBox.currentText() == "Paragon": number = (operationsMongo.Database("SP").searchForItem( "P", "TYP_FS"))[-1]["NUMER"] + 1 self.accountingNumberSpinBox.setValue(number) numberString = "P" + str(number) + "/1" self.invoiceNumberEdit.setText(numberString) elif self.invoiceTypeComboBox.currentText() == "Kupna": number = (operationsMongo.Database("SP").searchForItem( "K", "TYP_FS"))[-1]["NUMER"] + 1 self.accountingNumberSpinBox.setValue(number) numberString = "K" + str(number) + "/1" self.invoiceNumberEdit.setText(numberString) elif self.invoiceTypeComboBox.currentText() == "Detaliczna": number = (operationsMongo.Database("SP").searchForItem( "D", "TYP_FS"))[-1]["NUMER"] + 1 self.accountingNumberSpinBox.setValue(number) numberString = "D" + str(number) + "/1" self.invoiceNumberEdit.setText(numberString)
def searchItemByName(self, varModel, varTableView, varUserData, collectionName, searchedKey): searchPhrase, ok = QtWidgets.QInputDialog.getText( self, 'Wprowadz dane', 'Wprowadz dane') try: if ok: if varModel == self.model: self.refreshTable(( operationsMongo.Database(collectionName).searchForItem( searchPhrase, searchedKey)), selectTable=1) elif varModel == self.model_6: self.refreshTable(( operationsMongo.Database(collectionName).searchForItem( searchPhrase, searchedKey)), selectTable=6) elif varModel == self.model_9: self.refreshTable(( operationsMongo.Database(collectionName).searchForItem( searchPhrase, searchedKey)), selectTable=9) elif varModel == self.model_11: self.refreshTable(( operationsMongo.Database(collectionName).searchForItem( searchPhrase, searchedKey)), selectTable=11) except IndexError: QtWidgets.QMessageBox.critical(self, "Błąd", "Brak takiej pozycji!")
def generateRWFinalAction(self): totalAmount = 0 finalInvoiceList = operationsMongo.Database("TEMPRW").getMultipleData() accountingNumber = self.rwAccountingNumberSpinBox_2.value() invoiceGenerationDate = self.rwGenerationDateEdit_2.date().toString( "dd.MM.yyyy") invoiceNumber = self.rwNumberEdit_2.text() source = self.sourceWarehouseComboBox_2.currentText() destination = self.destinationWarehouseComboBox_2.currentText() listPosition = 0 for invoiceFinalItem in finalInvoiceList[1:]: listPosition += 1 amountOfStuff = float((invoiceFinalItem)["ILOSC"]) document_id = (invoiceFinalItem)["PREVID"] ok = operationsMongo.Database("ASOR").shiftBetweenWarehouses( document_id, listPosition, amountOfStuff, invoiceGenerationDate, accountingNumber, invoiceNumber, source, destination) totalAmount += amountOfStuff * (invoiceFinalItem["CENA"]) try: if ok: invoiceGenerationDate = self.rwGenerationDateEdit_2.date( ).toString("dd.MM.yyyy") warehouse = self.warehouseSelectComboBox_6.currentText() source = self.sourceWarehouseComboBox_2.currentText() destination = self.destinationWarehouseComboBox_2.currentText() operationsMongo.Database("RW").createRW( totalAmount, invoiceGenerationDate, invoiceNumber, warehouse, accountingNumber, source, destination) QtWidgets.QMessageBox.information(self, "Ok", "Invoice Created!") operationsMongo.Database( "TEMPRW").clearTemporaryTableForPurchaseInvoice() except UnboundLocalError: QtWidgets.QMessageBox.critical(self, "Błąd", "Wypełnij komórki!")
def generatePurchaseInvoiceFinalAction(self): # if not self.invoiceNumberEdit.text(): # QtWidgets.QMessageBox.critical( # self, "Błąd", "Wypełnij komórkę!") totalAmount = 0 taxAmount = 0 finalInvoiceList = operationsMongo.Database("TEMPKU").getMultipleData() discount = self.discountSpinBox.value() accountingNumber = self.accountingNumberSpinBox_2.value() print(discount) invoiceGenerationDate = self.invoiceGenerationDateEdit_2.date( ).toString("dd.MM.yyyy") invoiceNumber = self.invoiceNumberEdit_2.text() clientName = self.clientResultLabel_2.text() listPosition = 0 for invoiceFinalItem in finalInvoiceList[1:]: listPosition += 1 # itemName = (invoiceFinalItem)["NAZWA"] # itemPrice = (invoiceFinalItem)["KOSZT"] # itemCode = (invoiceFinalItem)["KOD"] vatCondition = "PRAWDA" tax = invoiceFinalItem["PODAT"] if invoiceFinalItem["UPUST"] != 0: discount = float(invoiceFinalItem["UPUST"]) amountOfStuff = float((invoiceFinalItem)["ILOSC"]) document_id = (invoiceFinalItem)["PREVID"] ok = operationsMongo.Database("ASOR").addDataToWarehouse( document_id, listPosition, amountOfStuff, invoiceGenerationDate, accountingNumber, invoiceNumber, clientName) totalAmount += amountOfStuff * (invoiceFinalItem["CENA"]) taxAmount += 0 if tax == 0 else ((tax / 100) * totalAmount) try: if ok: paymentType = self.paymentComboBox_2.currentText() invoiceGenerationDate = self.invoiceGenerationDateEdit_2.date( ).toString("dd.MM.yyyy") invoicePaymentDate = self.invoicePaymentDateEdit_2.date( ).toString("dd.MM.yyyy") invoiceInflowDate = self.invoiceSaleDateEdit_3.date().toString( "dd.MM.yyyy") invoiceType = self.invoiceTypeComboBox_4.currentText() warehouse = self.warehouseSelectComboBox_3.currentText() priceType = self.priceTypeComboBox_2.currentText() source = self.sourceEdit.text() destination = self.destinationEdit.text() operationsMongo.Database("KU").createPurchaseInvoice( totalAmount, clientName, invoiceGenerationDate, invoiceInflowDate, discount, invoicePaymentDate, invoiceNumber, invoiceType, warehouse, priceType, paymentType, accountingNumber, source, destination, taxAmount) QtWidgets.QMessageBox.information(self, "Ok", "Invoice Created!") operationsMongo.Database( "TEMPKU").clearTemporaryTableForPurchaseInvoice() except UnboundLocalError: QtWidgets.QMessageBox.critical(self, "Błąd", "Wypełnij fakturę!")
def getAmountOfStuff(self, varModel, varTableView): if PythonMongoDB.invoice != None or self.clientResultLabel_2 != "Not selected yet": amountOfStuff, ok = QtWidgets.QInputDialog.getDouble( self, 'Wprowadz dane', 'Wprowadz dane') if ok: QtWidgets.QMessageBox.information(self, "Ok", "Ok!") if varModel == self.model: tempList = "TEMPSP" elif varModel == self.model_6: tempList = "TEMPKU" elif varModel == self.model_9: tempList = "TEMPMM" elif varModel == self.model_11: tempList = "TEMPRW" itemAndCountMultiplied = varModel.addRowsToInvoice( varTableView.currentIndex(), amountOfStuff, tempList) PythonMongoDB.nettoAmount += itemAndCountMultiplied PythonMongoDB.totalAmount += (itemAndCountMultiplied + (itemAndCountMultiplied * 0.23)) if tempList == "TEMPSP": self.refreshTable( operationsMongo.Database(tempList).getMultipleData(), selectTable=3) self.nettoAmountResultLabel.setText( str(PythonMongoDB.nettoAmount)) self.totalAmountResultLabel.setText( str(PythonMongoDB.totalAmount)) elif tempList == "TEMPKU": self.refreshTable( operationsMongo.Database(tempList).getMultipleData(), selectTable=7) self.nettoAmountResultLabel_2.setText( str(PythonMongoDB.nettoAmount)) self.totalAmountResultLabel_2.setText( str(PythonMongoDB.totalAmount)) elif tempList == "TEMPMM": self.refreshTable( operationsMongo.Database(tempList).getMultipleData(), selectTable=10) self.nettoAmountResultLabel_3.setText( str(PythonMongoDB.nettoAmount)) self.totalAmountResultLabel_3.setText( str(PythonMongoDB.totalAmount)) elif tempList == "TEMPRW": self.refreshTable( operationsMongo.Database(tempList).getMultipleData(), selectTable=12) self.nettoAmountResultLabel_4.setText( str(PythonMongoDB.nettoAmount)) self.totalAmountResultLabel_4.setText( str(PythonMongoDB.totalAmount)) else: QtWidgets.QMessageBox.critical(self, "Błąd", "Wybierz Klienta!")
def sort(self, Ncol, order): try: self.layoutAboutToBeChanged.emit() if not order: self.user_data = operationsMongo.Database( self.collection).sortAscending(self.columns[Ncol]) else: self.user_data = operationsMongo.Database( self.collection).sortDescending(self.columns[Ncol]) self.layoutChanged.emit() except Exception as e: print(e)
def insertRows(self): row_count = len(self.user_data) self.beginInsertRows(QtCore.QModelIndex(), row_count, row_count) empty_data = {key: None for key in self.columns if not key == '_id'} document_id = operationsMongo.Database( self.collection).insertData(empty_data) new_data = operationsMongo.Database( self.collection).getSingleData(document_id) self.user_data.append(new_data) row_count += 1 self.endInsertRows() return True
def createInvoice(invoice, totalAmount, paymentType, invoiceGenerationDate, invoicePaymentDate, invoiceSaleDate, invoiceNumber, discount, tax, invoiceType, taxAmount, warehouse, priceType, accountingNumber): pdf = SimpleInvoice(invoice) currentDate = datetime.datetime.now().strftime("%H.%M %d-%m-%y") pdf.gen("faktura " + str(currentDate) + ".pdf", generate_qr_code=True) invoiceCode = operationsMongo.Database( "SP").getSingleLastData()["NR_KOD"] + 1 warehouseDocumentCode = operationsMongo.Database( "WZ").getSingleLastData()["NR_KOD"] + 1 invoice.number = invoiceNumber # print(invoice.client.summary) operationsMongo.Database("SP").insertData({ "NR_KOD": invoiceCode, "TYP_FS": invoiceType, "DATA": invoiceGenerationDate, "NUMER": accountingNumber, "MAGAZYN": int(warehouse), "PARTNER": invoice.client.summary, "WARTOSC": totalAmount, "UPUST": discount, "RODZ_PL": paymentType, "UWAGI_PL": '', "DATA_PL": invoicePaymentDate, "R_CEN": priceType, "MAGA": "PRAWDA", "PODAT_WR": taxAmount, "DATA_SPRZ": invoiceSaleDate, "ZAT": "PRAWDA", "NOP": 1, "NR_DOK_MG": warehouseDocumentCode, "TYP_DOK_MG": "WZ", "WAR_DOK_MG": 689.0, "POMOCNICZE": "11", "WALUTA": 'PZL', "KURS": 0.0, "WARTOSCWAL": 'null', "TEKSTNUMER": 'null' }) operationsMongo.Database("WZ").insertData({ "NR_KOD": warehouseDocumentCode, "DATA": invoiceGenerationDate, "NUMER": accountingNumber, "SKAD": invoiceNumber + " - " + invoiceGenerationDate, "DOKAD": invoice.client.summary, "WARTOSC": totalAmount, "R_CEN": priceType, "MAGAZYN": int(warehouse), "ZAT": "PRAWDA", "NOP": 1 })
def setClientForInvoice(self, position): row_count = self.rowCount() row_count -= 1 self.beginRemoveRows(QtCore.QModelIndex(), row_count, row_count) row_id = position.row() document_id = self.user_data[row_id]['_id'] clientName = (operationsMongo.Database( self.collection).getSingleData(document_id)["NAZWA_I"]) clientAddress = str( operationsMongo.Database(self.collection).getSingleData( document_id)["MIEJSC"]) + ' ' + str( operationsMongo.Database( self.collection).getSingleData(document_id)["ADRES"]) clientContact = (operationsMongo.Database( self.collection).getSingleData(document_id)["TELEFONY"]) return clientName, clientAddress, clientContact
def showInvoice(self, position, collumnType): row_count = self.rowCount() row_count -= 1 self.beginRemoveRows(QtCore.QModelIndex(), row_count, row_count) row_id = position.row() document_id = self.user_data[row_id]['NR_KOD'] data = operationsMongo.Database(collumnType + "ZAW").searchByNumer( document_id, "NR_KOD") return list(data)
def removeRows(self, position): row_count = self.rowCount() row_count -= 1 self.beginRemoveRows(QtCore.QModelIndex(), row_count, row_count) row_id = position.row() document_id = self.user_data[row_id]['_id'] operationsMongo.Database(self.collection).removeData(document_id) self.user_data.pop(row_id) self.endRemoveRows() return True
def searchItemByName(self, varModel, varTableView, varUserData, collectionName): searchPhrase, ok = QtWidgets.QInputDialog.getText( self, 'Wprowadz dane', 'Wprowadz dane') if ok: # QtWidgets.QMessageBox.information(self, "Ok", "Ok!") # varModel.addRowsToInvoice(varTableView.currentIndex(), PythonMongoDB.invoice, amountOfStuff) varUserData = operationsMongo.Database( collectionName).searchForItem((searchPhrase), collectionName) varModel = customModel.CustomTableModel(varUserData, collectionName) varTableView.setModel(varModel)
def __init__(self): super(PythonMongoDB, self).__init__() self.setupUi(self) # self.invoice = invoice self.user_data = operationsMongo.Database("SPZAW").getMultipleData() self.user_data_2 = operationsMongo.Database("SP").getMultipleData() self.model = customModel.CustomTableModel(self.user_data, "SPZAW") self.model_2 = customModel.CustomTableModel(self.user_data_2, "SP") self.delegate = customModel.InLineEditDelegate() self.tableView.setModel(self.model) self.tableView.setItemDelegate(self.delegate) # self.tableView.setItemDelegateForColumn(1, customModel.ProfilePictureDelegate()) self.tableView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView.customContextMenuRequested.connect( lambda: self.context_menu(self.model, self.tableView)) self.tableView.verticalHeader().setDefaultSectionSize(50) self.tableView.setColumnWidth(0, 30) self.tableView_2.setModel(self.model_2) self.tableView_2.setItemDelegate(self.delegate) self.tableView_2.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_2.customContextMenuRequested.connect( lambda: self.context_menu_client(self.model_2, self.tableView_2)) # self.generateInvoiceButton.clicked.connect(lambda : print(j))) self.user_data_3 = operationsMongo.Database("TEMPSP").getMultipleData() self.model_3 = customModel.CustomTableModel(self.user_data_3, "TEMPSP") self.tableView_3.setModel(self.model_3) self.tableView_3.setItemDelegate(self.delegate) self.tableView_3.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_3.customContextMenuRequested.connect( lambda: self.context_menu(self.model_3, self.tableView_3)) self.generateInvoiceButton.clicked.connect( lambda: generateInvoice.createInvoice(PythonMongoDB.invoice)) self.searchForItemButton.clicked.connect(lambda: self.searchItemByName( self.model, self.tableView, self.user_data, "ASOR")) self.searchForClientButton.clicked.connect( lambda: self.searchItemByName(self.model_2, self.tableView_2, self. user_data_2, "KONTRAH"))
def createPurchaseInvoice(invoice, totalAmount): pdf = SimpleInvoice(invoice) currentDate = datetime.datetime.now().strftime("%H.%M %d-%m-%y") currentDateDbFormat = datetime.datetime.now().strftime("%d.%m.%Y") pdf.gen("faktura " + str(currentDate) + ".pdf", generate_qr_code=True) invoiceCode = operationsMongo.Database( "KU").getSingleLastData()["NR_KOD"] + 1 invoiceCode = operationsMongo.Database( "KU").getSingleLastData()["NR_KOD"] + 1 print(invoice.client.summary) operationsMongo.Database("KU").insertData({ "NR_KOD": invoiceCode, "TYP_FS": "H", "DATA": currentDateDbFormat, "NUMER": 89, "MAGAZYN": 1, "PARTNER": invoice.client.summary, "WARTOSC": totalAmount, "UPUST": 0.0, "RODZ_PL": "G", "UWAGI_PL": '', "DATA_PL": '', "R_CEN": "H", "MAGA": "PRAWDA", "PODAT_WR": 210.98, "DATA_SPRZ": currentDateDbFormat, "ZAT": "PRAWDA", "NOP": 1, "NR_DOK_MG": 478.0, "TYP_DOK_MG": "WZ", "WAR_DOK_MG": 689.0, "POMOCNICZE": "11", "WALUTA": 'null', "KURS": 0.0, "WARTOSCWAL": 'null', "TEKSTNUMER": 'null' })
def setData(self, index, value, role=QtCore.Qt.EditRole): """ Edit data in table cells :param index: :param value: :param role: :return: """ if index.isValid(): selected_row = self.user_data[index.row()] selected_column = self.columns[index.column()] selected_row[selected_column] = value self.dataChanged.emit(index, index, (QtCore.Qt.DisplayRole, )) ok = operationsMongo.Database(self.collection).updateData( selected_row['_id'], selected_row) if ok: return True return False
def context_menu(self, varModel, varTableView): menu = QtWidgets.QMenu() refresh_data = menu.addAction("Refresh Data") if refresh_data.triggered.connect(lambda: self): self.user_data_3 = operationsMongo.Database( "TEMPSP").getMultipleData() self.model_3 = customModel.CustomTableModel( self.user_data_3, "TEMPSP") self.tableView_3.setModel(self.model_3) add_to_invoice = menu.addAction("Add This To Invoice") add_to_invoice.setIcon(QtGui.QIcon(":/icons/images/add-icon.png")) add_to_invoice.triggered.connect( lambda: self.getAmountOfStuff(varModel, varTableView)) add_data = menu.addAction("Add New Data") add_data.setIcon(QtGui.QIcon(":/icons/images/add-icon.png")) add_data.triggered.connect(lambda: varModel.insertRows()) if varTableView.selectedIndexes(): remove_data = menu.addAction("Remove Data") remove_data.setIcon(QtGui.QIcon(":/icons/images/remove.png")) remove_data.triggered.connect( lambda: varModel.removeRows(varTableView.currentIndex())) cursor = QtGui.QCursor() menu.exec_(cursor.pos())
def addRowsToInvoice(self, position, amountOfStuff, tempList): row_count = self.rowCount() row_count -= 1 self.beginRemoveRows(QtCore.QModelIndex(), row_count, row_count) row_id = position.row() document_id = self.user_data[row_id]['_id'] itemName = (operationsMongo.Database( self.collection).getSingleData(document_id)["NAZWA"]) itemPrice = (operationsMongo.Database( self.collection).getSingleData(document_id)["KOSZT"]) itemCode = (operationsMongo.Database( self.collection).getSingleData(document_id)["KOD"]) if tempList == "TEMPSP": invoiceCode = operationsMongo.Database( "SP").getSingleLastData()["NR_KOD"] + 1 operationsMongo.Database("TEMPSP").insertData({ "NR_KOD": invoiceCode, "LP": 1, "LEK": itemName, "NUMER": 'null', "CENA": itemPrice, "ILOSC": amountOfStuff, "WARTOSC": float(amountOfStuff) * float(itemPrice), "KOD": itemCode, "JEST_VAT": "PRAWDA", "PODAT": 23.0, "UPUST": 0.0, "PREVID": document_id }) elif tempList == "TEMPKU": invoiceCode = operationsMongo.Database( "KU").getSingleLastData()["NR_KOD"] + 1 operationsMongo.Database("TEMPKU").insertData({ "NR_KOD": invoiceCode, "LP": 1, "LEK": itemName, "NUMER": 'null', "CENA": itemPrice, "ILOSC": amountOfStuff, "WARTOSC": float(amountOfStuff) * float(itemPrice), "KOD": itemCode, "PODAT": 23.0, "KONTO_KU": '', "UPUST": 0.0, "JEST_VAT": "PRAWDA", "PREVID": document_id }) elif tempList == "TEMPWZ": invoiceCode = operationsMongo.Database( "WZ").getSingleLastData()["NR_KOD"] + 1 operationsMongo.Database("TEMPWZ").insertData({ "NR_KOD": invoiceCode, "LP": 1, "LEK": itemName, "CENA": itemPrice, "ILOSC": amountOfStuff, "WARTOSC": float(amountOfStuff) * float(itemPrice), "KOD": itemCode, "PREVID": document_id }) elif tempList == "TEMPPZ": invoiceCode = operationsMongo.Database( "PZ").getSingleLastData()["NR_KOD"] + 1 operationsMongo.Database("TEMPPZ").insertData({ "NR_KOD": invoiceCode, "LP": 1, "LEK": itemName, "CENA": itemPrice, "ILOSC": amountOfStuff, "WARTOSC": float(amountOfStuff) * float(itemPrice), "KOD": itemCode, "PREVID": document_id }) elif tempList == "TEMPMM": invoiceCode = operationsMongo.Database( "MM").getSingleLastData()["NR_KOD"] + 1 operationsMongo.Database("TEMPMM").insertData({ "NR_KOD": invoiceCode, "LP": 1, "LEK": itemName, "CENA": itemPrice, "ILOSC": amountOfStuff, "WARTOSC": float(amountOfStuff) * float(itemPrice), "KOD": itemCode, "PREVID": document_id }) elif tempList == "TEMPRW": invoiceCode = operationsMongo.Database( "RW").getSingleLastData()["NR_KOD"] + 1 operationsMongo.Database("TEMPRW").insertData({ "NR_KOD": invoiceCode, "LP": 1, "LEK": itemName, "CENA": itemPrice, "ILOSC": amountOfStuff, "WARTOSC": float(amountOfStuff) * float(itemPrice), "KOD": itemCode, "PREVID": document_id }) itemAndCountMultiplied = float(itemPrice) * float(amountOfStuff) return itemAndCountMultiplied
def __init__(self): super(PythonMongoDB, self).__init__() self.setupUi(self) # self.invoice = invoice self.user_data = operationsMongo.Database("ASOR").getMultipleData() self.user_data_2 = operationsMongo.Database( "KONTRAH").getMultipleData() self.model = customModel.CustomTableModel(self.user_data, "ASOR") self.model_2 = customModel.CustomTableModel(self.user_data_2, "KONTRAH") self.delegate = customModel.InLineEditDelegate() self.tableView.setModel(self.model) self.tableView.setItemDelegate(self.delegate) # self.tableView.setItemDelegateForColumn(1, customModel.ProfilePictureDelegate()) self.tableView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView.customContextMenuRequested.connect( lambda: self.context_menu(self.model, self.tableView)) self.tableView.verticalHeader().setDefaultSectionSize(50) self.tableView.setColumnWidth(0, 30) self.tableView.hideColumn(0) self.tableView.hideColumn(2) self.tableView.hideColumn(3) self.tableView.hideColumn(4) self.tableView.hideColumn(14) self.tableView.hideColumn(15) self.tableView.hideColumn(16) self.tableView_2.setModel(self.model_2) self.tableView_2.setItemDelegate(self.delegate) self.tableView_2.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_2.customContextMenuRequested.connect( lambda: self.context_menu(self.model_2, self.tableView_2)) self.tableView_2.hideColumn(0) # self.generateInvoiceButton.clicked.connect(lambda : print(j))) self.user_data_3 = operationsMongo.Database("TEMPSP").getMultipleData() self.model_3 = customModel.CustomTableModel(self.user_data_3, "TEMPSP") self.tableView_3.setModel(self.model_3) self.tableView_3.setItemDelegate(self.delegate) self.tableView_3.hideRow(0) self.tableView_3.hideColumn(0) self.tableView_3.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_3.customContextMenuRequested.connect( lambda: self.context_menu(self.model_3, self.tableView_3)) self.user_data_4 = operationsMongo.Database("SP").sortDescending( "NR_KOD") self.model_4 = customModel.CustomTableModel(self.user_data_4, "SP") self.tableView_4.setModel(self.model_4) self.tableView_4.setItemDelegate(self.delegate) self.tableView_4.hideColumn(0) self.tableView_4.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_4.customContextMenuRequested.connect( lambda: self.context_menu(self.model_4, self.tableView_4)) self.model_5 = customModel.CustomTableModel(self.user_data_2, "KONTRAH") self.tableView_5.setModel(self.model_5) self.tableView_5.setItemDelegate(self.delegate) self.tableView_5.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_5.customContextMenuRequested.connect( lambda: self.context_menu(self.model_5, self.tableView_5)) self.model_6 = customModel.CustomTableModel(self.user_data, "ASOR") self.tableView_6.setModel(self.model_6) self.tableView_6.setItemDelegate(self.delegate) self.tableView_6.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_6.customContextMenuRequested.connect( lambda: self.context_menu(self.model_6, self.tableView_6)) self.user_data_7 = operationsMongo.Database("TEMPKU").getMultipleData() self.model_7 = customModel.CustomTableModel(self.user_data_7, "TEMPKU") self.tableView_7.setModel(self.model_7) self.tableView_7.setItemDelegate(self.delegate) self.tableView_7.hideRow(0) self.tableView_7.hideColumn(0) self.tableView_7.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_7.customContextMenuRequested.connect( lambda: self.context_menu(self.model_7, self.tableView_7)) self.model_9 = customModel.CustomTableModel(self.user_data, "ASOR") self.tableView_9.setModel(self.model_9) self.tableView_9.setItemDelegate(self.delegate) self.tableView_9.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_9.customContextMenuRequested.connect( lambda: self.context_menu(self.model_9, self.tableView_9)) self.user_data_10 = operationsMongo.Database( "TEMPMM").getMultipleData() self.model_10 = customModel.CustomTableModel(self.user_data_10, "TEMPMM") self.tableView_10.setModel(self.model_10) self.tableView_10.setItemDelegate(self.delegate) self.tableView_10.hideRow(0) self.tableView_10.hideColumn(0) self.tableView_10.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_10.customContextMenuRequested.connect( lambda: self.context_menu(self.model_10, self.tableView_10)) self.model_11 = customModel.CustomTableModel(self.user_data, "ASOR") self.tableView_11.setModel(self.model_11) self.tableView_11.setItemDelegate(self.delegate) self.tableView_11.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_11.customContextMenuRequested.connect( lambda: self.context_menu(self.model_11, self.tableView_11)) self.user_data_12 = operationsMongo.Database( "TEMPRW").getMultipleData() self.model_12 = customModel.CustomTableModel(self.user_data_12, "TEMPRW") self.tableView_12.setModel(self.model_12) self.tableView_12.setItemDelegate(self.delegate) self.tableView_12.hideRow(0) self.tableView_12.hideColumn(0) self.tableView_12.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.tableView_12.customContextMenuRequested.connect( lambda: self.context_menu(self.model_12, self.tableView_12)) self.generateInvoiceButton.clicked.connect( self.generateInvoiceFinalAction) self.generateInvoiceButton_2.clicked.connect( self.generatePurchaseInvoiceFinalAction) self.generateInvoiceButton_3.clicked.connect( self.generateMMFinalAction) self.generateInvoiceButton_4.clicked.connect( self.generateRWFinalAction) self.searchForItemButton.clicked.connect(lambda: self.searchItemByName( self.model, self.tableView, self.user_data, "ASOR", "NAZWA")) self.searchItemByCodeButton.clicked.connect( lambda: self.searchItemByCode(self.model, self.tableView, self. user_data, "ASOR", "KOD")) self.searchItemByGroupButton.clicked.connect( lambda: self.searchItemByName(self.model, self.tableView, self. user_data, "ASOR", "GRUPA")) # self.searchItemsByCityButton.clicked.connect(self.openAddItemWindow) self.searchForClientButton.clicked.connect( lambda: self.searchClientByName(self.model_2, self.tableView_2, self.user_data_2, "KONTRAH", "NAZWA_I")) self.searchClientsByNIPButton.clicked.connect( lambda: self.searchClientByName(self.model_2, self.tableView_2, self.user_data_2, "KONTRAH", "REJESTR")) self.searchClientByCodeButton.clicked.connect( lambda: self.searchItemByCode(self.model_2, self.tableView_2, self. user_data_2, "KONTRAH", "NR_KONTRAH") ) self.searchClientsByCityButton.clicked.connect( lambda: self.searchClientByName(self.model_2, self.tableView_2, self.user_data_2, "KONTRAH", "MIEJSC")) self.searchForItemButton_2.clicked.connect( lambda: self.searchItemByName(self.model_6, self.tableView_6, self. user_data, "ASOR", "NAZWA")) self.searchItemByCodeButton_2.clicked.connect( lambda: self.searchItemByCode(self.model_6, self.tableView_6, self. user_data, "ASOR", "KOD")) self.searchItemByGroupButton_2.clicked.connect( lambda: self.searchItemByName(self.model_6, self.tableView_6, self. user_data, "ASOR", "GRUPA")) # self.searchItemsByCityButton.clicked.connect(self.openAddItemWindow) self.searchForClientButton_2.clicked.connect( lambda: self.searchClientByName(self.model_5, self.tableView_5, self.user_data_2, "KONTRAH", "NAZWA_I")) self.searchClientsByNIPButton_2.clicked.connect( lambda: self.searchClientByName(self.model_5, self.tableView_5, self.user_data_2, "KONTRAH", "REJESTR")) self.searchClientByCodeButton_2.clicked.connect( lambda: self.searchItemByCode(self.model_5, self.tableView_5, self. user_data_2, "KONTRAH", "NR_KONTRAH") ) self.searchClientsByCityButton_2.clicked.connect( lambda: self.searchClientByName(self.model_5, self.tableView_5, self.user_data_2, "KONTRAH", "MIEJSC")) self.searchForItemButton_3.clicked.connect( lambda: self.searchItemByName(self.model_9, self.tableView_9, self. user_data, "ASOR", "NAZWA")) self.searchItemByCodeButton_3.clicked.connect( lambda: self.searchItemByCode(self.model_9, self.tableView_9, self. user_data, "ASOR", "KOD")) self.searchItemByGroupButton_3.clicked.connect( lambda: self.searchItemByName(self.model_9, self.tableView_9, self. user_data, "ASOR", "GRUPA")) self.searchForItemButton_4.clicked.connect( lambda: self.searchItemByName(self.model_11, self.tableView_11, self.user_data, "ASOR", "NAZWA")) self.searchItemByCodeButton_4.clicked.connect( lambda: self.searchItemByCode(self.model_11, self.tableView_11, self.user_data, "ASOR", "KOD")) self.searchItemByGroupButton_4.clicked.connect( lambda: self.searchItemByName(self.model_11, self.tableView_11, self.user_data, "ASOR", "GRUPA")) self.invoiceGenerationDateEdit.setDate(datetime.datetime.now()) self.invoicePaymentDateEdit.setDate(datetime.datetime.now()) self.invoiceSaleDateEdit_2.setDate(datetime.datetime.now()) self.invoiceGenerationDateEdit_2.setDate(datetime.datetime.now()) self.invoicePaymentDateEdit_2.setDate(datetime.datetime.now()) self.invoiceSaleDateEdit_3.setDate(datetime.datetime.now()) self.mmGenerationDateEdit.setDate(datetime.datetime.now()) self.rwGenerationDateEdit_2.setDate(datetime.datetime.now()) self.documentsTypeComboBox.currentTextChanged.connect( lambda: self.refreshTable( operationsMongo.Database(self.setDocumentPreview()). sortDescending("NR_KOD"), 4)) self.invoiceTypeComboBox.currentTextChanged.connect( self.setInvoiceNumberLine) self.accountingNumberSpinBox.setValue( operationsMongo.Database("SP").getSingleLastData()["NUMER"] + 1) self.accountingNumberSpinBox_2.setValue( operationsMongo.Database("KU").getSingleLastData()["NR_KSIEG"] + 1) self.mmAccountingNumberSpinBox.setValue( operationsMongo.Database("MM").getSingleLastData()["NUMER"] + 1) self.rwAccountingNumberSpinBox_2.setValue( operationsMongo.Database("RW").getSingleLastData()["NUMER"] + 1) self.invoiceNumberEdit.setText("H" + str( operationsMongo.Database("SP").getSingleLastData()["NUMER"] + 1) + "/1") self.mmNumberEdit.setText("MM" + str( operationsMongo.Database("MM").getSingleLastData()["NUMER"] + 1) + "/1") self.rwNumberEdit_2.setText("RW" + str( operationsMongo.Database("RW").getSingleLastData()["NUMER"] + 1) + "/1") self.accountingNumberSpinBox.valueChanged.connect( lambda: self.invoiceNumberEdit.setText("H" + str( self.accountingNumberSpinBox.value()) + "/1")) self.mmAccountingNumberSpinBox.valueChanged.connect( lambda: self.mmNumberEdit.setText("MM" + str( self.mmAccountingNumberSpinBox.value()) + "/1")) self.rwAccountingNumberSpinBox_2.valueChanged.connect( lambda: self.rwNumberEdit_2.setText("RW" + str( self.rwAccountingNumberSpinBox_2.value()) + "/1")) self.actionDark_Theme.triggered.connect(self.setDarkTheme) self.actionAbout_Program_2.triggered.connect(self.openAboutItemWindow)
def context_menu(self, varModel, varTableView): menu = QtWidgets.QMenu() refresh_data = menu.addAction("Refresh Data") refresh_data.setIcon(QtGui.QIcon(":/icons/images/refresh.png")) if varModel == self.model: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("ASOR").getMultipleData(), 1)) elif varModel == self.model_2: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("KONTRAH").getMultipleData(), 2)) elif varModel == self.model_3: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("TEMPSP").getMultipleData(), 3)) elif varModel == self.model_4: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database(self.setDocumentPreview()). sortDescending("NR_KOD"), 4)) elif varModel == self.model_5: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("KONTRAH").getMultipleData(), 5)) elif varModel == self.model_6: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("ASOR").getMultipleData(), 6)) elif varModel == self.model_7: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("TEMPKU").getMultipleData(), 7)) elif varModel == self.model_9: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("ASOR").getMultipleData(), 9)) elif varModel == self.model_10: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("TEMPMM").getMultipleData(), 10)) elif varModel == self.model_11: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("ASOR").getMultipleData(), 11)) elif varModel == self.model_12: refresh_data.triggered.connect(lambda: self.refreshTable( operationsMongo.Database("TEMPRW").getMultipleData(), 12)) if varModel == self.model: add_to_invoice = menu.addAction("Add This To Invoice") add_to_invoice.setIcon(QtGui.QIcon(":/icons/images/choose.png")) add_to_invoice.triggered.connect( lambda: self.getAmountOfStuff(varModel, varTableView)) elif varModel == self.model_2: set_client_for_invoice = menu.addAction("Choose this Client") set_client_for_invoice.setIcon( QtGui.QIcon(":/icons/images/choose.png")) set_client_for_invoice.triggered.connect( lambda: self.setClient(varModel, varTableView)) elif varModel == self.model_6: add_to_invoice = menu.addAction("Add This To Invoice") add_to_invoice.setIcon(QtGui.QIcon(":/icons/images/choose.png")) add_to_invoice.triggered.connect( lambda: self.getAmountOfStuff(varModel, varTableView)) elif varModel == self.model_9: add_to_invoice = menu.addAction("Add This To Invoice") add_to_invoice.setIcon(QtGui.QIcon(":/icons/images/choose.png")) add_to_invoice.triggered.connect( lambda: self.getAmountOfStuff(varModel, varTableView)) elif varModel == self.model_11: add_to_invoice = menu.addAction("Add This To Invoice") add_to_invoice.setIcon(QtGui.QIcon(":/icons/images/choose.png")) add_to_invoice.triggered.connect( lambda: self.getAmountOfStuff(varModel, varTableView)) elif varModel == self.model_5: set_client_for_invoice = menu.addAction("Choose this Client") set_client_for_invoice.setIcon( QtGui.QIcon(":/icons/images/choose.png")) set_client_for_invoice.triggered.connect( lambda: self.setClient(varModel, varTableView)) elif varModel == self.model_4: show_this_invoice = menu.addAction("Show this invoice") show_this_invoice.setIcon(QtGui.QIcon(":/icons/images/look.png")) try: show_this_invoice.triggered.connect(lambda: self.refreshTable( varModel.showInvoice(varTableView.currentIndex(), self.setDocumentPreview()), 4)) except KeyError: QtWidgets.QMessageBox.critical(self, "Błąd", "Tu nie ma zawartości!") except TypeError: QtWidgets.QMessageBox.critical(self, "Błąd", "Tu nie ma zawartości!") if varModel == self.model_4: pass else: add_data = menu.addAction("Add New Data") add_data.setIcon(QtGui.QIcon(":/icons/images/add.png")) add_data.triggered.connect(lambda: varModel.insertRows()) if varModel == self.model_4: pass else: if varTableView.selectedIndexes(): remove_data = menu.addAction("Remove Data") remove_data.setIcon(QtGui.QIcon(":/icons/images/delete.png")) remove_data.triggered.connect( lambda: varModel.removeRows(varTableView.currentIndex())) cursor = QtGui.QCursor() menu.exec_(cursor.pos()) return PythonMongoDB.invoice