# -*- 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')]), ), ]