def gera(ids_sessoes, bt_ver, bt_fechar):

    # Linha de cabeçalho:
    cabs_raw = [
        'Sessão', 'Usuário', 'Aberta?', 'Cookie', 'Carrinho', 'Data de Criação'
    ]
    cabs_div = [].copy()
    for cb in cabs_raw:
        cabs_div.append(
            html_div.gera(html_estilo_cabecalho_de_tabela.gera(), cb))

    linhas = [].copy()
    for id_ses in ids_sessoes:
        # busca por id da sessao no banco
        ses = sessao.busca_por_identificador(id_ses)

        # Gera uma lista de fragmentos HTML com as informacoes dessa compra
        res_campos = html_resumo_de_sessao.gera(ses, bt_ver, bt_fechar)

        # Adiciona essa lista à lista de linhas para a tabela HTML:
        linhas.append(res_campos)
    # Gera a tabela HTML a partir da lista de linhas
    ht_itens = html_table.gera(linhas, cabs_div)

    ht_cabe = html_cabecalho.gera("Minhas Sessões", False)
    ht_conteudo = \
        ht_cabe + "<br/>\n" + \
        ht_itens

    # Devolve a tabela HTML
    return ht_conteudo
def gera(ids_compras, ver, id_carrinho):
    linhas = [].copy()

    # Linha de cabeçalho:
    estilo_cab = "font-size:20px;font-weight:bold; background-color: #60a3bc; color: white; padding:0px 10px 0px 0px"

    # Linha de cabeçalho:
    cabs_raw = [
        'CR', 'Compra', 'Usuário', 'NP', 'Passageiro', 'Documento', 'Preço'
    ]
    cabs_div = [].copy()
    for cb in cabs_raw:
        cabs_div.append(
            html_div.gera(html_estilo_cabecalho_de_tabela.gera(), cb))

    # Linhas das compras:
    for id_cpr in ids_compras:
        # Obtem o objeto correspondente
        compra_obj = compra.busca_por_identificador(id_cpr)

        # Gera uma lista de fragmentos HTML com as informacoes dessa compra
        res_campos = html_resumo_de_compra.gera(compra_obj, ver, id_carrinho)
        # sys.stderr.write("res_campos = %s\n" % str(res_campos))
        assert type(res_campos) is list or type(res_campos) is tuple

        # Adiciona essa lista à lista de linhas para a tabela HTML:
        linhas.append(res_campos)
        # sys.stderr.write("linhas = %s\n" % str(linhas))

    ht_cabe = html_cabecalho.gera("Minhas compras", False)
    # Gera a tabela HTML a partir da lista de linhas
    ht_itens = html_table.gera(linhas, cabs_div)

    ht_legenda = "CR: Seu Carrinho, NP: Número da Poltrona"

    ht_conteudo = \
          ht_cabe + "<br/>\n" + \
          ht_itens + "<br/>\n" + \
          ht_legenda

    # Devolve a tabela HTML
    return ht_conteudo
def gera_cabecalho(fazer_checkin):

  campos = [].copy() # Campos a devolver

  # Devolve a linha de cabeçalho:
  estilo = html_estilo_cabecalho_de_tabela.gera()
  campos.append(html_span.gera(estilo, "NP"))      # Número da poltrona.
  campos.append(html_span.gera(estilo, "Preço"))   # Preço.
  campos.append(html_span.gera(estilo, "OF"))      # É oferta?
  campos.append(html_span.gera(estilo, "Compra"))  # Compra que reservou.
  campos.append(html_span.gera(estilo, "CK"))      # Passageiro fez checkin?
  campos.append(html_span.gera(estilo, "EM"))      # Passageiro embarcou?
  campos.append("");                               # Botão "Ver".
  campos.append("");                               # Botão "Alterar"/"Comprar"/"Excluir".

  if fazer_checkin:
    campos.append(html_span.gera(estilo, "Passageiro"))   # Nome do passageiro.
    campos.append(html_span.gera(estilo, "Documento"))    # Docmento do passageiro.
    campos.append("")                                     # Botão "Checkin.
  
  return campos
Ejemplo n.º 4
0
def gera(ses, dados):

    # Converte dados no formato gerado por {trecho.resumo_de_trafego} para
    # formato aceito por {html_table}
    estilo_item = "font-family:Courier;font-size:20;"
    ht_linhas_dados = [].copy()
    for dado in dados:
        linha_porto = [].copy()
        # Codigo do aeroporto
        linha_porto.append(html_span.gera(estilo_item, str(dado[0])))

        # Infos de chegada
        for ch_item in dado[1]:
            linha_porto.append(html_span.gera(estilo_item, str(ch_item)))

        # Infos de saida
        for sa_item in dado[2]:
            linha_porto.append(html_span.gera(estilo_item, str(sa_item)))

        ht_linha_porto = [html_span.gera(estilo_item, x) for x in linha_porto]

        ht_linhas_dados.append(ht_linha_porto)

    linha_cab = [].copy()
    linha_cab.append("Aeroporto")
    for lado in ("chegada", "saida"):
        for tt in ( \
            "# de trechos",  \
            "# total de poltronas", \
            "# de poltronas reservadas",  \
            "Total dos preços das poltronas reservadas",  \
            "# de passageiros que fizeram checkin" \
          ):
            linha_cab.append(tt + " (" + lado + ")")

    estilo_cab = html_estilo_cabecalho_de_tabela.gera()
    ht_linha_cab = map(lambda x: html_span.gera(estilo_cab, x), linha_cab)

    ht_table = html_table.gera(ht_linhas_dados, ht_linha_cab)
    return html_pag_generica.gera(ses, ht_table, None)
Ejemplo n.º 5
0
def gera(ids_poltronas):

    linhas = [].copy()

    # Cabeçalho:
    cabs_raw = [
        'Trecho', 'Origem', 'Partida', 'Destino', 'Chegada', 'Poltrona',
        'Preço', 'Ver Poltrona'
    ]
    cabs_div = [].copy()
    for cb in cabs_raw:
        cabs_div.append(
            html_div.gera(html_estilo_cabecalho_de_tabela.gera(), cb))

    for id_poltrona in ids_poltronas:
        pol = poltrona.busca_por_identificador(id_poltrona)

        linha = html_resumo_de_poltrona_de_usuario.gera(pol)
        assert type(linha) is list or type(linha) is tuple

        linhas.append(linha)

    ht_res = html_table.gera(linhas, cabs_div)
    return ht_res