update files, bring to latest code
This commit is contained in:
@@ -2,18 +2,20 @@ from .sources.Ui_dialog_addNewTitleEntry import Ui_Dialog
|
||||
from PyQt6 import QtWidgets, QtCore, QtGui
|
||||
from src.logic import Database
|
||||
from src.schemas import Book
|
||||
|
||||
from src.utils import Icon
|
||||
|
||||
class NewEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self, title):
|
||||
def __init__(self, title_id: list[int]):
|
||||
super(NewEntry, self).__init__()
|
||||
self.setupUi(self)
|
||||
self.setWindowTitle("Neues Exemplar hinzufügen")
|
||||
self.setWindowIcon(Icon("newentry").overwriteColor("#ffffff"))
|
||||
self.tableWidget.horizontalHeader().setSectionResizeMode(
|
||||
QtWidgets.QHeaderView.ResizeMode.Stretch
|
||||
)
|
||||
self.db = Database()
|
||||
self.titles = title
|
||||
self.titles = title_id
|
||||
self.newIds = []
|
||||
self.populateTable()
|
||||
self.btn_addNewBook.clicked.connect(self.addEntry)
|
||||
self.buttonBox.accepted.connect(self.insertEntry)
|
||||
@@ -26,16 +28,30 @@ class NewEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.tableWidget.setItem(
|
||||
row, i, QtWidgets.QTableWidgetItem(self.tableWidget.item(row - 1, i))
|
||||
)
|
||||
|
||||
if i == 2 and "+" in self.tableWidget.item(row, i).text():
|
||||
entry = self.tableWidget.item(row, i).text().split("+")[1]
|
||||
entry = str(int(entry) + 1)
|
||||
self.tableWidget.setItem(
|
||||
row,
|
||||
i,
|
||||
QtWidgets.QTableWidgetItem(
|
||||
self.tableWidget.item(row, i).text().split("+")[0] + "+" + entry
|
||||
),
|
||||
)
|
||||
def populateTable(self):
|
||||
for title in self.titles:
|
||||
print(title)
|
||||
entry = self.db.getMedia(title)
|
||||
self.tableWidget.insertRow(0)
|
||||
self.tableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem(entry.isbn))
|
||||
self.tableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(entry.title))
|
||||
self.tableWidget.setItem(0, 2, QtWidgets.QTableWidgetItem(entry.signature))
|
||||
self.tableWidget.setItem(0, 3, QtWidgets.QTableWidgetItem(entry.ppn))
|
||||
entries = self.db.getMediaSimilarSignatureByID(title)
|
||||
# sort by signature
|
||||
entries.sort(key=lambda x: x.signature, reverse=True)
|
||||
for entry in entries:
|
||||
self.tableWidget.insertRow(0)
|
||||
self.tableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem(entry.isbn))
|
||||
self.tableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(entry.title))
|
||||
self.tableWidget.setItem(
|
||||
0, 2, QtWidgets.QTableWidgetItem(entry.signature)
|
||||
)
|
||||
self.tableWidget.setItem(0, 3, QtWidgets.QTableWidgetItem(entry.ppn))
|
||||
|
||||
def insertEntry(self):
|
||||
# get all rows, convert them to Book and insert into database
|
||||
@@ -52,7 +68,8 @@ class NewEntry(QtWidgets.QDialog, Ui_Dialog):
|
||||
)
|
||||
print(book)
|
||||
if not self.db.checkMediaExists(book):
|
||||
self.db.insertMedia(book)
|
||||
newBookId = self.db.insertMedia(book)
|
||||
self.newIds.append(newBookId)
|
||||
|
||||
|
||||
def launch():
|
||||
|
||||
Reference in New Issue
Block a user