Prefilling a MultiObjectVar from the Run URL keeps only the last ID
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 85/100
Direzione di ricerca
Inizia da views/scripts.py:148 e confronta il modo in cui il plugin crea i dati iniziali del modulo con l’uso di normalize_querydict nel core di NetBox in extras/views.py:1727. Esegui il test della view che renderizza la pagina di esecuzione dello script con parametri tags ripetuti. Il lavoro è concluso quando sono selezionati entrambi gli ID dei tag, non solo l’ultimo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Plugin Version
v0.0.1 (also present on main)
NetBox Version
v4.7.4
Python Version
3.12
Steps to Reproduce
-
Activate a Script with a
MultiObjectVar:from extras.models import Tag from netbox_scripts import MultiObjectVar, Script class PickTags(Script): tags = MultiObjectVar(model=Tag) def run(self, data, commit): return ','.join(tag.name for tag in data['tags']) -
Create two tags (IDs 1 and 2 below).
-
Open the Script's run view with both IDs in the URL:
/plugins/netbox-scripts/scripts/<id>/run/?tags=1&tags=2.
Expected Behavior
Both tags are preselected, as they are for a built-in Script with the same URL.
Observed Behavior
Found while reviewing #86, which documents prefilling a selection from the Run URL.
Only tag 2 is preselected. With ?tags=1 alone, tag 1 is preselected as expected. Reproduced with a view test on NetBox v4.7.4 that renders the run page and reads the selected options.
views/scripts.py:148 builds the form with initial=request.GET.dict(), and QueryDict.dict() keeps only the last value of a repeated key. Core's script view uses normalize_querydict(request.GET) (extras/views.py:1727 in NetBox), and swapping that in makes the same test preselect both tags.
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 0
- Merge medio
- 11h 23m
- PR unite (30g)
- 24
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la 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 netbox-community/netbox-scripts
-
app: scripts severity: medium status: backlog type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
netbox-community/netbox-scripts#83 ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts status: backlog type: documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
netbox-community/netbox-scripts#80 ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts severity: medium status: backlog type: bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
netbox-community/netbox-scripts#79 ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts severity: medium status: backlog type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
netbox-community/netbox-scripts#77 ·
I maintainer di solito rispondono entro 1 giorno
-
app: scripts severity: low status: backlog type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
netbox-community/netbox-scripts#76 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di netbox-community/netbox-scripts
Issue simili
-
PluginProvider.storeInstance races and clobbers the dedup cache for concurrent loadsForse già presa @Wilson0511 l’ha presa oggi. Apertaneeds-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 2 giorni
-
community documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
bug(sdk): add_toleration_json silently drops camelCase tolerationSeconds for static dict/list inputForse già presa @ravikumar266 l’ha presa oggi. Apertaarea/sdk kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
kubeflow/pipelines#15347 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
predict_file with crop_model duplicates predictions once per imageForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
weecology/DeepForest#1445 ·