mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-21 11:37:21 -06:00
Converted module_add to ObjectEditView
This commit is contained in:
parent
b451ece057
commit
b7fe220860
@ -166,7 +166,7 @@ urlpatterns = [
|
|||||||
url(r'^interfaces/(?P<pk>\d+)/delete/$', views.InterfaceDeleteView.as_view(), name='interface_delete'),
|
url(r'^interfaces/(?P<pk>\d+)/delete/$', views.InterfaceDeleteView.as_view(), name='interface_delete'),
|
||||||
|
|
||||||
# Modules
|
# Modules
|
||||||
url(r'^devices/(?P<pk>\d+)/modules/add/$', views.module_add, name='module_add'),
|
url(r'^devices/(?P<device>\d+)/modules/add/$', views.ModuleEditView.as_view(), name='module_add'),
|
||||||
url(r'^modules/(?P<pk>\d+)/edit/$', views.ModuleEditView.as_view(), name='module_edit'),
|
url(r'^modules/(?P<pk>\d+)/edit/$', views.ModuleEditView.as_view(), name='module_edit'),
|
||||||
url(r'^modules/(?P<pk>\d+)/delete/$', views.ModuleDeleteView.as_view(), name='module_delete'),
|
url(r'^modules/(?P<pk>\d+)/delete/$', views.ModuleDeleteView.as_view(), name='module_delete'),
|
||||||
|
|
||||||
|
@ -1605,39 +1605,17 @@ def ipaddress_assign(request, pk):
|
|||||||
# Modules
|
# Modules
|
||||||
#
|
#
|
||||||
|
|
||||||
@permission_required('dcim.add_module')
|
|
||||||
def module_add(request, pk):
|
|
||||||
|
|
||||||
device = get_object_or_404(Device, pk=pk)
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
|
||||||
form = forms.ModuleForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
module = form.save(commit=False)
|
|
||||||
module.device = device
|
|
||||||
module.save()
|
|
||||||
messages.success(request, u"Added module {} to {}".format(module.name, module.device.name))
|
|
||||||
if '_addanother' in request.POST:
|
|
||||||
return redirect('dcim:module_add', pk=module.device.pk)
|
|
||||||
else:
|
|
||||||
return redirect('dcim:device_inventory', pk=module.device.pk)
|
|
||||||
|
|
||||||
else:
|
|
||||||
form = forms.ModuleForm()
|
|
||||||
|
|
||||||
return render(request, 'dcim/device_component_add.html', {
|
|
||||||
'device': device,
|
|
||||||
'component_type': 'Module',
|
|
||||||
'form': form,
|
|
||||||
'cancel_url': reverse('dcim:device_inventory', kwargs={'pk': device.pk}),
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
class ModuleEditView(PermissionRequiredMixin, ObjectEditView):
|
class ModuleEditView(PermissionRequiredMixin, ObjectEditView):
|
||||||
permission_required = 'dcim.change_module'
|
permission_required = 'dcim.change_module'
|
||||||
model = Module
|
model = Module
|
||||||
form_class = forms.ModuleForm
|
form_class = forms.ModuleForm
|
||||||
|
|
||||||
|
def alter_obj(self, obj, args, kwargs):
|
||||||
|
if 'device' in kwargs:
|
||||||
|
device = get_object_or_404(Device, pk=kwargs['device'])
|
||||||
|
obj.device = device
|
||||||
|
return obj
|
||||||
|
|
||||||
|
|
||||||
class ModuleDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
class ModuleDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||||
permission_required = 'dcim.delete_module'
|
permission_required = 'dcim.delete_module'
|
||||||
|
@ -127,7 +127,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% if perms.dcim.add_module %}
|
{% if perms.dcim.add_module %}
|
||||||
<a href="{% url 'dcim:module_add' pk=device.pk %}" class="btn btn-success">
|
<a href="{% url 'dcim:module_add' device=device.pk %}" class="btn btn-success">
|
||||||
<span class="fa fa-plus" aria-hidden="true"></span>
|
<span class="fa fa-plus" aria-hidden="true"></span>
|
||||||
Add a Module
|
Add a Module
|
||||||
</a>
|
</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user