Beispiel #1
0
def izmeni_zadatak(id_zadatka):
    data = flask.request.get_json()
    data["id"] = id_zadatka
    print(data)
    db = mysql.get_db()
    cursor = mysql.get_db().cursor()
    cursor.execute(
        "UPDATE zadatak SET predmet_id= %(predmet_id)s, naslov= %(naslov)s, sadrzaj=%(sadrzaj)s, datum_provere=%(datum_provere)s  WHERE id=%(id)s",
        data)
    db.commit()
    return flask.jsonify({'status': 'ok'}), 200
Beispiel #2
0
def izmeni_profesora(id_profesora):
    data = flask.request.get_json()
    data["id"] = id_profesora
    print(data)
    db = mysql.get_db()
    cursor = mysql.get_db().cursor()
    cursor.execute(
        "UPDATE profesor SET id= %(id)s, ime= %(ime)s, prezime=%(prezime)s  WHERE id=%(id)s",
        data)
    db.commit()
    return flask.jsonify({'status': 'ok'}), 200
Beispiel #3
0
def izmeni_predmet(id_predmeta):
    data = flask.request.get_json()
    data["id"] = id_predmeta
    print(data)
    db = mysql.get_db()
    cursor = mysql.get_db().cursor()
    cursor.execute(
        "UPDATE predmet SET naziv= %(naziv)s, skracenica= %(skracenica)s, profesor_id= %(profesor_id)s WHERE id=%(id)s",
        data)
    db.commit()
    return flask.jsonify({'status': 'ok'}), 200
Beispiel #4
0
def dodaj_korisnika():
    print("DJAVO JE NOCAS OPET U GRADU")
    # Provera da li je korisnik prijavljen.
    db = mysql.get_db() # Dobavljanje instance konekcije ka bazi.
    cursor = db.cursor() # Dobavljanje kursora.

    # Izvrsava se parametrizovani upit sa imenovanim parametrima. Ukoliko se koriste imenovani parametri
    # umesto torkse sa podacima moguce je proslediti recnik koji u se bi sadrzi kljuceve koji odgovaraju
    # imenima parametara. Vrednosti na datim kljucevima ce automatski biti preuzete u istoimenim parametrima.
    # Kako se sadrzaj forme u Flasku predstavlja kao imutabilni recnik koji nasledjuje recnik moguce je umesto
    # obicnog recnika proslediti sam sadrzaj forme. Takodje konverzija podatak nije neophodna jer ce se ispravna
    # konverzija izvrsiti na serveru za upravljanje bazama podataka.
    # Dodatna napomena: Iako je id kolona koja postoji u tabeli proizvod, ona nije navedena prilikom dodavanja
    # jer je ova kolona podesena da bude auto increment, odnosno da se njena vrednost moze automatski generisati.
    # Ovo generisanje ce se desiti samo ukoliko se prilikom izvrsavanja insert naredbe izostavi podesavanje vrednosti
    # za kolonu koja je auto increment ili ako se za njenu vrednost postavi NULL vrednost.
    print(flask.request.json)
    cursor.execute("INSERT INTO korisnik(korisnicko_ime, ime, prezime) VALUES(%(korisnicko_ime)s, %(ime)s, %(prezime)s)", flask.request.json)
    # Request objekat u flasku sadrzi atribut json, ovaj atribut sadrzace recnik koji je nastao
    # parsiranjem tela zahteva. Telo ce biti parsirano ukoliko je content type bio application/json
    # a recnik ce biti formiran samo ukoliko se u telu nalazio ispravan JSON dokument.
    db.commit() # Upiti se izvrsavaju u transakcijama. Uskladistavanje rezultata transakcije je neophodno rucno potvrditi.
                # Za to se koristi commit() metoda nad konekcijom. Ukoliko se ne pozove commit() transakcija nece biti
                # potvrdjena pa se samim tim rezultat nece uskladistiti u bazu podataka. Vise upita koji zavise
                # jedan od drugo moguce je grupisati u jednu transakciju tako sto se nakon izvrsavanja cele grupe
                # upita pozove commit().
    return flask.jsonify(flask.request.json), 201 # Status kod 201 oznacava uspesno kreiran resurs.
def dodaj_rezervaciju():
    db = mysql.get_db()  # Dobavljanje instance konekcije ka bazi.
    cursor = db.cursor()  # Dobavljanje kursora.
    data = flask.request.json
    data["datumDolaska"] = data["datumDolaska"].split(".")[0]
    data["datumOdlaska"] = data["datumOdlaska"].split(".")[0]

    # OVDE TREBA DA SE RADI PROVERU AKO DATUM ZA ODREDJENI SMESTAJ VEC POSTOJI, ALI IZ NEKOG RAZLOGA IF NE PRINTA IAKO JE TOTALNO ISTI DATUM
    # cursor.execute("SELECT * FROM rezervacije WHERE smestaj_id=%s", data["smestaj_id"])
    # rezervacijeSaId = cursor.fetchall()
    # for i in rezervacijeSaId:
    #     print(i["datumDolaska"], data["datumDolaska"].replace("T", " "))
    #     if(i["datumDolaska"] == data["datumDolaska"].replace("T", " ") and i["datumOdlaska"] == data["datumOdlaska"].replace("T", " ")):
    #         print("Vec postoji rezervacija za odredjeni datum")

    cursor.execute("SELECT * FROM smestaj WHERE id=%s", data["smestaj_id"])
    smestaj = cursor.fetchone()

    if smestaj["raspolozivost"] > 0:

        cursor.execute(
            "INSERT INTO rezervacije(datumDolaska, datumOdlaska, korisnici_id, smestaj_id) VALUES(%(datumDolaska)s, %(datumOdlaska)s, %(korisnici_id)s, %(smestaj_id)s)",
            flask.request.json)
        cursor.execute(
            "UPDATE smestaj SET raspolozivost=raspolozivost-1 WHERE id=%s",
            data["smestaj_id"])
        db.commit()
    else:
        print("Nema raspolozivih jedinica za odabrani smestaj!")
        return "", 204
    return flask.jsonify(
        flask.request.json
    ), 201  # Status kod 201 oznacava uspesno kreiran resurs.
Beispiel #6
0
def search_part(part_search):
    cursor = mysql.get_db().cursor()

    cursor.execute("SELECT * FROM pc_parts WHERE( part_name LIKE '%" + part_search + "%' OR part_manufacturer LIKE '%" + part_search +"%')")

    parts = cursor.fetchall()
    return flask.jsonify(parts)
def dobavi_rezervacije(id_korisnika):
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM rezervacije WHERE korisnici_id=%s",
                   (id_korisnika, ))

    rezervacije = cursor.fetchall()
    return flask.jsonify(rezervacije)
Beispiel #8
0
def delete_order(order_id):
    db = mysql.get_db()
    cursor = db.cursor()

    cursor.execute("SELECT order_price FROM orders WHERE order_id=%s",
                   (order_id))

    order_price = cursor.fetchall()

    print(order_price)

    cursor.execute(
        "SELECT pc_parts_part_id FROM orders_has_pc_parts WHERE orders_order_id=%s",
        (order_id))

    part_id = cursor.fetchall()

    cursor.execute("SELECT part_price FROM pc_parts WHERE part_id=%s",
                   (part_id[0]['pc_parts_part_id']))

    part_price = cursor.fetchall()

    print(part_price)

    order_part_number = int(order_price[0]['order_price'] /
                            part_price[0]['part_price'])

    print(order_part_number)

    cursor.execute("SELECT part_stock FROM pc_parts WHERE part_id=%s",
                   (part_id[0]['pc_parts_part_id']))

    part_stock = cursor.fetchall()

    part_stock = part_stock[0]['part_stock'] + order_part_number

    print(part_stock)

    cursor.execute("DELETE FROM orders_has_pc_parts WHERE orders_order_id=%s",
                   (order_id))

    cursor.execute("DELETE FROM orders WHERE order_id=%s", (order_id))

    db.commit()

    update_part = {
        "part_stock": part_stock,
        "part_id": part_id[0]['pc_parts_part_id']
    }

    print(update_part)

    cursor.execute(
        "UPDATE pc_parts SET part_stock=%(part_stock)s WHERE part_id=%(part_id)s",
        update_part)

    db.commit()

    return "", 204
Beispiel #9
0
def get_part(part_id):
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM pc_parts WHERE part_id=%s",(part_id))
    
    part = cursor.fetchall()
    if part is not None:
        return flask.jsonify(part)
    else:
        return "", 404
Beispiel #10
0
def dodaj_ocenu():
    data = flask.request.json
    db = mysql.get_db()
    cursor = db.cursor()
    print(flask.request.json)
    cursor.execute(
        "INSERT INTO ocena(student_id,zadatak_id,ocena, datum_ocene) VALUES(%(student_id)s, %(zadatak_id)s, %(ocena)s, %(datum_ocene)s)", data)
    db.commit()
    return flask.jsonify({"status": "Resource created."}), 204
Beispiel #11
0
def ukloni_korisnika(id_korisnika):
    print(id_korisnika)
    db = mysql.get_db()
    cursor = db.cursor()
    cursor.execute("DELETE FROM karta WHERE korisnik_id=%s", (id_korisnika))
    db.commit()
    cursor.execute("DELETE FROM korisnik WHERE id=%s", (id_korisnika,))
    db.commit()
    return "", 204 # Operacija je uspesna ali je telo odgovora prazno.f
Beispiel #12
0
def dobavi_korisnike():
    cursor = mysql.get_db().cursor() # Dobavljanje instance kursora.
    cursor.execute("SELECT * FROM korisnik") # Izvrsavanje upita za dobavljanje svih proizvoda
                                                                # cija kolicina je veca od 0. Ovime je posao filtriranja
                                                                # proizvoda po kolicini izmesten iz generisanja sablona
                                                                # na server baze podataka koji je optimivan za ovakve
                                                                # zadatke.
    korisnik = cursor.fetchall() # Dobavljanje svih rezultat prethodni izvrsenog upita.
    return flask.jsonify(korisnik) # Vracanje proizvoda u JSON formatu.
Beispiel #13
0
def dobavi_korisnika(id_korisnika):
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM korisnik WHERE id=%s", (id_korisnika,))
    korisnik = cursor.fetchone() # Kako je rezultat upita samo jedna torka dovoljno je
                                 # pozvati metodu fetchone() nad kursorom koja vraca
                                 # sledecu torku koja zadovoljava upit.
    if korisnik is not None:
        return flask.jsonify(korisnik) # Ukoliko je pronadje, proizvod se prosledjuje klijentu.
    else:
        return "", 404 # Ukoliko proizvod nije pronadjen klijent ce dobiti status odgovora 404.
Beispiel #14
0
def dodaj_predmet():
    data = flask.request.json
    db = mysql.get_db()
    cursor = db.cursor()
    print(flask.request.json)
    cursor.execute(
        "INSERT INTO predmet(naziv, skracenica, profesor_id) VALUES(%(naziv)s, %(skracenica)s, %(profesor_id)s)",
        data)
    db.commit()
    return flask.jsonify({"status": "Resource created."}), 204
Beispiel #15
0
def login():
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM korisnici WHERE brojLicne=%(brojLicne)s AND lozinka=%(lozinka)s", flask.request.json)
    korisnik = cursor.fetchone()
    if korisnik is not None:
        flask.session["korisnik"] = korisnik["id"] # Dodavanje podataka o korisniku u sesiju.
        flask.session["admin"] = korisnik["admin"]
        return "", 200
    else:
        return "", 404
Beispiel #16
0
def dodaj_zadatak():
    data = flask.request.json
    db = mysql.get_db()
    cursor = db.cursor()
    print(flask.request.json)
    cursor.execute(
        "INSERT INTO zadatak(predmet_id, naslov, sadrzaj, datum_provere) VALUES(%(predmet_id)s, %(naslov)s, %(sadrzaj)s, %(datum_provere)s)",
        data)
    db.commit()
    return flask.jsonify({"status": "Resource created."}), 204
Beispiel #17
0
def dodaj_profesora():
    data = flask.request.json
    db = mysql.get_db()
    cursor = db.cursor()
    print(flask.request.json)
    cursor.execute(
        "INSERT INTO profesor(id, ime, prezime) VALUES(%(id)s, %(ime)s, %(prezime)s)",
        data)
    db.commit()
    return flask.jsonify({"status": "Resource created."}), 204
def dobavi_sverezervacije():
    db = mysql.get_db()
    cursor = mysql.get_db().cursor()

    cursor.execute("SELECT * FROM rezervacije")

    sveRezervacije = cursor.fetchall()
    danasnji = datetime.now()
    for i in sveRezervacije:
        if i["datumOdlaska"] <= danasnji:
            cursor.execute(
                "UPDATE smestaj SET raspolozivost=raspolozivost+1 WHERE id=%s",
                i["smestaj_id"])
            cursor.execute("DELETE FROM rezervacije WHERE id=%s",
                           i["id"])  #DODAJ DA NE MOZE ICI AKO JE MANJE OD NULA
            db.commit()
            print(i["datumOdlaska"], danasnji)

    return flask.jsonify(sveRezervacije)
Beispiel #19
0
def edit_part(part_id):
    db = mysql.get_db()
    cursor = db.cursor()

    print(flask.request.json)

    cursor.execute("UPDATE pc_parts SET part_name=%(part_name)s, part_price=%(part_price)s, part_stock=%(part_stock)s, part_manufacturer=%(part_manufacturer)s, part_warranty=%(part_warranty)s, part_info=%(part_info)s WHERE part_id=%(part_id)s", flask.request.json[0])

    db.commit()

    return flask.jsonify(flask.request.json), 201
Beispiel #20
0
def login():
    login_user = request.json
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM student WHERE indeks=", (login_user[indeks]))
    user = cursor.fetchone()

    if user is not None:
        session["user"] = user
        return flask.jsonify({"success": True})

    return flask.jsonify({"success": False})
Beispiel #21
0
def new_part():
    db = mysql.get_db()
    cursor = db.cursor()

    print(flask.request.json)

    cursor.execute("INSERT INTO pc_parts(part_name, part_price, part_stock, part_manufacturer, part_warranty, part_info, part_image) VALUES(%(part_name)s, %(part_price)s, %(part_stock)s, %(part_manufacturer)s, %(part_warranty)s, %(part_info)s, %(part_image)s)", flask.request.json)

    db.commit()

    return flask.jsonify(flask.request.json), 201
Beispiel #22
0
def izmeni_smestaj(id_smestaja):
    db = mysql.get_db()
    cursor = db.cursor()
    data = flask.request.json
    data["id"] = id_smestaja  # Id proizvoda koji treba azurirati preuzima
    # se iz vrednosti parametra URL-a.
    cursor.execute(
        "UPDATE smestaj SET naziv=%(naziv)s, opis=%(opis)s, cena=%(cena)s, raspolozivost=%(raspolozivost)s, kategorija_id=%(kategorija)s WHERE id=%(id)s",
        data)
    db.commit()
    return "", 200
Beispiel #23
0
def izmeni_korisnika(id_korisnika):
    # Provera da li je korisnik prijavljen.
    print("DJAVO JE NOCAS OPET U GRADU")
    db = mysql.get_db()
    cursor = db.cursor()
    data = flask.request.json
    data["id"] = id_korisnika # Id proizvoda koji treba azurirati preuzima
                              # se iz vrednosti parametra URL-a.
    cursor.execute("UPDATE korisnik SET korisnicko_ime=%(korisnicko_ime)s, prezime=%(prezime)s, ime=%(ime)s WHERE id=%(id)s", data)
    db.commit()
    return "", 200
Beispiel #24
0
def dodaj_smestaj():
    db = mysql.get_db()  # Dobavljanje instance konekcije ka bazi.
    cursor = db.cursor()  # Dobavljanje kursora.

    cursor.execute(
        "INSERT INTO smestaj(naziv, opis, raspolozivost, cena, kategorija_id) VALUES(%(naziv)s, %(opis)s, %(raspolozivost)s, %(cena)s, %(kategorija)s)",
        flask.request.json)

    db.commit()
    return flask.jsonify(
        flask.request.json
    ), 201  # Status kod 201 oznacava uspesno kreiran resurs.
def dobavi_smestaj(id_smestaja, methods=["GET"]):
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM smestaj WHERE id=%s", (id_smestaja, ))
    smestaj = cursor.fetchone(
    )  # Kako je rezultat upita samo jedna torka dovoljno je
    # pozvati metodu fetchone() nad kursorom koja vraca
    # sledecu torku koja zadovoljava upit.
    if smestaj is not None:
        return flask.jsonify(
            smestaj)  # Ukoliko je pronadje, proizvod se prosledjuje klijentu.
    else:
        return "", 404  # Ukoliko proizvod nije pronadjen klijent ce dobiti status odgovora 404.
def aukloni_rezervaciju(id_rezervacije):
    db = mysql.get_db()
    cursor = db.cursor()
    #data = flask.request.json
    cursor.execute("SELECT * FROM rezervacije WHERE id=%s", id_rezervacije)
    smestajid = cursor.fetchone()
    cursor.execute("DELETE FROM rezervacije WHERE id=%s", (id_rezervacije, ))
    cursor.execute(
        "UPDATE smestaj SET raspolozivost=raspolozivost+1 WHERE id=%s",
        smestajid["smestaj_id"])  #ne radi ti ovo, dovrsi
    db.commit()
    return "", 204  # Operacija je uspesna ali je telo odgovora prazno.
Beispiel #27
0
def get_all_valid_order():
    db = mysql.get_db()
    cursor = db.cursor()

    query = {"order_status": "ORDERD"}

    cursor.execute("SELECT * FROM orders WHERE order_status=%(order_status)s",
                   query)
    orders = cursor.fetchall()

    print(orders)

    return flask.jsonify(orders)
Beispiel #28
0
def complete_order(order_id):
    db = mysql.get_db()
    cursor = db.cursor()

    cursor.execute("UPDATE orders SET order_status='DONE' WHERE order_id=%s",
                   (order_id))

    cursor.execute("DELETE FROM orders_has_pc_parts WHERE orders_order_id=%s",
                   (order_id))

    db.commit()

    return "", 204
Beispiel #29
0
def get_done_order(user_id):
    db = mysql.get_db()
    cursor = db.cursor()

    query = {"user_id": user_id, "order_status": "DONE"}

    cursor.execute(
        "SELECT * FROM orders WHERE user_user_id=%(user_id)s AND order_status=%(order_status)s",
        query)
    orders = cursor.fetchall()

    print(orders)

    return flask.jsonify(orders)
Beispiel #30
0
def get_parts_order(order_id):
    db = mysql.get_db()
    cursor = db.cursor()

    cursor.execute(
        "SELECT pc_parts_part_id FROM orders_has_pc_parts WHERE orders_order_id=%s",
        (order_id))
    part_id = cursor.fetchall()

    cursor.execute("SELECT order_price FROM orders WHERE order_id=%s",
                   (order_id))
    part = cursor.fetchall()

    cursor.execute("SELECT * FROM pc_parts WHERE part_id=%s",
                   (part_id[0]["pc_parts_part_id"]))
    part = part + cursor.fetchall()

    return flask.jsonify(part)