Parcourir la source

Release v4.1.9

Jeremy Stretch il y a 1 an
Parent
commit
e396097f3c

+ 16 - 0
docs/release-notes/version-4.1.md

@@ -1,5 +1,21 @@
 # NetBox v4.1
 # NetBox v4.1
 
 
+## v4.1.9 (2024-12-17)
+
+### Enhancements
+
+* [#17215](https://github.com/netbox-community/netbox/issues/17215) - Change the highlighted color of disabled interfaces in interface lists
+* [#18224](https://github.com/netbox-community/netbox/issues/18224) - Apply all registered request processors when running custom scripts
+
+### Bug Fixes
+
+* [#16757](https://github.com/netbox-community/netbox/issues/16757) - Fix rendering of IP addresses table when assigning an existing IP address to an interface with global HTMX navigation enabled
+* [#17868](https://github.com/netbox-community/netbox/issues/17868) - Fix `ZeroDivisionError` exception under specific circumstances when generating a cable trace
+* [#18124](https://github.com/netbox-community/netbox/issues/18124) - Enable referencing cable attributes when querying a `cabletermination_set` via the GraphQL API
+* [#18230](https://github.com/netbox-community/netbox/issues/18230) - Fix `AttributeError` exception when attempting to edit an IP address assigned to a virtual machine interface
+
+---
+
 ## v4.1.8 (2024-12-12)
 ## v4.1.8 (2024-12-12)
 
 
 ### Enhancements
 ### Enhancements

+ 2 - 2
netbox/release.yaml

@@ -1,3 +1,3 @@
-version: "4.1.8"
+version: "4.1.9"
 edition: "Community"
 edition: "Community"
-published: "2024-12-12"
+published: "2024-12-17"

BIN
netbox/translations/pt/LC_MESSAGES/django.mo


+ 96 - 80
netbox/translations/pt/LC_MESSAGES/django.po

@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-12-12 05:02+0000\n"
+"POT-Creation-Date: 2024-12-13 05:02+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Fabricio Maciel, 2024\n"
 "Last-Translator: Fabricio Maciel, 2024\n"
 "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n"
 "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n"
@@ -154,7 +154,7 @@ msgstr "Inativo"
 #: netbox/dcim/filtersets.py:464 netbox/dcim/filtersets.py:1021
 #: netbox/dcim/filtersets.py:464 netbox/dcim/filtersets.py:1021
 #: netbox/dcim/filtersets.py:1368 netbox/dcim/filtersets.py:1903
 #: netbox/dcim/filtersets.py:1368 netbox/dcim/filtersets.py:1903
 #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204
 #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204
-#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959
+#: netbox/ipam/filtersets.py:341 netbox/ipam/filtersets.py:961
 #: netbox/virtualization/filtersets.py:45
 #: netbox/virtualization/filtersets.py:45
 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358
 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358
 msgid "Region (ID)"
 msgid "Region (ID)"
@@ -166,8 +166,8 @@ msgstr "Região (ID)"
 #: netbox/dcim/filtersets.py:471 netbox/dcim/filtersets.py:1028
 #: netbox/dcim/filtersets.py:471 netbox/dcim/filtersets.py:1028
 #: netbox/dcim/filtersets.py:1375 netbox/dcim/filtersets.py:1910
 #: netbox/dcim/filtersets.py:1375 netbox/dcim/filtersets.py:1910
 #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211
 #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211
-#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346
-#: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52
+#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:348
+#: netbox/ipam/filtersets.py:968 netbox/virtualization/filtersets.py:52
 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353
 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353
 msgid "Region (slug)"
 msgid "Region (slug)"
 msgstr "Região (slug)"
 msgstr "Região (slug)"
@@ -177,8 +177,8 @@ msgstr "Região (slug)"
 #: netbox/dcim/filtersets.py:346 netbox/dcim/filtersets.py:477
 #: netbox/dcim/filtersets.py:346 netbox/dcim/filtersets.py:477
 #: netbox/dcim/filtersets.py:1034 netbox/dcim/filtersets.py:1381
 #: netbox/dcim/filtersets.py:1034 netbox/dcim/filtersets.py:1381
 #: netbox/dcim/filtersets.py:1916 netbox/dcim/filtersets.py:2159
 #: netbox/dcim/filtersets.py:1916 netbox/dcim/filtersets.py:2159
-#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:352
-#: netbox/ipam/filtersets.py:972 netbox/virtualization/filtersets.py:58
+#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:354
+#: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:58
 #: netbox/virtualization/filtersets.py:186
 #: netbox/virtualization/filtersets.py:186
 msgid "Site group (ID)"
 msgid "Site group (ID)"
 msgstr "Grupo de sites (ID)"
 msgstr "Grupo de sites (ID)"
@@ -189,7 +189,7 @@ msgstr "Grupo de sites (ID)"
 #: netbox/dcim/filtersets.py:1041 netbox/dcim/filtersets.py:1388
 #: netbox/dcim/filtersets.py:1041 netbox/dcim/filtersets.py:1388
 #: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2166
 #: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2166
 #: netbox/dcim/filtersets.py:2224 netbox/extras/filtersets.py:515
 #: netbox/dcim/filtersets.py:2224 netbox/extras/filtersets.py:515
-#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:979
+#: netbox/ipam/filtersets.py:361 netbox/ipam/filtersets.py:981
 #: netbox/virtualization/filtersets.py:65
 #: netbox/virtualization/filtersets.py:65
 #: netbox/virtualization/filtersets.py:193
 #: netbox/virtualization/filtersets.py:193
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -259,8 +259,8 @@ msgstr "Site"
 #: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229
 #: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229
 #: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242
 #: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242
 #: netbox/dcim/filtersets.py:363 netbox/dcim/filtersets.py:458
 #: netbox/dcim/filtersets.py:363 netbox/dcim/filtersets.py:458
-#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238
-#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989
+#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:240
+#: netbox/ipam/filtersets.py:371 netbox/ipam/filtersets.py:991
 #: netbox/virtualization/filtersets.py:75
 #: netbox/virtualization/filtersets.py:75
 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363
 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363
 msgid "Site (slug)"
 msgid "Site (slug)"
@@ -279,13 +279,13 @@ msgstr "ASN"
 
 
 #: netbox/circuits/filtersets.py:95 netbox/circuits/filtersets.py:122
 #: netbox/circuits/filtersets.py:95 netbox/circuits/filtersets.py:122
 #: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283
 #: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283
-#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:243
+#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:245
 msgid "Provider (ID)"
 msgid "Provider (ID)"
 msgstr "Provedor (ID)"
 msgstr "Provedor (ID)"
 
 
 #: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128
 #: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128
 #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289
 #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289
-#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:249
+#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:251
 msgid "Provider (slug)"
 msgid "Provider (slug)"
 msgstr "Provedor (slug)"
 msgstr "Provedor (slug)"
 
 
@@ -314,8 +314,8 @@ msgstr "Tipo de circuito (slug)"
 #: netbox/dcim/filtersets.py:452 netbox/dcim/filtersets.py:1045
 #: netbox/dcim/filtersets.py:452 netbox/dcim/filtersets.py:1045
 #: netbox/dcim/filtersets.py:1393 netbox/dcim/filtersets.py:1928
 #: netbox/dcim/filtersets.py:1393 netbox/dcim/filtersets.py:1928
 #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229
 #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229
-#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
-#: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69
+#: netbox/ipam/filtersets.py:234 netbox/ipam/filtersets.py:365
+#: netbox/ipam/filtersets.py:985 netbox/virtualization/filtersets.py:69
 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368
 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368
 msgid "Site (ID)"
 msgid "Site (ID)"
 msgstr "Site (ID)"
 msgstr "Site (ID)"
@@ -1104,7 +1104,7 @@ msgstr "Atribuição"
 #: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:118
 #: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:118
 #: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117
 #: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117
 #: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480
 #: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480
-#: netbox/ipam/filtersets.py:999 netbox/ipam/forms/bulk_edit.py:493
+#: netbox/ipam/filtersets.py:1001 netbox/ipam/forms/bulk_edit.py:493
 #: netbox/ipam/forms/bulk_import.py:460 netbox/ipam/forms/model_forms.py:561
 #: netbox/ipam/forms/bulk_import.py:460 netbox/ipam/forms/model_forms.py:561
 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:122
 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:122
 #: netbox/ipam/tables/vlans.py:226
 #: netbox/ipam/tables/vlans.py:226
@@ -2944,7 +2944,7 @@ msgid "Parent site group (slug)"
 msgstr "Grupo de sites principais (slug)"
 msgstr "Grupo de sites principais (slug)"
 
 
 #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364
 #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364
-#: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993
+#: netbox/ipam/filtersets.py:843 netbox/ipam/filtersets.py:995
 msgid "Group (ID)"
 msgid "Group (ID)"
 msgstr "Grupo (ID)"
 msgstr "Grupo (ID)"
 
 
@@ -3002,15 +3002,15 @@ msgstr "Tipo de rack (ID)"
 
 
 #: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892
 #: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892
 #: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850
 #: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850
-#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
-#: netbox/ipam/filtersets.py:1003 netbox/virtualization/filtersets.py:210
+#: netbox/ipam/filtersets.py:383 netbox/ipam/filtersets.py:495
+#: netbox/ipam/filtersets.py:1005 netbox/virtualization/filtersets.py:210
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Função (ID)"
 msgstr "Função (ID)"
 
 
 #: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898
 #: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898
 #: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856
 #: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856
-#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:387
-#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009
+#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:389
+#: netbox/ipam/filtersets.py:501 netbox/ipam/filtersets.py:1011
 #: netbox/virtualization/filtersets.py:216
 #: netbox/virtualization/filtersets.py:216
 msgid "Role (slug)"
 msgid "Role (slug)"
 msgstr "Função (slug)"
 msgstr "Função (slug)"
@@ -3208,7 +3208,7 @@ msgstr "Contexto de Dispositivo Virtual (ID)"
 msgid "Device model"
 msgid "Device model"
 msgstr "Modelo de dispositivo"
 msgstr "Modelo de dispositivo"
 
 
-#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:634
 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401
 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401
 msgid "Interface (ID)"
 msgid "Interface (ID)"
 msgstr "Interface (ID)"
 msgstr "Interface (ID)"
@@ -3222,8 +3222,8 @@ msgid "Module bay (ID)"
 msgstr "Compartimento de módulo (ID)"
 msgstr "Compartimento de módulo (ID)"
 
 
 #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425
 #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425
-#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
-#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161
+#: netbox/ipam/filtersets.py:613 netbox/ipam/filtersets.py:853
+#: netbox/ipam/filtersets.py:1117 netbox/virtualization/filtersets.py:161
 #: netbox/vpn/filtersets.py:379
 #: netbox/vpn/filtersets.py:379
 msgid "Device (ID)"
 msgid "Device (ID)"
 msgstr "Dispositivo (ID)"
 msgstr "Dispositivo (ID)"
@@ -3232,8 +3232,8 @@ msgstr "Dispositivo (ID)"
 msgid "Rack (name)"
 msgid "Rack (name)"
 msgstr "Rack (nome)"
 msgstr "Rack (nome)"
 
 
-#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606
-#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121
+#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:608
+#: netbox/ipam/filtersets.py:848 netbox/ipam/filtersets.py:1123
 #: netbox/vpn/filtersets.py:374
 #: netbox/vpn/filtersets.py:374
 msgid "Device (name)"
 msgid "Device (name)"
 msgstr "Dispositivo (nome)"
 msgstr "Dispositivo (nome)"
@@ -3285,9 +3285,9 @@ msgstr "VLAN ID Designada "
 #: netbox/dcim/forms/bulk_import.py:913 netbox/dcim/forms/filtersets.py:1428
 #: netbox/dcim/forms/bulk_import.py:913 netbox/dcim/forms/filtersets.py:1428
 #: netbox/dcim/forms/model_forms.py:1385
 #: netbox/dcim/forms/model_forms.py:1385
 #: netbox/dcim/models/device_components.py:711
 #: netbox/dcim/models/device_components.py:711
-#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:316
-#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483
-#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595
+#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:318
+#: netbox/ipam/filtersets.py:329 netbox/ipam/filtersets.py:485
+#: netbox/ipam/filtersets.py:586 netbox/ipam/filtersets.py:597
 #: netbox/ipam/forms/bulk_edit.py:242 netbox/ipam/forms/bulk_edit.py:298
 #: netbox/ipam/forms/bulk_edit.py:242 netbox/ipam/forms/bulk_edit.py:298
 #: netbox/ipam/forms/bulk_edit.py:340 netbox/ipam/forms/bulk_import.py:157
 #: netbox/ipam/forms/bulk_edit.py:340 netbox/ipam/forms/bulk_import.py:157
 #: netbox/ipam/forms/bulk_import.py:243 netbox/ipam/forms/bulk_import.py:279
 #: netbox/ipam/forms/bulk_import.py:243 netbox/ipam/forms/bulk_import.py:279
@@ -3314,19 +3314,19 @@ msgstr "VLAN ID Designada "
 msgid "VRF"
 msgid "VRF"
 msgstr "VRF"
 msgstr "VRF"
 
 
-#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:322
-#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
-#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
+#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:324
+#: netbox/ipam/filtersets.py:335 netbox/ipam/filtersets.py:491
+#: netbox/ipam/filtersets.py:592 netbox/ipam/filtersets.py:603
 msgid "VRF (RD)"
 msgid "VRF (RD)"
 msgstr "VRF (RD)"
 msgstr "VRF (RD)"
 
 
-#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030
+#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1032
 #: netbox/vpn/filtersets.py:342
 #: netbox/vpn/filtersets.py:342
 msgid "L2VPN (ID)"
 msgid "L2VPN (ID)"
 msgstr "L2VPN (ID)"
 msgstr "L2VPN (ID)"
 
 
 #: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433
-#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1036
+#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1038
 #: netbox/ipam/forms/filtersets.py:518 netbox/ipam/tables/vlans.py:137
 #: netbox/ipam/forms/filtersets.py:518 netbox/ipam/tables/vlans.py:137
 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
 #: netbox/templates/vpn/l2vpntermination.html:12
 #: netbox/templates/vpn/l2vpntermination.html:12
@@ -4229,7 +4229,7 @@ msgstr "Nome da função designada"
 
 
 #: netbox/dcim/forms/bulk_import.py:264
 #: netbox/dcim/forms/bulk_import.py:264
 msgid "Rack type model"
 msgid "Rack type model"
-msgstr ""
+msgstr "Modelo do tipo de rack"
 
 
 #: netbox/dcim/forms/bulk_import.py:292 netbox/dcim/forms/bulk_import.py:435
 #: netbox/dcim/forms/bulk_import.py:292 netbox/dcim/forms/bulk_import.py:435
 #: netbox/dcim/forms/bulk_import.py:605
 #: netbox/dcim/forms/bulk_import.py:605
@@ -4238,11 +4238,12 @@ msgstr "Direção do fluxo de ar"
 
 
 #: netbox/dcim/forms/bulk_import.py:324
 #: netbox/dcim/forms/bulk_import.py:324
 msgid "Width must be set if not specifying a rack type."
 msgid "Width must be set if not specifying a rack type."
-msgstr ""
+msgstr "A largura deve ser definida se um tipo de rack não for especificado."
 
 
 #: netbox/dcim/forms/bulk_import.py:326
 #: netbox/dcim/forms/bulk_import.py:326
 msgid "U height must be set if not specifying a rack type."
 msgid "U height must be set if not specifying a rack type."
 msgstr ""
 msgstr ""
+"A altura em U deve ser definida se um tipo de rack não for especificado."
 
 
 #: netbox/dcim/forms/bulk_import.py:334
 #: netbox/dcim/forms/bulk_import.py:334
 msgid "Parent site"
 msgid "Parent site"
@@ -4907,6 +4908,11 @@ msgid ""
 "present, will be automatically replaced with the position value when "
 "present, will be automatically replaced with the position value when "
 "creating a new module."
 "creating a new module."
 msgstr ""
 msgstr ""
+"Intervalos alfanuméricos são suportados para criação em massa. Casos e tipos"
+" mistos dentro de um único intervalo não são suportados (exemplo: "
+"<code>[ge,xe]-0/0/[0-9]</code>). O token <code>{module}</code>, se presente,"
+" será automaticamente substituído pelo valor da posição ao criar um novo "
+"módulo."
 
 
 #: netbox/dcim/forms/model_forms.py:1094
 #: netbox/dcim/forms/model_forms.py:1094
 msgid "Console port template"
 msgid "Console port template"
@@ -6498,7 +6504,7 @@ msgstr "função do rack"
 
 
 #: netbox/dcim/models/racks.py:231
 #: netbox/dcim/models/racks.py:231
 msgid "rack roles"
 msgid "rack roles"
-msgstr "funções de rack"
+msgstr "funções do rack"
 
 
 #: netbox/dcim/models/racks.py:274
 #: netbox/dcim/models/racks.py:274
 msgid "facility ID"
 msgid "facility ID"
@@ -9346,129 +9352,129 @@ msgstr "Exportando L2VPN"
 msgid "Exporting L2VPN (identifier)"
 msgid "Exporting L2VPN (identifier)"
 msgstr "Exportando L2VPN (identificador)"
 msgstr "Exportando L2VPN (identificador)"
 
 
-#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281
+#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:283
 #: netbox/ipam/forms/model_forms.py:229 netbox/ipam/tables/ip.py:212
 #: netbox/ipam/forms/model_forms.py:229 netbox/ipam/tables/ip.py:212
 #: netbox/templates/ipam/prefix.html:12
 #: netbox/templates/ipam/prefix.html:12
 msgid "Prefix"
 msgid "Prefix"
 msgstr "Prefixo"
 msgstr "Prefixo"
 
 
 #: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198
 #: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198
-#: netbox/ipam/filtersets.py:221
+#: netbox/ipam/filtersets.py:223
 msgid "RIR (ID)"
 msgid "RIR (ID)"
 msgstr "RIR (ID)"
 msgstr "RIR (ID)"
 
 
 #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204
 #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204
-#: netbox/ipam/filtersets.py:227
+#: netbox/ipam/filtersets.py:229
 msgid "RIR (slug)"
 msgid "RIR (slug)"
 msgstr "RIR (slug)"
 msgstr "RIR (slug)"
 
 
-#: netbox/ipam/filtersets.py:285
+#: netbox/ipam/filtersets.py:287
 msgid "Within prefix"
 msgid "Within prefix"
 msgstr "Dentro do prefixo"
 msgstr "Dentro do prefixo"
 
 
-#: netbox/ipam/filtersets.py:289
+#: netbox/ipam/filtersets.py:291
 msgid "Within and including prefix"
 msgid "Within and including prefix"
 msgstr "Dentro e incluindo o prefixo"
 msgstr "Dentro e incluindo o prefixo"
 
 
-#: netbox/ipam/filtersets.py:293
+#: netbox/ipam/filtersets.py:295
 msgid "Prefixes which contain this prefix or IP"
 msgid "Prefixes which contain this prefix or IP"
 msgstr "Prefixos que contêm este prefixo ou IP"
 msgstr "Prefixos que contêm este prefixo ou IP"
 
 
-#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572
+#: netbox/ipam/filtersets.py:306 netbox/ipam/filtersets.py:574
 #: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:196
 #: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:196
 #: netbox/ipam/forms/filtersets.py:331
 #: netbox/ipam/forms/filtersets.py:331
 msgid "Mask length"
 msgid "Mask length"
 msgstr "Tamanho da máscara"
 msgstr "Tamanho da máscara"
 
 
-#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427
+#: netbox/ipam/filtersets.py:375 netbox/vpn/filtersets.py:427
 msgid "VLAN (ID)"
 msgid "VLAN (ID)"
 msgstr "VLAN (ID)"
 msgstr "VLAN (ID)"
 
 
-#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422
+#: netbox/ipam/filtersets.py:379 netbox/vpn/filtersets.py:422
 msgid "VLAN number (1-4094)"
 msgid "VLAN number (1-4094)"
 msgstr "Número da VLAN (1-4094)"
 msgstr "Número da VLAN (1-4094)"
 
 
-#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475
-#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:496
+#: netbox/ipam/filtersets.py:473 netbox/ipam/filtersets.py:477
+#: netbox/ipam/filtersets.py:569 netbox/ipam/forms/model_forms.py:496
 #: netbox/templates/tenancy/contact.html:53
 #: netbox/templates/tenancy/contact.html:53
 #: netbox/tenancy/forms/bulk_edit.py:113
 #: netbox/tenancy/forms/bulk_edit.py:113
 msgid "Address"
 msgid "Address"
 msgstr "Endereço"
 msgstr "Endereço"
 
 
-#: netbox/ipam/filtersets.py:479
+#: netbox/ipam/filtersets.py:481
 msgid "Ranges which contain this prefix or IP"
 msgid "Ranges which contain this prefix or IP"
 msgstr "Faixas que contêm este prefixo ou IP"
 msgstr "Faixas que contêm este prefixo ou IP"
 
 
-#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563
+#: netbox/ipam/filtersets.py:509 netbox/ipam/filtersets.py:565
 msgid "Parent prefix"
 msgid "Parent prefix"
 msgstr "Prefixo pai"
 msgstr "Prefixo pai"
 
 
-#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856
-#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385
+#: netbox/ipam/filtersets.py:618 netbox/ipam/filtersets.py:858
+#: netbox/ipam/filtersets.py:1133 netbox/vpn/filtersets.py:385
 msgid "Virtual machine (name)"
 msgid "Virtual machine (name)"
 msgstr "Máquina virtual (nome)"
 msgstr "Máquina virtual (nome)"
 
 
-#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861
-#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282
+#: netbox/ipam/filtersets.py:623 netbox/ipam/filtersets.py:863
+#: netbox/ipam/filtersets.py:1127 netbox/virtualization/filtersets.py:282
 #: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390
 #: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390
 msgid "Virtual machine (ID)"
 msgid "Virtual machine (ID)"
 msgstr "Máquina virtual (ID)"
 msgstr "Máquina virtual (ID)"
 
 
-#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97
+#: netbox/ipam/filtersets.py:629 netbox/vpn/filtersets.py:97
 #: netbox/vpn/filtersets.py:396
 #: netbox/vpn/filtersets.py:396
 msgid "Interface (name)"
 msgid "Interface (name)"
 msgstr "Interface (nome)"
 msgstr "Interface (nome)"
 
 
-#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108
+#: netbox/ipam/filtersets.py:640 netbox/vpn/filtersets.py:108
 #: netbox/vpn/filtersets.py:407
 #: netbox/vpn/filtersets.py:407
 msgid "VM interface (name)"
 msgid "VM interface (name)"
 msgstr "Interface da VM (nome)"
 msgstr "Interface da VM (nome)"
 
 
-#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113
+#: netbox/ipam/filtersets.py:645 netbox/vpn/filtersets.py:113
 msgid "VM interface (ID)"
 msgid "VM interface (ID)"
 msgstr "Interface da VM (ID)"
 msgstr "Interface da VM (ID)"
 
 
-#: netbox/ipam/filtersets.py:648
+#: netbox/ipam/filtersets.py:650
 msgid "FHRP group (ID)"
 msgid "FHRP group (ID)"
 msgstr "Grupo FHRP (ID)"
 msgstr "Grupo FHRP (ID)"
 
 
-#: netbox/ipam/filtersets.py:652
+#: netbox/ipam/filtersets.py:654
 msgid "Is assigned to an interface"
 msgid "Is assigned to an interface"
 msgstr "Está associado a uma interface"
 msgstr "Está associado a uma interface"
 
 
-#: netbox/ipam/filtersets.py:656
+#: netbox/ipam/filtersets.py:658
 msgid "Is assigned"
 msgid "Is assigned"
 msgstr "Está associado"
 msgstr "Está associado"
 
 
-#: netbox/ipam/filtersets.py:668
+#: netbox/ipam/filtersets.py:670
 msgid "Service (ID)"
 msgid "Service (ID)"
 msgstr "Serviço (ID)"
 msgstr "Serviço (ID)"
 
 
-#: netbox/ipam/filtersets.py:673
+#: netbox/ipam/filtersets.py:675
 msgid "NAT inside IP address (ID)"
 msgid "NAT inside IP address (ID)"
 msgstr "NAT dentro do endereço IP (ID)"
 msgstr "NAT dentro do endereço IP (ID)"
 
 
-#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322
+#: netbox/ipam/filtersets.py:1043 netbox/ipam/forms/bulk_import.py:322
 msgid "Assigned interface"
 msgid "Assigned interface"
 msgstr "Interface associada"
 msgstr "Interface associada"
 
 
-#: netbox/ipam/filtersets.py:1046
+#: netbox/ipam/filtersets.py:1048
 msgid "Assigned VM interface"
 msgid "Assigned VM interface"
 msgstr "Interface de VM atribuída"
 msgstr "Interface de VM atribuída"
 
 
-#: netbox/ipam/filtersets.py:1136
+#: netbox/ipam/filtersets.py:1138
 msgid "IP address (ID)"
 msgid "IP address (ID)"
 msgstr "Endereço IP (ID)"
 msgstr "Endereço IP (ID)"
 
 
-#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788
+#: netbox/ipam/filtersets.py:1144 netbox/ipam/models/ip.py:788
 msgid "IP address"
 msgid "IP address"
 msgstr "Endereço IP"
 msgstr "Endereço IP"
 
 
-#: netbox/ipam/filtersets.py:1167
+#: netbox/ipam/filtersets.py:1169
 msgid "Primary IPv4 (ID)"
 msgid "Primary IPv4 (ID)"
 msgstr "IPv4 Primário (ID)"
 msgstr "IPv4 Primário (ID)"
 
 
-#: netbox/ipam/filtersets.py:1172
+#: netbox/ipam/filtersets.py:1174
 msgid "Primary IPv6 (ID)"
 msgid "Primary IPv6 (ID)"
 msgstr "IPv6 Primário (ID)"
 msgstr "IPv6 Primário (ID)"
 
 
@@ -9692,11 +9698,12 @@ msgstr "Tornar este o IP primário do dispositivo associado"
 
 
 #: netbox/ipam/forms/bulk_import.py:330
 #: netbox/ipam/forms/bulk_import.py:330
 msgid "Is out-of-band"
 msgid "Is out-of-band"
-msgstr ""
+msgstr "É out-of-band"
 
 
 #: netbox/ipam/forms/bulk_import.py:331
 #: netbox/ipam/forms/bulk_import.py:331
 msgid "Designate this as the out-of-band IP address for the assigned device"
 msgid "Designate this as the out-of-band IP address for the assigned device"
 msgstr ""
 msgstr ""
+"Designar este como endereço IP out-f-band para o dispositvo associado."
 
 
 #: netbox/ipam/forms/bulk_import.py:371
 #: netbox/ipam/forms/bulk_import.py:371
 msgid "No device or virtual machine specified; cannot set as primary IP"
 msgid "No device or virtual machine specified; cannot set as primary IP"
@@ -9707,10 +9714,11 @@ msgstr ""
 #: netbox/ipam/forms/bulk_import.py:375
 #: netbox/ipam/forms/bulk_import.py:375
 msgid "No device specified; cannot set as out-of-band IP"
 msgid "No device specified; cannot set as out-of-band IP"
 msgstr ""
 msgstr ""
+"Nenhum dispositivo especificado; não pode ser definido como IP out-of-band"
 
 
 #: netbox/ipam/forms/bulk_import.py:379
 #: netbox/ipam/forms/bulk_import.py:379
 msgid "Cannot set out-of-band IP for virtual machines"
 msgid "Cannot set out-of-band IP for virtual machines"
-msgstr ""
+msgstr "Não é possível definir IP out-of-band para máquinas virtuais"
 
 
 #: netbox/ipam/forms/bulk_import.py:383
 #: netbox/ipam/forms/bulk_import.py:383
 msgid "No interface specified; cannot set as primary IP"
 msgid "No interface specified; cannot set as primary IP"
@@ -9720,6 +9728,7 @@ msgstr ""
 #: netbox/ipam/forms/bulk_import.py:387
 #: netbox/ipam/forms/bulk_import.py:387
 msgid "No interface specified; cannot set as out-of-band IP"
 msgid "No interface specified; cannot set as out-of-band IP"
 msgstr ""
 msgstr ""
+"Nenhuma interface especificada; não pode ser definido como IP out-of-band"
 
 
 #: netbox/ipam/forms/bulk_import.py:422
 #: netbox/ipam/forms/bulk_import.py:422
 msgid "Auth type"
 msgid "Auth type"
@@ -9896,7 +9905,7 @@ msgstr "Torne este o IP primário do dispositivo/VM"
 
 
 #: netbox/ipam/forms/model_forms.py:314
 #: netbox/ipam/forms/model_forms.py:314
 msgid "Make this the out-of-band IP for the device"
 msgid "Make this the out-of-band IP for the device"
-msgstr ""
+msgstr "Definir este como endereço IP out-of-band para o dispositivo"
 
 
 #: netbox/ipam/forms/model_forms.py:329
 #: netbox/ipam/forms/model_forms.py:329
 msgid "NAT IP (Inside)"
 msgid "NAT IP (Inside)"
@@ -9909,10 +9918,12 @@ msgstr "Um endereço IP só pode ser atribuído a um único objeto."
 #: netbox/ipam/forms/model_forms.py:398
 #: netbox/ipam/forms/model_forms.py:398
 msgid "Cannot reassign primary IP address for the parent device/VM"
 msgid "Cannot reassign primary IP address for the parent device/VM"
 msgstr ""
 msgstr ""
+"Não é possível reatribuir o endereço primário para o dispositivo/VM pai"
 
 
 #: netbox/ipam/forms/model_forms.py:402
 #: netbox/ipam/forms/model_forms.py:402
 msgid "Cannot reassign out-of-Band IP address for the parent device"
 msgid "Cannot reassign out-of-Band IP address for the parent device"
 msgstr ""
 msgstr ""
+"Não é possível reatribuir o endereço IP out-of-band para o dispositivo pai"
 
 
 #: netbox/ipam/forms/model_forms.py:412
 #: netbox/ipam/forms/model_forms.py:412
 msgid ""
 msgid ""
@@ -9926,6 +9937,8 @@ msgid ""
 "Only IP addresses assigned to a device interface can be designated as the "
 "Only IP addresses assigned to a device interface can be designated as the "
 "out-of-band IP for a device."
 "out-of-band IP for a device."
 msgstr ""
 msgstr ""
+"Somente endereços IP atribuídos para uma interface podem ser designados como"
+" IP out-of-band para o dispositivo."
 
 
 #: netbox/ipam/forms/model_forms.py:508
 #: netbox/ipam/forms/model_forms.py:508
 msgid "Virtual IP Address"
 msgid "Virtual IP Address"
@@ -10327,12 +10340,12 @@ msgstr "Não é possível definir scope_id sem scope_type."
 #: netbox/ipam/models/vlans.py:105
 #: netbox/ipam/models/vlans.py:105
 #, python-brace-format
 #, python-brace-format
 msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}"
 msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}"
-msgstr ""
+msgstr "VLAN ID inicial no intervalo {value} não pode ser menor que {minimum}"
 
 
 #: netbox/ipam/models/vlans.py:111
 #: netbox/ipam/models/vlans.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}"
 msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}"
-msgstr ""
+msgstr "VLAN ID final no intervalo {value} não pode ser maior que {maximum}"
 
 
 #: netbox/ipam/models/vlans.py:118
 #: netbox/ipam/models/vlans.py:118
 #, python-brace-format
 #, python-brace-format
@@ -10340,6 +10353,8 @@ msgid ""
 "Ending VLAN ID in range must be greater than or equal to the starting VLAN "
 "Ending VLAN ID in range must be greater than or equal to the starting VLAN "
 "ID ({range})"
 "ID ({range})"
 msgstr ""
 msgstr ""
+"VLAN ID final do intervalo deve ser maior ou igual à VLAN ID inicial "
+"({range})"
 
 
 #: netbox/ipam/models/vlans.py:124
 #: netbox/ipam/models/vlans.py:124
 msgid "Ranges cannot overlap."
 msgid "Ranges cannot overlap."
@@ -11007,7 +11022,7 @@ msgstr "Atribuições dos Contatos"
 
 
 #: netbox/netbox/navigation/menu.py:50
 #: netbox/netbox/navigation/menu.py:50
 msgid "Rack Roles"
 msgid "Rack Roles"
-msgstr "Funções de Rack"
+msgstr "Funções do Rack"
 
 
 #: netbox/netbox/navigation/menu.py:54
 #: netbox/netbox/navigation/menu.py:54
 msgid "Elevations"
 msgid "Elevations"
@@ -12701,11 +12716,11 @@ msgstr "Baixar"
 #: netbox/templates/dcim/device/render_config.html:64
 #: netbox/templates/dcim/device/render_config.html:64
 #: netbox/templates/virtualization/virtualmachine/render_config.html:64
 #: netbox/templates/virtualization/virtualmachine/render_config.html:64
 msgid "Error rendering template"
 msgid "Error rendering template"
-msgstr ""
+msgstr "Erro ao renderizar o modelo"
 
 
 #: netbox/templates/dcim/device/render_config.html:70
 #: netbox/templates/dcim/device/render_config.html:70
 msgid "No configuration template has been assigned for this device."
 msgid "No configuration template has been assigned for this device."
-msgstr ""
+msgstr "Nenhum modelo de configuração foi atribuído para este dispositivo."
 
 
 #: netbox/templates/dcim/device_edit.html:44
 #: netbox/templates/dcim/device_edit.html:44
 msgid "Parent Bay"
 msgid "Parent Bay"
@@ -14388,6 +14403,7 @@ msgstr "Adicionar Disco Virtual"
 #: netbox/templates/virtualization/virtualmachine/render_config.html:70
 #: netbox/templates/virtualization/virtualmachine/render_config.html:70
 msgid "No configuration template has been assigned for this virtual machine."
 msgid "No configuration template has been assigned for this virtual machine."
 msgstr ""
 msgstr ""
+"Nenhum modelo de configuração foi atribuído para esta máquina virtual."
 
 
 #: netbox/templates/vpn/ikepolicy.html:10
 #: netbox/templates/vpn/ikepolicy.html:10
 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166
 #: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166
@@ -15464,12 +15480,12 @@ msgstr "Memória (MB)"
 
 
 #: netbox/virtualization/forms/bulk_edit.py:174
 #: netbox/virtualization/forms/bulk_edit.py:174
 msgid "Disk (MB)"
 msgid "Disk (MB)"
-msgstr ""
+msgstr "Disco (MB)"
 
 
 #: netbox/virtualization/forms/bulk_edit.py:334
 #: netbox/virtualization/forms/bulk_edit.py:334
 #: netbox/virtualization/forms/filtersets.py:251
 #: netbox/virtualization/forms/filtersets.py:251
 msgid "Size (MB)"
 msgid "Size (MB)"
-msgstr ""
+msgstr "Tamanho (MB)"
 
 
 #: netbox/virtualization/forms/bulk_import.py:44
 #: netbox/virtualization/forms/bulk_import.py:44
 msgid "Type of cluster"
 msgid "Type of cluster"
@@ -15680,19 +15696,19 @@ msgstr "GRE"
 
 
 #: netbox/vpn/choices.py:39
 #: netbox/vpn/choices.py:39
 msgid "WireGuard"
 msgid "WireGuard"
-msgstr ""
+msgstr "WireGuard"
 
 
 #: netbox/vpn/choices.py:40
 #: netbox/vpn/choices.py:40
 msgid "OpenVPN"
 msgid "OpenVPN"
-msgstr ""
+msgstr "OpenVPN"
 
 
 #: netbox/vpn/choices.py:41
 #: netbox/vpn/choices.py:41
 msgid "L2TP"
 msgid "L2TP"
-msgstr ""
+msgstr "L2TP"
 
 
 #: netbox/vpn/choices.py:42
 #: netbox/vpn/choices.py:42
 msgid "PPTP"
 msgid "PPTP"
-msgstr ""
+msgstr "PPTP"
 
 
 #: netbox/vpn/choices.py:64
 #: netbox/vpn/choices.py:64
 msgid "Hub"
 msgid "Hub"

+ 4 - 4
requirements.txt

@@ -20,10 +20,10 @@ feedparser==6.0.11
 gunicorn==23.0.0
 gunicorn==23.0.0
 Jinja2==3.1.4
 Jinja2==3.1.4
 Markdown==3.7
 Markdown==3.7
-mkdocs-material==9.5.48
+mkdocs-material==9.5.49
 mkdocstrings[python-legacy]==0.27.0
 mkdocstrings[python-legacy]==0.27.0
 netaddr==1.3.0
 netaddr==1.3.0
-nh3==0.2.19
+nh3==0.2.20
 Pillow==11.0.0
 Pillow==11.0.0
 psycopg[c,pool]==3.2.3
 psycopg[c,pool]==3.2.3
 PyYAML==6.0.2
 PyYAML==6.0.2
@@ -31,8 +31,8 @@ requests==2.32.3
 rq==2.0
 rq==2.0
 social-auth-app-django==5.4.2
 social-auth-app-django==5.4.2
 social-auth-core==4.5.4
 social-auth-core==4.5.4
-strawberry-graphql==0.253.1
-strawberry-graphql-django==0.51.0
+strawberry-graphql==0.254.0
+strawberry-graphql-django==0.52.0
 svgwrite==1.4.3
 svgwrite==1.4.3
 tablib==3.7.0
 tablib==3.7.0
 tzdata==2024.2
 tzdata==2024.2