netbox-vcloud 0.2.3__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/PKG-INFO +1 -1
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/models.py +8 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/urls.py +1 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/views.py +7 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud.egg-info/PKG-INFO +1 -1
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/pyproject.toml +1 -1
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/MANIFEST.in +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/README.md +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/__init__.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/admin.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/api/serializers.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/api/urls.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/api/views.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/forms.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/jobs/__init__.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/jobs/cloudsync.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/migrations/0001_initial.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/migrations/0002_cloudsyncconfig_next_sync.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/migrations/0003_cloudsyncconfig_netbox_cluster_and_more.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/migrations/__init__.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/navigation.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/sync.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/sync_utils.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/tables.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/template_content.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/templates/netbox_vcloud/cloudsyncconfig.html +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/templates/netbox_vcloud/cloudsyncconfig_list.html +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/templatetags/__init__.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud/templatetags/boolean_icon.py +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud.egg-info/SOURCES.txt +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud.egg-info/dependency_links.txt +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud.egg-info/requires.txt +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/netbox_vcloud.egg-info/top_level.txt +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/setup.cfg +0 -0
- {netbox_vcloud-0.2.3 → netbox_vcloud-0.2.4}/test/test_sync_utils.py +0 -0
|
@@ -5,6 +5,7 @@ from netbox.models import NetBoxModel
|
|
|
5
5
|
from dcim.models import Site, DeviceRole, Platform
|
|
6
6
|
from virtualization.models import Cluster
|
|
7
7
|
from tenancy.models import Tenant
|
|
8
|
+
from django.urls import reverse
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
class CloudSyncConfig(NetBoxModel):
|
|
@@ -45,3 +46,10 @@ class CloudSyncConfig(NetBoxModel):
|
|
|
45
46
|
elif not self.next_sync:
|
|
46
47
|
self.next_sync = timezone.now() + timedelta(minutes=self.sync_interval_minutes)
|
|
47
48
|
super().save(*args, **kwargs)
|
|
49
|
+
|
|
50
|
+
def get_absolute_url(self):
|
|
51
|
+
return reverse("plugins:netbox_vcloud:cloudsyncconfig", args=[self.pk])
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def get_bulk_delete_url(cls):
|
|
55
|
+
return reverse("plugins:netbox_vcloud:cloudsyncconfig_bulk_delete")
|
|
@@ -13,4 +13,5 @@ urlpatterns = [
|
|
|
13
13
|
path('<int:pk>/changelog/', views.CloudSyncConfigChangeLogView.as_view(),
|
|
14
14
|
name='cloudsyncconfig_changelog'),
|
|
15
15
|
path('<int:pk>/run/', views.RunSyncNowView.as_view(), name='run_sync_now'),
|
|
16
|
+
path('delete/', views.CloudSyncConfigBulkDeleteView.as_view(), name='cloudsyncconfig_bulk_delete'),
|
|
16
17
|
]
|
|
@@ -59,3 +59,10 @@ class RunSyncNowView(View):
|
|
|
59
59
|
return redirect(reverse("core:job", args=[job.id]))
|
|
60
60
|
except Exception:
|
|
61
61
|
return redirect(f"/core/jobs/{job.id}/")
|
|
62
|
+
|
|
63
|
+
class CloudSyncConfigBulkDeleteView(generic.BulkDeleteView):
|
|
64
|
+
queryset = CloudSyncConfig.objects.all()
|
|
65
|
+
table = CloudSyncConfigTable
|
|
66
|
+
|
|
67
|
+
def get_queryset(self, request):
|
|
68
|
+
return CloudSyncConfig.objects.restrict(request.user, "delete")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|