mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-21 03:27:21 -06:00
* Add URL pattern for scripts to reference them by module.name * Change _get_script function name and syntax * Fix formatting issue
This commit is contained in:
parent
4fb42ac7b3
commit
48b825c64a
@ -75,8 +75,11 @@ urlpatterns = [
|
|||||||
path('scripts/add/', views.ScriptModuleCreateView.as_view(), name='scriptmodule_add'),
|
path('scripts/add/', views.ScriptModuleCreateView.as_view(), name='scriptmodule_add'),
|
||||||
path('scripts/results/<int:job_pk>/', views.ScriptResultView.as_view(), name='script_result'),
|
path('scripts/results/<int:job_pk>/', views.ScriptResultView.as_view(), name='script_result'),
|
||||||
path('scripts/<int:pk>/', views.ScriptView.as_view(), name='script'),
|
path('scripts/<int:pk>/', views.ScriptView.as_view(), name='script'),
|
||||||
|
path('scripts/<str:module>.<str:name>/', views.ScriptView.as_view(), name='script'),
|
||||||
path('scripts/<int:pk>/source/', views.ScriptSourceView.as_view(), name='script_source'),
|
path('scripts/<int:pk>/source/', views.ScriptSourceView.as_view(), name='script_source'),
|
||||||
|
path('scripts/<str:module>.<str:name>/source/', views.ScriptSourceView.as_view(), name='script_source'),
|
||||||
path('scripts/<int:pk>/jobs/', views.ScriptJobsView.as_view(), name='script_jobs'),
|
path('scripts/<int:pk>/jobs/', views.ScriptJobsView.as_view(), name='script_jobs'),
|
||||||
|
path('scripts/<str:module>.<str:name>/jobs/', views.ScriptJobsView.as_view(), name='script_jobs'),
|
||||||
path('script-modules/<int:pk>/', include(get_model_urls('extras', 'scriptmodule'))),
|
path('script-modules/<int:pk>/', include(get_model_urls('extras', 'scriptmodule'))),
|
||||||
|
|
||||||
# Markdown
|
# Markdown
|
||||||
|
@ -1251,6 +1251,14 @@ class ScriptListView(ContentTypePermissionRequiredMixin, View):
|
|||||||
class BaseScriptView(generic.ObjectView):
|
class BaseScriptView(generic.ObjectView):
|
||||||
queryset = Script.objects.all()
|
queryset = Script.objects.all()
|
||||||
|
|
||||||
|
def get_object(self, **kwargs):
|
||||||
|
if pk := kwargs.get('pk', False):
|
||||||
|
return get_object_or_404(self.queryset, pk=pk)
|
||||||
|
elif (module := kwargs.get('module')) and (name := kwargs.get('name', False)):
|
||||||
|
return get_object_or_404(self.queryset, module__file_path=f'{module}.py', name=name)
|
||||||
|
else:
|
||||||
|
raise Http404
|
||||||
|
|
||||||
def _get_script_class(self, script):
|
def _get_script_class(self, script):
|
||||||
"""
|
"""
|
||||||
Return an instance of the Script's Python class
|
Return an instance of the Script's Python class
|
||||||
|
Loading…
Reference in New Issue
Block a user