Exemple #1
0
def spremeni_oceno():
    nova_ocena = request.forms.nova_ocena
    if (not nova_ocena):
        bottle.response.set_cookie('napaka', None, path='/', secret=secret)
        bottle.response.set_cookie('id_izleta', None, path='/', secret=secret)
        redirect(url('/moja_stran'))
        return
    ocena = int(nova_ocena)
    id_izleta = bottle.request.get_cookie('id_izleta',
                                          default=None,
                                          secret=secret)
    if (ocena > 10 or ocena < 1):
        bottle.response.set_cookie('napaka',
                                   'Ocena mora biti med 1 in 10.',
                                   path='/',
                                   secret=secret)
        redirect(url('/moja_stran/uredi_oceno'))
        return
    cur.execute("UPDATE izlet SET ocena = %s WHERE id = %s",
                [ocena, id_izleta])
    conn.commit()
    bottle.response.set_cookie('napaka', None, path='/', secret=secret)
    bottle.response.set_cookie('id_izleta', None, path='/', secret=secret)
    redirect(url('/moja_stran'))
    return
Exemple #2
0
def sprememba_gesla():
    email = request.forms.email
    geslo1 = request.forms.geslo1
    geslo2 = request.forms.geslo2
    if (geslo1 != geslo2):
        # Geslo se ne ujemata
        bottle.response.set_cookie('napaka',
                                   'Gesli se ne ujemata.',
                                   path='/',
                                   secret=secret)
        redirect(url("/pozabljeno_geslo"))
        return
    cur.execute("SELECT * FROM osebe WHERE email = %s", [email])
    oseba = cur.fetchone()
    if (oseba):
        geslo = password_hash(geslo1)
        cur.execute("UPDATE osebe SET geslo = %s WHERE email = %s",
                    [geslo, email])
        conn.commit()
        redirect(url("/spremenjeno_geslo"))
        return
    else:
        bottle.response.set_cookie('napaka',
                                   'Ta email naslov ne obstaja.',
                                   path='/',
                                   secret=secret)
        redirect(url("/pozabljeno_geslo"))
        return
Exemple #3
0
def narocilo():
    uporabnik = request.get_cookie('uporabnik', secret=skrivnost)
    vrsta = request.forms.vrsta_zaloge
    kolicina = request.forms.kolicina
    if kolicina == '':
        nastaviSporocilo(
            'Naročite lahko minimalno eno jed. Prosim izpolnite polje kolicina'
        )
        redirect('/ponudba')
    #print(vrsta)
    #print(kolicina)
    cur.execute("SELECT cena FROM ponudba WHERE vrsta = %s", (vrsta, ))
    cena_jedi = cur.fetchone()[0]
    #print(cena_izdelka)
    cena_narocila = float(cena_jedi) * int(kolicina)
    #print(cena_narocila)
    try:
        cur.execute(
            "INSERT INTO narocila (id_narocnika, id_ponudbe, kolicina) VALUES ((SELECT id FROM narocniki WHERE up_ime=%s), (SELECT id FROM ponudba WHERE vrsta=%s), %s)",
            (uporabnik, vrsta, kolicina))
        conn.commit()
    except Exception as ex:
        conn.rollback()
    #napaka = "Še enkrat preglejte Vaše naročilo"
    #response.set_cookie('vrsta', vrsta, secret=skrivnost)
    #response.set_cookie('kolicina', kolicina, secret=skrivnost)
    #return template('povzetek_narocila.html',vrsta=vrsta, kolicina=kolicina, cena_narocila=cena_narocila, napaka=napaka)
    nastaviSporocilo(
        "{uporabnik}, vaše naročilo je bilo uspešno oddano. Skupna cena naročila znaša {cena_narocila} €"
        .format(uporabnik=uporabnik, cena_narocila=cena_narocila))
    redirect(url('/ponudba'))
Exemple #4
0
def povecaj_zalogo_post():
    #id = request.forms.id
    #zaloga_dodana = request.forms.zaloga_dodana
    id = request.forms.vrsta_zaloge
    zaloga_dodana = request.forms.kolicina_nove_zaloge
    #print(id)
    #print(zaloga_dodana)
    try:
        #cur.execute("UPDATE ponudba SET zaloga = zaloga + %s WHERE id = %s",(int(zaloga_dodana), int(id)))
        cur.execute("UPDATE ponudba SET zaloga = zaloga + %s WHERE vrsta = %s",
                    (int(zaloga_dodana), id))
        conn.commit()
    except Exception as ex:
        conn.rollback()
        cur.execute("SELECT vrsta FROM ponudba")
        ponudba = cur.fetchall()
        return template('povecaj_zalogo2.html',
                        ponudba=ponudba,
                        vrsta_zaloge='',
                        kolicina_nove_zaloge='',
                        napaka='Zgodila se je napaka: %s' % ex)
    nastaviSporocilo(
        "Število zaloge za {id} se je uspešno povečalo za {zaloga_dodana}.".
        format(id=id, zaloga_dodana=zaloga_dodana))
    redirect(url('/vodenje_restavracija'))
Exemple #5
0
def register_post():
    """Registriraj novega uporabnika."""
    ime = request.forms.ime
    priimek = request.forms.priimek
    email = request.forms.email
    # email = password_hash(email)
    drzavljanstvo = request.forms.drzavljanstvo
    geslo1 = request.forms.geslo1
    geslo2 = request.forms.geslo2
    # cur.execute("SELECT id, ime FROM drzave")
    # drzave = cur.fetchall()
    # Ali uporabnik že obstaja?
    cur.execute("SELECT * FROM osebe WHERE email = %s", [email])
    if cur.fetchone():
        # Uporabnik že obstaja
        bottle.response.set_cookie('napaka',
                                   'Ta E-mail že obstaja.',
                                   path='/',
                                   secret=secret)
        redirect(url("/registracija/"))
        return
        # return bottle.template("registracija.tpl", drzave=drzave,
        #                        napaka='Ta E-mail že obstaja', oseba=None)
    elif not geslo1 == geslo2:
        # Geslo se ne ujemata
        bottle.response.set_cookie('napaka',
                                   'Gesli se ne ujemata.',
                                   path='/',
                                   secret=secret)
        redirect(url("/registracija/"))
        return
        # return bottle.template("registracija.tpl", drzave=drzave,
        #                        napaka='Gesli se ne ujemata', oseba=None)
    else:
        # Vse je v redu, vstavi novega uporabnika v bazo
        geslo = password_hash(geslo1)
        cur.execute(
            "INSERT INTO osebe (ime, priimek, drzavljanstvo, email, geslo) VALUES (%s, %s, %s, %s, %s)",
            (ime, priimek, drzavljanstvo, email, geslo))
        conn.commit()
        # Daj uporabniku cookie
        bottle.response.set_cookie('email', email, path='/', secret=secret)
        bottle.response.set_cookie('geslo', geslo, path='/', secret=secret)
        bottle.redirect(url("/"))
        return
Exemple #6
0
def dodaj_zaposlenega_post():
    ime = request.forms.ime
    priimek = request.forms.priimek
    placa = request.forms.placa
    rojstvo = request.forms.rojstvo
    telefon = request.forms.telefon
    uporabnisko_ime = request.forms.uporabnisko_ime
    geslo1 = request.forms.geslo1
    geslo2 = request.forms.geslo2
    #print(placa)
    #print(rojstvo)
    #jezekdotak=cur.execute("SELECT * FROM narocniki WHERE up_ime=%s", (uporabnisko_ime))
    if preveri_za_narocnika(uporabnisko_ime) == False:
        return template(
            'dodaj_zaposlenega.html',
            ime=ime,
            priimek=priimek,
            placa=placa,
            rojstvo=rojstvo,
            telefon=telefon,
            uporabnisko_ime=uporabnisko_ime,
            geslo1=geslo1,
            geslo2=geslo2,
            napaka='Restavracija že ima člana s tem uporabniškim imenom')
    if geslo1 != geslo2:
        return template('dodaj_zaposlenega.html',
                        ime=ime,
                        priimek=priimek,
                        placa=placa,
                        rojstvo=rojstvo,
                        telefon=telefon,
                        uporabnisko_ime=uporabnisko_ime,
                        geslo1=geslo1,
                        geslo2=geslo2,
                        napaka='Gesli se ne ujemata')
    else:
        try:
            geslo = password_hash(geslo1)
            cur.execute(
                "INSERT INTO zaposleni (ime, priimek, telefon, placa, rojstvo, up_ime, geslo) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                (ime, priimek, telefon, placa, rojstvo, uporabnisko_ime,
                 geslo))
            conn.commit()
        except Exception as ex:
            conn.rollback()
            return template('dodaj_zaposlenega.html',
                            ime=ime,
                            priimek=priimek,
                            placa=placa,
                            rojstvo=rojstvo,
                            telefon=telefon,
                            uporabnisko_ime=uporabnisko_ime,
                            geslo1=geslo1,
                            geslo2=geslo2,
                            napaka='Zgodila se je napaka')
        nastaviSporocilo('Nov član je bil uspešno dodan')
        redirect(url('vodenje_restavracija'))
Exemple #7
0
def stran_uporabnika():
    email = request.forms.email
    geslo = request.forms.geslo
    geslo = password_hash(geslo)

    cur.execute("SELECT * FROM osebe WHERE email = %s AND geslo = %s",
                [email, geslo])
    oseba = cur.fetchone()
    if oseba:
        bottle.response.set_cookie('email', email, path='/', secret=secret)
        bottle.response.set_cookie('geslo', geslo, path='/', secret=secret)
        redirect(url("/"))
        return
    else:
        bottle.response.set_cookie('napaka',
                                   "Email in geslo se ne ujemata.",
                                   path='/',
                                   secret=secret)
        redirect(url("/prijava"))
        return
Exemple #8
0
def prijava():
    uporabnik = request.forms.uporabnisko_ime
    geslo = request.forms.geslo
    #print(uporabnik)
    #print(geslo)
    if uporabnik == '' or geslo == '':
        #print('podatki manjkajo')
        nastaviSporocilo('Uporabniško ima in geslo morata biti neprazna')
        redirect(url('/'))
        return
    hashBaza_zaposlen = None
    hashBaza_narocnik = None
    try:
        cur.execute("SELECT geslo FROM zaposleni WHERE up_ime = %s",
                    (uporabnik, ))
        hashBaza_zaposlen = cur.fetchone()[0]
        #print(hashBaza_zaposlen)
    except:
        hashBaza_zaposlen = None
    try:
        cur.execute("SELECT geslo FROM narocniki WHERE up_ime = %s",
                    (uporabnik, ))
        hashBaza_narocnik = cur.fetchone()[0]
        #print(hashBaza_narocnik)
    except:
        hashBaza_narocnik = None
    #print(hashBaza_zaposlen)
    #print(hashBaza_narocnik)
    if hashBaza_narocnik is None and hashBaza_zaposlen is None:
        #print('ne obstaja niti narocnik, niti zaposlen')
        nastaviSporocilo('Uporabniško ime ali geslo ni ustrezno')
        redirect(url('/'))
        return
    if hashBaza_zaposlen is None:
        #print('zaposlen is None')
        if password_hash(geslo) != hashBaza_narocnik:
            #print('geslo narocnik se ne ujema')
            nastaviSporocilo('Uporabniško ime ali geslo ni ustrezno')
            redirect(url('/'))
            return
        #print('narocnika smo uspesno prijavili')
        response.set_cookie('uporabnik', uporabnik, secret=skrivnost)
        nastaviSporocilo(
            "{0} pozdravljen! Preglej našo današnjo ponudbo in če želiš, oddaj naročilo."
            .format(uporabnik))
        redirect(url('/ponudba'))
    #if hashBaza_narocnik is not None:
    #        nastaviSporocilo('Uporabniško geslo ali ime nista ustrezni')
    #        redirect('/')
    #        return
    if password_hash(geslo) != hashBaza_zaposlen:
        #print('geslo zaposlen se ne ujema')
        nastaviSporocilo('Uporabniško ime ali geslo ni ustrezno')
        redirect(url('/'))
        return
    response.set_cookie('uporabnik', uporabnik, secret=skrivnost)
    #print('zaposlenega smo uspešno prijavili')
    nastaviSporocilo("{0} pozdravljen!".format(uporabnik))
    redirect(url('/vodenje_restavracija'))
Exemple #9
0
def dodaj_transakcijo_post():
    znesek = request.forms.znesek
    racun = request.forms.racun
    opis = request.forms.opis
    try:
        cur.execute(
            "INSERT INTO transakcija (znesek, racun, opis) VALUES (%s, %s, %s)",
            (znesek, racun, opis))
        conn.commit()
    except Exception as ex:
        conn.rollback()
        return template('dodaj_transakcijo.html',
                        znesek=znesek,
                        racun=racun,
                        opis=opis,
                        napaka='Zgodila se je napaka: %s' % ex)
    redirect(url('index'))
Exemple #10
0
def priljubljeni_izleti_post(id_izleta):
    email = bottle.request.get_cookie('email', default=None, secret=secret)
    geslo = bottle.request.get_cookie('geslo', default=None, secret=secret)
    cur.execute("SELECT * FROM osebe WHERE email = %s AND geslo = %s",
                [email, geslo])
    oseb_a = cur.fetchone()
    print("oseba je: ", oseb_a)
    trenutni_datum = datetime.today().strftime('%Y-%m-%d')
    cur.execute(
        """
                INSERT INTO izlet
                (oseba, transport, datum, ocena)
                VALUES (%s, %s, %s, %s)
                RETURNING id
            """,
        [oseb_a[0], id_izleta, trenutni_datum, 0])  # ocena na zacetku nic.
    redirect(url("/moja_stran"))  #vrne na mojo stran

    return
Exemple #11
0
def spremeni_placo_post():
    priimek = request.forms.zaposleni
    spremeni_placo = request.forms.spremeni_placo
    try:
        cur.execute(
            "UPDATE zaposleni SET placa = placa + %s WHERE priimek = %s",
            (float(spremeni_placo), priimek))
        conn.commit()
    except Exception as ex:
        cur.execute("SELECT priimek FROM zaposleni")
        zaposleni = cur.fetchall()
        #conn.rollback()
        return template('spremeni_placo.html',
                        zaposleni=zaposleni,
                        spremeni_placo='',
                        napaka='Sprememba plače krši delovno pogodbo')
    nastaviSporocilo(
        "Plača {priimek} je  bila uspešno spremenjena za {spremeni_placo}.".
        format(priimek=priimek, spremeni_placo=spremeni_placo))
    redirect(url('vodenje_restavracija'))
Exemple #12
0
def dodaj_ponudbo_post():
    vrsta = request.forms.vrsta
    cena = request.forms.cena
    zaloga = request.forms.zaloga
    try:
        cur.execute(
            "INSERT INTO ponudba (vrsta, cena, zaloga) VALUES (%s, %s, %s)",
            (vrsta, cena, zaloga))
        conn.commit()
    except Exception as ex:
        conn.rollback()
        return template('ponudba2.html',
                        vrsta=vrsta,
                        cena=cena,
                        zaloga=zaloga,
                        napaka='Zgodila se je napaka: %s' % ex)
    nastaviSporocilo(
        "V ponudbo je bilo uspešno dodano {zaloga} {vrsta}, cena bo {cena} €.".
        format(vrsta=vrsta, cena=cena, zaloga=zaloga))
    redirect(url('/vodenje_restavracija'))
Exemple #13
0
def oddaj_narocilo():
    uporabnisko_ime = request.forms.uporabnisko_ime
    vrsta = request.forms.vrsta
    kolicina = request.forms.kolicina
    try:
        cur.execute("SELECT cena FROM ponudba WHERE id = %s" % int(vrsta))
        cena_izdelka = cur.fetchone()[0]
        cur.execute("UPDATE ponudba SET zaloga = zaloga - %s WHERE id = %s",
                    (int(kolicina), int(vrsta)))
        cur.execute(
            "INSERT INTO narocila(stevilka_narocila, uporabnisko_ime,vrsta,kolicina,cena) VALUES(DEFAULT, %s,%s,%s,%s)",
            (uporabnisko_ime, vrsta, kolicina, int(kolicina) * cena_izdelka))
        conn.commit()
    except Exception as ex:
        conn.rollback()
        return template('oddaj_narocilo.html',
                        uporabnisko_ime='',
                        vrsta='',
                        kolicina='',
                        napaka='Zgodila se je napaka: %s' % ex)
    redirect(url('/'))
Exemple #14
0
def registracija_post():
    ime = request.forms.ime
    priimek = request.forms.priimek
    kraj = request.forms.kraj
    naslov = request.forms.naslov
    telefon = request.forms.telefon
    uporabnisko_ime = request.forms.uporabnisko_ime
    geslo1 = request.forms.geslo1
    geslo2 = request.forms.geslo2
    #jezekdotak=cur.execute("SELECT * FROM narocniki WHERE up_ime=%s", (uporabnisko_ime))
    if preveri_za_narocnika(uporabnisko_ime) == False:
        return template(
            'registracija.html',
            ime=ime,
            priimek=priimek,
            kraj=kraj,
            naslov=naslov,
            telefon=telefon,
            uporabnisko_ime=uporabnisko_ime,
            geslo1=geslo1,
            geslo2=geslo2,
            napaka='Uporabnik s tem uporabniškim imenom že obstaja')
        #return template('registracija.html', ime='', priimek='', kraj='', naslov='', telefon='', uporabnisko_ime='', geslo1='', geslo2='',
        #napaka = 'Uporabnik s tem uporabniškim imenom že obstaja')
        #nastaviSporocilo('Uporabnik s tem imenom že obstaja')
        #redirect('/registracija')
    if geslo1 != geslo2:
        return template('registracija.html',
                        ime=ime,
                        priimek=priimek,
                        kraj=kraj,
                        naslov=naslov,
                        telefon=telefon,
                        uporabnisko_ime=uporabnisko_ime,
                        geslo1=geslo1,
                        geslo2=geslo2,
                        napaka='Gesli se ne ujemata')
        #return template('registracija.html', ime='', priimek='', kraj='', naslov='', telefon='', uporabnisko_ime='', geslo1='', geslo2='',
        #    napaka = 'Gesli se ne ujemata')
        #nastaviSporocilo('Gesli se ne ujemata')
        #redirect('/registracija')
    else:
        try:
            geslo = password_hash(geslo1)
            cur.execute(
                "INSERT INTO narocniki (ime, priimek, kraj, naslov, telefon, up_ime, geslo) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                (ime, priimek, kraj, naslov, telefon, uporabnisko_ime, geslo))
            conn.commit()
            #response.set_cookie('uporabnisko_ime', uporabnisko_ime, secret=skrivnost)
        except Exception as ex:
            conn.rollback()
            return template('registracija.html',
                            ime=ime,
                            priimek=priimek,
                            kraj=kraj,
                            naslov=naslov,
                            telefon=telefon,
                            uporabnisko_ime=uporabnisko_ime,
                            geslo1=geslo1,
                            geslo2=geslo2,
                            napaka='Zgodila se je napaka: %s' % ex)
            #nastaviSporocilo('Zgodila se je napaka')
            #redirect('/registracija')
        nastaviSporocilo('Registracija uspešna. Lahko se prijavite.')
        redirect(url('/'))
Exemple #15
0
def odjava():
    response.delete_cookie('uporabnik')
    nastaviSporocilo('Odjava uspešna. Lep pozdrav in nasvidenje.')
    redirect(url('/'))
Exemple #16
0
def odjava():
    print("odjavljam se")
    bottle.response.set_cookie('email', None, path='/', secret=secret)
    bottle.response.set_cookie('geslo', None, path='/', secret=secret)
    redirect(url("/"))
    return
Exemple #17
0
def spremeni():
    novo_ime = request.forms.ime
    novi_priimek = request.forms.priimek
    nov_email = request.forms.email
    novo_drzavljanstvo = request.forms.drzavljanstvo
    novo_geslo1 = request.forms.geslo1
    novo_geslo2 = request.forms.geslo2
    email = bottle.request.get_cookie('email', default=None, secret=secret)
    geslo = bottle.request.get_cookie('geslo', default=None, secret=secret)
    cur.execute("SELECT * FROM osebe WHERE email = %s AND geslo = %s",
                [email, geslo])
    oseba = cur.fetchone()
    print(novo_ime, novi_priimek, novo_drzavljanstvo, nov_email, novo_geslo1)
    # cur.execute("SELECT ime FROM drzave WHERE id = %s", [oseba[3]])
    # drzava = cur.fetchone()
    if (novo_geslo1 != novo_geslo2):
        bottle.response.set_cookie('napaka',
                                   'Gesli se ne ujemata.',
                                   path='/',
                                   secret=secret)
        redirect(url('/nastavitve'))
        return
        # return bottle.template("nastavitve.tpl", drzava=drzava[0],
        #                        napaka='Gesli se ne ujemata')
    if novo_ime == "" or None:
        novo_ime = oseba[1]
    if novi_priimek == "" or None:
        novi_priimek = oseba[2]
    if nov_email == "" or None:
        nov_email = oseba[4]
    else:
        cur.execute("SELECT * FROM osebe WHERE email = %s", [nov_email])
        if (cur.fetchone()):
            bottle.response.set_cookie('napaka',
                                       'Email že obstaja.',
                                       path='/',
                                       secret=secret)
            redirect(url('/nastavitve'))
            return
    if novo_geslo1 == "" or None:
        novo_geslo1 = oseba[5]
    else:
        novo_geslo1 = password_hash(novo_geslo1)
    print(novo_ime, novi_priimek, novo_drzavljanstvo, nov_email, novo_geslo1)
    cur.execute(
        """
        UPDATE osebe SET
        ime = %s,
        priimek = %s,
        drzavljanstvo = %s,
        email = %s,
        geslo = %s
        WHERE id = %s
    """, [
            novo_ime, novi_priimek, novo_drzavljanstvo, nov_email, novo_geslo1,
            oseba[0]
        ])
    conn.commit()
    bottle.response.set_cookie('email', nov_email, path='/', secret=secret)
    bottle.response.set_cookie('geslo', novo_geslo1, path='/', secret=secret)
    # if (nov_email != oseba[4]):
    #     cur.execute(" UPDATE osebe SET email = %s WHERE
    redirect(url("/nastavitve"))
    return
Exemple #18
0
def najdi_oceno():
    id_izleta = request.forms.uredi
    bottle.response.set_cookie('id_izleta', id_izleta, path='/', secret=secret)
    redirect(url('/moja_stran/uredi_oceno'))
    return