#  views.py for history module

from flask import render_template, Blueprint
from flask import request
from flask import flash

import datetime
import ezodf

# configure

history_blueprint = Blueprint('history', __name__, template_folder='templates')


# routes

@history_blueprint.route('/')
def index():
    return render_template('index.html')


@app.route('/adm', methods=['GET', 'POST'])
@app.route('/add_history', methods=['GET', 'POST'])
def add_history():
    #    form = AddHistory()

    #  Collect History Information from the spreadsheet and pre-load the form.
    #

    # open the spreadsheet

    doc = ezodf.opendoc('/Users/brtc/Documents/wr/Retirement/FinancialPlanning-2018-RothRevG_cleaned.ods')

    # get the data from the various places
    sheet = doc.sheets['Current balances']
    ast = sheet['E44'].value
    liab = sheet['D51'].value
    nw = sheet['D59'].value
    sheet = doc.sheets['Budget by Year']
    res = sheet['F63'].value
    sheet = doc.sheets['Current balances']
    taxable = sheet['J35'].value
    deferred = sheet['J36'].value
    roth = sheet['J40'].value
    hsa = sheet['J43'].value

    form = AddHistory(request.form,
                      record_date=datetime.datetime.today(),
                      assets=ast,
                      liabilities=liab,
                      net_worth=nw,
                      reserves=res,
                      taxable_investments=taxable,
                      deferred_investments=deferred,
                      roth_investments=roth,
                      hsa_investments=hsa
                      )

    if request.method == 'POST':
        h = form.record_date.data

        if form.validate_on_submit():

            entry_record = History(
                form.record_date.data,
                form.assets.data,
                form.liabilities.data,
                form.net_worth.data,
                form.reserves.data,
                form.taxable_investments.data,
                form.deferred_investments.data,
                form.roth_investments.data,
                form.hsa_investments.data)

            if form.submit_button.data:
                print('Submit button pushed... db updated')
                db.session.add(entry_record)
                db.session.commit()

            elif form.looking_button.data:
                print('Just Looking  button pushed but we are here...no update')
            else:
                print('How did we get here?')
                flash('We are at the third button.')
        else:
            print("***---DEBUG---***    Form is not valid...badness must be fixed.")

    return render_template('add_history.html', title='Add', form=form)
