Coverage for  / home / runner / work / netbox-data-import-plugin / netbox-data-import-plugin / netbox-data-import-plugin / netbox_data_import / urls.py: 100%

3 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-01 12:13 +0000

1# SPDX-License-Identifier: Apache-2.0 

2# Copyright (C) 2025 Marcin Zieba <marcinpsk@gmail.com> 

3from django.urls import path 

4from . import views 

5 

6urlpatterns = [ 

7 # Import Profiles 

8 path("profiles/", views.ImportProfileListView.as_view(), name="importprofile_list"), 

9 path("profiles/add/", views.ImportProfileEditView.as_view(), name="importprofile_add"), 

10 path("profiles/<int:pk>/", views.ImportProfileView.as_view(), name="importprofile"), 

11 path("profiles/<int:pk>/edit/", views.ImportProfileEditView.as_view(), name="importprofile_edit"), 

12 path("profiles/<int:pk>/delete/", views.ImportProfileDeleteView.as_view(), name="importprofile_delete"), 

13 # Column Mappings 

14 path("profiles/<int:profile_pk>/columns/add/", views.ColumnMappingAddView.as_view(), name="columnmapping_add"), 

15 path("column-mappings/<int:pk>/edit/", views.ColumnMappingEditView.as_view(), name="columnmapping_edit"), 

16 path("column-mappings/<int:pk>/delete/", views.ColumnMappingDeleteView.as_view(), name="columnmapping_delete"), 

17 # Class → Role Mappings 

18 path( 

19 "profiles/<int:profile_pk>/class-roles/add/", 

20 views.ClassRoleMappingAddView.as_view(), 

21 name="classrolemapping_add", 

22 ), 

23 path("class-role-mappings/<int:pk>/edit/", views.ClassRoleMappingEditView.as_view(), name="classrolemapping_edit"), 

24 path( 

25 "class-role-mappings/<int:pk>/delete/", 

26 views.ClassRoleMappingDeleteView.as_view(), 

27 name="classrolemapping_delete", 

28 ), 

29 # Device Type Mappings 

30 path( 

31 "profiles/<int:profile_pk>/device-types/add/", 

32 views.DeviceTypeMappingAddView.as_view(), 

33 name="devicetypemapping_add", 

34 ), 

35 path( 

36 "device-type-mappings/<int:pk>/edit/", views.DeviceTypeMappingEditView.as_view(), name="devicetypemapping_edit" 

37 ), 

38 path( 

39 "device-type-mappings/<int:pk>/delete/", 

40 views.DeviceTypeMappingDeleteView.as_view(), 

41 name="devicetypemapping_delete", 

42 ), 

43 # Column Transform Rules 

44 path( 

45 "profiles/<int:profile_pk>/transforms/add/", 

46 views.ColumnTransformRuleAddView.as_view(), 

47 name="columntransformrule_add", 

48 ), 

49 path( 

50 "column-transforms/<int:pk>/edit/", views.ColumnTransformRuleEditView.as_view(), name="columntransformrule_edit" 

51 ), 

52 path( 

53 "column-transforms/<int:pk>/delete/", 

54 views.ColumnTransformRuleDeleteView.as_view(), 

55 name="columntransformrule_delete", 

56 ), 

57 # Import Wizard 

58 path("import/", views.ImportSetupView.as_view(), name="import_setup"), 

59 path("import/preview/", views.ImportPreviewView.as_view(), name="import_preview"), 

60 path("import/run/", views.ImportRunView.as_view(), name="import_run"), 

61 path("import/results/", views.ImportResultsView.as_view(), name="import_results"), 

62 # Ignore / Unignore device 

63 path("ignore-device/", views.IgnoreDeviceView.as_view(), name="ignore_device"), 

64 path("unignore-device/", views.UnignoreDeviceView.as_view(), name="unignore_device"), 

65 # Save resolution (rerere) 

66 path("save-resolution/", views.SaveResolutionView.as_view(), name="save_resolution"), 

67 # Source resolutions list (per profile) 

68 path( 

69 "profiles/<int:profile_pk>/resolutions/", 

70 views.SourceResolutionListView.as_view(), 

71 name="source_resolution_list", 

72 ), 

73 path( 

74 "source-resolutions/<int:pk>/delete/", 

75 views.SourceResolutionDeleteView.as_view(), 

76 name="source_resolution_delete", 

77 ), 

78 # Device type analysis 

79 path("analysis/", views.DeviceTypeAnalysisView.as_view(), name="device_type_analysis"), 

80 path("analysis/<int:profile_pk>/", views.DeviceTypeAnalysisView.as_view(), name="device_type_analysis_profile"), 

81 # Bulk YAML import 

82 path("profiles/<int:profile_pk>/bulk-yaml/", views.BulkYamlImportView.as_view(), name="bulk_yaml_import"), 

83 # Profile YAML export / full-profile import 

84 path("profiles/<int:pk>/export-yaml/", views.ExportProfileYamlView.as_view(), name="exportprofile_yaml"), 

85 path("import-profile-yaml/", views.ImportProfileYamlView.as_view(), name="import_profile_yaml"), 

86 # AJAX helpers 

87 path("check-device/", views.CheckDeviceNameView.as_view(), name="check_device"), 

88 path("search-objects/", views.SearchNetBoxObjectsView.as_view(), name="search_objects"), 

89 # Quick-resolve views (POST from preview inline fix buttons) 

90 path("quick-create-manufacturer/", views.QuickCreateManufacturerView.as_view(), name="quick_create_manufacturer"), 

91 path( 

92 "quick-resolve-manufacturer/", views.QuickResolveManufacturerView.as_view(), name="quick_resolve_manufacturer" 

93 ), 

94 path("quick-resolve-device-type/", views.QuickResolveDeviceTypeView.as_view(), name="quick_resolve_device_type"), 

95 path("quick-add-class-mapping/", views.QuickAddClassRoleMappingView.as_view(), name="quick_add_class_mapping"), 

96 path("match-existing-device/", views.MatchExistingDeviceView.as_view(), name="match_existing_device"), 

97 path("auto-match-devices/", views.AutoMatchDevicesView.as_view(), name="auto_match_devices"), 

98 # Import Job history 

99 path("jobs/", views.ImportJobListView.as_view(), name="importjob_list"), 

100]