Update apps to use the new event type namespace class.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2017-09-07 00:11:25 -04:00
parent 39995764eb
commit f0505db3b7
11 changed files with 99 additions and 50 deletions

View File

@@ -2,13 +2,15 @@ from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from events.classes import Event
from events.classes import EventTypeNamespace
event_cabinets_add_document = Event(
name='cabinets_add_document',
label=_('Document added to cabinet')
namespace = EventTypeNamespace(name='cabinets', label=_('Cabinets'))
event_cabinets_add_document = namespace.add_event_type(
label=_('Document added to cabinet'),
name='add_document'
)
event_cabinets_remove_document = Event(
name='cabinets_remove_document',
label=_('Document removed from cabinet')
event_cabinets_remove_document = namespace.add_event_type(
label=_('Document removed from cabinet'),
name='remove_document'
)

View File

@@ -2,13 +2,17 @@ from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from events.classes import Event
from events import EventTypeNamespace
event_parsing_document_version_submit = Event(
name='parsing_document_version_submit',
label=_('Document version submitted for parsing')
namespace = EventTypeNamespace(
name='parsing', label=_('Document parsing')
)
event_parsing_document_version_finish = Event(
name='parsing_document_version_finish',
label=_('Document version parsing finished')
event_parsing_document_version_submit = namespace.add_event_type(
label=_('Document version submitted for parsing'),
name='document_version_submit'
)
event_parsing_document_version_finish = namespace.add_event_type(
label=_('Document version parsing finished'),
name='document_version_finish'
)

View File

@@ -4,7 +4,7 @@ from django.apps import apps
from django.utils.translation import ugettext_lazy as _
from document_indexing.tasks import task_index_document
from events.classes import Event
from events.classes import EventType
def handler_index_document(sender, **kwargs):
@@ -42,8 +42,9 @@ def handler_trigger_transition(sender, **kwargs):
transition = list(set(trigger_transitions) & set(workflow_instance.get_transition_choices()))[0]
workflow_instance.do_transition(
comment=_('Event trigger: %s') % Event.get(name=action.verb).label,
transition=transition
comment=_('Event trigger: %s') % EventType.get(
name=action.verb
).label, transition=transition
)

View File

@@ -9,7 +9,7 @@ import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('events', '0001_initial'),
('events', '0005_auto_20170731_0452'),
('document_states', '0004_workflow_internal_name'),
]
@@ -17,8 +17,19 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='WorkflowTransitionTriggerEvent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('stored_event_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trigger_events', to='events.EventType', verbose_name='Event type')),
(
'id', models.AutoField(
auto_created=True, primary_key=True, serialize=False,
verbose_name='ID'
)
),
(
'stored_event_type', models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='trigger_events',
to='events.StoredEventType', verbose_name='Event type'
)
),
],
options={
'verbose_name': 'Workflow transition trigger event',
@@ -28,16 +39,28 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='workflowtransition',
name='trigger_time_period',
field=models.PositiveIntegerField(blank=True, help_text='Amount of time after which this transition will trigger on its own.', null=True, verbose_name='Trigger time period'),
field=models.PositiveIntegerField(
blank=True, help_text='Amount of time after which this '
'transition will trigger on its own.', null=True,
verbose_name='Trigger time period'
),
),
migrations.AddField(
model_name='workflowtransition',
name='trigger_time_unit',
field=models.CharField(blank=True, choices=[('days', 'Days'), ('hours', 'Hours'), ('minutes', 'Minutes')], max_length=8, null=True, verbose_name='Trigger time unit'),
field=models.CharField(
blank=True, choices=[
('days', 'Days'), ('hours', 'Hours'),
('minutes', 'Minutes')
], max_length=8, null=True, verbose_name='Trigger time unit'),
),
migrations.AddField(
model_name='workflowtransitiontriggerevent',
name='transition',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='document_states.WorkflowTransition', verbose_name='Transition'),
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to='document_states.WorkflowTransition',
verbose_name='Transition'
),
),
]

View File

@@ -17,16 +17,28 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='workflowinstancelogentry',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User'),
field=models.ForeignKey(
blank=True, null=True,
on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL, verbose_name='User'
),
),
migrations.AlterField(
model_name='workflowtransitiontriggerevent',
name='event_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='events.EventType', verbose_name='Event type'),
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to='events.StoredEventType', verbose_name='Event type'
),
),
migrations.AlterField(
model_name='workflowtransitiontriggerevent',
name='transition',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='trigger_events', to='document_states.WorkflowTransition', verbose_name='Transition'),
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='trigger_events',
to='document_states.WorkflowTransition',
verbose_name='Transition'
),
),
]

View File

@@ -17,7 +17,7 @@ from django.utils.translation import ugettext_lazy as _
from acls.models import AccessControlList
from common.validators import validate_internal_name
from documents.models import Document, DocumentType
from events.models import EventType
from events.models import StoredEventType
from permissions import Permission
from .error_logs import error_log_state_actions
@@ -306,7 +306,8 @@ class WorkflowTransitionTriggerEvent(models.Model):
related_name='trigger_events', verbose_name=_('Transition')
)
event_type = models.ForeignKey(
EventType, on_delete=models.CASCADE, verbose_name=_('Event type')
StoredEventType, on_delete=models.CASCADE,
verbose_name=_('Event type')
)
class Meta:

View File

@@ -17,8 +17,8 @@ from common.views import (
)
from documents.models import Document
from documents.views import DocumentListView
from events.classes import Event
from events.models import EventType
from events.classes import EventType
from events.models import StoredEventType
from .classes import WorkflowAction
from .forms import (
@@ -675,7 +675,7 @@ class WorkflowStateListView(SingleObjectListView):
class SetupWorkflowTransitionTriggerEventListView(FormView):
form_class = WorkflowTransitionTriggerEventRelationshipFormSet
submodel = EventType
submodel = StoredEventType
def dispatch(self, *args, **kwargs):
messages.warning(
@@ -689,7 +689,7 @@ class SetupWorkflowTransitionTriggerEventListView(FormView):
user=self.request.user, obj=self.get_object().workflow
)
Event.refresh()
EventType.refresh()
return super(
SetupWorkflowTransitionTriggerEventListView, self
).dispatch(*args, **kwargs)
@@ -735,8 +735,10 @@ class SetupWorkflowTransitionTriggerEventListView(FormView):
initial = []
# Return the queryset by name from the sorted list of the class
event_type_ids = [event_type.name for event_type in Event.all()]
event_type_queryset = EventType.objects.filter(name__in=event_type_ids)
event_type_ids = [event_type.name for event_type in EventType.all()]
event_type_queryset = StoredEventType.objects.filter(
name__in=event_type_ids
)
for event_type in event_type_queryset:
initial.append({

View File

@@ -20,7 +20,7 @@ class EventTypeNamespace(object):
@classmethod
def all(cls):
return Event.sort(event_type_list=cls._registry.values())
return sorted(cls._registry.values())
@classmethod
def get(cls, name):

View File

@@ -2,13 +2,15 @@ from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from events.classes import Event
from events.classes import EventTypeNamespace
event_ocr_document_version_submit = Event(
name='ocr_document_version_submit',
label=_('Document version submitted for OCR')
namespace = EventTypeNamespace(name='ocr', label=_('OCR'))
event_ocr_document_version_submit = namespace.add_event_type(
label=_('Document version submitted for OCR'),
name='document_version_submit'
)
event_ocr_document_version_finish = Event(
name='ocr_document_version_finish',
label=_('Document version OCR finished')
event_ocr_document_version_finish = namespace.add_event_type(
label=_('Document version OCR finished'),
name='document_version_finish'
)

View File

@@ -56,7 +56,7 @@ api_urls = [
name='document-version-ocr-submit-view'
),
url(
r'^documents/(?P<document_pk>\d+)/versions/(?P<version_pk>\d+)/pages/(?P<page_pk>\d+)/ocr/$', APIDocumentPageContentView.as_view(),
r'^documents/(?P<document_pk>\d+)/versions/(?P<version_pk>\d+)/pages/(?P<page_pk>\d+)/ocr/$',
APIDocumentPageOCRContentView.as_view(),
name='document-page-content-view'
),

View File

@@ -2,13 +2,15 @@ from __future__ import absolute_import, unicode_literals
from django.utils.translation import ugettext_lazy as _
from events.classes import Event
from events.classes import EventTypeNamespace
event_tag_attach = Event(
name='tag_attach',
label=_('Tag attached to document')
namespace = EventTypeNamespace(name='tag', label=_('Tags'))
event_tag_attach = namespace.add_event_type(
label=_('Tag attached to document'),
name='attach'
)
event_tag_remove = Event(
name='tag_remove',
label=_('Tag removed from document')
event_tag_remove = namespace.add_event_type(
label=_('Tag removed from document'),
name='remove'
)