Blame view

app/db_mgr.py 888 Bytes
8b3ab81d   hitier   All charges now i...
1
2
from pprint import pprint

1aeda847   hitier   Two db request wr...
3
4
5
6
7
8
9
10
11
12
from app.models import db, Agent, Charge


def agents():
    all_agents = [a.firstname for a in Agent.query.all()]
    return all_agents


def charges_by_agent(agent_id):
    # all_charges = db.session.query(Charge).all()
8b3ab81d   hitier   All charges now i...
13
14
    periods = db.session.execute("select name from period")
    sql_txt = "select p.name, sum(charge_rate)  from charge inner join period p on charge.period_id = p.id\
71b91c22   hitier   New json route fo...
15
16
                where agent_id={} group by period_id order by p.name" \
        .format(agent_id)
1aeda847   hitier   Two db request wr...
17
    request = db.session.execute(sql_txt)
8b3ab81d   hitier   All charges now i...
18
19
20
21
22
23
24
25
    all_charges = []
    charges_list = [(period, charge) for (period, charge) in request.fetchall()]
    charges_dict = dict(charges_list)
    for (p,) in periods:
        if p in charges_dict.keys():
            all_charges.append([p, charges_dict[p]])
        else:
            all_charges.append([p, 0])
71b91c22   hitier   New json route fo...
26
    return all_charges