Exemplo n.º 1
0
    def GenerateProducts(self):
        ProductList = self.ProductList
        ProductList.clear()
        #self.ProductList.setHorizontalHeaderLabels(['Code', 'Product', 'Price', 'Quantity'])
        # either labels are wrong or table output is wrong, i opted to change label
        self.ProductList.setHorizontalHeaderLabels(
            ['Code', 'Product', 'Manufacturer_ID', 'Price'])

        # either labels are wrong or table output is wrong, i opted to change label
        #result = read.product_quantity(c)
        result = read.table(tables.TableEnum.product, c)
        rowCount = 0
        self.ProductList.setRowCount(len(result))

        for item in result:
            self.ProductList.setItem(rowCount, 0,
                                     QTableWidgetItem(str(item[0])))
            self.ProductList.setItem(rowCount, 1, QTableWidgetItem(item[1]))
            # either labels are wrong or table output is wrong, i opted to change label
            #self.ProductList.setItem(rowCount, 2, QTableWidgetItem("$" + str(item[2])))
            #self.ProductList.setItem(rowCount, 3, QTableWidgetItem(str(item[3])))
            self.ProductList.setItem(rowCount, 2,
                                     QTableWidgetItem(str(item[2])))
            self.ProductList.setItem(rowCount, 3,
                                     QTableWidgetItem("$" + str(item[3])))
            rowCount = rowCount + 1
Exemplo n.º 2
0
    def populateTable(self, dialog):
        header1 = dialog.tableWidget.horizontalHeader()
        header1.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
        header1.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch)
        header1.setSectionResizeMode(1, QtWidgets.QHeaderView.Stretch)
        header1.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch)
        header1.setSectionResizeMode(4, QtWidgets.QHeaderView.Stretch)
        tableWidget = dialog.tableWidget
        tableWidget.clear()
        dialog.tableWidget.setHorizontalHeaderLabels(
            ['Batch_ID', 'Product_ID', 'EXP_date', 'Import_Date', 'Quantity'])

        batchList = read.table(tables.TableEnum.batch, c)
        rowCount = 0
        dialog.tableWidget.setRowCount(len(batchList))

        for item1 in batchList:
            dialog.tableWidget.setItem(rowCount, 0,
                                       QTableWidgetItem(str(item1[0])))
            dialog.tableWidget.setItem(rowCount, 1,
                                       QTableWidgetItem(str(item1[1])))
            dialog.tableWidget.setItem(rowCount, 2,
                                       QTableWidgetItem(str(item1[2])))
            dialog.tableWidget.setItem(rowCount, 3,
                                       QTableWidgetItem(str(item1[3])))
            dialog.tableWidget.setItem(rowCount, 4,
                                       QTableWidgetItem(str(item1[4])))
            rowCount = rowCount + 1
Exemplo n.º 3
0
    def ShowRestoredialog(self):
        mydialog = CreateInputDialog('Pages/StockDialog.ui')
        productList = read.table(tables.TableEnum.product, c)
        for product in productList:
            mydialog.ProductIDCombo.addItem(str(product[0]) + " " + product[1])

        mydialog.Confirm.clicked.connect(
            lambda: self.commitToDatabase(mydialog))

        mydialog.exec()
Exemplo n.º 4
0
from PyQt5.QtCore import QDate
from PyQt5.QtWidgets import QWidget, QApplication, QMainWindow, QTableWidgetItem, QDialog, QTableView, QTableWidget
from PyQt5.uic import loadUi
from UserInterface import SaleDialog, StockMenu, ReportMenu, ForecastMenu
from datetime import datetime
import read
import tables
import connect
import insert
import UserInterface.SideMenuModule as SideMenuModule

connector = connect.conn()
c = connector.cursor()

# This variable holds an array of product arrays
productList = read.table(tables.TableEnum.product, c)

# This variable holds an array of customers
customerList = read.table(tables.TableEnum.customer, c)


class NewSalesMenu(QMainWindow):
    # This is a hash table that holds individual
    # added sales (Key: Product Id, Value: Quantity).
    # It will be added, modified or emptied
    saleItems = {}

    # This hash table holds key-value pairs of products
    # Id and corresponding name. Used for searching for
    # product name
    productTable = {}
Exemplo n.º 5
0
 def test_table(self):
     result = read.table(tables.TableEnum.product, cursor)
     self.assertEqual(5, len(result))
     result = read.table(tables.TableEnum.sale_items, cursor)
     self.assertEqual(7, len(result))
Exemplo n.º 6
0
# Imports all the Database scripts
import UserInterface.SideMenuModule as SideMenuModule
import read
import connect
import tables
import insert
from UserInterface import SalesMenu, ReportMenu, ForecastMenu
from UserInterface.ProductDialog import ManageProductDialog
'''
This Method manages the code for the Stock UI and its related dialog popup boxes.
'''
# Probably bad practice but at dont have to create this object 1000 times
connector = connect.conn()
c = connector.cursor()
result = read.table(tables.TableEnum.manufacturer, c)


class NewStockMenu(QMainWindow):
    def __init__(self):
        super(NewStockMenu, self).__init__()
        loadUi('Pages/StockWindow.ui', self)
        self.show()

        # Variables
        self.CurrentView = "Product"

        # self.BatchView.setHidden(True)
        SideMenuModule.InitButtons(self, self.StockMenuButton)
        # Makes column size all even
        header = self.ProductList.horizontalHeader()
Exemplo n.º 7
0
        for num in args:
            if num == "":
                self.showErrorMsg()
                return False
            if not num.isnumeric():
                self.showErrorMsg()
                return False
            if int(num) < 1:
                self.showErrorMsg()
                return False
        if int(args[0]) > len(self.ProductTable):
            self.showErrorMsg()
            return False
        return True

    def showErrorMsg(self):
        self.ProductNameText.setText("Please enter a valid number")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    connector = connect.conn()
    c = connector.cursor()
    productList = read.table(tables.TableEnum.product, c)
    productTable = {}
    for x in productList:
        productTable[x[0]] = x[1]
    print(productTable)
    window = CreateSaleDialog('Pages/AddSaleDialog.ui', productTable, None, None)
    sys.exit(app.exec_())