Пример #1
0
def production():
    today = date.today()
    order_list = orders.order_list(today.strftime("%Y-%m-%d"))
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template("production.html",
                                   date=today,
                                   order_list=order_list,
                                   today=today)
        else:
            return render_template(
                "error.html",
                message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        datef = request.form["date"]
        if (datef == ""):
            return render_template("production.html",
                                   date=today,
                                   order_list=order_list,
                                   today=today)
        new_date = datetime.datetime.strptime(datef, "%Y-%m-%d").date()
        new_order_list = orders.order_list(datef)
        token = request.form["csrf_token"]
        if session["csrf_token"] == token:
            return render_template("production.html",
                                   date=new_date,
                                   order_list=new_order_list,
                                   today=today)
        else:
            return render_template("error.html", message="")
Пример #2
0
def new_order():
    order_type_list = orders.order_type_list()
    customer_list = customers.customer_list()
    clinic_list = customers.clinic_list()
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template('new_order.html', order_type_list=order_type_list, customer_list=customer_list, clinic_list=clinic_list)
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")

    if request.method == "POST":
        clinic_id = request.form["clinic_id"]
        order_type_id = request.form["order_type_id"]
        customer_id = request.form["customer_id"]
        d_date = request.form["delivery_date"]
        d_time = request.form["delivery_time"]
        delivery_date = d_date + ' ' + d_time + ':00.000000'
        token = request.form["csrf_token"]
        if clinic_id == '0' or order_type_id == '0' or customer_id == '0' or d_date == '':
            flash("Täytä kaikki kentät!", "warning")
            return redirect(request.url)
        elif clinic_id != '0' or order_type_id != '0' or customer_id != '0' and session["csrf_token"] == token:
            latest_id = orders.add(
                order_type_id, customer_id, delivery_date, clinic_id)
            if (latest_id != None):
                events.add(latest_id, users.user()[0], "Sisäänkirjaus", 0)
                flash("Tilaus lisätty! Tilauksen id on: "+str(latest_id)+ ". Kirjoita se lähetteeseen.", "success")
                return redirect(request.url)
        else:
            flash("Tilauksen lisääminen epäonnistui", "warning")
            return redirect(request.url)
Пример #3
0
def seek():
    order_list = orders.listAll()
    event_list = events.event_list()
    order_id = request.args.get("order_id", "")
    if users.user_status() == 1 or users.user_status() == 0:
        return render_template("seek.html", event_list=event_list, orderit=order_list, order_id=order_id)
    else:
        return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
Пример #4
0
def seek_by_user():
    event_list = events.event_list()
    username = users.user()[1]
    user_id = users.user()[0]
    if users.user_status() == 1 or users.user_status() == 0:
        return render_template("seek_by_user.html", event_list=event_list, user_id=user_id, username=username)
    else:
        return render_template("error.html", message="Haku ei onnistunut")
Пример #5
0
def new_customer():
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template("new_customer.html")
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        name = request.form["name"]
        token = request.form["csrf_token"]
        if name != "" and customers.add(name) and session["csrf_token"] == token:
            flash("Asiakas lisätty listaan", "success")
            return redirect("/new_order")
        else:
            flash("Asiakkaan lisääminen epäonnistui, tarkista onko asiakas jo olemassa", "warning")
            return redirect(request.url)
Пример #6
0
def admin():
    if request.method == "GET":
        if users.user_status() == 1:
            user_list = users.user_list()
            now = datetime.datetime.now()
            search_data = orders.seekAll(request.args.get("search", None))
            return render_template("admin.html",
                                   user_list=user_list,
                                   search_data=search_data,
                                   now=now)
        else:
            return render_template(
                "error.html",
                message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        user_id = request.form["user_id"]
        username = users.userById(user_id)[1]
        event_list = events.event_list()
        token = request.form["csrf_token"]
        if session["csrf_token"] == token:
            return render_template("seek_by_user.html",
                                   event_list=event_list,
                                   user_id=user_id,
                                   username=username)
        else:
            return render_template("error.html", message="Haku ei onnistunut")
Пример #7
0
def charts():
    hard_worker_list = events.hard_workers()
    slowest = calculate.seek_slowest()
    if users.user_status() == 1:
        return render_template("charts.html", hard_worker_list=hard_worker_list, slowest=slowest)
    else:
        return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
Пример #8
0
def new_order_type():
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template("new_order_type.html")
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        product = request.form["product"]
        materials = request.form["materials"]
        token = request.form["csrf_token"]
        if product != "" and materials != "" and orders.add_order_type(product, materials) and session["csrf_token"] == token:
            flash("Tuote lisätty listaan", "success")
            return redirect("/new_order")
        else:
            flash("Tuotteen lisääminen epäonnistui", "warning")
            return redirect(request.url)
Пример #9
0
def new_event():
    user_data = users.user()
    order_list = orders.listAll()
    order_list_not_tuple = [list(elem) for elem in order_list]
    event_list = [list(elem) for elem in events.event_list()]
    event_descr_list = events.common_events()
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template("new_event.html",
                                   user_data=user_data,
                                   order_list=order_list,
                                   order_list_not_tuple=order_list_not_tuple,
                                   event_list=event_list,
                                   event_descr_list=event_descr_list)
        else:
            return render_template(
                "error.html",
                message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        order_id = request.form["order_id"]
        description_drop = request.form["description_drop"]
        description_text = request.form["description_text"]
        description = ""
        if (description_drop != ""):
            description = description_drop
        elif (description_text != ""):
            description = description_text
        else:
            flash("Valitse työvaiheen kuvaus listasta tai kirjoita kuvaus",
                  "warning")
            return redirect(request.url)
        user_id = user_data[0]
        is_pending = request.form["is_pending"]
        in_progress = request.form["in_progress"]
        token = request.form["csrf_token"]
        if orders.seek(order_id) != None and description != "" and \
            events.add(order_id, user_id, description, is_pending) and session["csrf_token"] == token:
            if in_progress == "0":
                orders.check_out_in(order_id, in_progress)
                events.add(order_id, user_id, "Uloskirjaus", 0)
            flash(
                "Työvaihe '" + description + "' lisätty tilaukselle " +
                order_id, "success")
            return redirect(request.url)
        else:
            flash("Työvaiheen lisääminen epäonnistui", "warning")
            return redirect(request.url)
Пример #10
0
def new_order():
    today_datetime = datetime.datetime.now()
    order_type_list = orders.order_type_list()
    customer_list = customers.customer_list()
    clinic_list = customers.clinic_list()
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template("new_order.html",
                                   order_type_list=order_type_list,
                                   customer_list=customer_list,
                                   clinic_list=clinic_list)
        else:
            return render_template(
                "error.html",
                message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        clinic_id = request.form["clinic_id"]
        order_type_id = request.form["order_type_id"]
        customer_id = request.form["customer_id"]
        d_date = request.form["delivery_date"]
        d_time = request.form["delivery_time"]
        delivery_date = d_date + " " + d_time + ":00.000000"
        dd_datetime = datetime.datetime.strptime(delivery_date,
                                                 "%Y-%m-%d %H:%M:%S.%f")
        token = request.form["csrf_token"]
        if clinic_id == "0" or order_type_id == "0" or customer_id == "0" or d_date == "":
            flash("Täytä kaikki kentät!", "warning")
            return redirect(request.url)
        if dd_datetime - today_datetime < datetime.timedelta(minutes=1):
            flash("Pyydetty toimitusaika on menneisyydessä", "warning")
            return redirect(request.url)
        elif clinic_id != "0" or order_type_id != "0" or customer_id != "0" and session[
                "csrf_token"] == token:
            latest_id = orders.add(order_type_id, customer_id, delivery_date,
                                   clinic_id)
            if (latest_id != None):
                events.add(latest_id, users.user()[0], "Sisäänkirjaus", 0)
                flash(
                    "Tilaus lisätty! Tilauksen id on: " + str(latest_id) +
                    ". Kirjoita se lähetteeseen.", "success")
                return redirect(request.url)
        else:
            flash("Tilauksen lisääminen epäonnistui", "warning")
            return redirect(request.url)
Пример #11
0
def new_clinic():
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            citys = customers.citys_fi()
            return render_template("new_clinic.html", citys=citys)
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        name = request.form["name"]
        adress = request.form["adress"]
        city = request.form["city"]
        postal = request.form["postal"]
        token = request.form["csrf_token"]
        if name != "" and adress != "" and postal != "" and customers.add_clinic(name, adress, postal, city) and session["csrf_token"] == token:
            flash("Toimipiste lisätty listaan", "success")
            return redirect("/new_order")
        else:
            flash("Toimipisteen lisääminen epäonnistui, tarkista onko toimipiste jo olemassa", "warning")
            return redirect(request.url)
Пример #12
0
def seek():
    order_list = orders.listAll()
    event_list = events.event_list()
    order_id = request.args.get("order_id", "")
    search_word = request.args.get("search", "")
    search_data = orders.seekAll(search_word)
    now = datetime.datetime.now()
    # seek all orders is allowed only for admins
    if (len(search_word) < 3):
        search_data = None
    if users.user_status() == 1 or users.user_status() == 0:
        return render_template("seek.html",
                               event_list=event_list,
                               order_list=order_list,
                               order_id=order_id,
                               search_data=search_data,
                               now=now)
    else:
        return render_template(
            "error.html",
            message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
Пример #13
0
def new_event():
    user_data = users.user()
    order_list = orders.listAll()
    if request.method == "GET":
        if users.user_status() == 1 or users.user_status() == 0:
            return render_template("new_event.html", user_data=user_data, order_list=order_list)
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        order_id = request.form["order_id"]
        description = request.form["description"]
        user_id = user_data[0]
        is_pending = request.form["is_pending"]
        in_progress = request.form["in_progress"]
        token = request.form["csrf_token"]
        if orders.order(order_id) != None and description != '' and events.add(order_id, user_id, description, is_pending) and session["csrf_token"] == token:
            if in_progress == '0':
                orders.check_out_in(order_id, in_progress)
                events.add(order_id, user_id, "Uloskirjaus", 0)
            flash("Työvaihe '"+description+ "' lisätty tilaukselle "+order_id, "success")
            return redirect(request.url)
        else:
            flash("Työvaiheen lisääminen epäonnistui", "warning")
            return redirect(request.url)
Пример #14
0
def charts():
    amount_order_list = [list(elem) for elem in orders.amount_orders_list()]
    hard_worker_list = events.hard_workers()
    queue_durations = events.queue_durations()
    user_counter = len(users.user_list())
    fav_customers = orders.fav_customers()
    if users.user_status() == 1:
        return render_template("charts.html",
                               user_counter=user_counter,
                               hard_worker_list=hard_worker_list,
                               queue_durations=queue_durations,
                               amount_order_list=amount_order_list,
                               fav_customers=fav_customers)
    else:
        return render_template(
            "error.html",
            message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
Пример #15
0
def change_status():
    if request.method == "GET":
        if users.user_status() == 1:
            user_list = users.user_list()
            return render_template("change_status.html", user_list=user_list)
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")
    if request.method == "POST":
        new_status = request.form["new_status"]
        username = request.form["username"]
        token = request.form["csrf_token"]
        if users.update_status(username, new_status) and session["csrf_token"] == token:
            flash("Käyttäjän '"+username+ "' oikeudet päivitetty", "success")
            return redirect(request.url)
        else:
            flash("Oikeuksien päivitys epäonnistui", "warning")
            return redirect(request.url)
Пример #16
0
def admin():
    if request.method == "GET":
        if users.user_status() == 1:
            return render_template("admin.html")
        else:
            return render_template("error.html", message="Käyttäjän oikeudet eivät riitä tähän toimintoon.")