Add post_upgrade signal, use it to re-initialize interval sources.
This commit is contained in:
@@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.core import management
|
||||
|
||||
from ...signals import perform_upgrade
|
||||
from ...signals import perform_upgrade, post_upgrade
|
||||
|
||||
|
||||
class Command(management.BaseCommand):
|
||||
@@ -12,3 +12,4 @@ class Command(management.BaseCommand):
|
||||
management.call_command('migrate', interactive=False)
|
||||
management.call_command('purgeperiodictasks', interactive=False)
|
||||
perform_upgrade.send(sender=self)
|
||||
post_upgrade.send(sender=self)
|
||||
|
||||
@@ -2,7 +2,7 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.core import management
|
||||
|
||||
from djcelery.models import PeriodicTask
|
||||
from djcelery.models import IntervalSchedule, PeriodicTask
|
||||
|
||||
|
||||
class Command(management.BaseCommand):
|
||||
@@ -10,3 +10,4 @@ class Command(management.BaseCommand):
|
||||
|
||||
def handle(self, *args, **options):
|
||||
PeriodicTask.objects.all().delete()
|
||||
IntervalSchedule.objects.all().delete()
|
||||
|
||||
@@ -2,5 +2,6 @@ from __future__ import unicode_literals
|
||||
|
||||
from django.dispatch import Signal
|
||||
|
||||
post_initial_setup = Signal(use_caching=True)
|
||||
perform_upgrade = Signal(use_caching=True)
|
||||
post_initial_setup = Signal(use_caching=True)
|
||||
post_upgrade = Signal(use_caching=True)
|
||||
|
||||
@@ -8,7 +8,7 @@ from common import (
|
||||
MayanAppConfig, MissingItem, menu_front_page, menu_object, menu_secondary,
|
||||
menu_sidebar, menu_setup
|
||||
)
|
||||
from common.signals import post_initial_setup
|
||||
from common.signals import post_initial_setup, post_upgrade
|
||||
from common.utils import encapsulate
|
||||
from converter.links import link_transformation_list
|
||||
from documents.models import Document
|
||||
@@ -19,7 +19,8 @@ from rest_api.classes import APIEndPoint
|
||||
|
||||
from .classes import StagingFile
|
||||
from .handlers import (
|
||||
copy_transformations_to_version, create_default_document_source
|
||||
copy_transformations_to_version, create_default_document_source,
|
||||
initialize_periodic_tasks
|
||||
)
|
||||
from .links import (
|
||||
link_document_create_multiple, link_document_create_siblings,
|
||||
@@ -32,7 +33,7 @@ from .links import (
|
||||
)
|
||||
from .models import (
|
||||
POP3Email, IMAPEmail, Source, StagingFolderSource, WatchFolderSource,
|
||||
WebFormSource,
|
||||
WebFormSource
|
||||
)
|
||||
from .widgets import staging_file_thumbnail
|
||||
|
||||
@@ -79,5 +80,6 @@ class SourcesApp(MayanAppConfig):
|
||||
menu_setup.bind_links(links=[link_setup_sources])
|
||||
menu_sidebar.bind_links(links=[link_upload_version], sources=['documents:document_version_list', 'documents:upload_version', 'documents:document_version_revert'])
|
||||
|
||||
post_upgrade.connect(initialize_periodic_tasks, dispatch_uid='initialize_periodic_tasks')
|
||||
post_initial_setup.connect(create_default_document_source, dispatch_uid='create_default_document_source')
|
||||
post_version_upload.connect(copy_transformations_to_version, dispatch_uid='copy_transformations_to_version')
|
||||
|
||||
@@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
from converter.models import Transformation
|
||||
|
||||
from .literals import SOURCE_UNCOMPRESS_CHOICE_ASK
|
||||
from .models import WebFormSource
|
||||
from .models import POP3Email, IMAPEmail, WatchFolderSource, WebFormSource
|
||||
|
||||
|
||||
def create_default_document_source(sender, **kwargs):
|
||||
@@ -16,3 +16,14 @@ def copy_transformations_to_version(sender, **kwargs):
|
||||
instance = kwargs['instance']
|
||||
|
||||
Transformation.objects.copy(source=instance.document, targets=instance.pages.all())
|
||||
|
||||
|
||||
def initialize_periodic_tasks(**kwargs):
|
||||
for source in POP3Email.objects.filter(enabled=True):
|
||||
source.save()
|
||||
|
||||
for source in IMAPEmail.objects.filter(enabled=True):
|
||||
source.save()
|
||||
|
||||
for source in WatchFolderSource.objects.filter(enabled=True):
|
||||
source.save()
|
||||
|
||||
Reference in New Issue
Block a user