mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Ditched get_parent_url() model method in favor of overrideable get_return_url() view method
This commit is contained in:
@ -159,9 +159,6 @@ class CircuitTermination(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'{} (Side {})'.format(self.circuit, self.get_term_side_display())
|
return u'{} (Side {})'.format(self.circuit, self.get_term_side_display())
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.circuit.get_absolute_url()
|
|
||||||
|
|
||||||
def get_peer_termination(self):
|
def get_peer_termination(self):
|
||||||
peer_side = 'Z' if self.term_side == 'A' else 'A'
|
peer_side = 'Z' if self.term_side == 'A' else 'A'
|
||||||
try:
|
try:
|
||||||
|
@ -223,10 +223,12 @@ class CircuitTerminationEditView(PermissionRequiredMixin, ObjectEditView):
|
|||||||
|
|
||||||
def alter_obj(self, obj, args, kwargs):
|
def alter_obj(self, obj, args, kwargs):
|
||||||
if 'circuit' in kwargs:
|
if 'circuit' in kwargs:
|
||||||
circuit = get_object_or_404(Circuit, pk=kwargs['circuit'])
|
obj.circuit = get_object_or_404(Circuit, pk=kwargs['circuit'])
|
||||||
obj.circuit = circuit
|
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
def get_return_url(self, obj):
|
||||||
|
return obj.circuit.get_absolute_url()
|
||||||
|
|
||||||
|
|
||||||
class CircuitTerminationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
class CircuitTerminationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||||
permission_required = 'circuits.delete_circuittermination'
|
permission_required = 'circuits.delete_circuittermination'
|
||||||
|
@ -985,9 +985,6 @@ class ConsolePort(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
|
||||||
# Used for connections export
|
# Used for connections export
|
||||||
def to_csv(self):
|
def to_csv(self):
|
||||||
return csv_format([
|
return csv_format([
|
||||||
@ -1029,9 +1026,6 @@ class ConsoleServerPort(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPort(models.Model):
|
class PowerPort(models.Model):
|
||||||
"""
|
"""
|
||||||
@ -1050,9 +1044,6 @@ class PowerPort(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
|
||||||
# Used for connections export
|
# Used for connections export
|
||||||
def csv_format(self):
|
def csv_format(self):
|
||||||
return ','.join([
|
return ','.join([
|
||||||
@ -1088,9 +1079,6 @@ class PowerOutlet(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
|
||||||
|
|
||||||
class Interface(models.Model):
|
class Interface(models.Model):
|
||||||
"""
|
"""
|
||||||
@ -1114,9 +1102,6 @@ class Interface(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
|
||||||
if self.form_factor == IFACE_FF_VIRTUAL and self.is_connected:
|
if self.form_factor == IFACE_FF_VIRTUAL and self.is_connected:
|
||||||
@ -1207,9 +1192,6 @@ class DeviceBay(models.Model):
|
|||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'{} - {}'.format(self.device.name, self.name)
|
return u'{} - {}'.format(self.device.name, self.name)
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
|
|
||||||
# Validate that the parent Device can have DeviceBays
|
# Validate that the parent Device can have DeviceBays
|
||||||
@ -1243,6 +1225,3 @@ class Module(models.Model):
|
|||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return reverse('dcim:device_inventory', args=[self.device.pk])
|
|
||||||
|
@ -1506,10 +1506,12 @@ class ModuleEditView(PermissionRequiredMixin, ObjectEditView):
|
|||||||
|
|
||||||
def alter_obj(self, obj, args, kwargs):
|
def alter_obj(self, obj, args, kwargs):
|
||||||
if 'device' in kwargs:
|
if 'device' in kwargs:
|
||||||
device = get_object_or_404(Device, pk=kwargs['device'])
|
obj.device = get_object_or_404(Device, pk=kwargs['device'])
|
||||||
obj.device = device
|
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
def get_return_url(self, obj):
|
||||||
|
return obj.device.get_absolute_url()
|
||||||
|
|
||||||
|
|
||||||
class ModuleDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
class ModuleDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||||
permission_required = 'dcim.delete_module'
|
permission_required = 'dcim.delete_module'
|
||||||
|
@ -578,6 +578,3 @@ class Service(CreatedUpdatedModel):
|
|||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u'{} ({}/{})'.format(self.name, self.port, self.get_protocol_display())
|
return u'{} ({}/{})'.format(self.name, self.port, self.get_protocol_display())
|
||||||
|
|
||||||
def get_parent_url(self):
|
|
||||||
return self.device.get_absolute_url()
|
|
||||||
|
@ -760,6 +760,9 @@ class ServiceEditView(PermissionRequiredMixin, ObjectEditView):
|
|||||||
obj.device = get_object_or_404(Device, pk=kwargs['device'])
|
obj.device = get_object_or_404(Device, pk=kwargs['device'])
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
|
def get_return_url(self, obj):
|
||||||
|
return obj.device.get_absolute_url()
|
||||||
|
|
||||||
|
|
||||||
class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||||
permission_required = 'ipam.delete_service'
|
permission_required = 'ipam.delete_service'
|
||||||
|
@ -150,13 +150,13 @@ class ObjectEditView(View):
|
|||||||
# given some parameter from the request URI.
|
# given some parameter from the request URI.
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
def get_redirect_url(self, obj):
|
def get_return_url(self, obj):
|
||||||
# Determine where to redirect the user after updating an object (or aborting an update).
|
# Determine where to redirect the user after updating an object (or aborting an update).
|
||||||
if obj.pk and self.use_obj_view and hasattr(obj, 'get_absolute_url'):
|
if obj.pk and self.use_obj_view and hasattr(obj, 'get_absolute_url'):
|
||||||
return obj.get_absolute_url()
|
return obj.get_absolute_url()
|
||||||
if obj and self.use_obj_view and hasattr(obj, 'get_parent_url'):
|
if self.obj_list_url is not None:
|
||||||
return obj.get_parent_url()
|
return reverse(self.obj_list_url)
|
||||||
return reverse(self.obj_list_url)
|
return reverse('home')
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ class ObjectEditView(View):
|
|||||||
'obj': obj,
|
'obj': obj,
|
||||||
'obj_type': self.model._meta.verbose_name,
|
'obj_type': self.model._meta.verbose_name,
|
||||||
'form': form,
|
'form': form,
|
||||||
'cancel_url': self.get_redirect_url(obj),
|
'cancel_url': self.get_return_url(obj),
|
||||||
})
|
})
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
@ -200,13 +200,13 @@ class ObjectEditView(View):
|
|||||||
|
|
||||||
if '_addanother' in request.POST:
|
if '_addanother' in request.POST:
|
||||||
return redirect(request.path)
|
return redirect(request.path)
|
||||||
return redirect(self.get_redirect_url(obj))
|
return redirect(self.get_return_url(obj))
|
||||||
|
|
||||||
return render(request, self.template_name, {
|
return render(request, self.template_name, {
|
||||||
'obj': obj,
|
'obj': obj,
|
||||||
'obj_type': self.model._meta.verbose_name,
|
'obj_type': self.model._meta.verbose_name,
|
||||||
'form': form,
|
'form': form,
|
||||||
'cancel_url': self.get_redirect_url(obj),
|
'cancel_url': self.get_return_url(obj),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user