|
|
@@ -1103,101 +1103,6 @@ class ConsolePortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
|
|
template_name = 'dcim/device_component_add.html'
|
|
|
|
|
|
|
|
|
-class ConsolePortConnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_consoleport'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- consoleport = get_object_or_404(ConsolePort, pk=pk)
|
|
|
- form = forms.ConsolePortConnectionForm(instance=consoleport, initial={
|
|
|
- 'site': request.GET.get('site'),
|
|
|
- 'rack': request.GET.get('rack'),
|
|
|
- 'console_server': request.GET.get('console_server'),
|
|
|
- 'connection_status': CONNECTION_STATUS_CONNECTED,
|
|
|
- })
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleport_connect.html', {
|
|
|
- 'consoleport': consoleport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- consoleport = get_object_or_404(ConsolePort, pk=pk)
|
|
|
- form = forms.ConsolePortConnectionForm(request.POST, instance=consoleport)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
-
|
|
|
- consoleport = form.save()
|
|
|
- msg = 'Connected <a href="{}">{}</a> {} to <a href="{}">{}</a> {}'.format(
|
|
|
- consoleport.device.get_absolute_url(),
|
|
|
- escape(consoleport.device),
|
|
|
- escape(consoleport.name),
|
|
|
- consoleport.connected_endpoint.device.get_absolute_url(),
|
|
|
- escape(consoleport.connected_endpoint.device),
|
|
|
- escape(consoleport.connected_endpoint.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=consoleport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleport_connect.html', {
|
|
|
- 'consoleport': consoleport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
-class ConsolePortDisconnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_consoleport'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- consoleport = get_object_or_404(ConsolePort, pk=pk)
|
|
|
- form = ConfirmationForm()
|
|
|
-
|
|
|
- if not consoleport.connected_endpoint:
|
|
|
- messages.warning(
|
|
|
- request, "Cannot disconnect console port {}: It is not connected to anything.".format(consoleport)
|
|
|
- )
|
|
|
- return redirect('dcim:device', pk=consoleport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleport_disconnect.html', {
|
|
|
- 'consoleport': consoleport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- consoleport = get_object_or_404(ConsolePort, pk=pk)
|
|
|
- form = ConfirmationForm(request.POST)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
- consoleserverport = consoleport.connected_endpoint
|
|
|
- consoleport.connected_endpoint = None
|
|
|
- consoleport.connection_status = None
|
|
|
- consoleport.save()
|
|
|
- msg = 'Disconnected <a href="{}">{}</a> {} from <a href="{}">{}</a> {}'.format(
|
|
|
- consoleport.device.get_absolute_url(),
|
|
|
- escape(consoleport.device),
|
|
|
- escape(consoleport.name),
|
|
|
- consoleserverport.device.get_absolute_url(),
|
|
|
- escape(consoleserverport.device),
|
|
|
- escape(consoleserverport.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=consoleport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleport_disconnect.html', {
|
|
|
- 'consoleport': consoleport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
class ConsolePortEditView(PermissionRequiredMixin, ObjectEditView):
|
|
|
permission_required = 'dcim.change_consoleport'
|
|
|
model = ConsolePort
|
|
|
@@ -1237,106 +1142,6 @@ class ConsoleServerPortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
|
|
template_name = 'dcim/device_component_add.html'
|
|
|
|
|
|
|
|
|
-class ConsoleServerPortConnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_consoleserverport'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- consoleserverport = get_object_or_404(ConsoleServerPort, pk=pk)
|
|
|
- form = forms.ConsoleServerPortConnectionForm(initial={
|
|
|
- 'site': request.GET.get('site'),
|
|
|
- 'rack': request.GET.get('rack'),
|
|
|
- 'device': request.GET.get('device'),
|
|
|
- 'connection_status': CONNECTION_STATUS_CONNECTED,
|
|
|
- })
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleserverport_connect.html', {
|
|
|
- 'consoleserverport': consoleserverport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleserverport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- consoleserverport = get_object_or_404(ConsoleServerPort, pk=pk)
|
|
|
- form = forms.ConsoleServerPortConnectionForm(request.POST)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
-
|
|
|
- consoleport = form.cleaned_data['port']
|
|
|
- consoleport.connected_endpoint = consoleserverport
|
|
|
- consoleport.connection_status = form.cleaned_data['connection_status']
|
|
|
- consoleport.save()
|
|
|
- msg = 'Connected <a href="{}">{}</a> {} to <a href="{}">{}</a> {}'.format(
|
|
|
- consoleport.device.get_absolute_url(),
|
|
|
- escape(consoleport.device),
|
|
|
- escape(consoleport.name),
|
|
|
- consoleserverport.device.get_absolute_url(),
|
|
|
- escape(consoleserverport.device),
|
|
|
- escape(consoleserverport.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=consoleserverport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleserverport_connect.html', {
|
|
|
- 'consoleserverport': consoleserverport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleserverport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
-class ConsoleServerPortDisconnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_consoleserverport'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- consoleserverport = get_object_or_404(ConsoleServerPort, pk=pk)
|
|
|
- form = ConfirmationForm()
|
|
|
-
|
|
|
- if not hasattr(consoleserverport, 'connected_endpoint'):
|
|
|
- messages.warning(
|
|
|
- request,
|
|
|
- "Cannot disconnect console server port {}: Nothing is connected to it.".format(consoleserverport)
|
|
|
- )
|
|
|
- return redirect('dcim:device', pk=consoleserverport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleserverport_disconnect.html', {
|
|
|
- 'consoleserverport': consoleserverport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleserverport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- consoleserverport = get_object_or_404(ConsoleServerPort, pk=pk)
|
|
|
- form = ConfirmationForm(request.POST)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
-
|
|
|
- consoleport = consoleserverport.connected_endpoint
|
|
|
- consoleport.connected_endpoint = None
|
|
|
- consoleport.connection_status = None
|
|
|
- consoleport.save()
|
|
|
- msg = 'Disconnected <a href="{}">{}</a> {} from <a href="{}">{}</a> {}'.format(
|
|
|
- consoleport.device.get_absolute_url(),
|
|
|
- escape(consoleport.device),
|
|
|
- escape(consoleport.name),
|
|
|
- consoleserverport.device.get_absolute_url(),
|
|
|
- escape(consoleserverport.device),
|
|
|
- escape(consoleserverport.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=consoleserverport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/consoleserverport_disconnect.html', {
|
|
|
- 'consoleserverport': consoleserverport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': consoleserverport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
class ConsoleServerPortEditView(PermissionRequiredMixin, ObjectEditView):
|
|
|
permission_required = 'dcim.change_consoleserverport'
|
|
|
model = ConsoleServerPort
|
|
|
@@ -1389,102 +1194,6 @@ class PowerPortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
|
|
template_name = 'dcim/device_component_add.html'
|
|
|
|
|
|
|
|
|
-class PowerPortConnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_powerport'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- powerport = get_object_or_404(PowerPort, pk=pk)
|
|
|
- form = forms.PowerPortConnectionForm(instance=powerport, initial={
|
|
|
- 'site': request.GET.get('site'),
|
|
|
- 'rack': request.GET.get('rack'),
|
|
|
- 'pdu': request.GET.get('pdu'),
|
|
|
- 'connection_status': CONNECTION_STATUS_CONNECTED,
|
|
|
- })
|
|
|
-
|
|
|
- return render(request, 'dcim/powerport_connect.html', {
|
|
|
- 'powerport': powerport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': powerport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- powerport = get_object_or_404(PowerPort, pk=pk)
|
|
|
- form = forms.PowerPortConnectionForm(request.POST, instance=powerport)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
-
|
|
|
- powerport = form.save()
|
|
|
- msg = 'Connected <a href="{}">{}</a> {} to <a href="{}">{}</a> {}'.format(
|
|
|
- powerport.device.get_absolute_url(),
|
|
|
- escape(powerport.device),
|
|
|
- escape(powerport.name),
|
|
|
- powerport.connected_endpoint.device.get_absolute_url(),
|
|
|
- escape(powerport.connected_endpoint.device),
|
|
|
- escape(powerport.connected_endpoint.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=powerport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/powerport_connect.html', {
|
|
|
- 'powerport': powerport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': powerport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
-class PowerPortDisconnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_powerport'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- powerport = get_object_or_404(PowerPort, pk=pk)
|
|
|
- form = ConfirmationForm()
|
|
|
-
|
|
|
- if not powerport.connected_endpoint:
|
|
|
- messages.warning(
|
|
|
- request, "Cannot disconnect power port {}: It is not connected to an outlet.".format(powerport)
|
|
|
- )
|
|
|
- return redirect('dcim:device', pk=powerport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/powerport_disconnect.html', {
|
|
|
- 'powerport': powerport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': powerport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- powerport = get_object_or_404(PowerPort, pk=pk)
|
|
|
- form = ConfirmationForm(request.POST)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
-
|
|
|
- poweroutlet = powerport.connected_endpoint
|
|
|
- powerport.connected_endpoint = None
|
|
|
- powerport.connection_status = None
|
|
|
- powerport.save()
|
|
|
- msg = 'Disconnected <a href="{}">{}</a> {} from <a href="{}">{}</a> {}'.format(
|
|
|
- powerport.device.get_absolute_url(),
|
|
|
- escape(powerport.device),
|
|
|
- escape(powerport.name),
|
|
|
- poweroutlet.device.get_absolute_url(),
|
|
|
- escape(poweroutlet.device),
|
|
|
- escape(poweroutlet.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=powerport.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/powerport_disconnect.html', {
|
|
|
- 'powerport': powerport,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': powerport.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
class PowerPortEditView(PermissionRequiredMixin, ObjectEditView):
|
|
|
permission_required = 'dcim.change_powerport'
|
|
|
model = PowerPort
|
|
|
@@ -1524,104 +1233,6 @@ class PowerOutletCreateView(PermissionRequiredMixin, ComponentCreateView):
|
|
|
template_name = 'dcim/device_component_add.html'
|
|
|
|
|
|
|
|
|
-class PowerOutletConnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_poweroutlet'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- poweroutlet = get_object_or_404(PowerOutlet, pk=pk)
|
|
|
- form = forms.PowerOutletConnectionForm(initial={
|
|
|
- 'site': request.GET.get('site'),
|
|
|
- 'rack': request.GET.get('rack'),
|
|
|
- 'device': request.GET.get('device'),
|
|
|
- 'connection_status': CONNECTION_STATUS_CONNECTED,
|
|
|
- })
|
|
|
-
|
|
|
- return render(request, 'dcim/poweroutlet_connect.html', {
|
|
|
- 'poweroutlet': poweroutlet,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': poweroutlet.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- poweroutlet = get_object_or_404(PowerOutlet, pk=pk)
|
|
|
- form = forms.PowerOutletConnectionForm(request.POST)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
- powerport = form.cleaned_data['port']
|
|
|
- powerport.connected_endpoint = poweroutlet
|
|
|
- powerport.connection_status = form.cleaned_data['connection_status']
|
|
|
- powerport.save()
|
|
|
- msg = 'Connected <a href="{}">{}</a> {} to <a href="{}">{}</a> {}'.format(
|
|
|
- powerport.device.get_absolute_url(),
|
|
|
- escape(powerport.device),
|
|
|
- escape(powerport.name),
|
|
|
- poweroutlet.device.get_absolute_url(),
|
|
|
- escape(poweroutlet.device),
|
|
|
- escape(poweroutlet.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=poweroutlet.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/poweroutlet_connect.html', {
|
|
|
- 'poweroutlet': poweroutlet,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': poweroutlet.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
-class PowerOutletDisconnectView(PermissionRequiredMixin, View):
|
|
|
- permission_required = 'dcim.change_poweroutlet'
|
|
|
-
|
|
|
- def get(self, request, pk):
|
|
|
-
|
|
|
- poweroutlet = get_object_or_404(PowerOutlet, pk=pk)
|
|
|
- form = ConfirmationForm()
|
|
|
-
|
|
|
- if not hasattr(poweroutlet, 'connected_endpoint'):
|
|
|
- messages.warning(
|
|
|
- request, "Cannot disconnect power outlet {}: Nothing is connected to it.".format(poweroutlet)
|
|
|
- )
|
|
|
- return redirect('dcim:device', pk=poweroutlet.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/poweroutlet_disconnect.html', {
|
|
|
- 'poweroutlet': poweroutlet,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': poweroutlet.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
- def post(self, request, pk):
|
|
|
-
|
|
|
- poweroutlet = get_object_or_404(PowerOutlet, pk=pk)
|
|
|
- form = ConfirmationForm(request.POST)
|
|
|
-
|
|
|
- if form.is_valid():
|
|
|
-
|
|
|
- powerport = poweroutlet.connected_endpoint
|
|
|
- powerport.connected_endpoint = None
|
|
|
- powerport.connection_status = None
|
|
|
- powerport.save()
|
|
|
- msg = 'Disconnected <a href="{}">{}</a> {} from <a href="{}">{}</a> {}'.format(
|
|
|
- powerport.device.get_absolute_url(),
|
|
|
- escape(powerport.device),
|
|
|
- escape(powerport.name),
|
|
|
- poweroutlet.device.get_absolute_url(),
|
|
|
- escape(poweroutlet.device),
|
|
|
- escape(poweroutlet.name),
|
|
|
- )
|
|
|
- messages.success(request, mark_safe(msg))
|
|
|
-
|
|
|
- return redirect('dcim:device', pk=poweroutlet.device.pk)
|
|
|
-
|
|
|
- return render(request, 'dcim/poweroutlet_disconnect.html', {
|
|
|
- 'poweroutlet': poweroutlet,
|
|
|
- 'form': form,
|
|
|
- 'return_url': reverse('dcim:device', kwargs={'pk': poweroutlet.device.pk}),
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
class PowerOutletEditView(PermissionRequiredMixin, ObjectEditView):
|
|
|
permission_required = 'dcim.change_poweroutlet'
|
|
|
model = PowerOutlet
|