Ejemplo n.º 1
0
 def dodajNovuKategoriju(self):
     kategorija = self.unetaKategorija.text()
     if kategorija == "":
         ObavestavajucaPoruka("Morate uneti naziv kategorije.")
         return
     for id in self.recept.kategorije:
         if QApplication.instance().actionManager.receptiMenadzer.vratiNazivKategorije(id) == kategorija:
             ObavestavajucaPoruka("Uneta kategorija je vec dodeljena receptu.")
             return
     for id in self.dodateKategorije:
         if QApplication.instance().actionManager.receptiMenadzer.vratiNazivKategorije(id) == kategorija:
             ObavestavajucaPoruka("Uneta kategorija je vec dodeljena receptu.")
             return
     provera = False
     for kat in self.kategorijeNazivi:
         if kat.lower() == kategorija.lower():
             provera = True
     if provera == False:
         ObavestavajucaPoruka("Morate uneti kategoriju koja postoji.")
         return
     id = QApplication.instance().actionManager.receptiMenadzer.postojanjeKategorije(kategorija)
     self.dodateKategorije.append(id)
     tekst = self.kategorije.text()
     tekst += ", "
     tekst += kategorija
     self.kategorije.setText("<b>{0}</b>".format(tekst))
Ejemplo n.º 2
0
    def azurirajNalog(self):
        if self.novoKIme.text() == "" and self.novoMesto.text(
        ) == "" and self.noviPostanskiBr.text() == "":
            ObavestavajucaPoruka("Niste uneli nove podatke.")
        elif QApplication.instance(
        ).actionManager.informacije.provjeriKorisnicko(
                self.novoKIme.text()) == True:
            ObavestavajucaPoruka(
                "Vec postoji korisnik sa unijetim korisnickim imenom")
        else:
            if self.novoKIme.text() != "":
                staroKorisnicko = self.korisnik.korisnickoIme
                self.korisnik.korisnickoIme = self.novoKIme.text()
                self.kIme.setText(self.novoKIme.text())
                self.korisnik.azurirajHtmlDokument(staroKorisnicko)
                # QApplication.instance().actionManager.informacije.azurirajHtmlDokument(self.korisnik, staroKorisnicko)

            if self.novoMesto.text() != "":
                self.korisnik.mesto.nazivMesta = self.novoMesto.text()
                self.mesto.setText(self.novoMesto.text())

            if self.noviPostanskiBr.text() != "":
                self.korisnik.mesto.postanskiBroj = self.noviPostanskiBr.text()
                self.postanskiBr.setText(self.noviPostanskiBr.text())

            QApplication.instance().actionManager.informacije.upisiKorisnika()
            # QApplication.instance().actionManager.informacije.citanjeKorisnika()
            self.parent.refresujStranu()
Ejemplo n.º 3
0
    def registracija(self):
        """
        Funkcija koja preuzima podatke koje je korisnik uneo i kreira novog korisnika aplikacije.
        :return:
        """

        ime = self.tekstovi[0].text()
        prezime = self.tekstovi[1].text()
        kIme = self.tekstovi[2].text()
        lozinka = self.tekstovi[3].text()
        ponovnaLozinka = self.tekstovi[4].text()
        mejl = self.tekstovi[5].text()
        adresa = self.tekstovi[6].text()
        mesto = self.tekstovi[7].text()
        ppt = self.tekstovi[8].text()
        pol = self.pol.currentIndex()
        datum = self.datum.date().toPyDate()
        if ime == "" or prezime == "" or kIme == "" or lozinka == "" or mejl == "" or adresa == "" or mesto == "" or ppt == "":
            ObavestavajucaPoruka("Niste popunili sva polja.")
        else:
            if lozinka != ponovnaLozinka:
                ObavestavajucaPoruka("Vasa lozinka nije ispravna.")
            self.registrovaniKorisnik = QApplication.instance(
            ).actionManager.informacije.kreirajKorisnika(
                ime, prezime, kIme, lozinka, mejl, str(datum), adresa, mesto,
                ppt, pol, self.dugotrajniSastojci, self.dugotrajnaOprema, [],
                0, 0, [], [])
            self.hide()
    def dodajNoviAparat(self):
        """
        Funkcija koja se poziva kada korisnik zeli da unese aparat koji se ne nalazi u tabeli postojecih aparata.
        Kreira se novi objekat, dodaje u listu dodatih aparata i prikazuje u tabeli dodatih aparata.
        :return:
        """
        naziv = self.nazivOpreme.text()
        marka = self.nazivMarke.text()

        oprema = self.opremaMenadzer.kreirajOpremu(naziv, marka)

        if naziv == "" or marka == "":
            ObavestavajucaPoruka("Morate uneti naziv i marku aparata.")
        else:
            if oprema == None:
                ObavestavajucaPoruka("Aparat vec postoji.")
            else:
                brojRedova = self.dodataOprema.rowCount()
                self.dodataOprema.insertRow(brojRedova)
                self.dodatiUTabelu.append(oprema.sifra)
                self.dodataOprema.setItem(brojRedova, 0,
                                          QTableWidgetItem(str(oprema.sifra)))
                self.dodataOprema.setItem(brojRedova, 1,
                                          QTableWidgetItem(oprema.naziv))
                self.dodataOprema.setItem(brojRedova, 2,
                                          QTableWidgetItem(oprema.marka))
    def dodajIzTabele(self):
        """
        Funkcija koja se poziva kada korisnik oznaci red u tabeli postojecih aparata i pritisne dugme "Dodaj aparat".
        Aparat koji je oznacen bice sacuvan u listi dodatih aparata.
        :return:
        """
        svaOprema = self.opremaMenadzer.svaOprema
        redovi = self.postojecaOprema.selectionModel().selectedRows()
        brojRedova = self.dodataOprema.rowCount()

        brojac = 0
        for red in redovi:
            if red.row() - 1 < 0:
                self.kreirajDijalogSPorukom(
                    "Ne mozete oznaciti red sa nazivima kolona.")
            else:
                # oprema = svaOprema[red.row() - 1]
                oprema = QApplication.instance(
                ).actionManager.opremaMenadzer.vratiOpremu(
                    self.postojecaOprema.item(red.row(), 0).text())
                if oprema.sifra in self.dodatiUTabelu:
                    ObavestavajucaPoruka("Oznaceni aparat ste vec dodali.")
                else:
                    self.dodataOprema.insertRow(brojRedova + brojac)
                    self.dodatiUTabelu.append(oprema.sifra)
                    self.dodataOprema.setItem(
                        brojRedova + brojac, 0,
                        QTableWidgetItem(str(oprema.sifra)))
                    self.dodataOprema.setItem(brojRedova + brojac, 1,
                                              QTableWidgetItem(oprema.naziv))
                    self.dodataOprema.setItem(brojRedova + brojac, 2,
                                              QTableWidgetItem(oprema.marka))
                    brojac += 1
Ejemplo n.º 6
0
 def promeniLozinku(self):
     if QApplication.instance(
     ).actionManager.prijavljeniKorisnik.lozinka != self.staraLozinka.text(
     ):
         ObavestavajucaPoruka(
             "Uneta stara lozinka nije ispravna. Pokusajte ponovo.")
         self.staraLozinka.setText("")
     else:
         if self.novaLozinka.text() != self.novaLozinkaPonovo.text():
             ObavestavajucaPoruka(
                 "Nova lozinka i ponovljena nova lozinka se ne poklapaju. Pokusajte ponovo."
             )
             self.novaLozinka.setText("")
             self.novaLozinkaPonovo.setText("")
         else:
             QApplication.instance(
             ).actionManager.informacije.promeniLozinkuPrijavljenom(
                 self.novaLozinka.text())
             ObavestavajucaPoruka("Uspesno ste promenili lozinku.")
             self.close()
Ejemplo n.º 7
0
    def prijava(self):
        """
        Funkcija koja se poziva kada korisnik pritisne dugme 'Prijavi se'. Unutar funkcije poziva se funkcija koja
        proverava tacnost korisnickog imena i lozinke. U zavisnosti od uloge korisnika u sistemu objekat se kastuje.
        :return:
        """
        # ovde je potrebno obaviti poziv za funkciju koja provjerava ad li je korisnik prijavljen
        # i vraca objekat sa svim njegovim informacijama
        korisnik = provjeraPostojanjaKorisnika(self.korisnickoIme.text(),
                                               self.lozinka.text())

        if (korisnik != None):
            self.hide()
            if (isinstance(korisnik, Administrator)):
                QApplication.instance(
                ).actionManager.prijavljeniKorisnik = korisnik
                QApplication.instance(
                ).actionManager.glavniProzor = AdministratorPocetna()
                QApplication.instance(
                ).actionManager.glavniProzor.showMaximized()
                QApplication.instance(
                ).actionManager.glavniProzor.postaviPoziciju()
                QApplication.instance().actionManager.glavniProzor.show()
            elif (isinstance(korisnik, Urednik)):
                QApplication.instance(
                ).actionManager.prijavljeniKorisnik = korisnik
                QApplication.instance(
                ).actionManager.glavniProzor = UrednikPocetna()
                QApplication.instance(
                ).actionManager.glavniProzor.postaviPoziciju()
                try:
                    receptiZaUredjivanje = QApplication.instance(
                    ).actionManager.receptiMenadzer.pronadjiRecepteZaUredjivanje(
                        korisnik)

                    QApplication.instance(
                    ).actionManager.glavniProzor.refresujPocetnu(
                        receptiZaUredjivanje, None, None, None)
                except Exception as e:
                    print(e)
            else:
                QApplication.instance(
                ).actionManager.prijavljeniKorisnik = korisnik
                QApplication.instance(
                ).actionManager.glavniProzor = KuvarPocetna()
                QApplication.instance(
                ).actionManager.glavniProzor.refresujPocetnu(
                    None, None, None, None)
        else:
            ObavestavajucaPoruka(
                "Pogresno korisnicko ime ili lozinka. Pokusajte ponovo.")
            self.lozinka.setText("")
            self.korisnickoIme.setText("")
Ejemplo n.º 8
0
    def azurirajProfil(self):
        if self.labelaIme.text(
        ) == self.korisnik.ime and self.labelaKorisnicko.text(
        ) == self.korisnik.korisnickoIme and self.labelaPrezime.text(
        ) == self.korisnik.prezime and self.korisnik.datumRodjenja == str(
                self.labelaDatum.date().toPyDate()
        ) and self.labelaAdresa.text(
        ) == self.korisnik.adresa and self.labelaMejl.text(
        ) == self.korisnik.mejl and self.labelaMesto.text(
        ) == self.korisnik.mesto.nazivMesta and self.labelaPostanski.text(
        ) == self.korisnik.mesto.postanskiBroj and self.comboBox.currentIndex(
        ) == self.korisnik.pol:
            ObavestavajucaPoruka("Morate naciniti neke promene.")
        else:
            staroKorisnicko = self.korisnik.korisnickoIme
            # self.korisnik.ime = self.labelaIme.text()
            # self.korisnik.prezime = self.labelaPrezime.text()
            # self.korisnik.korisnickoIme = self.labelaKorisnicko.text()
            # self.korisnik.datumRodjenja = str(self.labelaDatum.date().toPyDate())
            # self.korisnik.mesto.nazivMesta = self.labelaMesto.text()
            # self.korisnik.adresa = self.labelaAdresa.text()
            # self.korisnik.mesto.postanskiBroj = self.labelaPostanski.text()
            # self.korisnik.mejl = self.labelaMejl.text()
            # if self.comboBox.currentIndex() == 0:
            #     self.korisnik.pol = 0
            # else:
            #     self.korisnik.pol = 1
            ime = self.labelaIme.text()
            prezime = self.labelaPrezime.text()
            kIme = self.labelaKorisnicko.text()
            datum = str(self.labelaDatum.date().toPyDate())
            nazivMesta = self.labelaMesto.text()
            adresa = self.labelaAdresa.text()
            ppt = self.labelaPostanski.text()
            mejl = self.labelaMejl.text()
            if self.comboBox.currentIndex() == 0:
                pol = 0
            else:
                pol = 1

            QApplication.instance(
            ).actionManager.prijavljeniKorisnik.azurirajNalog(
                ime, prezime, kIme, mejl, datum, adresa, nazivMesta, ppt, pol)

            if isinstance(self.korisnik, Administrator):
                QApplication.instance(
                ).actionManager.informacije.upisiAdministratora()
            else:
                QApplication.instance(
                ).actionManager.informacije.upisiUrednike()
                self.korisnik.azurirajHtmlDokument(staroKorisnicko)
            self.close()
    def dodavanjeNovogSastojka(self):
        """
        Funkcija koja se poziva kada korisnik pritisne dugme 'Dodaj sastojak', a prethodno je uneo naziv sastojka
        i izabrao tip kolicine. Korisnik na ovaj nacin dodaje sastojak koji se ne nalazi u tabeli postojecih sastojaka.
        :return:
        """
        naziv = self.nazivSastojka.text()
        tip = self.comboBox.currentIndex()

        if tip == 0:
            tipKolicine = TipKolicine.GRAM
        elif tip == 1:
            tipKolicine = TipKolicine.DL
        elif tip == 2:
            tipKolicine = TipKolicine.KOMAD
        elif tip == 3:
            tipKolicine = TipKolicine.SUPENAKASIKA
        else:
            tipKolicine = TipKolicine.PRSTOHVAT
        if naziv == "":
            ObavestavajucaPoruka("Potrebno je uneti naziv sastojka.")
        else:
            sastojak = self.sastojciMenadzer.kreirajSastojak(
                naziv, tipKolicine)
            if sastojak == None:
                ObavestavajucaPoruka(
                    "Uneti sastojak vec postoji u listi sastojaka.")

            else:
                brojRedova = self.dodatiSastojci.rowCount()
                self.dodatiSastojci.insertRow(brojRedova)
                self.dodatiUTabelu.append(sastojak.sifra)
                self.dodatiSastojci.setItem(
                    brojRedova, 0, QTableWidgetItem(str(sastojak.sifra)))
                self.dodatiSastojci.setItem(brojRedova, 1,
                                            QTableWidgetItem(sastojak.naziv))
                self.dodatiSastojci.setItem(
                    brojRedova, 2, QTableWidgetItem(str(sastojak.tipKolicine)))
 def dodajSastojak(self):
     """
     Funkcija koja se poziva kada korisnik zali da oznaceni sastojak iz tabele postojecih sastojaka doda u
     listu svojih dugotrajnih sastojaka prilikom registracije. Aktivira se pritiskom na dugme 'Dodaj sastojak'.
     :return:
     """
     sviSastojci = self.sastojciMenadzer.sviSastojci
     redovi = self.postojeciSastojci.selectionModel().selectedRows()
     brojRedova = self.dodatiSastojci.rowCount()
     brojac = 0
     for red in redovi:
         if red.row() - 1 < 0:
             ObavestavajucaPoruka(
                 "Ne mozete oznaciti red sa nazivima kolona.")
         else:
             naziv = self.postojeciSastojci.item(red.row(), 2).text()
             tipKolicine = self.vratiEnum(naziv)
             sastojak = QApplication.instance(
             ).actionManager.sastojciMenadzer.vratiSastojakPoNazivuITipuKolicine(
                 self.postojeciSastojci.item(red.row(), 1).text(),
                 tipKolicine)
             # sastojak = sviSastojci[red.row()-1]
             if sastojak.sifra in self.dodatiUTabelu:
                 ObavestavajucaPoruka("Vec ste dodali ovaj sastojak.")
             else:
                 self.dodatiSastojci.insertRow(brojRedova + brojac)
                 self.dodatiUTabelu.append(sastojak.sifra)
                 self.dodatiSastojci.setItem(
                     brojRedova + brojac, 0,
                     QTableWidgetItem(str(sastojak.sifra)))
                 self.dodatiSastojci.setItem(
                     brojRedova + brojac, 1,
                     QTableWidgetItem(sastojak.naziv))
                 self.dodatiSastojci.setItem(
                     brojRedova + brojac, 2,
                     QTableWidgetItem(str(sastojak.tipKolicine)))
                 brojac += 1
Ejemplo n.º 11
0
 def oceniRecept(self):
     # if QApplication.instance().actionManager.receptiMenadzer.proveriPrethodnoOcenjivanje(self.recept) == False:
     if self.recept.proveriPrethodnoOcenjivanje(QApplication.instance(
     ).actionManager.prijavljeniKorisnik) == False:
         ocena = self.comboOcena.currentIndex() + 1
         # QApplication.instance().actionManager.receptiMenadzer.dodajOcenuReceptu(self.recept, ocena)
         self.recept.dodajOcenuReceptu(
             ocena,
             QApplication.instance().actionManager.prijavljeniKorisnik.
             korisnickoIme)
         QApplication.instance(
         ).actionManager.receptiMenadzer.sacuvajRecepte()
         self.ocjena.setText("<h4>Ocjena :{0}</h4>".format(
             self.recept.ocena.vrednost))
     else:
         ObavestavajucaPoruka("Vec ste ocenili ovaj recept.")
Ejemplo n.º 12
0
 def azuriranjeNaloga(self):
     provera = False
     staroKorisnicko = self.korisnik.korisnickoIme
     if self.novoKorisnicko.text() != "":
         self.korisnik.korisnickoIme = self.novoKorisnicko.text()
         provera = True
     if self.noviNazivMesta.text() != "":
         provera = True
         self.korisnik.mesto.nazivMesta = self.noviNazivMesta.text()
     if self.noviPostanskiBroj.text() != "":
         self.korisnik.mesto.postanskiBroj = self.noviPostanskiBroj.text()
         provera = True
     if provera == False:
         ObavestavajucaPoruka(
             "Morate uneti nove podatke da biste azurirali nalog.")
     else:
         azurirajKuvara(staroKorisnicko, self.korisnik)
         self.hide()
Ejemplo n.º 13
0
 def azurirajRecept(self):
     naziv = self.noviNaziv.toPlainText()
     opis = self.noviOpis.toPlainText()
     if naziv == self.recept.naziv and opis == self.recept.opis and len(self.dodateKategorije) == 0:
         ObavestavajucaPoruka("Morate naciniti neke izmene.")
     else:
         potvrda = QMessageBox
         odgovor = potvrda.question(self, 'Potvrda',
                                    "Da li ste sigurni da zelite da azurirate recept. Ako pritisnete Yes necete vise imati pristup ovom receptu.",
                                    potvrda.Yes | potvrda.No)
         if odgovor == potvrda.Yes:
             if naziv != self.recept.naziv:
                 self.recept.naziv = naziv
                 # QApplication.instance().actionManager.receptiMenadzer.azurirajHtmlDokument(self.recept)
                 self.recept.azurirajHtmlDokument()
             self.recept.opis = opis
             for kategorija in self.dodateKategorije:
                 self.recept.kategorije.append(kategorija)
             self.sacuvajPromene()
             self.close()