Пример #1
0
    def search():
        search = request.args.get('search')
        search_lowecased = search.strip().lower()
        user_login = user()
        number_of_ads = db.all_ads_count_search(db.open_db(db_url),
                                                search_lowecased)
        numb = number_of_ads['count_ads']
        number_of_pages = math.ceil(numb / ADDS_PER_PAGE)

        search_result = db.search_pets(db.open_db(db_url),
                                       search_lowecased,
                                       ADDS_PER_PAGE,
                                       pages_offset=0)

        if 'pages_offset' in request.args.keys():
            pages_offset = request.args.get('pages_offset')
            search = request.args.get('search')
            search_result = db.search_pets(db.open_db(db_url),
                                           search_lowecased, ADDS_PER_PAGE,
                                           pages_offset)

        return render_template('index.html',
                               pets=search_result,
                               search=search,
                               active_index='search',
                               user_login=user_login,
                               number_of_pages=number_of_pages,
                               limit=ADDS_PER_PAGE)
Пример #2
0
 def index():
     search = request.args.get('search')
     if search:
         search_result = db.search_product(db.open_db(db_url), search)
         return render_template('index.html', items=search_result, search=search)
     get_all_result = db.get_all(db.open_db(db_url))
     return render_template('index.html', items=get_all_result)
Пример #3
0
    def edit(ad_id):
        if 'id' in session and session['id'] is not None:
            user_login = session['login']
            if request.method == 'GET':
                search_by_ad_id_result = db.search_by_ad_id(
                    db.open_db(db_url), ad_id)
                return render_template('edit.html',
                                       pet=search_by_ad_id_result,
                                       user_login=user_login)

            if request.method == 'POST':
                category = request.form['category']
                category_lowercased = category.strip().lower()
                breed = request.form['breed']
                breed_lowercased = category.strip().lower()
                gender = request.form['gender']
                birthdate = request.form['birthdate']
                name = request.form['name']
                name_lowercased = name.strip().lower()
                price = int(request.form['price'])
                file = request.files['file']
                photo = None
                if file and allowed_file(file.filename):
                    photo = secure_filename(file.filename)
                    file.save(os.path.join(app.config['uploads'], photo))
                description = request.form['description']
                db.edit_by_ad_id(db.open_db(db_url), ad_id, category,
                                 category_lowercased, breed, breed_lowercased,
                                 gender, birthdate, name, name_lowercased,
                                 price, photo, description)
                return redirect(url_for('all_pets', ad_id=ad_id))
        else:
            return redirect(url_for('login'))
Пример #4
0
 def edit(id):
     name = request.form['name']
     price = float(request.form['price'])
     qty = int(request.form['qty'])
     product = Product(id, name, price, qty)
     db.update(db.open_db(db_url), product)
     return redirect(url_for('details_by_id', id=id))
Пример #5
0
 def edit(vendor_code):
     product_name = request.form['product_name']
     price = int(request.form['price'])
     quantity = int(request.form['quantity'])
     product = Products(vendor_code, product_name, price, quantity)
     db.edit_by_vendor_code(db.open_db(db_url), product)
     return redirect(url_for('index', vendor_code=vendor_code))
Пример #6
0
    def favourites():
        if 'id' in session and session['id'] is not None:
            username = session['id']
            user_login = session['login']
            favorites_ads = db.favorites_for_user(db.open_db(db_url), username)
            counting = db.counting_favorites_for_user(db.open_db(db_url),
                                                      username)
            counting_favorites = counting['number_favor_ads']

            return render_template('favourites.html',
                                   user_id=username,
                                   user_login=user_login,
                                   favorites_ads=favorites_ads,
                                   counting_favorites=counting_favorites)
        else:
            return redirect(url_for('login'))
Пример #7
0
    def sell(vendor_code):
        date = request.form['date']
        price = int(request.form['price'])
        quantity = int(request.form['quantity'])
        seller_id = int(request.form['seller_id'])
        sale = Sales(date, vendor_code, price, quantity, seller_id)
        search_by_vendor_code_result = db.search_by_vendor_code(db.open_db(db_url), vendor_code)

        if search_by_vendor_code_result.quantity < quantity:
            flash("Не достаточно товара на складе")
            return redirect(url_for('sell_form', vendor_code=vendor_code))

        db.sale_by_vendor_code(db.open_db(db_url), sale)
        search_by_vendor_code_result.quantity = search_by_vendor_code_result.quantity - quantity
        db.sale_by_vendor_code_from_base(db.open_db(db_url), search_by_vendor_code_result)
        return redirect(url_for('index', vendor_code=vendor_code))
Пример #8
0
    def registration():
        user_login = user()

        if 'id' in session and session['id'] is not None:
            return redirect(url_for('account'))

        else:
            if request.method == 'GET':
                return render_template('registration.html',
                                       user_login=user_login)

            if request.method == 'POST':
                login_verification = {'success': False}
                login = request.form['login']
                password_n = request.form['password']
                password = bcrypt.generate_password_hash(password_n)
                surname = request.form['surname']
                name = request.form['name']
                phone_number = request.form['phone_number']
                try:
                    db.create_new_user(db.open_db(db_url), login, password,
                                       surname, name, phone_number)
                except sqlite3.IntegrityError:
                    login_verification[
                        'error'] = 'Пользователь c таким логином уже существует'
                    flash(login_verification['error'])
                    return render_template('registration.html')
            return redirect(url_for('login'))
Пример #9
0
 def login():
     user_login = user()
     if request.method == 'POST':
         result = {'success': False}
         login = request.form['login']
         password = request.form['password']
         val = db.validate_user(db.open_db(db_url), login)
         if val is None:
             result['error'] = 'Пользователь не найден'
             flash(result['error'])
         elif val is not None:
             valid_password = bcrypt.check_password_hash(
                 val['password'], password)
             if valid_password == False:
                 result['error'] = 'Неверный пароль'
                 flash(result['error'])
                 return render_template('login.html', user_login=user_login)
             elif valid_password == True:
                 session.clear()
                 session['id'] = val['id']
                 session['login'] = val['login']
                 session['surname'] = val['surname']
                 session['name'] = val['name']
                 session['phone_number'] = val['phone_number']
             return redirect(url_for('account', username=session['id']))
     return render_template('login.html', user_login=user_login)
Пример #10
0
 def add():
     name = request.form['name']
     price = float(request.form['price'])
     qty = int(request.form['qty'])
     product = Product(0, name, price, qty)
     db.add(db.open_db(db_url), product)
     return redirect(url_for('index'))
Пример #11
0
    def new_pet():
        user_login = user()
        if 'id' in session and session['id'] is not None:
            if request.method == 'GET':
                return render_template('new_pet.html', user_login=user_login)

            if request.method == 'POST':
                category = request.form['category']
                category_lowercased = category.strip().lower()
                breed = request.form['breed']
                breed_lowercased = breed.strip().lower()
                gender = request.form['gender']
                birthdate = request.form['birthdate']
                name = request.form['name']
                name_lowercased = name.strip().lower()
                price = int(request.form['price'])
                photo = None
                file = request.files['file']
                if file and allowed_file(file.filename):
                    photo = secure_filename(file.filename)
                    file.save(os.path.join(app.config['uploads'], photo))
                description = request.form['description']
                author_id = session['id']
                db.create_new_pet(db.open_db(db_url), category,
                                  category_lowercased, breed, breed_lowercased,
                                  gender, birthdate, name, name_lowercased,
                                  price, photo, description, author_id)
                return redirect(url_for('all_pets'))

            return render_template('new_pet.html')

        else:
            return redirect(url_for('login'))
Пример #12
0
 def account():
     username = session['id']
     user_login = session['login']
     user_surname = session['surname']
     user_name = session['name']
     user_phone_number = session['phone_number']
     ads_for_user = db.all_ads_for_user(db.open_db(db_url), username)
     number_of_ads_for_user = db.number_of_ads(db.open_db(db_url), username)
     return render_template('account.html',
                            ads_for_user=ads_for_user,
                            number_of_ads_for_user=number_of_ads_for_user,
                            user_id=username,
                            user_login=user_login,
                            user_surname=user_surname,
                            user_name=user_name,
                            user_phone_number=user_phone_number,
                            active_index='account')
Пример #13
0
 def add_product():
     vendor_code = int(request.form['vendor_code'])
     product_name = request.form['product_name']
     price = int(request.form['price'])
     quantity = int(request.form['quantity'])
     product = Products(vendor_code, product_name, price, quantity)
     db.add(db.open_db(db_url), product)
     return redirect(url_for('index'))
Пример #14
0
    def all_pets():
        user_login = user()
        all_ads_count_result = db.all_ads_count(db.open_db(db_url))
        number_of_ads = all_ads_count_result['count_ads']
        number_of_pages = math.ceil(number_of_ads / ADDS_PER_PAGE)
        all_pets_result = db.all_pets(db.open_db(db_url),
                                      ADDS_PER_PAGE,
                                      pages_offset=0)
        if 'pages_offset' in request.args.keys():
            pages_offset = request.args.get('pages_offset')
            all_pets_result = db.all_pets(db.open_db(db_url), ADDS_PER_PAGE,
                                          pages_offset)

        return render_template('index.html',
                               pets=all_pets_result,
                               active_index='all_pets',
                               user_login=user_login,
                               number_of_pages=number_of_pages,
                               limit=ADDS_PER_PAGE)
Пример #15
0
 def details(ad_id):
     favor = -1
     counting_favor = db.counting_favorites(db.open_db(db_url), ad_id)
     if 'id' in session and session['id'] is not None:
         user_login = session['login']
         user = session['id']
         is_favor = db.is_favorites(db.open_db(db_url), ad_id, user)
         empty = []
         if is_favor == empty:
             favor = 0
         else:
             favor = 1
     else:
         user_login = 0
     search_by_ad_id_result = db.search_by_ad_id(db.open_db(db_url), ad_id)
     return render_template('details.html',
                            pet=search_by_ad_id_result,
                            user_login=user_login,
                            favor=favor,
                            counting_favor=counting_favor)
Пример #16
0
 def fav(ad_id):
     if 'id' in session and session['id'] is not None:
         user = session['id']
         if request.method == 'POST':
             is_favor = db.is_favorites(db.open_db(db_url), ad_id, user)
             empty = []
             if is_favor == empty:
                 db.add_to_favorites(db.open_db(db_url), ad_id, user)
                 favor = 1
                 return redirect(
                     url_for('details', ad_id=ad_id, favor=favor))
             else:
                 for res in is_favor:
                     id = res['id']
                     db.remove_from_favorites(db.open_db(db_url), id)
                     favor = 0
                     return redirect(
                         url_for('details', ad_id=ad_id, favor=favor))
     else:
         return redirect(url_for('login'))
Пример #17
0
 def remove(ad_id):
     if 'id' in session and session['id'] is not None:
         user_login = session['login']
         if request.method == 'GET':
             search_by_ad_id_result = db.search_by_ad_id(
                 db.open_db(db_url), ad_id)
             return render_template('remove.html',
                                    pet=search_by_ad_id_result,
                                    user_login=user_login)
         if request.method == 'POST':
             search_by_ad_id_result = db.search_by_ad_id(
                 db.open_db(db_url), ad_id)
             photo_name_1 = search_by_ad_id_result['photo']
             if photo_name_1:
                 photo_name = os.path.join(app.config['uploads'],
                                           photo_name_1)
                 if os.path.isfile(photo_name):
                     os.remove(photo_name)
             db.remove_by_ad_id(db.open_db(db_url), ad_id)
             return redirect(url_for('all_pets'))
     else:
         return redirect(url_for('login'))
Пример #18
0
 def details_by_id(id):
     product = db.get_by_id(db.open_db(db_url), id)
     return render_template('details.html', product=product)
Пример #19
0
 def hello():
     hello = db.show_all(db.open_db(db_url))
     return render_template('index.html', hello=hello)
Пример #20
0
 def remove(id):
     db.remove(db.open_db(db_url), id)
     return redirect(url_for('index'))
Пример #21
0
 def edit_form(vendor_code):
     search_by_vendor_code_result = db.search_by_vendor_code(db.open_db(db_url), vendor_code)
     return render_template('edit_product.html', item=search_by_vendor_code_result)
Пример #22
0
 def remove(vendor_code):
     db.remove_by_vendor_code(db.open_db(db_url), vendor_code)
     return redirect(url_for('index'))
Пример #23
0
 def details_of_product(vendor_code):
     search_by_vendor_code_result = db.search_by_vendor_code(db.open_db(db_url), vendor_code)
     return render_template('product_details.html', item=search_by_vendor_code_result)
Пример #24
0
 def sale_form(id):
     product = db.get_by_id(db.open_db(db_url), id)
     return render_template('sale.html', product=product)
Пример #25
0
 def statistics():
     get_statistics_result = db.get_statistics(db.open_db(db_url))
     return render_template('statistics.html', items=get_statistics_result)
Пример #26
0
 def sale(id):
     count = int(request.form['count'])
     db.sale(db.open_db(db_url), id, count)
     return redirect(url_for('index'))
Пример #27
0
 def sell_form(vendor_code):
     search_by_vendor_code_result = db.search_by_vendor_code(db.open_db(db_url), vendor_code)
     return render_template('sell.html', item=search_by_vendor_code_result)
Пример #28
0
 def index():
     products = db.get_products(db.open_db(db_url))
     return render_template('index.html', products=products)