-
Notifications
You must be signed in to change notification settings - Fork 0
/
Product_Class.py
52 lines (42 loc) · 1.61 KB
/
Product_Class.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
# -*- coding: utf-8 -*-
import sys
from PySide import QtCore, QtGui
from ui.Product_Ui import Ui_Product
from ui.ProductPeriod_Ui import Ui_ProductPeriod
from localDb_Class import localDb_Class
class Product_Class(QtGui.QDialog):
periods = []
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
self.ui = Ui_Product()
self.ui.setupUi(self)
self.parent = parent
self.connect(self.ui.saveButton, QtCore.SIGNAL("clicked()"),QtCore.SLOT("saveProduct()"))
self.connect(self.ui.addPeriodButton, QtCore.SIGNAL("clicked()"),QtCore.SLOT("addPeriod()"))
def saveProduct(self):
data = self.ui.nameEdit.text()
db = localDb_Class()
try:
db.insert_val('product',(data,))
except:
None
pid = db.select_val_by_col('product', 'name', "'%s'" % data)['rows'][0]['id']
for period in self.periods:
period.saveData(db, pid)
db.close_db()
self.close()
self.parent.renew()
def addPeriod(self):
period = Period_Class(self)
self.periods.append(period)
self.ui.periodLayout.addWidget(self.periods[-1])
class Period_Class(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_ProductPeriod()
self.ui.setupUi(self)
def getData(self,pid):
data = (pid, self.ui.startDate.date().toString('dd-MM'), self.ui.finishDate.date().toString('dd-MM'), self.ui.percent.text())
return data
def saveData(self,db,pid):
db.insert_val('coefficient',self.getData(pid))