Files
mayan-edms/mayan/apps/document_states/admin.py
2016-06-10 19:59:09 -04:00

44 lines
1.1 KiB
Python

from __future__ import unicode_literals
from django.contrib import admin
from organizations.admin import OrganizationAdminMixin
from .models import (
Workflow, WorkflowInstance, WorkflowInstanceLogEntry, WorkflowState,
WorkflowTransition
)
class WorkflowInstanceLogEntryInline(admin.TabularInline):
extra = 1
model = WorkflowInstanceLogEntry
class WorkflowStateInline(admin.TabularInline):
model = WorkflowState
class WorkflowTransitionInline(admin.TabularInline):
model = WorkflowTransition
@admin.register(Workflow)
class WorkflowAdmin(OrganizationAdminMixin, admin.ModelAdmin):
def document_types_list(self, instance):
return ','.join(
instance.document_types.values_list('label', flat=True)
)
filter_horizontal = ('document_types',)
inlines = (WorkflowStateInline, WorkflowTransitionInline)
list_display = ('label', 'document_types_list')
@admin.register(WorkflowInstance)
class WorkflowInstanceAdmin(admin.ModelAdmin):
inlines = (WorkflowInstanceLogEntryInline,)
list_display = (
'workflow', 'document', 'get_current_state', 'get_last_transition'
)