Releases: victordomingos/RepService
Releases · victordomingos/RepService
v.0.21
Área de contactos 100% operacional!
- As senhas dos utilizadores já não são armazenadas na base dados. Em vez disso, é gerado e armazenado um hash, que é depois utilizado para a verificação da senha no momento do login.
- Ao executar
db_local_admin.py
, é pedida a introdução de uma senha inicial para o administrador (npk). - Já é possível efetuar a alteração da senha de utilizador.
- Já é possível atualizar os dados dos contactos a partir da respetiva janela de detalhes.
- Os números de telefone na janela de detalhes de contactos são agora formatados automaticamente, à semelhança do que já contecia no painel de introdução de novo contacto.
- Ao adicionar um contacto novo, caso não esteja já a ser criada uma nova reparação, é apresentada ao utilizador uma caixa de diálogo perguntando se deseja criar reparação utilizando esse contacto. O tipo da reparação a criar (artigo de stock ou de cliente) é selecionado automaticamente com base no tipo de contacto.
- A pesquisa de contactos agora abrange também o campo NIF.
- Ao pesquisar contactos com um termo de pesquisa numérico, é adicionado automaticamente um wildcard no final, por forma a fornecer mais resultados.
- As senhas de equipamentos de clientes são sujeitas a um procedimento de ofuscação simples antes de guardar na base de dados. Adicionalmente, na janela de detalhes de reparação, para reduzir a probabilidade de apropriação não autorizada, a senha apenas é mostrada quando o ponteiro do rato é colocado por cima do campo correspondente e é novamente ocultada assim que o ponteiro do rato se afaste.
- Na janela de detalhes de contactos o separador "Reparações" já apresenta a lista de reparações obtida a partir da base de dados. Ao clicar numa dessas reparações, é aberta a respetiva janela de detalhes, conforme esperado. Este separador é mostrado tanto para clientes como fornecedores.
- Na janela de detalhes de contactos já é possível copiar dados do contacto para a área de transferência.
- O método
popupMsg
da classebaseApp
foi convertido numa função, ficando a partir de agora no móduloextra_tk_utilities.py
. Deste modo, pode ser utilizado por qualquer janela do tkinter, mesmo que esta não herde da classebaseApp
. Foram também efetuados alguns ajustes visuais por forma a melhorar um pouco o contraste com o conteúdo da janela onde aparecem estas mensagens. - A lista de dependências (
requirements.txt
) foi atualizada de modo a melhor refletir as dependências secundárias.
v.0.20
- Já é possível inserir novos contactos na base de dados utilizando o respetivo formulário.
- Implementada validação básica de endereços de email, números de telefone e outros dados ao criar um contacto.
- Ao criar um novo contacto, se já existir na base de dados algum contacto com o NIF introduzido, o utilizador é informado, com a opção de consultar numa janela à parte o registo já existente.
- As janelas de contactos e remessas são agora apresentadas no ecrã encostadas ao lado direito da janela principal. No caso de não haver espaço suficiente, aparecem encostadas à extremidade direita do ecrã.
- Adicionada uma breve mensagem informativa ao módulo db_local_admin.py para ser apresentada na eventualidade de a configuração inicial da base de dados falhar.
- As caixas ttk.ScrolledText foram substituídas por caixas simples tk.Text.
- Alguns ajustes visuais para permitir a interface ajustar-se melhor a ecrãs mais pequenos.
v.0.19
- O botão "Criar reparação" na janela de detalhes de contacto já funciona.
- Ao sair do campo do número de contacto, o nome do cliente/fornecedor e a informação de contacto são preenchidos automaticamente. Caso não exista cliente ou fornecedor com o número indicado, é dada ao utilizador a opção de criar um novo contacto.
- Adicionados calendários para facilitar a introdução de datas nos formulários.
- Adicionadas barras de progresso à janela principal, contactos e remessas.
- Ao selecionar uma reparação na janela principal, já mostra na barra de estado o número de série do artigo a que se refere esse processo.
- O separador "Geral" da janela de detalhes da reparação já mostra dados obtidos a partir da base de dados.
- Os itens de menu "Nova reparação", "Novo contacto" e "Nova remessa" são desativados ou ativados automaticamente conforme, respetivamente, estejam visíveis ou não os respetivos formulários de introdução de dados.
- Foi efetuada uma reorganização dos módulos agrupando-os em pacotes/pastas.
v.0.18
A comemorar 1 ano de desenvolvimento(s).
- Adicionados comandos ao menu para filtrar reparações por estados.
- Janela "Acerca de" agora informa sobre o tamanho atual do ficheiro da base
de dados, bem como do número total de reparações e contactos já registados. - Novos atalhos de teclado.
- Corrigido um bug que impedia que fosse mostrado o fundo das linhas em cor
alternada nas listas de reparações e contactos. - Criado método para preencher lista de mensagens a partir da base de dados.
- As janelas de detalhes de evento/mensagem já mostram dados obtidos a partir
da base de dados. - Melhoramentos na pesquisa de reparações: agora são incluídos os registos em
que é encontrada correspondência nos dados do cliente e/ou do artigo. - Algumas alterações para facilitar o desenvolvimento futuro.
v.0.17
- Criado método para preencher lista de reparações a partir da base de dados.
- Criado método para filtrar reparações por estados.
- Criado método para realizar pesquisas de reparações, filtrando por estados
e com suporte básico para "wildcards" (*, ?, %). É possível usar expressões
com "wildcards" (ex.: "N?twork*"), sendo que nesse caso é necessário
especificar na expressão se no início e/ou no final também leva "wildcard".
Por defeito, todas as pesquisas sem "wildcards", com exceção das pesquisas
numéricas, são realizadas com "wildcards" antes e depois da expressão
introduzida ("%pesquisa%"), de modo a fornecerem mais resultados. As
pesquisas começam automaticamente quando o utilizador introduz um mínimo de
4 caracteres e são atualizadas em tempo real à medida que escreve. As
pesquisas são feitas sempre considerando apenas os estados de reparação
correspondentes à vista selecionada. Para selecionar em toda a base de
dados, basta clicar em "Mostrar processos… > Todos os processos" antes de
iniciar uma nova pesquisa. - Criado método callback para alterar o estado de uma reparação (falta a
implementação correspondente nos módulos de base de dados). - Criado método para preencher lista de contactos a partir da base de dados.
- Criado método para filtrar contactos por tipo (clientes/fornecedores).
- Criado método para realizar pesquisas de contactos, filtrando por tipo
(cliente ou fornecedor) e com suporte básico para "wildcards". As pesquisas
começam automaticamente quando o utilizador introduz um mínimo de 3
caracteres e são atualizadas em tempo real à medida que escreve. As
pesquisas são feitas sempre considerando apenas o tipo de contacto
correspondente à vista selecionada. - Logotipo na janela de login.
- Possibilidade de terminar sessão e efetuar login com utilizador diferente.
v0.16
- Lojas passam a ser representadas numa tabela independente dos contactos.
- Janelas de login e de alteração de senha.
- Iniciado o rascunho de alguns dos primeiros modelos de dados (SQLalchemy).
- Bug fixes.
v0.15
- Agora a função obter_lista_artigos_emprest() devolve uma estrutura de dados
diferente, baseada em dicionários e tuplas. - No separador "Empréstimos", ao selecionar um artigo da combobox, é mostrado
automaticamente no campo "ID" o número de artigo correspondente. - No separador "Empréstimos", ao introduzir um ID de artigo, é selecionado
automaticamente na combobox o artigo de empréstimo correspondente. - Adicionada opção de configuração que permitirá escolher entre uma base de
dados local (SQLite, via SQLalchemy?) ou o acesso a uma web API.
v0.14
- Corrigido um bug que impedia a expansão e o correto redimensionamento da tabela do histórico de reparações (janela detalhes de reparação).
- Corrigido um bug que impedia a expansão e o correto redimensionamento de alguns campos de texto no painel geral da janela detalhes de reparação.
- Corrigido um bug que impedia a expansão e o correto redimensionamento do campo de notas na janela detalhes de contacto.
- Corrigido um bug que impedia a expansão e o correto redimensionamento do campo de notas na janela detalhes de mensagem.
- Ajustada a altura máxima da janela de detalhes de reparação.
- Ajustada a altura máxima da janela de detalhes de mensagem.
- Agora o painel de mensagens abre automaticamente ao iniciar a aplicação no caso de haver uma ou mais mensagens na lista. Caso não haja mensagens, a aplicação abre com esse painel oculto.
- Adicionado novamente separador "Empréstimos" (em construção).
- Botão '+' da janela de detalhes de reparação já abre a ficha de contacto.
v0.13
- Adicionado separador "histórico" à janela de detalhes de reparação.
- Temporariamente ocultados os separadores "Orçamentos" e "Empréstimos", que deverão ser adicionados novamente numa fase posterior do desenvolvimento.
- Adicionadas funções de contagem de remessas, contactos, mensagens (atualizam p.ex. o texto da barra de estados nas janelas e painéis respetivos).
- Adicionada função que permite alterar o título (Label) dos campos de texto das classes LabelEntry e LabelText.
v0.12
- Adicionados botões à barra de ferramentas da janela de detalhes de remessa.
- Adicionada contagem do nº de processos de reparação presentes na remessa.
- Criada função para teste da tabela da janela de detalhes de remessa.
- Alguns ajustes na tabela de reparações na janela detalhes de remessa e nas dimensões dessa janela.
- Criada janela de detalhes de contactos.
- Nas janelas que fazem uso de separadores (detalhes de contacto e detalhes de reparação), caso o utilizador não tenha redimensionado a janela, ao mudar de separador, o tamanho da janela é ajustado automaticamente em função dos seus widgets.