Duplicate usernames in combo-box when filtering patches by delegate

Aberta
#383 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
52/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
backend

Direção de pesquisa

Comece em patchwork/filters.py, em DelegateFilter por volta da linha 458, e inspecione _get_delegate_qs para a consulta de delegates específica do projeto. Verifique como o formulário recebe o projeto atual. Está concluído quando a caixa de combinação lista cada maintainer do projeto selecionado uma vez e exclui os maintainers de outros projetos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

The combo-box with the list of delegates to filter by has duplicate usernames. It lists a maintainer more than once if he/she maintains multiple projects. It also lists maintainers of other projects who don't maintain the one I'm filtering patches in.

This happens because DelegateFilter's form doesn't filter by project:
https://github.com/getpatchwork/patchwork/blame/bdb049c7939b7cdea1eddf029a0bc47cb338da67/patchwork/filters.py#L458

        delegates = User.objects.filter(
            profile__maintainer_projects__isnull=False)

Eliminating duplicate rows by using distinct() works, but we still have the issue of different project maintainers being listed in the same list:

        delegates = User.objects.filter(
            profile__maintainer_projects__isnull=False).distinct()

Maybe we should use _get_delegate_qs instead?

Linguagem predominante
Python
Estrelas
317
Forks
91
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de getpatchwork/patchwork

Todas as issues de getpatchwork/patchwork

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.