Example #1
0
def add_row(table):
    """
        Добавить запись в таблицу
    """

    form = EditForm()
    # Получить запись из таблицы
    data = execute(table_fields.format(table=table))

    print(data)
    data_to_update = ''
    if form.validate_on_submit():
        flash('Добавлено ;)')
        print(form)

        raw_data = request.form

        for row in raw_data:
            if row != 'csrf_token':
                # Строка для апдейта
                data_to_update += "{}='{}', ".format(row, raw_data[row])

        # debug Вывести запрос в БД
        query = insert_query.format(table=table, setter=data_to_update[0:-2])
        print(query)
        # Выполнить обновление записи
        execute(query)
        return redirect(url_for('view_table', table=table))

    return render_template('admin/add.html',
                           table=table,
                           tables=table_names,
                           data=data,
                           form=form)
Example #2
0
def index():
    """
        Главная страница с предложением заказа

    """
    
    # Форма с параметрами собаки
    dog_form = DogForm()
    
    choices = get_choices()
    
    # Добавить выборы в поля
    dog_form.dog_age.choices = choices['age']
    dog_form.dog_body_type.choices = choices['body_type']
    dog_form.dog_breed.choices = choices['breed']
    dog_form.meat.choices = choices['meat']
    dog_form.sub_product.choices = choices['sub_product']
    dog_form.vegitables.choices = choices['vegitables']
    dog_form.poridge.choices = choices['poridge']

    data = {}
    if request.method == 'POST':
    # if dog_form.validate_on_submit():
        #  flash('Форма подтверждена')
        # Расчитать всю фигню
        data = request.form.to_dict()
        del data['csrf_token']
        del data['submit']
        print(data)
        ORDER_DATA = data
        session['order'] = ORDER_DATA
        # Костыль:  сколько раз кормить
        feed = execute('select age, feed from age where id={}'.format(data['dog_age']))
        # Поместить в массив нужные данные

        ration, total_weigt = calc_food(data)
        print('Общий вес рациона {} грамм'.format(total_weigt))
        print(ration)
        # Кисломолочка
        try:
            if data['dog_include_milk']:
                milks = MILKS
        except Exception:
            milks = None
        
        # Добавить форму обратной связи
        contact_form = ContactForm()
        # Показать шаблон с размеченной таблицей
        # 
       
        return(render_template('order.html', result=ration, weight=total_weigt, milks=milks, contact_form=contact_form, feed=feed[0]))
        
        
    return render_template(
        'index.html',
        form=dog_form,
        title="НямПес"
    )
Example #3
0
def view_table(table):
    """
        Просмотр выбранной таблицы
    """
    query = simple_query.format(table=table)
    result = execute(query)
    print(result)
    return render_template('admin/view.html',
                           result=result,
                           table=table,
                           tables=table_names)
Example #4
0
    def get_product(id, weight, percent):
        '''
            Расчитать запись в таблице. вернуть название, вес, общую стоимость
        '''
        product = execute('select i.name "Продукт", t.name "Тип", i.price "Цена"  from ingredient i, ingredient_type t where i.type = t.id and i.id = {}'.format(id))
        product = product[0]

        product['Вес'] = weight / 100 * percent
        product['Цена'] = round(product['Цена'] * (product['Вес'] / 1000),2)

        return product
Example #5
0
def calc_food_mass(age, weight):
    '''
        Функция расчета массы корма
    '''
    # age = percent from db
    # weight = gramm
    # Выбрать процент для расчета из БД
    percent = execute("select percent from age where id={}".format(age))
    percent = percent[0]['percent']

    result = (percent * int(weight))
    result = round(result,2)

    return result
Example #6
0
def edit_table(table, id):
    """
        Изменить запись в таблице
    """
    form = EditForm()
    # Получить запись из таблицы
    data = execute(row_query.format(table=table, id=id))

    # form_fields = execute(table_fields.format(table=table))
    # В какие поля вставлять

    data_to_update = ''
    if form.validate_on_submit():
        flash('Сохранено ;)')
        print(form)

        raw_data = request.form

        for row in raw_data:
            if row != 'csrf_token':
                # Строка для апдейта
                data_to_update += "{}='{}', ".format(row, raw_data[row])

        # debug Вывести запрос в БД
        query = edit_query.format(table=table,
                                  setter=data_to_update[0:-2],
                                  id=id)
        # Выполнить обновление записи
        execute(query)
        return redirect(url_for('view_table', table=table))

    return render_template('admin/edit_add.html',
                           table=table,
                           tables=table_names,
                           data=data,
                           form=form)
Example #7
0
def order():
    answer = {
        'status': 200,
        'oreder': ''
    }
    if not request.json:
        abort(400)
    
    params = request.json
    # print('JSON has come! Here it is:  ')
    # print(params)
    customer = params['customer']
    products = params['order_data']
    
    # Проверить на существующий email
    session['customer_id'] = execute("select id from customer where email = '{}'".format(customer['email']))

    if not session['customer_id']:
        
        data_to_update = ''
        # print(customer)

        data_to_update += "name = '{name}', email = '{email}', phone='{phone}' ".format(
            name=customer['name'],
            email=customer['email'],
            phone=customer['phone']
        )
        
        # debug Вывести запрос в БД
        query = insert_query.format(
                table='customer',
                setter=data_to_update,
            )
        # Выполнить обновление записи
        print(query)
        session['customer_id'] = insert(query)
        
        # customer_id = execute("select id from customer last")
        # session['customer_id'] = customer_id[0]

    

    print('Сессия и заказ в ней')
    print(session['order'])
    print(session['customer_id'])
    # Занести в БД incusion
    date = get_formated_current_time()

    query = """
    
        INSERT INTO nyam_pes.order
        (date,customer_id,age_id,weight,body_type_id,breed_id)
        VALUES ('{date}', '{customer_id}', '{age_id}', '{weight}', '{body_type_id}', '{breed_id}')

    """.format(
        date=date,
        customer_id = session['customer_id'][0]['id'],
        age_id = session['order']['dog_age'],
        weight = session['order']['dog_weight'],
        body_type_id = session['order']['dog_body_type'],
        breed_id = session['order']['dog_breed'],
    )
    print(query)
    session['order_id'] = insert(query)


    # Занести все позиции заказа
    answer['order'] = session['order_id']
    return jsonify(answer)
Example #8
0
def delete_row(table, id):

    execute(delete_query.format(table=table, id=id))
    flash('Запись удалена')
    return redirect(url_for('view_table', table=table))
Example #9
0
from app import app
from app.queries import execute, edit_query, insert_query, row_query, simple_query, execute, tables_query, table_fields, delete_query

from app.forms import EditForm

from app.form_constructor import construct
# #

from flask_wtf import FlaskForm
from wtforms import StringField, SelectField, FloatField, IntegerField, DateTimeField, SubmitField
from wtforms.fields.html5 import DateField
from wtforms.validators import DataRequired, Length
from wtforms_dynamic_fields import WTFormsDynamicFields
#####

table_names = execute(tables_query)


@app.route('/admin/')
@app.route('/admin/index')
def admin_index():
    return render_template('admin/index.html', tables=table_names)


@app.route('/admin/view/<string:table>')
def view_table(table):
    """
        Просмотр выбранной таблицы
    """
    query = simple_query.format(table=table)
    result = execute(query)