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):
|
||||
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):
|
||||
peer_side = 'Z' if self.term_side == 'A' else 'A'
|
||||
try:
|
||||
|
@ -223,10 +223,12 @@ class CircuitTerminationEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
|
||||
def alter_obj(self, obj, args, kwargs):
|
||||
if 'circuit' in kwargs:
|
||||
circuit = get_object_or_404(Circuit, pk=kwargs['circuit'])
|
||||
obj.circuit = circuit
|
||||
obj.circuit = get_object_or_404(Circuit, pk=kwargs['circuit'])
|
||||
return obj
|
||||
|
||||
def get_return_url(self, obj):
|
||||
return obj.circuit.get_absolute_url()
|
||||
|
||||
|
||||
class CircuitTerminationDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
permission_required = 'circuits.delete_circuittermination'
|
||||
|
@ -985,9 +985,6 @@ class ConsolePort(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_parent_url(self):
|
||||
return self.device.get_absolute_url()
|
||||
|
||||
# Used for connections export
|
||||
def to_csv(self):
|
||||
return csv_format([
|
||||
@ -1029,9 +1026,6 @@ class ConsoleServerPort(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_parent_url(self):
|
||||
return self.device.get_absolute_url()
|
||||
|
||||
|
||||
class PowerPort(models.Model):
|
||||
"""
|
||||
@ -1050,9 +1044,6 @@ class PowerPort(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_parent_url(self):
|
||||
return self.device.get_absolute_url()
|
||||
|
||||
# Used for connections export
|
||||
def csv_format(self):
|
||||
return ','.join([
|
||||
@ -1088,9 +1079,6 @@ class PowerOutlet(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_parent_url(self):
|
||||
return self.device.get_absolute_url()
|
||||
|
||||
|
||||
class Interface(models.Model):
|
||||
"""
|
||||
@ -1114,9 +1102,6 @@ class Interface(models.Model):
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_parent_url(self):
|
||||
return self.device.get_absolute_url()
|
||||
|
||||
def clean(self):
|
||||
|
||||
if self.form_factor == IFACE_FF_VIRTUAL and self.is_connected:
|
||||
@ -1207,9 +1192,6 @@ class DeviceBay(models.Model):
|
||||
def __unicode__(self):
|
||||
return u'{} - {}'.format(self.device.name, self.name)
|
||||
|
||||
def get_parent_url(self):
|
||||
return self.device.get_absolute_url()
|
||||
|
||||
def clean(self):
|
||||
|
||||
# Validate that the parent Device can have DeviceBays
|
||||
@ -1243,6 +1225,3 @@ class Module(models.Model):
|
||||
|
||||
def __unicode__(self):
|
||||
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):
|
||||
if 'device' in kwargs:
|
||||
device = get_object_or_404(Device, pk=kwargs['device'])
|
||||
obj.device = device
|
||||
obj.device = get_object_or_404(Device, pk=kwargs['device'])
|
||||
return obj
|
||||
|
||||
def get_return_url(self, obj):
|
||||
return obj.device.get_absolute_url()
|
||||
|
||||
|
||||
class ModuleDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
permission_required = 'dcim.delete_module'
|
||||
|
@ -578,6 +578,3 @@ class Service(CreatedUpdatedModel):
|
||||
|
||||
def __unicode__(self):
|
||||
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'])
|
||||
return obj
|
||||
|
||||
def get_return_url(self, obj):
|
||||
return obj.device.get_absolute_url()
|
||||
|
||||
|
||||
class ServiceDeleteView(PermissionRequiredMixin, ObjectDeleteView):
|
||||
permission_required = 'ipam.delete_service'
|
||||
|
@ -150,13 +150,13 @@ class ObjectEditView(View):
|
||||
# given some parameter from the request URI.
|
||||
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).
|
||||
if obj.pk and self.use_obj_view and hasattr(obj, 'get_absolute_url'):
|
||||
return obj.get_absolute_url()
|
||||
if obj and self.use_obj_view and hasattr(obj, 'get_parent_url'):
|
||||
return obj.get_parent_url()
|
||||
return reverse(self.obj_list_url)
|
||||
if self.obj_list_url is not None:
|
||||
return reverse(self.obj_list_url)
|
||||
return reverse('home')
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
|
||||
@ -169,7 +169,7 @@ class ObjectEditView(View):
|
||||
'obj': obj,
|
||||
'obj_type': self.model._meta.verbose_name,
|
||||
'form': form,
|
||||
'cancel_url': self.get_redirect_url(obj),
|
||||
'cancel_url': self.get_return_url(obj),
|
||||
})
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
@ -200,13 +200,13 @@ class ObjectEditView(View):
|
||||
|
||||
if '_addanother' in request.POST:
|
||||
return redirect(request.path)
|
||||
return redirect(self.get_redirect_url(obj))
|
||||
return redirect(self.get_return_url(obj))
|
||||
|
||||
return render(request, self.template_name, {
|
||||
'obj': obj,
|
||||
'obj_type': self.model._meta.verbose_name,
|
||||
'form': form,
|
||||
'cancel_url': self.get_redirect_url(obj),
|
||||
'cancel_url': self.get_return_url(obj),
|
||||
})
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user