/
VehicleForm.py
114 lines (106 loc) · 4.7 KB
/
VehicleForm.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from connector import Connector
from config import rx
class VehicleForm(QWidget):
commited = pyqtSignal()
def __init__(self, id_jednostki, status, id_pojazdu=None):
super().__init__()
self.id_jednostki = id_jednostki
self.status = status
self.id_pojazdu = id_pojazdu
self.setWindowTitle("Formularz (pojazd)")
self.layout = QFormLayout()
self.set_form()
self.addButton = QPushButton("Zapisz")
self.layout.addRow(QLabel())
self.layout.addRow(self.addButton)
gap = QLabel()
gap.setFixedHeight(1)
disclaimer = QLabel('<i><font color="#707070">tekst</font> - pole nieobowiązkowe</i>')
disclaimer.setAlignment(Qt.AlignRight)
self.layout.addRow(gap)
self.layout.addRow(disclaimer)
self.setLayout(self.layout)
self.setMinimumSize(280, 200)
self.addButton.clicked.connect(self.confirm)
def set_form(self):
self.rodzaj = QComboBox()
self.rodzaj.addItems(Connector.get_enum("rodzaj_pojazdu_type"))
self.producent = QLineEdit()
self.producent.setMaxLength(15)
self.producent.setValidator(QRegExpValidator(QRegExp(rx)))
self.model = QLineEdit()
self.model.setMaxLength(20)
self.model.setValidator(QRegExpValidator(QRegExp(rx)))
self.masa = QLineEdit()
self.masa.setValidator(QIntValidator())
self.zaloga = QLineEdit()
self.zaloga.setValidator(QIntValidator())
self.zasieg = QLineEdit()
self.zasieg.setValidator(QIntValidator())
self.rok = QLineEdit()
self.rok.setValidator(QIntValidator())
self.rejestracja = QLineEdit()
self.rejestracja.setMaxLength(7)
self.rejestracja.setValidator(QRegExpValidator(QRegExp(rx)))
if self.id_pojazdu is not None:
oldData = Connector.get_record("pojazdy", ["rodzaj", "producent", "model", "rok_produkcji", "masa",
"liczba_zalogi", "zasieg", "rejestracja", "status"],
self.id_pojazdu, "id_pojazdu", int)
self.rodzaj.setCurrentText(oldData[0])
self.producent.setText(oldData[1])
self.model.setText(oldData[2])
self.rok.setText(str(oldData[3]))
self.masa.setText(str(oldData[4]))
self.zaloga.setText(str(oldData[5]))
self.zasieg.setText(str(oldData[6]))
self.rejestracja.setText(oldData[7])
self.status = oldData[8]
self.layout.addRow("Rodzaj: ", self.rodzaj)
self.layout.addRow("Producent: ", self.producent)
self.layout.addRow("Model: ", self.model)
self.layout.addRow("Masa [kg]: ", self.masa)
self.layout.addRow("Liczba załogi: ", self.zaloga)
self.layout.addRow("Zasięg [km]: ", self.zasieg)
self.layout.addRow("Rok produkcji: ", self.rok)
self.layout.addRow(QLabel('<font color="#707070">Rejestracja: </font>'), self.rejestracja)
def confirm(self):
rodzaj = self.rodzaj.currentText()
producent = self.producent.text()
model = self.model.text()
masa = self.masa.text()
zaloga = self.zaloga.text()
zasieg = self.zasieg.text()
rok = self.rok.text()
rejestracja = self.rejestracja.text()
if rejestracja == "":
rejestracja = None
id_zamowienia = None
if self.id_pojazdu is not None:
if(Connector.update_row("pojazdy", ["rodzaj", "producent", "model", "rok_produkcji", "masa",
"liczba_zalogi", "zasieg", "rejestracja", "status"],
[rodzaj, producent, model, rok, masa, zaloga, zasieg, rejestracja, self.status],
self.id_pojazdu, "id_pojazdu", int)):
self.commited.emit()
self.close()
else:
if(Connector.create_vehicle([rodzaj,
producent,
model,
masa,
zaloga,
zasieg,
self.status,
rok,
rejestracja,
self.id_jednostki,
id_zamowienia])):
self.commited.emit()
self.close()
if __name__ == "__main__":
app = QApplication([])
window = VehicleForm('1', None, 0)
window.show()
app.exec_()