Esempio n. 1
0
def login():
    if request.method == 'POST':
        username_form = request.form['username']
        password_form = request.form['password']
        if db.get(
                "SELECT COUNT(*) FROM users WHERE username = %s AND password = %s",
            [username_form, password_form])[0][0] > 0:
            return '''
<!DOCTYPE html>
<html lang="de" dir="ltr">
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
localStorage.setItem("username","''' + username_form + '''");
window.location.replace("http://facharbeit-app.ddns.net:5000/chat");
</script
</body>
</html>
            '''
        else:
            return render_template('login.html')
    else:
        return render_template('login.html')
Esempio n. 2
0
def register():
    if request.method == 'POST':
        lastname_form = request.form['lastName']
        firstname_form = request.form['firstName']
        username_form = request.form['username']
        password_form = request.form['password']
        db.set(
            "INSERT INTO users (lastName, firstName,username, password) VALUES (%s,%s,%s,%s)",
            (lastname_form, firstname_form, username_form, password_form))
        return render_template('login.html')
    else:
        return render_template('register.html')
Esempio n. 3
0
def patna_route():
    if not table_exists('patna_data'):
        session['city'] = 'patna'
        return redirect(url_for('form_shop'))
    if 'sd' in session:
        session.pop('sd', None)
    if 'ed' in session:
        session.pop('ed', None)
    if request.method == 'POST':
        if request.form['btn'] == 'add':
            session['city'] = 'patna'
            session['state'] = 'bihar'
            city_t = pd.read_sql_table('patna_data', con=db)
            session['date'] = '%s' % city_t.columns[1]
            return redirect(url_for('form_product'))
        if request.form['btn'] == 'delete':
            product_to_delete = request.form.get('delete_product')
            delete_product('patna', product_to_delete)
    city_t = pd.read_sql_table('patna_data', con=db)
    city_t.replace(to_replace=[None], value='0', inplace=True)
    city_t.replace(to_replace=np.nan, value='0', inplace=True)
    state_t = pd.read_sql_table('bihar_data', con=db)
    product_in_city = set(z[9:-6] for z in city_t['Shops and Units'][1:])
    revenue = 0
    city_t2 = total_revenue('patna', 'bihar')

    if request.method == 'POST':
        if request.form['btn'] == 'revenue':
            if 'sd' in session:
                session.pop('sd', None)
            if 'ed' in session:
                session.pop('ed', None)
            d1 = request.form.get('start_date')
            d2 = request.form.get('end_date')
            session['sd'] = d1
            session['ed'] = d2
            if not d1 or not d2:
                revenue = 'Illegal Date'
            elif pd.Timestamp(session['sd']) > pd.Timestamp(session['ed']):
                revenue = 'Illegal Date'
            else:
                revenue = calc_revenue(city_t2, d1, d2)
    return render_template('patna.html',
                           tables=[
                               city_t.to_html(classes='table table-bordered',
                                              col_space=150,
                                              index=False,
                                              table_id='dataTable',
                                              justify='center'),
                               city_t2.to_html(classes='table table-bordered',
                                               col_space=150,
                                               index=False,
                                               table_id='dataTable',
                                               justify='center')
                           ],
                           titles=city_t.columns.values,
                           listOfPro=product_in_city,
                           revenue=revenue,
                           sd=session['sd'] if 'sd' in session else None,
                           ed=session['ed'] if 'ed' in session else None)
Esempio n. 4
0
def state_input_route():
    if 'state_name' in session:
        state = session['state_name']
        if not table_exists('%s_data' % state):
            cursor.execute(
                "CREATE TABLE %s_data (name VARCHAR(255) , cost DOUBLE)" %
                state)
            connection.commit()
        temp = pd.read_sql_table('%s_data' % state, con=db)
        if request.method == 'POST':
            product_name = request.form.get('product_name')
            product_cost = request.form.get('product_cost')

            if product_name and product_cost and product_name not in list(
                    temp['name']):
                error = 'Invalid Values'
                cursor.execute('''INSERT into %s_data (name, cost)
                                             values ('%s', %s)''' %
                               (state, product_name, product_cost))
                connection.commit()
            print('''INSERT into %s_data (name, cost) values ('%s', %s)''' %
                  (state, product_name, product_cost))
            temp = pd.read_sql_table('%s_data' % state, con=db)
        return render_template('state_input.html',
                               tables=[
                                   temp.to_html(classes='table table-bordered',
                                                col_space=150,
                                                index=False,
                                                table_id='product_table',
                                                justify='center')
                               ],
                               titles=temp.columns.values,
                               state=state.upper())
    else:
        return redirect(url_for('home'))
Esempio n. 5
0
def city_input_route():
    if 'city_name' in session:
        city_data = None
        city = session['city_name']
        if table_exists('%s_data' % city):
            city_data = pd.read_sql_table('%s_data' % city, con=db)
            city_data.replace(to_replace=[None], value='0', inplace=True)
            city_data.replace(to_replace=np.nan, value='0', inplace=True)
        else:
            session['city'] = city
            return redirect(url_for('form_shop'))
        # print(city_data)
        if request.method == 'POST':
            if request.form['btn'] == 'upload':
                f = request.files['city_data']
                f.save(
                    os.path.join(app.config['UPLOAD_FOLDER'],
                                 '%s_data' % city))
                city_data = pd.read_excel(
                    os.path.join(app.config['UPLOAD_FOLDER'],
                                 '%s_data' % city))
                city_data.set_index('Shops and Units', inplace=True)
                city_data = update_data(city_data)

                city_data.to_sql(name='%s_data' % city,
                                 con=db,
                                 if_exists='replace',
                                 index_label='Shops and Units')
                city_data.reset_index(inplace=True)

        return render_template('city_input.html',
                               tables=[
                                   city_data.to_html(
                                       classes='table table-bordered',
                                       col_space=150,
                                       index=False,
                                       table_id='product_table',
                                       justify='center')
                               ],
                               titles=city_data.columns.values,
                               city=city.upper())
    else:
        return redirect(url_for('home'))
Esempio n. 6
0
def form_shop():
    if 'city' in session:
        if (request.method == 'POST'):
            sdate = request.form.get('launch_date')
            edate = request.form.get('end_date')
            initial = request.form.get('initial_shops')
            growth = request.form.get('growth_rate')
            max_shop = request.form.get('max_shop')
            q = request.form.get('quarterly')
            new_df = add_product('Shops', sdate, edate, int(initial),
                                 int(growth), int(max_shop), q)
            save_excel(new_df, session['city'])
            new_df.to_sql(con=db,
                          name='%s_data' % session['city'],
                          if_exists='append',
                          index_label='Shops and Units')
            return redirect(url_for('city_input_route'))
    else:
        return redirect(url_for('home'))

    return render_template('form_shop.html')
Esempio n. 7
0
def form_product():
    if 'city_name' in session:
        if (request.method == 'POST'):
            sdate = request.form.get('launch_date')
            edate = request.form.get('end_date')
            initial = request.form.get('initial_units')
            growth = request.form.get('growth_rate')
            max_unit = request.form.get('max_units')
            q = request.form.get('quarterly')
            name = request.form.get('product_name')
            new_df = add_product(name, sdate, edate, int(initial), int(growth),
                                 int(max_unit), q)
            new_df.to_sql(con=db,
                          name='%s_data' % session['city_name'],
                          if_exists='append',
                          index_label='Shops and Units')
            temp = pd.read_sql_table('%s_data' % session['city_name'], con=db)
            temp.set_index('Shops and Units', inplace=True)
            save_excel(temp, session['city_name'])
            return redirect(url_for('city_input_route'))
        return render_template('form_product.html', listOfPro=['X', 'Y', 'Z'])
    return redirect(url_for('home'))
Esempio n. 8
0
def up_route():
    if not table_exists('up_revenue'):
        cursor.execute(
            "CREATE TABLE up_revenue (parameter VARCHAR(255) , value VARCHAR(255))"
        )
        connection.commit()
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('rps', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('rpe', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('rcs', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('rce', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('pwds', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('pwse', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('cwds', NULL)'''
        )
        cursor.execute(
            '''INSERT into up_revenue (parameter, value) values ('cwde', NULL)'''
        )
        connection.commit()
    up_revenue = pd.read_sql_table('up_revenue', con=db)
    up_revenue.set_index('paramater', inplace=True)
    if request.method == 'POST':
        if request.form['btn'] == 'product_revenue':
            up_revenue.loc['rps', 'value'] = request.form.get('rps')
            up_revenue.loc['rpe', 'value'] = request.form.get('rpe')

    return render_template('up.html')
Esempio n. 9
0
def forgot_password():
    if request.method == 'POST':
        lastname_form = request.form['email']
        return render_template('login.html')
    else:
        return render_template('forgot-password.html')
Esempio n. 10
0
def delhi_route():
    return render_template('delhi.html')
Esempio n. 11
0
def bihar_route():
    if not table_exists('bihar_data'):
        cursor.execute(
            "CREATE TABLE bihar_data (name VARCHAR(255) , cost DOUBLE)")
        connection.commit()
    if request.method == 'GET':
        session.clear()
    list_city = ['patna']
    temp = pd.read_sql_table('bihar_data', con=db)
    session['lp'] = list(temp['name'])

    if request.method == 'POST':
        if request.form['btn'] == 'add':
            product_name = request.form.get('product_name')
            product_cost = request.form.get('product_cost')
            if not product_name or not product_cost or product_name in str(
                    temp['name']):
                error = 'Invalid Values'
                product_name = request.form.get('product_name')
                product_cost = request.form.get('product_cost')
                if product_name and product_cost and product_name not in session[
                        'lp']:
                    error = 'Invalid Values'
                    cursor.execute(
                        '''INSERT into up_data (name, cost)
                                                 values (%s, %s)''',
                        (product_name, product_cost))
                    connection.commit()
                    session['lp'].append(product_name)
        elif request.form['btn'] == 'revenue_product':
            if 'ssd' in session:
                session.pop('ssd', None)
            if 'sed' in session:
                session.pop('sed', None)
            if 'set_p' in session:
                session.pop('set_p', None)
            session['set_p'] = request.form.get('product_revenue')
            session['ssd'] = request.form.get('start_date')
            session['sed'] = request.form.get('end_date')
            if pd.Timestamp(session['ssd']) > pd.Timestamp(session['sed']):
                session['revenue'] = 'Illegal Date'
            else:

                session['revenue'] = calc_state_revenue(
                    'bihar', list_city, session['set_p'], session['ssd'],
                    session['sed'])
                print(session['revenue'])
        elif request.form['btn'] == 'revenue_product_p':
            if 'psd' in session:
                session.pop('psd', None)
            if 'ped' in session:
                session.pop('ped', None)
            temp = pd.read_sql_table('bihar_data', con=db)
            session['lp'] = list(temp['name'])
            print(session['lp'])
            session['psd'] = request.form.get('start_date_p')
            session['ped'] = request.form.get('end_date_p')
            session['list_revenue'] = [
                calc_state_revenue('bihar', list_city, i, session['psd'],
                                   session['ped']) for i in session['lp']
            ]
            print(session['list_revenue'])
        elif request.form['btn'] == 'revenue_product_c':
            if 'csd' in session:
                session.pop('csd', None)
            if 'ced' in session:
                session.pop('ced', None)

            session['csd'] = request.form.get('start_date_c')
            session['ced'] = request.form.get('end_date_c')
            session['city_wise_revenue'] = [
                calc_city_wise_revenue(c, session['csd'], session['ced'],
                                       'bihar') for c in list_city
            ]
            print(session['city_wise_revenue'])

    temp = pd.read_sql_table('bihar_data', con=db)
    return render_template(
        'bihar.html',
        tables=[
            temp.to_html(classes='table table-bordered',
                         col_space=150,
                         index=False,
                         table_id='dataTable',
                         justify='center')
        ],
        titles=temp.columns.values,
        listOfPro=(temp['name']),
        revenue=session['revenue'] if 'revenue' in session else 0,
        ssd=session['ssd'] if 'ssd' in session else None,
        sed=session['sed'] if 'sed' in session else None,
        psd=session['psd'] if 'psd' in session else None,
        ped=session['ped'] if 'ped' in session else None,
        csd=session['csd'] if 'csd' in session else None,
        ced=session['ced'] if 'ced' in session else None,
        set_product=session['set_p'] if 'set_p' in session else None,
        lp=session['lp'] if 'lp' in session else [],
        list_revenue_city=session['city_wise_revenue']
        if 'city_wise_revenue' in session else [],
        list_city=list_city,
        list_revenue_product=session['list_revenue']
        if 'list_revenue' in session else [],
        colors_state=colors,
        colors_city=colors[::-1],
        data_state=zip(session['lp'], colors[:len(session['lp'])]),
        data_city=zip(list_city, colors[::-1]))
Esempio n. 12
0
def product_cost():
    return render_template('product_cost.html')
Esempio n. 13
0
def home():
    if request.method == 'POST':
        if request.form['btn'] == 'chosen_city':
            session['city_name'] = request.form.get('city_list')
            return redirect(url_for('city_input_route'))
    return render_template('index.html')