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:
@@ -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)
|
||||
=================
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user