[BUG] Incorrect methodology for `is_menu_item_dropdown` simple tag
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 35/100
Piste de recherche
Recherchez dans le dépôt le simple tag is_menu_item_dropdown et examinez comment sa valeur page est utilisée. Reproduisez le cas où page est absente ou définie par défaut de manière incorrecte, puis vérifiez que le tag évite d’appeler des méthodes de page lorsque sa valeur n’est pas une page, tout en préservant le comportement des sous-liens et des liens enfants.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
A clear and concise description of what the bug is.
This code block:
@register.simple_tag
def is_menu_item_dropdown(value):
return \
len(value.get('sub_links', [])) > 0 or \
(
value.get('show_child_links', False) and \
len(value.get('page', []).get_children().live()) > 0
)
What if you actually hit the case where value.get('page', []) defaults to a list? Then .get_children().live() is being called on an object which doesn't have these methods. Also, probably shouldn't inline all of this for readability despite the faster evaluation.
One simple fix:
@register.simple_tag
def is_menu_item_dropdown(value):
has_sub_links = len(value.get('sub_links', [])) > 0
show_child_links = value.get('show_child_links', False)
page_has_children = False
if has_sub_links or show_child_links: # No need to evaluate the below if this case fails...
page = value.get('page')
if page is not None:
page_has_children= len(page.get_children().live()) > 0
return has_sub_links or (show_child_links and page_has_children)
This is also assuming you still want to be verbose with the evaluation into booleans here.
- Langage dominant
- Python
- Étoiles
- 765
- Forks
- 154
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de coderedcorp/coderedcms
-
Type: Bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
coderedcorp/coderedcms#714 ·
-
Typo in accordion_block.htmlOuverteType: Bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
coderedcorp/coderedcms#711 ·
-
Type: Bug
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
coderedcorp/coderedcms#713 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
coderedcorp/coderedcms#710 · 4 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 58/100
coderedcorp/coderedcms#709 ·
Toutes les issues de coderedcorp/coderedcms
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
spec-kitty/spec-kitty#5319 ·
Les mainteneurs répondent en général sous 1 jour
-
backend::vllm diffusion multimodal
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
openai/openai-agents-python#5229 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour