But because of the group by clause it are too slow and I curious to know if
I can query each company separately  do what i must with the data and show
the result on page as soon as they are ready

2012/5/16 Fabiano Faver <far...@gmail.com>

> I'm trying to display a table with the name of some companies with the
> background color of each TD or DIV  dependent of the last day the printers
> company were checked
>
> this it what I have now:
>
> def exibicao_empresas():
>     #get companies
>     empr = db(auth.accessible_query('**read', db.empresa,
> auth.user_id)).select()
>     tabela_empresa = TABLE( _class='grid_color')
>     tr = TR()
>     columns = 6
>     count_cl = 0
>     #for each company get all their printers and the last date it were
> checked
>     for td in empr:
>         lista_1 = []
>         count_menos = count_mais = 0
>         #getting printers
>         impress = db((db.impressora.id_filial_**empresa==
> db.filial_empresa.id)**&(db.filial_empresa.id_**empresa==td.id))._select(
> db.**impressora.id <http://db.impressora.id/>)
>
>         quant_impressoras = len(impress)
>         maxdata = db.contadores.data.max()
>         #getting dates
>         dias = db(db.contadores.id_**impressora.belongs(impress)).**select(
> maxdata,db.contadores.id_**impressora, groupby=db.contadores.id_**
> impressora)
>
>         # checking to show the indicative background-color
>         for dia in dias:
>             if (((dia_hoje-dia[maxdata]).days >= 1) and
> ((dia_hoje-dia[maxdata]).days < 5)): count_menos = count_menos+1
>             if ((dia_hoje-dia[maxdata]).days > 5): count_mais =
> count_mais+1
>         bg_td = 'background-color: #99FFCC'
>         if count_menos: bg_td = 'background-color: #EAEA9F'
>         if count_mais == len(dias): bg_td = 'background-color: #FF9999'
>
>         tr.append(TD(td.nome_fantasia, _style = bg_td))
>         count_cl = count_cl + 1
>         if count_cl==columns:
>             tabela_empresa.append(tr)
>             tr=TR()
>     else:
>         if len(tr): tabela_empresa.append(tr)
>
>     return dict(tabela_empresa =tabela_empresa )
>
>>
>>

Reply via email to