Exemple #1
0
def delete(kassir_id):
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        return render_template("/kassirs/delete.html", kassir_id=kassir_id)
    else:
        if request.form['submit'] == 'Нет':
            return redirect(url_for('kassirs.get_all'))
        if request.form['submit'] == 'Да':
            #kassir_id = request.args["kassir_id"]
            result = do_delete_kassir(kassir_id, request.cookies)

            if result.success:
                if result.response.status_code == 204:
                    flash('Кассир успешно уволен', "info")
                    response = redirect(url_for('kassirs.get_all'))
                    return response
                elif result.response.status_code == 403:
                    do_logout()
                    return redirect(url_for('users.login'))
                else:
                    flash("Кассир не найден", "error")
                    return redirect(url_for('kassirs.get_all'))
            else:
                flash(result.error, "error")
                return redirect(url_for('kassirs.get_all'))
Exemple #2
0
def ret():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        car_id = request.args['car_id']
        return render_template("/cars/ret.html", car_id=car_id)
    else:
        if request.form['submit'] == 'Нет':
            return redirect(url_for('mehs.get_all'))

        if request.form['submit'] == 'Да':
            car_id = request.args['car_id']
            result = do_return_car(car_id, request.cookies)
            if result.success:
                if result.response.status_code == 204:
                    flash('Возврат машины успешно произведен', 'info')
                    return redirect(url_for('menu.index'))
                elif result.response.status_code == 403:
                    do_logout()
                    return redirect(url_for('users.login'))
                else:
                    flash('Возврат машины не может быть произведен', 'error')
                    return redirect(url_for('menu.index'))
            else:
                flash(result.error, 'error')
            return redirect(url_for('menu.index'))
Exemple #3
0
def get():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        return render_template("/kassirs/get.html", kassir_found=False)
    else:
        if 'kassir_id' not in request.form or request.form['kassir_id'] == '':
            flash('Идентификатор не задан', "error")
            return redirect(url_for('kassirs.get'))
        else:
            kassir_id = request.form["kassir_id"]
            result = do_get_kassir(kassir_id, request.cookies)

            if result.success:
                if result.response.status_code == 200:
                    kassir = json.loads(result.response.content)
                    return render_template("/kassirs/get.html",
                                           kassir=kassir,
                                           kassir_found=True)
                elif result.response.status_code == 403:
                    do_logout()
                    return redirect(url_for('users.login'))
                else:
                    flash("Кассир не найден", "error")
                    return redirect(url_for('kassirs.get'))
            else:
                flash(result.error, "error")
                return redirect(url_for('kassirs.get'))
Exemple #4
0
def get_all():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        if 'page' not in request.args:
            return redirect(url_for('users.get_all', page=1))
        page = request.args.get('page', 1, type=int)
        result = do_get_paginated_user(page, 10, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                users_obj = result.response.content
                users_str = (str(users_obj)).split('\\n')
                n = len(users_str)
                users_str[0] = users_str[0][2:]
                users = []
                users_str[n-1] = users_str[n-1][0:-1]
                dictr = json.loads(users_str[n-1])
                users_str.remove(users_str[n-1])
                for user in users_str:
                    if user != "":
                        user1 = bytes(user, 'utf8')
                        users.append(json.loads(user1))
                return render_template("/users/get_all.html", users=users, prev_url=dictr['is_prev_page'],
                                       next_url=dictr['is_next_page'], next_page=page+1, prev_page=page-1)
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash("Потзователь не найден", "error")
                return redirect(url_for('users.index'))
        else:
            flash(result.error, "error")
            return redirect(url_for('users.index'))
Exemple #5
0
def get(mag_id):
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        result = do_get_mag(mag_id, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                tmp = str(result.response.content)
                list_sm = tmp.split('\\n')
                mag = list_sm[0]
                mag = mag[2:]
                kassir = list_sm[1]
                kassir = kassir[0:-1]
                mag_d = json.loads(mag)
                datetime = str(mag_d["datetime"]).split("_")
                date = datetime[0]
                time = datetime[1]
                dictionary = {"date": date, "time": time}
                ar = mag_d["seats"]
                kassir_d = json.loads(kassir)
                return render_template("/mags/get.html",
                                       mag=mag_d,
                                       kassir=kassir_d,
                                       seats=ar,
                                       datetime=dictionary,
                                       number_of_seats=len(ar) + 1)
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash('Ошибка. Кассира магазина не существует.', "error")
                return redirect(url_for('mags.get_all'), "error")
        else:
            flash(result.error, "error")
            return redirect(url_for('mags.get_all'), "error")
Exemple #6
0
def get_all():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        if 'page' not in request.args:
            return redirect(url_for('mags.get_all', page=1))
        page = request.args.get('page', 1, type=int)
        result = do_get_paginated_mag(page, 10, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                mags_obj = result.response.content
                mags_str = (str(mags_obj)).split('\\n')
                n = len(mags_str)
                mags_str[0] = mags_str[0][2:]
                mags_str[n - 1] = mags_str[n - 1][0:-1]
                mags = []
                dictr = json.loads(mags_str[n - 1])
                mags_str.remove(mags_str[n - 1])
                for mag in mags_str:
                    if mag != "":
                        mag1 = json.loads(bytes(mag, 'utf8'))
                        ar = mag1["seats"]
                        number_of_seats = len(ar)
                        number_of_free_seats = 0
                        for item in ar:
                            if item:
                                number_of_free_seats = number_of_free_seats + 1
                        datetime = str(mag1["datetime"]).split("_")
                        date = datetime[0]
                        time = datetime[1]
                        dictionary = {
                            "mag_id": mag1["mag_id"],
                            "kassir_id": mag1["kassir_id"],
                            "number_of_seats": number_of_seats,
                            "number_of_free_seats": number_of_free_seats,
                            "date": date,
                            "time": time
                        }
                        mags.append(dictionary)
                return render_template("/mags/get_all.html",
                                       mags=mags,
                                       prev_url=dictr['is_prev_page'],
                                       next_url=dictr['is_next_page'],
                                       next_page=page + 1,
                                       prev_page=page - 1)
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash("Магазины не найдены", "error")
                return redirect(url_for('mags.index'))
        else:
            flash(result.error, "error")
            return redirect(url_for('mags.index'))
Exemple #7
0
def create():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        if 'kassir_id' in request.args:
            kassir_id = request.args['kassir_id']
            return render_template("/mags/create.html", kassir_id=kassir_id)
    else:
        failed = False
        if 'number_of_seats' not in request.form or request.form[
                'number_of_seats'] == '':
            flash('Количество товара не задано', "error")
            failed = True
        try:
            number_of_seats = int(request.form['number_of_seats'])
        except:
            flash('Количество товара выражается числом', 'error')
            return render_template("/mags/create.html",
                                   kassir_id=request.args['kassir_id'])

        if 'date' not in request.form or request.form['date'] == '':
            flash('Дата не задана', "error")
            failed = True

        if 'time' not in request.form or request.form['time'] == '':
            flash('Время задано', "error")
            failed = True
        date_time = request.form['date'] + '_' + request.form['time']

        if failed:
            return render_template("/mags/create.html",
                                   kassir_id=request.args['kassir_id'])

        result = do_create_mag(request.args['kassir_id'], number_of_seats,
                               date_time, request.cookies)
        if result.success:
            if result.response.status_code == 201:
                flash('Витрина в магазине успешно создана', "info")
                response = redirect('kassirs/get_all')
                return response
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                st = result.response.content.decode('utf-8')
                if st == '':
                    st = str(result.response.content)
                flash(st, "error")
                return redirect(url_for('kassirs.get_all'))
        else:
            flash(result.error)
            return redirect(url_for('kassirs/get_all'), "error")
Exemple #8
0
def add():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        result = do_get_paginated_fix(1, 100, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                fixes_obj = result.response.content
                fixes_str = (str(fixes_obj)).split('\\n')
                n = len(fixes_str)
                fixes_str[0] = fixes_str[0][2:]
                fixes_str[n - 1] = fixes_str[n - 1][0:-1]
                fixes = []
                fixes_str.remove(fixes_str[n - 1])
                for fix in fixes_str:
                    if fix != "":
                        fixl = json.loads(bytes(fix, 'utf8'))
                        ar = fixl["car_ids"]
                        ar1 = fixl["meh_ids"]
                        number_of_mehs = len(ar1)
                        number_of_cars = len(ar)
                        datetime = str(fixl["datetime"])
                        dictionary = {
                            "fix_id": fixl["fix_id"],
                            "number_of_mehs": number_of_mehs,
                            "number_of_cars": number_of_cars,
                            "date_time": datetime
                        }
                        fixes.append(dictionary)
            #user_id=request.args['user_id']
            return render_template("/cars/add.html", fixes=fixes)
    else:
        fix_id = request.form['fix_id']
        name = request.form['name']
        result = do_add_car(fix_id, name, request.cookies)
        #flash(request.cookies, 'info')
        if result.success:
            #flash(result.response.status_code, 'info')
            if result.response.status_code == 201:
                flash('Запрос на починку успешно добавлен', 'info')
                return redirect(url_for('cars.get_all'))
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash('Запрос на починку не может быть добавлен', 'error')
                return redirect(url_for('cars.get_all'))
        else:
            flash(result.error, 'error')
            return redirect(url_for('cars.get_all'))
Exemple #9
0
def return_prod(prod_id):
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        result = do_return_prod(prod_id, request.cookies)
        if result.success:
            if result.response.status_code == 204:
                flash('Возврат товара успешно произведен', 'info')
                return redirect(url_for('menu.index'))
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash('Возврат товара не может быть произведен', 'error')
                return redirect(url_for('menu.index'))
        else:
            flash(result.error, 'error')
            return redirect(url_for('menu.index'))
Exemple #10
0
def create():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        return render_template("/kassirs/create.html")
    else:
        failed = False
        if 'name' not in request.form or request.form['name'] == '':
            flash('Имя не задано', "error")
            failed = True

        if 'stage' not in request.form or request.form['stage'] == '':
            flash('Ранг не задан', "error")
            failed = True

        if 'year' not in request.form or request.form['year'] == '':
            flash('Стаж не задана', "error")
            failed = True

        if failed:
            return redirect(url_for('kassirs.create'))

        name = request.form['name']
        stage = request.form['stage']
        year = int(request.form['year'])
        if not isinstance(year, int):
            flash('Error', 'error')
            return redirect(url_for('kassirs/create'))
        result = do_create_kassir(name, stage, year, request.cookies)
        if result.success:
            if result.response.status_code == 201:
                flash('Кассир успешно добавлен', "info")
                response = redirect('kassirs/create')
                return response
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash(result.response.content.decode('utf-8'), "error")
                return redirect(url_for('kassirs.create'))
        else:
            flash(result.error)
            return redirect(url_for('kassirs/create'), "error")
Exemple #11
0
def get(user_id):
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        result = do_get_user(user_id, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                user = json.loads(result.response.content)
                prod_ids = user['prod_ids']
                return render_template("/users/get.html", user = user, prod_ids = prod_ids)
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash('Ошибка. Кассира или магазина не существует.', "error")
                return redirect(url_for('mags.get_all'), "error")
        else:
            flash(result.error, "error")
            return redirect(url_for('mags.get_all'))
Exemple #12
0
def buy():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        mag_id = request.args['mag_id']
        seat_number = request.args['seat_number']
        result = do_buy_prod(mag_id, int(seat_number), request.cookies)
        if result.success:
            if result.response.status_code == 201:
                flash('Покупка товара успешно произведена', 'info')
                return redirect(url_for('mags.get_all'))
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash('Покупка товара не может быть произведена', 'error')
                return redirect(url_for('mags.get_all'))
        else:
            flash(result.error, 'error')
            return redirect(url_for('mags.get_all'))
Exemple #13
0
def get_all():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        if 'page' not in request.args:
            return redirect(url_for('prods.get_all', page=1))
        if 'submit' in request.form:
            if request.form['submit'] == 'Создать витрину':
                pass
            if request.form['submit'] == 'Уволить касира':
                pass
        page = request.args.get('page', 1, type=int)
        result = do_get_paginated_prods(page, 10, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                prods_obj = result.response.content
                prods_str = (str(prods_obj)).split('\\n')
                n = len(prods_str)
                prods_str[0] = prods_str[0][2:]
                prods_str[n-1] = prods_str[n-1][0:-1]
                prods = []
                dictr = json.loads(prods_str[n-1])
                prods_str.remove(prods_str[n-1])
                for prod in prods_str:
                    if prod != '':
                        prod1 = bytes(prod, 'utf8')
                        prods.append(json.loads(prod1))
                return render_template("/prods/get_all.html", prods=prods, prev_url=dictr['is_prev_page'],
                                       next_url=dictr['is_next_page'], next_page=page+1, prev_page=page-1)
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash("Товары не найдены", "error")
                return redirect(url_for('prods.index'))
        else:
            flash(result.error, "error")
            return redirect(url_for('prods.index'))
Exemple #14
0
def get_all():
    if not g.logged_in:
        return redirect(url_for('users.login'))
    if request.method == 'GET':
        if 'page' not in request.args:
            return redirect(url_for('kassirs.get_all', page=1))
        page = request.args.get('page', 1, type=int)
        result = do_get_paginated_kassir(page, 10, request.cookies)
        if result.success:
            if result.response.status_code == 200:
                kassirs_obj = result.response.content
                kassirs_str = (str(kassirs_obj)).split('\\n')
                n = len(kassirs_str)
                kassirs_str.remove(kassirs_str[0])
                n = n - 1
                kassirs_str[n - 1] = kassirs_str[n - 1][0:-1]
                kassirs = []
                dictr = json.loads(kassirs_str[n - 1])
                kassirs_str.remove(kassirs_str[n - 1])
                for kassir in kassirs_str:
                    kassir1 = bytes(kassir, 'utf8')
                    kassirs.append(json.loads(kassir1))
                return render_template("/kassirs/get_all.html",
                                       kassirs=kassirs,
                                       prev_url=dictr['is_prev_page'],
                                       next_url=dictr['is_next_page'],
                                       next_page=page + 1,
                                       prev_page=page - 1)
            elif result.response.status_code == 403:
                do_logout()
                return redirect(url_for('users.login'))
            else:
                flash("Кассир не найден", "error")
                return redirect(url_for('kassirs.index'))
        else:
            flash(result.error, "error")
            return redirect(url_for('kassirs.index'))
Exemple #15
0
def logout():
    result = do_logout()
    response = redirect(url_for(result.redirect))
    response.delete_cookie('token')
    return response