[BUG] Incorrect methodology for `is_menu_item_dropdown` simple tag
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 35/100
Direzione di ricerca
Cerca nel repository il simple tag is_menu_item_dropdown e ispeziona come viene utilizzato il suo valore page. Riproduci il caso in cui page è assente o ha un valore predefinito errato, quindi verifica che il tag eviti di chiamare i metodi di page quando il valore non è una pagina, preservando al contempo il comportamento dei sub-link e dei child-link.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 761
- Fork
- 153
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coderedcorp/coderedcms
-
Type: Bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
coderedcorp/coderedcms#714 ·
-
Typo in accordion_block.htmlApertaType: Bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
coderedcorp/coderedcms#711 ·
-
Type: Bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
coderedcorp/coderedcms#713 · 1 commento ·
-
Form submissions return 404 with Wagtail 7.x due to FormMixin isinstance checkForse già presa @bradrice l’ha presa 83 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
coderedcorp/coderedcms#710 · 4 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
coderedcorp/coderedcms#709 ·
Tutte le issue di coderedcorp/coderedcms
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rpm-software-management/mock#1824 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
jpata/particleflow#520 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue hacktoberfest
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
gridhead/gi-loadouts#699 ·
I maintainer di solito rispondono entro 13 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
FinanceFlash/unvibecode#206 ·
I maintainer di solito rispondono entro 1 giorno