Observações gerais: + **Todo módulo que for alterado deve ter um módulo de testes ( testes/_TST.py ) que testa a alteração feita, e esse teste deve funcionar conforme solicitado.** + **Se a tarefa pedir para implementar um novo módulo, ou uma nova funçao em um módulo existente:** + + **Cada função deve ter um comentário documentando seu efeito com precisão.** + **Se a tarefa pedir para alterar o EFEITO de uma funçao de uma interface,** + + **O comentário dessa função na interface deve ser alterado também, de modo a precisamente documentar o novo efeito.** + + **Todas as chamadas dessa função pelos outros módulos ( *.py e testes/*.py ) devem ser examinadas e consertadas se necessário, de acordo com o novo efeito.** + **Se a tarefa pedir para alterar ou consertar a IMPLEMENTAÇÂO de uma funçao de uma interface, sem mudar seu efeito:** + + **A nova implementação deve estar de acordo com o especificado no comentário da função na interface.** + + **Por via das dúvidas, todas as chamadas dessa função pelos outros módulos ( *.py e testes/*.py ) devem ser examinadas e consertadas caso sejam afetadas pela alteração.** * **Para compatibilidade com sistemas Linux, todos os nomes de arquivos devem conter apenas letras sem acento, algarismos, ou os caracteres '.', '-', ou '_'. Não devem conter brancos. Note que o parâmetro {rotulo} nos programas de teste (_TST.py) é usado para formar o nome de um arquivo.** A maioria das tarefas abaixo consiste em clicar nos botãoes indicados, na sequência, observar o problema descrito, e alterar o que for necessário para corrigí-lo. Nas tarefas abaixo, a notação "[U]" sinifica que os botões indicados devem ser usados depois de fazer login como cliente comum (primeiro@gmail.com, senha 123456789). A notação "[A]" significa logar antes como adminstrador da loja (terceiro@gmail.com, senha 333333333). A notação "[X]" significa que o problema ocorre com os dois tipos de usuário, e/ou antes de dar login. + **136686** `[X] html_resumo_de_poltrona_de_usuario_TST.py` : Escrever e testar. + **138745** `[U]` Em {html_pag_generica}, colocar uma mensagem de aviso no alto da página se o usuário tiver outra sessão aberta além da sessão corrente. + **138771** `[U]` Em {html_pag_generica}, colocar uma mensagem de aviso no alto da página se o usuário tiver alguma compra aberta além do carrinho da sessao. + **139511** `[X]` html_form_dados_de_sessao_TST.py` : Escrever e testar. + **146383** `[U] "Minhas compras"` : A página deveria ter um cabeçalho "Minhas compras" ou "Compras do usuário U-0000002" + **155335** `[U] "Meu carrinho"` : A página deveria ter um cabeçalho "Compra C-00000002" ou "Seu carrinho (compra C-00000002")" + **156931** `[X] "Ofertas" > "Ver"` : O cabeçalho deve incluir "Compra". + **158044** `[X] "Buscar trechos" > Ver` : O Número de poltronas livres está errado. + **165232** `[X] "Buscar roteiros"` : Botão deveria chamar "Sugerir roteiros". Campo "Dia mínimo para viagem" devia chamar "Diamínimo de partida". "Dia máximo para viagem" deveria ser "Dia máximo de chegada". Ambos devem ser dois campos (dia e hora). + **166213** `[X]` Fazer funcionar o comando "/favicon.ico" que o browser emite automaticamente. Deve devolver o icone do site. Descubra qual é o formato correto dessa imagem e coloque na pasta "imagens". + **166301** `[U] "Meu carrinho" > "Trocar"` : fazer funcionar. + **166380** `[U] "Meu carrinho" > "Finalizar compra" > "Boleto" > "Confirmar"` : fazer funcionar. + **166597** `[X] html_form_contato_TST.py` : Escrever e testar. + **166779** `[U]` Implementar um módulo "Comprar roteiro" que transforma um roteiro em um pedido de compra do usuário corrente. + **167494** `[X]` Definir o módulo {html_resumo_de_sessao} análogo a {html_resumo_de_trecho} etc. + **169601** `[X] html_lista_de_poltronas_de_usuario_TST.py` : Escrever e testar. + **170012** `[X] Buscar trechos > Ver` : A coluna "Numero de Poltronas" deveria ser duas colunas separadas com cabecalhos "PL" e "PT", com explicação dessas legendas ("Numero de poltronas livres" e "Numero de poltronas totais" abaixo da tabela. + **172269** `[X] Buscar trechos` : Deve fazer busca na tabela por origem e/ou destino e depois filtrar a lista de resultados pela data mínima e máxima. + **173325** `[X] "Buscar roteiros" > "Buscar"` : esboçar uma função recursiva que encontra todos os roteiros com os parâmetros dados. + **173846** `[X]` Procurar todos os usos de {html_texto.gera} e trocar por {html_span.gera} com um estilo adequado. + **174847** `[X] "Buscar roteiros" > "Buscar"` : consertar cabeçalho. + **175715** `[X] {html_resumo_de_trecho}` : mostrar o estado (aberto ou fechado) do trecho. Acertar os módulos que usam esse módulo. + **176131** `[X] "Buscar trechos"` : Os campos "Data de partida" e "Data de chegada" deveriam ter rótulos "Data mínima de partida" e "Data máxima de chegada". Eles não estão sendo enviados como argumentos do comando. + **178472** `[X]` Criar um módulo {html_estilo_cabecalho_de_tabela.gera} que gera um estilo padrão para os cabeçalhos de tabelas. Usar em todo módulo que chama {html_tabela.gera}. + **184083** `[X] "Ofertas"` : Deveria haver uma coluna de preço (o preço da poltrona livre mais barata). + **185441** `[A] "Acrescentar trecho"` : Campo "Dispoível" deve ser "Aberto" de tipo ticbox. + **185487** `[A] "Acrescentar trecho" > "Acrescentar"` : fazer funcionar. + **185531** `comando_alterar_poltrona_TST.py` : Escrever e testar. + **186447** `[A] Fazer {html_lista_de_sessoes} chamar {html_resumo_de_sessao}. + **187506** `comando_solicitar_pag_clonar_trecho_TST.py` : Escrever e testar. + **187700** `[X]` Todo módulo que pode gerar um botão "Comprar" ou "Trocar" : só gerar o botão se o trecho está aberto.. + **196858** `[U]` Implementar o comando "ver_minhas_sessoes" e um botão "Minhas sessoes" no menu geral. + **199818** `[U]` Fazer com que {html_lista_de_sessoes} marque a sessão corrente (passar como argumento o id) e as sessões de administrador.