def case(): if request.method == 'POST': data = {} for item in request.json: value = request.json[item] if item != 'data': print item,value data.update({item:value}) #print data s = build_demo7.build_demo7_data(data) if current_user.is_active(): new_scenario = Scenario(s, data['name'], data['income_items'], data['basic_expenses'], data['misc_expenses'], data['debt_accounts'], data['cash_accounts']) if data['isBaseCase']: new_scenario.is_base = True current_user.scenarios.append(new_scenario) db.session.add(current_user) db.session.flush() this_id = new_scenario.id db.session.commit() data.update({'id':this_id,'data':s}) return json.dumps(data),200
def submit_demo3(): names = {0:''} income = {0:{}} basic_expenses = {0:{}} debt_expenses = {0:{}} misc_expenses = {0:{}} debt_balances = {0:{}} cash_balances = {0:{}} rates = {0:{}} print request.form scenarios = [] for item in request.form: print item, request.form[item] if request.form[item] == '' or request.form[item] == None: item_value = 0 else: item_value = request.form[item].replace(",", "") prefix = item[:3] item_name = item[3:-2] scenario = int(item[-1]) if scenario not in scenarios: names.update({scenario:''}) income.update({scenario:{}}) basic_expenses.update({scenario:{}}) debt_expenses.update({scenario:{}}) misc_expenses.update({scenario:{}}) debt_balances.update({scenario:{}}) cash_balances.update({scenario:{}}) rates.update({scenario:{}}) scenarios.append(scenario) if prefix == "na_": names[scenario] = item_value elif prefix == "in_": income[scenario].update({item_name: item_value}) elif prefix == "be_": basic_expenses[scenario].update({item_name: item_value}) elif prefix == "de_": debt_expenses[scenario].update({item_name: item_value}) elif prefix == "me_": misc_expenses[scenario].update({item_name: item_value}) elif prefix == "ba_": debt_balances[scenario].update({item_name: item_value}) elif prefix == "cb_": cash_balances[scenario].update({item_name: item_value}) elif prefix == "ra_": rates[scenario].update({item_name: float(item_value)/100.0}) #print rates #scenario_count = len(scenarios) print 'cash_balances: \n',cash_balances print 'rates: \n',rates d = build_demo3.build_demo3_data(names, income, basic_expenses, debt_expenses, misc_expenses, debt_balances, cash_balances, rates, scenarios) if current_user.is_active(): #remove existing scenarios scenarios_query = current_user.scenarios.all() for scenario in scenarios_query: db.session.delete(scenario) for scenario in range(0,len(scenarios)): #for scenario in range(0,1): new_scenario = Scenario(d[scenario]) if scenario == 0: new_scenario.is_base = True current_user.scenarios.append(new_scenario) #current_user.data = d[0] db.session.add(current_user) db.session.commit() return redirect(url_for('demo3_output_detail'))