Пример #1
0
 def zmien_login(self):
     from PyQt5.QtWidgets import QInputDialog
     self.input_msg = QInputDialog()
     self.input_msg.setWindowIcon(QIcon('icons/cow.png'))
     self.input_msg.setWindowTitle('Zmiana loginu')
     self.input_msg.setLabelText('Wpisz nowy login:'******'Anuluj')
     id = str(self.id_uz())
     if self.input_msg.exec_():
         login = str(self.input_msg.textValue())
         query = 'UPDATE uzytkownicy SET nazwa_uz = "' + login + '" WHERE iduzytkownicy = ' + id + ';'
         polaczenie(query)
Пример #2
0
 def usun_konto(self):
     msg = QMessageBox(self)
     msg.setIcon(QMessageBox.Warning)
     msg.setText('Czy na pewno chcesz usunąć swoje konto?')
     msg.setWindowTitle('Usuwanie konta')
     msg.addButton('Tak', QMessageBox.YesRole)
     msg.addButton('Nie', QMessageBox.NoRole)
     msg = msg.exec_()
     if not msg and id_user[0] != 1:
         query = 'DELETE FROM "uzytkownicy" WHERE "iduzytkownicy" IS ("' + str(
             id_user[0]) + '");'
         polaczenie(query)
         self.statusBar().showMessage("Usunięto użytkownika", 10000)
Пример #3
0
 def zmien_haslo(self):
     from PyQt5.QtWidgets import QInputDialog
     from PyQt5.QtWidgets import QLineEdit
     self.input_msgh = QInputDialog()
     self.input_msgh.setWindowIcon(QIcon('icons/cow.png'))
     self.input_msgh.setWindowTitle('Zmiana hasła')
     self.input_msgh.setLabelText('Wpisz nowe hasło:')
     self.input_msgh.setCancelButtonText('Anuluj')
     self.input_msgh.setTextEchoMode(QLineEdit.Password)
     id = str(self.id_uz())
     if self.input_msgh.exec_():
         haslo = str(self.input_msgh.textValue())
         query = 'UPDATE uzytkownicy SET haslo_uz = "' + haslo + '" WHERE iduzytkownicy = ' + id + ';'
         polaczenie(query)
Пример #4
0
 def dodaj_poz(self):
     text, ok = QInputDialog.getText(self, 'Wprowadź pozycje', 'Pozycja:')
     if ok and text:
         query = 'CREATE TABLE IF NOT EXISTS "' + text + '" ("id_poz" INTEGER PRIMARY ' \
                                           'KEY AUTOINCREMENT, ' \
                                           '"symbol_narz"	TEXT, ' \
                                           '"vc" INTEGER,	"obroty" ' \
                                           'INTEGER, "fz" REAL, "posuw" ' \
                                           'INTEGER); '
         print(query)
         polaczenie(query)
         self.listaPozycji.clear()
         self.combo_poz.addItem(text)
         self.naglowki_kolumn()
         self.parent.statusBar().showMessage("Dodano pozycję " + text,
                                             10000)
     else:
         print("Nie wpisano pozycji")
Пример #5
0
 def dodaj(self):
     poz, masz, op, tm, tp, ok = MultiDialog().getMultidialog(self)
     print(poz, masz, op, tm, tp, ok)
     id = self.parent.id_user[0]
     if ok and poz:
         query = "INSERT INTO kolnierze(nr_detalu,maszyna,nazwa_op,tm,tp," \
                 "id_uzytkownika) VALUES ('" + poz + "','" + masz + "','" + op + "','" + tm + "','" + tp + "','" + str(
             id) + "');"
         print(query)
         polaczenie(query)
         if tm and tp:
             try:
                 self.uzupelniene()
             except:
                 pass
         self.model.select()
         self.parent.statusBar().showMessage("Dodano nową pozycję", 10000)
     else:
         print("Nie wpisano pozycji")
Пример #6
0
    def klikniecie(self):
        x = self.table_narz.currentIndex().row()
        y = self.table_narz.currentIndex().column()
        nazwa = self.table_narz.currentIndex().sibling(x, 1).data()
        print(nazwa)

        # Dodanie narzędzia do pozycji
        if nazwa:
            print(nazwa)
            query = "INSERT INTO '" + self.model_poz.tableName(
            ) + "'(symbol_narz) VALUES ('" + nazwa + "') "
            polaczenie(query)
            # Odświeża tabelę
            self.model_poz.select()
            self.parent.statusBar().showMessage(
                "Dodano narzędzie " + nazwa + " do pozycji " +
                self.model_poz.tableName(), 10000)
        else:
            print(self.model_poz.tableName())
            print("Brak wybranego narzędzia")
Пример #7
0
 def usun_pozycje(self):
     text, ok = QInputDialog.getItem(self,
                                     'Usuń pozycje',
                                     'Wybierz pozycję do usunięcia',
                                     self.listaPozycji[1:],
                                     editable=False)
     if ok:
         if text != 'Brak':
             print(text)
             query = 'DROP TABLE "main"."' + text + '";'
             polaczenie(query)
             self.listaPozycji.clear()
             self.naglowki_kolumn()
             indeks = self.combo_poz.findText(text)
             self.combo_poz.removeItem(indeks)
             self.parent.statusBar().showMessage("Usunięto pozycję", 10000)
         else:
             msg = QMessageBox()
             msg.setIcon(QMessageBox.Warning)
             msg.setWindowIcon(QIcon('icons/cow.png'))
             msg.setText("Wybierz poprawną pozycję")
             msg.setWindowTitle("Niewłaściwa pozycja")
             msg.exec_()
             self.usun_pozycje()
Пример #8
0
    def usun_konto(self):
        from PyQt5.QtWidgets import QMessageBox
        self.msg = QMessageBox()
        self.msg.setIcon(QMessageBox.Warning)
        self.msg.setWindowIcon(QIcon('icons/cow.png'))
        self.msg.setText('Czy na pewno chcesz usunąć konto?')
        self.msg.setWindowTitle('Usuwanie konta')
        self.msg.addButton('Tak', QMessageBox.YesRole)
        self.msg.addButton('Nie', QMessageBox.NoRole)
        msg = self.msg.exec_()
        id = self.id_uz()

        if not msg:
            query = 'DELETE FROM "uzytkownicy" WHERE "iduzytkownicy" IS ("' + str(
                id) + '");'
            polaczenie(query)
            self.horizontalLayout.removeWidget(self.label)
            self.label.hide()
            self.horizontalLayout.removeWidget(self.haslo)
            self.haslo.hide()
            self.horizontalLayout.removeWidget(self.login)
            self.login.hide()
            self.horizontalLayout.removeWidget(self.usun)
            self.usun.hide()
def wysylanie(text=None, nazwa=0):
    import smtplib, ssl
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    import time

    now = time.strftime("%c")
    query = 'SELECT "nazwa_uz" FROM "uzytkownicy" WHERE iduzytkownicy IS ' + str(
        nazwa)
    nazwa = polaczenie(query)

    sender_email = "*****@*****.**"
    receiver_email = "*****@*****.**"
    password = '******'

    message = MIMEMultipart("alternative")
    message["Date"] = now
    message["Subject"] = "Zgłoś problem PBPZ - ID: " + str(nazwa[0])
    message["From"] = sender_email
    message["To"] = receiver_email

    # Turn these into plain/html MIMEText objects
    part1 = MIMEText(text, "plain")

    # Add HTML/plain-text parts to MIMEMultipart message
    # The email client will try to render the last part first
    message.attach(part1)

    # Create secure connection with server and send email
    context = ssl.create_default_context()
    with smtplib.SMTP_SSL("poczta.hb.pl", 465, context=context) as server:
        server.login(sender_email, password)
        server.sendmail(sender_email, receiver_email, message.as_string())

    print('Wysłano')
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Information)
    msg.setWindowIcon(QIcon('icons/cow.png'))
    msg.setText("Zgłoszono błąd i nastąpi jego rozpatrzenie.")
    msg.setInformativeText("Dziękujemy za uwagi.")
    msg.setWindowTitle("Zgłoszono uwagę")
    msg.setStandardButtons(QMessageBox.Ok)
    msg.exec_()
Пример #10
0
 def logowanie(self):
     login = str(self.login.text())
     query = "SELECT iduzytkownicy FROM uzytkownicy WHERE nazwa_uz = '" + \
             login + "' AND haslo_uz = '" + str(self.haslo.text()) + "';"
     global id_user
     id_user = polaczenie(query)
     if id_user:
         print("Logowanie udane")
         self.accept()
     else:
         print("Coś jest nie tak...")
         QMessageBox.information(self, 'Błąd logowania', "Niepoprawne "
                                                         "hasło lub login"
                                                         " \nSpróbuj "
                                                         "ponownie",
                                 QMessageBox.Ok, QMessageBox.Ok)
     if not self.plik:
         file = open(os.environ['LOCALAPPDATA'] + '\\pbpz.cfg', 'x', -1,
                     'utf-8')
         file.write(login)
         file.close()
def opcje_uzytkownik(haslo, id_user):
    print(id_user[0])
    query = 'UPDATE "main"."uzytkownicy" SET "haslo_uz"="' + haslo + '" WHERE' \
                                                                     ' "iduzytkownicy"=' + "'" + str(
        id_user[0]) + "'" + '; '
    polaczenie(query)
def zmiana_uzytkownik(uzytkownik, id_user):
    query = 'UPDATE uzytkownicy SET nazwa_uz = "' + uzytkownik + '" WHERE iduzytkownicy = ' + \
            id_user[0] + ';'
    polaczenie(query)
def dodaj_uzytkownik(uzytkownik):
    query = 'INSERT INTO "main"."uzytkownicy"(nazwa_uz,haslo_uz) VALUES ("' + uzytkownik + '","' + uzytkownik + '");'
    polaczenie(query)
Пример #14
0
 def odczyt(self):
     id = str(self.parent.id_user[0])
     query = 'SELECT odczyt FROM uzytkownicy WHERE iduzytkownicy=' + id
     return polaczenie(query)[0]
    def dodanie(self):
        global tab, query
        tab_select = []
        if self.rodzaj == 'Frez palcowy':
            query = "INSERT INTO frezy_palcowe(symbol_freza, producent_fr, " \
                    "srednica_fr, dl_fr, dl_rob_fr) VALUES(?,?,?,?,?) "
            tab = (self.symbol_edit.text(), self.producent_edit.text(),
                   self.srednica_edit.text().replace(',', '.'),
                   self.dlugosc_edit.text().replace(',', '.'),
                   self.dlugosc_rob_edit.text().replace(',', '.'))
            tab_select = ['idfrezy_palcowe', 'frezy_palcowe', 'symbol_freza']
        if self.rodzaj == 'Frez płytkowy (głowica)':
            query = "INSERT INTO frezy_plytkowe(symbol_freza_pl, " \
                    "producent_fp, srednica_fr_pl, ilosc_plytek, symbol_pl," \
                    "ilosc_krawedzi_pl) VALUES(?,?,?,?,?,?) "
            tab = (self.symbol_edit.text(), self.producent_edit.text(),
                   self.srednica_edit.text().replace(',', '.'),
                   self.ilosc_pl_edit.text(), self.symbol_pl_edit.text(),
                   self.ilosc_kraw_edit.text())
            tab_select = [
                'idfrezy_plytkowe', 'frezy_plytkowe', 'symbol_frez_pl'
            ]
        if self.rodzaj == 'Gwintownik':
            query = "INSERT INTO gwintowniki(symbol_g, producent_gw, " \
                    "rozmiar_gwintu, typ_gwintownika) VALUES(?,?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.gwint_edit.text(),
                self.typ_gw_edit.text(),
            )
            tab_select = ['idgwintowniki', 'gwintowniki', 'symbol_g']
        if self.rodzaj == 'Nóż tokarski':
            query = "INSERT INTO noze_tokarskie(symbol_n, producent_n, " \
                    "plytki_n, ilosc_krawedzi_pl_n) VALUES(?,?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.symbol_pl_lbl.text(),
                self.ilosc_kraw_edit.text(),
            )
            tab_select = ['idnoze_tokarskie', 'noze_tokarskie', 'symbol_n']
        if self.rodzaj == 'Oprawka':
            query = "INSERT INTO oprawki(typ_oprawki, producent_opr, dl_opr, " \
                    "srednica_wew, srednica_zew) VALUES(?,?,?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.dlugosc_edit.text().replace(',', '.'),
                self.sr_wew_edit.text().replace(',', '.'),
                self.sr_zew_edit.text().replace(',', '.'),
            )
            tab_select = ['idoprawki', 'oprawki', 'typ_oprawki']
        if self.rodzaj == 'Piła':
            query = "INSERT INTO pily(symbol_p, producent_pil, srednica_p, " \
                    "grubosc_p, rodzaj_pl_p,ilosc_pl_p,ilosc_kraw_p) VALUES(" \
                    "?,?,?,?,?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.srednica_edit.text().replace(',', '.'),
                self.gr_edit.text(),
                self.symbol_pl_edit.text(),
                self.ilosc_pl_edit.text(),
                self.ilosc_kraw_edit.text(),
            )
            tab_select = ['idpily', 'pily', 'symbol_p']
        if self.rodzaj == 'Pozostałe':
            query = "INSERT INTO pozostale(symbol_poz, producent_poz, " \
                    "srednica_poz, ilosc_pl_poz, plytki_poz) VALUES(?,?,?,?," \
                    "?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.srednica_edit.text().replace(',', '.'),
                self.ilosc_pl_edit.text(),
                self.symbol_pl_edit.text(),
            )
            tab_select = ['idpozostale', 'pozostale', 'symbol_poz']
        if self.rodzaj == 'Rozwiertak':
            query = "INSERT INTO rozwiertaki(symbol_r, producent_roz, " \
                    "rozmiar_r) VALUES(?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.srednica_edit.text().replace(',', '.'),
            )
            tab_select = ['idrozwiertaki', 'rozwiertaki', 'symbol_r']
        if self.rodzaj == 'Wiertło':
            query = "INSERT INTO wiertla(symbol_w, producent_w, srednica_w, " \
                    "dlugosc_w) VALUES(?,?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.srednica_edit.text().replace(',', '.'),
                self.dlugosc_edit.text(),
            )
            tab_select = ['idwiertla', 'wiertla', 'symbol_w']
        if self.rodzaj == 'Wiertło składane':
            query = "INSERT INTO wiertla_skladane(symbol_w_skl, " \
                    "producent_ws, srednica_w_skl, plytki_w_skl) VALUES(?,?," \
                    "?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.srednica_edit.text().replace(',', '.'),
                self.symbol_pl_edit.text(),
            )
            tab_select = [
                'idwiertla_skladane', 'wiertla_skladane', 'symbol_w_skl'
            ]
        if self.rodzaj == 'Wygniatak':
            query = "INSERT INTO wygniataki(symbol_wyg, producent_wyg, " \
                    "rozmiar_gw) VALUES(?,?,?) "
            tab = (
                self.symbol_edit.text(),
                self.producent_edit.text(),
                self.gwint_edit.text(),
            )
            tab_select = ['idwygniataki', 'wygniataki', 'symbol_wyg']
        print(tab)
        q_spr = 'SELECT ' + tab_select[0] + ' FROM ' + tab_select[
            1] + ' WHERE ' + tab_select[2] + '="' + self.symbol_edit.text(
            ) + '"'
        if polaczenie(q_spr) and self.symbol_edit.text() != "":
            QMessageBox.warning(self, "Duplikujące się narzędzie",
                                "Narzędzie, które dodajesz, jest już w bazie",
                                QMessageBox.Ok)
        elif self.symbol_edit.text() == "":
            QMessageBox.critical(
                self, "Brak symbolu narzędzia",
                "Nie można dodać narzędzia bez wpisania "
                "symbolu", QMessageBox.Ok)
        else:
            polaczenie(query, tab)
            self.parent.statusBar().showMessage("Dodano narzędzie", 10000)

        # czyszczenie po dodaniu narzędzia
        self.symbol_edit.setText('')
        self.producent_edit.setText('')
        self.srednica_edit.setText('')
        self.dlugosc_edit.setText('')
        self.dlugosc_rob_edit.setText('')
        self.ilosc_pl_edit.setText('')
        self.ilosc_kraw_edit.setText('')
        self.symbol_pl_edit.setText('')
        self.gwint_edit.setText('')
        self.typ_gw_edit.setText('')
        self.typ_opr_edit.setText('')
        self.sr_wew_edit.setText('')
        self.sr_zew_edit.setText('')
        self.gr_edit.setText('')
Пример #16
0
 def id_uz(self):
     # ID użytkownika
     query = 'SELECT iduzytkownicy FROM uzytkownicy WHERE nazwa_uz IS ("' + str(
         self.label.text()) + '");'
     return polaczenie(query)[0]