115 lines
5.2 KiB
Python
115 lines
5.2 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')]),
|
|
),
|
|
]
|