diff --git a/visao/componentes/dialogo_editar_adocao.py b/visao/componentes/dialogo_editar_adocao.py index 257a95f..0a40d1f 100644 --- a/visao/componentes/dialogo_editar_adocao.py +++ b/visao/componentes/dialogo_editar_adocao.py @@ -15,16 +15,13 @@ class DialogoEditarAdocao(tk.Toplevel): self.transient(parent) self.grab_set() - # 1. Obter os IDs de todos os pets que já foram adotados ids_pets_adotados = set() for adocao in self.bd.adocoes.listar_todos(): for item in adocao.itens: ids_pets_adotados.add(item.pet.id) - # 2. Obter os IDs dos pets que pertencem a ESTA adoção específica ids_pets_desta_adocao = {item.pet.id for item in self.adocao_atual.itens} - # 3. A lista de pets para edição inclui os disponíveis E os que já estão nesta adoção self.pessoas = self.bd.pessoas.listar_todos() self.pets = [p for p in self.bd.pets.listar_todos() if p.id not in ids_pets_adotados or p.id in ids_pets_desta_adocao] @@ -80,5 +77,4 @@ class DialogoEditarAdocao(tk.Toplevel): self.listbox_pets.selection_set(i) if self.adocao_atual.itens: - # Corrigido: Pega a data do primeiro item como referência self.entry_data.insert(0, self.adocao_atual.itens[0].data) \ No newline at end of file diff --git a/visao/componentes/dialogo_nova_adocao.py b/visao/componentes/dialogo_nova_adocao.py index b79c15c..a55d48e 100644 --- a/visao/componentes/dialogo_nova_adocao.py +++ b/visao/componentes/dialogo_nova_adocao.py @@ -14,13 +14,11 @@ class DialogoNovaAdocao(tk.Toplevel): self.transient(parent) self.grab_set() - # 1. Obter os IDs de todos os pets que já foram adotados ids_pets_adotados = set() for adocao in self.bd.adocoes.listar_todos(): for item in adocao.itens: ids_pets_adotados.add(item.pet.id) - # 2. Filtrar a lista de pets para mostrar apenas os disponíveis self.pessoas = self.bd.pessoas.listar_todos() self.pets = [p for p in self.bd.pets.listar_todos() if p.id not in ids_pets_adotados] diff --git a/visao/frames/frame_adocao.py b/visao/frames/frame_adocao.py index c8e2193..170f08b 100644 --- a/visao/frames/frame_adocao.py +++ b/visao/frames/frame_adocao.py @@ -14,7 +14,6 @@ class FrameAdocao(tk.Frame): self.popular_treeview() def _criar_layout(self): - # Título da seção titulo_label = tk.Label( self, text="GERENCIAR ADOÇÕES", @@ -24,7 +23,6 @@ class FrameAdocao(tk.Frame): ) titulo_label.pack(pady=20) - # Frame de busca busca_frame = tk.Frame(self, bg="#1e1e1e") busca_frame.pack(pady=5, padx=20, fill="x") @@ -62,10 +60,8 @@ class FrameAdocao(tk.Frame): tree_container = tk.Frame(self, bg="#1e1e1e") tree_container.pack(pady=10, padx=20, fill="both", expand=True) - # Configuração da Treeview para um modo hierárquico self.tree = ttk.Treeview(tree_container, columns=("data",), show="tree headings") - # Coluna #0 (a árvore) self.tree.heading("#0", text="Detalhes da Adoção", anchor="w") self.tree.column("#0", anchor="w", stretch=tk.YES, minwidth=250) @@ -83,7 +79,6 @@ class FrameAdocao(tk.Frame): botoes_frame = tk.Frame(self, bg="#1e1e1e") botoes_frame.pack(pady=10, padx=20, fill="x") - # Botão Nova Adoção btn_adicionar = tk.Button( botoes_frame, text="Nova Adoção", @@ -98,14 +93,12 @@ class FrameAdocao(tk.Frame): btn_adicionar.pack(side="left", padx=5) def popular_treeview(self, lista_adocoes=None): - # Limpa a árvore for i in self.tree.get_children(): self.tree.delete(i) if lista_adocoes is None: lista_adocoes = self.bd.adocoes.listar_todos() - # Popula com os dados de adoções do banco de dados for adocao in lista_adocoes: # Nó pai para a adoção adocao_node = self.tree.insert( @@ -115,13 +108,10 @@ class FrameAdocao(tk.Frame): open=True ) - # Nó filho para o adotante self.tree.insert(adocao_node, "end", text=f"Adotante: {adocao.adotante.nome}") - # Nó "pasta" para os pets pets_node = self.tree.insert(adocao_node, "end", text="Pets Adotados", open=True) - # Nós filhos para cada pet adotado for item in adocao.itens: self.tree.insert( pets_node, "end", diff --git a/visao/frames/frame_inicio.py b/visao/frames/frame_inicio.py index 4733c3f..0348ce2 100644 --- a/visao/frames/frame_inicio.py +++ b/visao/frames/frame_inicio.py @@ -8,7 +8,6 @@ class FrameInicio(tk.Frame): self._criar_layout() def _atualizar_dados(self): - """Busca os totais do banco de dados e prepara os dados para exibição.""" total_pessoas = len(self.bd.pessoas.listar_todos()) if self.bd else 0 total_pets = len(self.bd.pets.listar_todos()) if self.bd else 0 total_adocoes = len(self.bd.adocoes.listar_todos()) if self.bd else 0 diff --git a/visao/frames/frame_pet.py b/visao/frames/frame_pet.py index ac00c97..01f8097 100644 --- a/visao/frames/frame_pet.py +++ b/visao/frames/frame_pet.py @@ -11,7 +11,6 @@ class FramePet(tk.Frame): self._criar_layout() def _criar_layout(self): - # Título da seção titulo_label = tk.Label( self, text="GERENCIAR PETS",