mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-09 09:08:15 -06:00
16218 copy script on data-source sync
This commit is contained in:
parent
f1bf4c8758
commit
ed890deda7
@ -217,7 +217,7 @@ class DataSource(JobsMixin, PrimaryModel):
|
|||||||
logger.debug(f"Updated {updated_count} files")
|
logger.debug(f"Updated {updated_count} files")
|
||||||
|
|
||||||
# Bulk delete deleted files
|
# Bulk delete deleted files
|
||||||
deleted_count, _ = DataFile.objects.filter(pk__in=deleted_file_ids).delete()
|
deleted_count, _deleted_dict = DataFile.objects.filter(pk__in=deleted_file_ids).delete()
|
||||||
logger.debug(f"Deleted {deleted_count} files")
|
logger.debug(f"Deleted {deleted_count} files")
|
||||||
|
|
||||||
# Walk the local replication to find new files
|
# Walk the local replication to find new files
|
||||||
|
@ -11,7 +11,8 @@ from django.urls import reverse
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from core.choices import ManagedFileRootPathChoices
|
from core.choices import ManagedFileRootPathChoices
|
||||||
from core.models import ManagedFile
|
from core.models import DataSource, ManagedFile
|
||||||
|
from core.signals import post_sync
|
||||||
from extras.utils import is_script
|
from extras.utils import is_script
|
||||||
from netbox.models.features import JobsMixin, EventRulesMixin
|
from netbox.models.features import JobsMixin, EventRulesMixin
|
||||||
from utilities.querysets import RestrictedQuerySet
|
from utilities.querysets import RestrictedQuerySet
|
||||||
@ -182,3 +183,10 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
|
|||||||
@receiver(post_save, sender=ScriptModule)
|
@receiver(post_save, sender=ScriptModule)
|
||||||
def script_module_post_save_handler(instance, created, **kwargs):
|
def script_module_post_save_handler(instance, created, **kwargs):
|
||||||
instance.sync_classes()
|
instance.sync_classes()
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(post_sync, sender=DataSource)
|
||||||
|
def script_data_source_sync_handler(instance, **kwargs):
|
||||||
|
modules = ScriptModule.objects.filter(data_source=instance)
|
||||||
|
for module in modules:
|
||||||
|
module.sync_data()
|
||||||
|
Loading…
Reference in New Issue
Block a user