Add new document app events: document type created and document type edited. Add link to document type events.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2018-08-15 03:18:46 -04:00
parent b3ef018d6c
commit cd76b1fd4a
5 changed files with 46 additions and 3 deletions

View File

@@ -35,6 +35,9 @@
- Add support for template subtitles.
- Make sure the on entry action of the initial state of workflows
executes on document creation.
- Add new document app events: document type created and document type
edited.
- Add link to document type events.
3.0.1 (2018-07-08)
=================

View File

@@ -42,6 +42,7 @@ from .dashboard_widgets import (
from .events import (
event_document_create, event_document_download,
event_document_properties_edit, event_document_type_change,
event_document_type_created, event_document_type_edited,
event_document_new_version, event_document_version_revert,
event_document_view
)
@@ -149,6 +150,7 @@ class DocumentsApp(MayanAppConfig):
ModelEventType.register(
model=DocumentType, event_types=(
event_document_create,
event_document_type_edited,
)
)
ModelEventType.register(
@@ -408,7 +410,8 @@ class DocumentsApp(MayanAppConfig):
links=(
link_document_type_edit, link_document_type_filename_list,
link_acl_list, link_object_event_types_user_subcriptions_list,
link_document_type_delete
link_document_type_delete,
link_events_for_object,
), sources=(DocumentType,)
)
menu_object.bind_links(

View File

@@ -12,14 +12,23 @@ event_document_create = namespace.add_event_type(
event_document_download = namespace.add_event_type(
name='document_download', label=_('Document downloaded')
)
event_document_new_version = namespace.add_event_type(
name='document_new_version', label=_('New version uploaded')
)
event_document_properties_edit = namespace.add_event_type(
name='document_edit', label=_('Document properties edited')
)
# The type of an existing document is changed to another type
event_document_type_change = namespace.add_event_type(
name='document_type_change', label=_('Document type changed')
)
event_document_new_version = namespace.add_event_type(
name='document_new_version', label=_('New version uploaded')
# A document type is created
event_document_type_created = namespace.add_event_type(
name='document_type_created', label=_('Document type created')
)
# An existing document type is modified
event_document_type_edited = namespace.add_event_type(
name='document_type_edit', label=_('Document type edited')
)
event_document_version_revert = namespace.add_event_type(
name='document_version_revert', label=_('Document version reverted')

View File

@@ -31,6 +31,7 @@ from mimetype.api import get_mimetype
from .events import (
event_document_create, event_document_new_version,
event_document_properties_edit, event_document_type_change,
event_document_type_created, event_document_type_edited,
event_document_version_revert
)
from .literals import DEFAULT_DELETE_PERIOD, DEFAULT_DELETE_TIME_UNIT
@@ -148,6 +149,23 @@ class DocumentType(models.Model):
)
raise
def save(self, *args, **kwargs):
user = kwargs.pop('_user', None)
created = not self.pk
result = super(DocumentType, self).save(*args, **kwargs)
if created:
event_document_type_created.commit(
actor=user, target=self
)
else:
event_document_type_edited.commit(
actor=user, target=self
)
return result
@python_2_unicode_compatible
class Document(models.Model):

View File

@@ -67,6 +67,11 @@ class DocumentTypeCreateView(SingleObjectCreateView):
'title': _('Create document type'),
}
def get_save_extra_data(self):
return {
'_user': self.request.user,
}
class DocumentTypeDeleteView(SingleObjectDeleteView):
model = DocumentType
@@ -96,6 +101,11 @@ class DocumentTypeEditView(SingleObjectEditView):
'title': _('Edit document type: %s') % self.get_object(),
}
def get_save_extra_data(self):
return {
'_user': self.request.user,
}
class DocumentTypeFilenameCreateView(SingleObjectCreateView):
form_class = DocumentTypeFilenameForm_create