def __init__(self, ref, currentTemplate, rawTemplate, library): super(newEntry, self).__init__() self.ui = Ui_newEntry() self.ui.setupUi(self) self.ref = ref self.fields = library.field_types self.tableColumns = library.table_columns self.selectedTemplate = currentTemplate self.true_columns = library.true_columns self.rawTemplate = rawTemplate self.ui.cancelButton.clicked.connect(self.close) self.ui.submitButton.clicked.connect(self.submit) self.formLayout = QFormLayout() self.scrollWidget = QWidget() self.scrollWidget.setLayout(self.formLayout) self.ui.scrollArea.setWidgetResizable(True) self.ui.scrollArea.setWidget(self.scrollWidget) for item in library.field_list: self.formLayout.addRow(QLabel(item), QLineEdit())
class newEntry(QWidget): def __init__(self, ref, currentTemplate, rawTemplate, library): super(newEntry, self).__init__() self.ui = Ui_newEntry() self.ui.setupUi(self) self.ref = ref self.fields = library.field_types self.tableColumns = library.table_columns self.selectedTemplate = currentTemplate self.true_columns = library.true_columns self.rawTemplate = rawTemplate self.ui.cancelButton.clicked.connect(self.close) self.ui.submitButton.clicked.connect(self.submit) self.formLayout = QFormLayout() self.scrollWidget = QWidget() self.scrollWidget.setLayout(self.formLayout) self.ui.scrollArea.setWidgetResizable(True) self.ui.scrollArea.setWidget(self.scrollWidget) for item in library.field_list: self.formLayout.addRow(QLabel(item), QLineEdit()) def submit(self): types = {} submitDict = {} # Check all the fields to make sure they are of the correct type. for i in range(self.formLayout.rowCount()): field = self.formLayout.itemAt(i, 0).widget().text() value = self.formLayout.itemAt(i, 1).widget().text() type = self.fields[field] if type == "integer" and not checkInt(value): errorMessage(field + " must be an integer!") return if type == "text" and value == "": errorMessage(field + " may not be blank!") return submitDict[field] = value types[value] = type # Now, add to the database. conn = sqlite3.connect('libraries/' + self.rawTemplate + '.db') c = conn.cursor() command = "INSERT INTO " + self.selectedTemplate + " VALUES (" submitList = [] for i in range(len(self.fields)): #command = command + submitDict[self.tableColumns[i]] + "," command += "?," submitList.append(submitDict[self.true_columns[self.tableColumns[i]]]) command = command[:-1] + ')' c.execute(command, submitList) conn.commit() conn.close() self.ref.refresh(submitDict) self.close()
class newEntry(QWidget): def __init__(self, ref, currentTemplate, rawTemplate, library): super(newEntry, self).__init__() self.ui = Ui_newEntry() self.ui.setupUi(self) self.ref = ref self.fields = library.field_types self.tableColumns = library.table_columns self.selectedTemplate = currentTemplate self.true_columns = library.true_columns self.rawTemplate = rawTemplate self.ui.cancelButton.clicked.connect(self.close) self.ui.submitButton.clicked.connect(self.submit) self.formLayout = QFormLayout() self.scrollWidget = QWidget() self.scrollWidget.setLayout(self.formLayout) self.ui.scrollArea.setWidgetResizable(True) self.ui.scrollArea.setWidget(self.scrollWidget) for item in library.field_list: self.formLayout.addRow(QLabel(item), QLineEdit()) def submit(self): types = {} submitDict = {} # Check all the fields to make sure they are of the correct type. for i in range(self.formLayout.rowCount()): field = self.formLayout.itemAt(i, 0).widget().text() value = self.formLayout.itemAt(i, 1).widget().text() type = self.fields[field] if type == "integer" and not checkInt(value): errorMessage(field + " must be an integer!") return if type == "text" and value == "": errorMessage(field + " may not be blank!") return submitDict[field] = value types[value] = type # Now, add to the database. conn = sqlite3.connect('libraries/' + self.rawTemplate + '.db') c = conn.cursor() command = "INSERT INTO " + self.selectedTemplate + " VALUES (" submitList = [] for i in range(len(self.fields)): #command = command + submitDict[self.tableColumns[i]] + "," command += "?," submitList.append( submitDict[self.true_columns[self.tableColumns[i]]]) command = command[:-1] + ')' c.execute(command, submitList) conn.commit() conn.close() self.ref.refresh(submitDict) self.close()