216 lines
7.3 KiB
Python
216 lines
7.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.db import models, migrations
|
|
from django.conf import settings
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('documents', '__first__'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Workflow',
|
|
fields=[
|
|
(
|
|
'id', models.AutoField(
|
|
verbose_name='ID', serialize=False, auto_created=True,
|
|
primary_key=True
|
|
)
|
|
),
|
|
(
|
|
'label', models.CharField(
|
|
unique=True, max_length=255, verbose_name='Label'
|
|
)
|
|
),
|
|
(
|
|
'document_types', models.ManyToManyField(
|
|
related_name='workflows',
|
|
verbose_name='Document types',
|
|
to='documents.DocumentType'
|
|
)
|
|
),
|
|
],
|
|
options={
|
|
'verbose_name': 'Workflow',
|
|
'verbose_name_plural': 'Workflows',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='WorkflowInstance',
|
|
fields=[
|
|
(
|
|
'id', models.AutoField(
|
|
verbose_name='ID', serialize=False, auto_created=True,
|
|
primary_key=True
|
|
)
|
|
),
|
|
(
|
|
'document', models.ForeignKey(
|
|
related_name='workflows', verbose_name='Document',
|
|
to='documents.Document'
|
|
)
|
|
),
|
|
(
|
|
'workflow', models.ForeignKey(
|
|
related_name='instances', verbose_name='Workflow',
|
|
to='document_states.Workflow'
|
|
)
|
|
),
|
|
],
|
|
options={
|
|
'verbose_name': 'Workflow instance',
|
|
'verbose_name_plural': 'Workflow instances',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='WorkflowInstanceLogEntry',
|
|
fields=[
|
|
(
|
|
'id', models.AutoField(
|
|
verbose_name='ID', serialize=False, auto_created=True,
|
|
primary_key=True
|
|
)
|
|
),
|
|
(
|
|
'datetime', models.DateTimeField(
|
|
auto_now_add=True, verbose_name='Datetime',
|
|
db_index=True
|
|
)
|
|
),
|
|
(
|
|
'comment', models.TextField(
|
|
verbose_name='Comment', blank=True
|
|
)
|
|
),
|
|
],
|
|
options={
|
|
'verbose_name': 'Workflow instance log entry',
|
|
'verbose_name_plural': 'Workflow instance log entries',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='WorkflowState',
|
|
fields=[
|
|
(
|
|
'id', models.AutoField(
|
|
verbose_name='ID', serialize=False, auto_created=True,
|
|
primary_key=True
|
|
)
|
|
),
|
|
(
|
|
'label', models.CharField(
|
|
max_length=255, verbose_name='Label'
|
|
)
|
|
),
|
|
(
|
|
'initial', models.BooleanField(
|
|
default=False, help_text='Select if this will be the '
|
|
'state with which you want the workflow to start in. '
|
|
'Only one state can be the initial state.',
|
|
verbose_name='Initial'
|
|
)
|
|
),
|
|
(
|
|
'workflow', models.ForeignKey(
|
|
related_name='states', verbose_name='Workflow',
|
|
to='document_states.Workflow'
|
|
)
|
|
),
|
|
],
|
|
options={
|
|
'verbose_name': 'Workflow state',
|
|
'verbose_name_plural': 'Workflow states',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.CreateModel(
|
|
name='WorkflowTransition',
|
|
fields=[
|
|
(
|
|
'id', models.AutoField(
|
|
verbose_name='ID', serialize=False, auto_created=True,
|
|
primary_key=True
|
|
)
|
|
),
|
|
(
|
|
'label', models.CharField(
|
|
max_length=255, verbose_name='Label'
|
|
)
|
|
),
|
|
(
|
|
'destination_state', models.ForeignKey(
|
|
related_name='destination_transitions',
|
|
verbose_name='Destination state',
|
|
to='document_states.WorkflowState'
|
|
)
|
|
),
|
|
(
|
|
'origin_state', models.ForeignKey(
|
|
related_name='origin_transitions',
|
|
verbose_name='Origin state',
|
|
to='document_states.WorkflowState'
|
|
)
|
|
),
|
|
(
|
|
'workflow', models.ForeignKey(
|
|
related_name='transitions', verbose_name='Workflow',
|
|
to='document_states.Workflow'
|
|
)
|
|
),
|
|
],
|
|
options={
|
|
'verbose_name': 'Workflow transition',
|
|
'verbose_name_plural': 'Workflow transitions',
|
|
},
|
|
bases=(models.Model,),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name='workflowtransition',
|
|
unique_together=set(
|
|
[('workflow', 'label', 'origin_state', 'destination_state')]
|
|
),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name='workflowstate',
|
|
unique_together=set([('workflow', 'label')]),
|
|
),
|
|
migrations.AddField(
|
|
model_name='workflowinstancelogentry',
|
|
name='transition',
|
|
field=models.ForeignKey(
|
|
verbose_name='Transition',
|
|
to='document_states.WorkflowTransition'
|
|
),
|
|
preserve_default=True,
|
|
),
|
|
migrations.AddField(
|
|
model_name='workflowinstancelogentry',
|
|
name='user',
|
|
field=models.ForeignKey(
|
|
verbose_name='User', to=settings.AUTH_USER_MODEL
|
|
),
|
|
preserve_default=True,
|
|
),
|
|
migrations.AddField(
|
|
model_name='workflowinstancelogentry',
|
|
name='workflow_instance',
|
|
field=models.ForeignKey(
|
|
related_name='log_entries', verbose_name='Workflow instance',
|
|
to='document_states.WorkflowInstance'
|
|
),
|
|
preserve_default=True,
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name='workflowinstance',
|
|
unique_together=set([('document', 'workflow')]),
|
|
),
|
|
]
|