# -*- coding: utf-8 -*-
# Generated by Django 1.11.3 on 2017-10-19 08:07
from __future__ import unicode_literals

from decimal import Decimal
from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0008_alter_user_username_max_length'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('indicators', '0001_initial'),
        ('sites', '0002_alter_domain_unique'),
    ]

    operations = [
        migrations.CreateModel(
            name='AdminLevelFour',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 4')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 4',
                'verbose_name_plural': 'Admin Boundary 4',
            },
        ),
        migrations.CreateModel(
            name='AdminLevelOne',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 1')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 1',
                'verbose_name_plural': 'Admin Boundary 1',
            },
        ),
        migrations.CreateModel(
            name='AdminLevelThree',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 3')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 3',
                'verbose_name_plural': 'Admin Boundary 3',
            },
        ),
        migrations.CreateModel(
            name='AdminLevelTwo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 2')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('adminlevelone', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelOne', verbose_name='Admin Level 1')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 2',
                'verbose_name_plural': 'Admin Boundary 2',
            },
        ),
        migrations.CreateModel(
            name='ApprovalType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Name')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name', 'organization'),
            },
        ),
        migrations.CreateModel(
            name='ApprovalWorkflow',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('note', models.TextField(blank=True, null=True)),
                ('date_assigned', models.DateTimeField(blank=True, null=True)),
                ('date_approved', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('status', models.CharField(choices=[('open', 'Open'), ('awaiting_approval', 'Awaiting Approval'), ('tracking', 'Tracking'), ('awaiting_verification', 'Awaiting Verification'), ('closed', 'Closed')], default='open', max_length=50)),
                ('section', models.CharField(choices=[('workflowlevel1', 'Workflow Level 1'), ('workflowlevel2', 'Workflow Level 2'), ('workflowlevel3', 'Workflow Level 3'), ('sites', 'Sites'), ('stakeholders', 'Stakeholders'), ('documents', 'Documents')], default='workflowlevel1', max_length=50)),
                ('approval_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='approval_type', to='workflow.ApprovalType')),
            ],
            options={
                'ordering': ('approval_type',),
            },
        ),
        migrations.CreateModel(
            name='Award',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=100, null=True, verbose_name='Award Name/Title')),
                ('amount', models.IntegerField(blank=True, default=0, verbose_name='Amount')),
                ('status', models.CharField(choices=[('open', 'Open'), ('funded', 'Funded'), ('awaiting', 'Awaiting Funding'), ('closed', 'Closed')], default='Open', max_length=50)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='Budget',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('contributor', models.CharField(blank=True, max_length=135, null=True)),
                ('account_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Accounting Code')),
                ('cost_center', models.CharField(blank=True, max_length=135, null=True, verbose_name='Cost Center')),
                ('donor_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Donor Code')),
                ('description_of_contribution', models.CharField(blank=True, max_length=255, null=True)),
                ('proposed_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Budget')),
                ('actual_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Actual')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('contributor',),
            },
        ),
        migrations.CreateModel(
            name='Checklist',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, default='Checklist', max_length=255, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('workflowlevel2',),
            },
        ),
        migrations.CreateModel(
            name='ChecklistItem',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('item', models.CharField(max_length=255)),
                ('in_file', models.BooleanField(default=False)),
                ('not_applicable', models.BooleanField(default=False)),
                ('global_item', models.BooleanField(default=False)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('checklist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Checklist')),
            ],
            options={
                'ordering': ('item',),
            },
        ),
        migrations.CreateModel(
            name='CodedField',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Name')),
                ('label', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Label')),
                ('is_required', models.BooleanField(default=0, verbose_name='Required Field?')),
                ('is_universal', models.BooleanField(default=0, verbose_name='Available in Every Level 2 Form?')),
                ('type', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Type')),
                ('default_value', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Default Value')),
                ('api_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='Associated API URL')),
                ('api_token', models.CharField(blank=True, max_length=255, null=True, verbose_name='Associated API Token')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name', 'type'),
                'verbose_name_plural': 'CodedFields',
            },
        ),
        migrations.CreateModel(
            name='CodedFieldValues',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('value', models.CharField(blank=True, max_length=255, null=True, verbose_name='Value')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('coded_field', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.CodedField')),
            ],
            options={
                'ordering': ('value', 'coded_field', 'workflowlevel2__name'),
                'verbose_name_plural': 'CodedFields',
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Name')),
                ('title', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
                ('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City/Town')),
                ('address', models.TextField(blank=True, max_length=255, null=True, verbose_name='Address')),
                ('email', models.CharField(blank=True, max_length=255, null=True, verbose_name='Email')),
                ('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name', 'country', 'title'),
                'verbose_name_plural': 'Contact',
            },
        ),
        migrations.CreateModel(
            name='Country',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('country', models.CharField(blank=True, max_length=255, verbose_name='Country Name')),
                ('code', models.CharField(blank=True, max_length=4, verbose_name='2 Letter Country Code')),
                ('description', models.TextField(blank=True, max_length=765, verbose_name='Description/Notes')),
                ('latitude', models.CharField(blank=True, max_length=255, null=True, verbose_name='Latitude')),
                ('longitude', models.CharField(blank=True, max_length=255, null=True, verbose_name='Longitude')),
                ('zoom', models.IntegerField(default=5, verbose_name='Zoom')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('country',),
                'verbose_name_plural': 'Countries',
            },
        ),
        migrations.CreateModel(
            name='Currency',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('source_currency', models.CharField(blank=True, max_length=255, verbose_name='Source Currency Name')),
                ('target_currency', models.CharField(blank=True, max_length=255, verbose_name='Target Currency Name')),
                ('current_rate', models.IntegerField(blank=True, null=True, verbose_name='Conversion Rate')),
                ('conversion_date', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('source_currency',),
            },
        ),
        migrations.CreateModel(
            name='Documentation',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('document_uuid', models.CharField(blank=True, default=uuid.uuid4, max_length=255, unique=True, verbose_name='Document UUID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Name of Document')),
                ('url', models.CharField(blank=True, max_length=255, null=True, verbose_name='URL (Link to document or document repository)')),
                ('description', models.CharField(blank=True, max_length=255, null=True)),
                ('file_field', models.FileField(blank=True, null=True, upload_to='uploads')),
                ('file_type', models.CharField(blank=True, max_length=255, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Documentation',
            },
        ),
        migrations.CreateModel(
            name='FormGuidance',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('form', models.CharField(blank=True, max_length=135, null=True)),
                ('guidance_link', models.URLField(blank=True, null=True)),
                ('guidance', models.TextField(blank=True, null=True)),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('create_date',),
            },
        ),
        migrations.CreateModel(
            name='FundCode',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Fund Code')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='HistoricalBudget',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('contributor', models.CharField(blank=True, max_length=135, null=True)),
                ('account_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Accounting Code')),
                ('cost_center', models.CharField(blank=True, max_length=135, null=True, verbose_name='Cost Center')),
                ('donor_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Donor Code')),
                ('description_of_contribution', models.CharField(blank=True, max_length=255, null=True)),
                ('proposed_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Budget')),
                ('actual_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Actual')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('donor_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('local_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical budget',
            },
        ),
        migrations.CreateModel(
            name='HistoricalIssueRegister',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('cause', models.CharField(blank=True, max_length=255, null=True)),
                ('date_opened', models.DateTimeField(blank=True, null=True)),
                ('date_resolved', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical issue register',
            },
        ),
        migrations.CreateModel(
            name='HistoricalRiskRegister',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('likelihood', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('category', models.CharField(blank=True, max_length=255, null=True)),
                ('contingency_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('mitigation_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('post_mitigation_status', models.CharField(blank=True, max_length=255, null=True)),
                ('action_by', models.DateTimeField(blank=True, null=True)),
                ('action_when', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical risk register',
            },
        ),
        migrations.CreateModel(
            name='HistoricalSiteProfile',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('site_uuid', models.CharField(db_index=True, default=uuid.uuid4, max_length=255, verbose_name='Site UUID')),
                ('name', models.CharField(max_length=255, verbose_name='Site Name')),
                ('contact_leader', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Name')),
                ('date_of_firstcontact', models.DateTimeField(blank=True, null=True, verbose_name='Date of First Contact')),
                ('contact_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Number')),
                ('num_members', models.CharField(blank=True, max_length=255, null=True, verbose_name='Number of Members')),
                ('info_source', models.CharField(blank=True, max_length=255, null=True, verbose_name='Data Source')),
                ('total_num_households', models.IntegerField(blank=True, null=True, verbose_name='Total # Households')),
                ('avg_household_size', models.DecimalField(blank=True, decimal_places=14, default=Decimal('0.00'), max_digits=25, null=True, verbose_name='Average Household Size')),
                ('total_population', models.IntegerField(blank=True, null=True)),
                ('total_male', models.IntegerField(blank=True, null=True)),
                ('total_female', models.IntegerField(blank=True, null=True)),
                ('total_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Land')),
                ('total_agricultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Agricultural Land')),
                ('total_rainfed_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Rain-fed Land')),
                ('total_horticultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Horticultural Land')),
                ('total_literate_peoples', models.IntegerField(blank=True, null=True, verbose_name='Total Literate People')),
                ('literate_males', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Males')),
                ('literate_females', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Females')),
                ('literacy_rate', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='Literacy Rate (%)')),
                ('populations_owning_land', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Land')),
                ('avg_landholding_size', models.DecimalField(decimal_places=14, default=Decimal('0.00'), help_text='In hectares/jeribs', max_digits=25, verbose_name='Average Landholding Size')),
                ('households_owning_livestock', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Livestock')),
                ('animal_type', models.CharField(blank=True, help_text='List Animal Types', max_length=255, null=True, verbose_name='Animal Types')),
                ('latitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Latitude (Decimal Coordinates)')),
                ('longitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Longitude (Decimal Coordinates)')),
                ('status', models.BooleanField(default=True, verbose_name='Site Active')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('admin_level_three', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelThree')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical site profile',
            },
        ),
        migrations.CreateModel(
            name='HistoricalWorkflowLevel2',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('level2_uuid', models.CharField(blank=True, db_index=True, default=uuid.uuid4, max_length=255, verbose_name='WorkflowLevel2 UUID')),
                ('short', models.BooleanField(default=True, verbose_name='Short Form (recommended)')),
                ('parent_workflowlevel2', models.IntegerField(blank=True, default=0, verbose_name='Parent')),
                ('date_of_request', models.DateTimeField(blank=True, null=True, verbose_name='Date of Request')),
                ('name', models.CharField(max_length=255, verbose_name='Name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='Description')),
                ('short_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='Code')),
                ('staff_responsible', models.CharField(blank=True, max_length=255, null=True, verbose_name='Staff Responsible')),
                ('effect_or_impact', models.TextField(blank=True, null=True, verbose_name='What is the anticipated Outcome or Goal?')),
                ('expected_start_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected starting date')),
                ('expected_end_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected ending date')),
                ('total_estimated_budget', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Total Project Budget')),
                ('justification_background', models.TextField(blank=True, null=True, verbose_name='General Background and Problem Statement')),
                ('risks_assumptions', models.TextField(blank=True, null=True, verbose_name='Risks and Assumptions')),
                ('description_of_government_involvement', models.TextField(blank=True, null=True)),
                ('description_of_community_involvement', models.TextField(blank=True, null=True)),
                ('actual_start_date', models.DateTimeField(blank=True, null=True)),
                ('actual_end_date', models.DateTimeField(blank=True, null=True)),
                ('actual_duration', models.CharField(blank=True, max_length=255, null=True)),
                ('on_time', models.BooleanField(default=True)),
                ('no_explanation', models.TextField(blank=True, null=True, verbose_name='If not on time explain delay')),
                ('actual_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='What was the actual final cost?  This should match any financial documentation you have in the file.   It should be completely documented and verifiable by finance and any potential audit', max_digits=20, verbose_name='Actual Cost')),
                ('actual_cost_date', models.DateTimeField(blank=True, null=True)),
                ('budget_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Budget versus Actual variance')),
                ('explanation_of_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Explanation of variance')),
                ('total_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Estimated Budget for Organization')),
                ('agency_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Actual Cost for Organization')),
                ('community_handover', models.BooleanField(default=False, help_text='Check box if it was completed', verbose_name='CommunityHandover/Sustainability Maintenance Plan')),
                ('capacity_built', models.TextField(blank=True, max_length=755, null=True, verbose_name='Describe how sustainability was ensured for this project?')),
                ('quality_assured', models.TextField(blank=True, max_length=755, null=True, verbose_name='How was quality assured for this project')),
                ('issues_and_challenges', models.TextField(blank=True, null=True, verbose_name='List any issues or challenges faced (include reasons for delays)')),
                ('lessons_learned', models.TextField(blank=True, null=True, verbose_name='Lessons learned')),
                ('sort', models.IntegerField(blank=True, default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True, verbose_name='Date Created')),
                ('edit_date', models.DateTimeField(blank=True, null=True, verbose_name='Last Edit Date')),
                ('status', models.CharField(blank=True, choices=[('green', 'Green'), ('yellow', 'Yellow'), ('orange', 'Orange'), ('red', 'Red')], default='green', max_length=50)),
                ('progress', models.CharField(blank=True, choices=[('open', 'Open'), ('awaitingapproval', 'Awaiting Approval'), ('tracking', 'Tracking'), ('closed', 'Closed')], default='open', max_length=50)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('donor_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('local_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical workflow level2',
            },
        ),
        migrations.CreateModel(
            name='Industry',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, default='TolaData', max_length=255, verbose_name='Industry Name')),
                ('description', models.TextField(blank=True, max_length=765, null=True, verbose_name='Description/Notes')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Organizations',
            },
        ),
        migrations.CreateModel(
            name='Internationalization',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('language', models.CharField(blank=True, max_length=100, null=True, verbose_name='Language')),
                ('language_file', django.contrib.postgres.fields.jsonb.JSONField()),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('language',),
            },
        ),
        migrations.CreateModel(
            name='IssueRegister',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('cause', models.CharField(blank=True, max_length=255, null=True)),
                ('date_opened', models.DateTimeField(blank=True, null=True)),
                ('date_resolved', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('type', 'name'),
            },
        ),
        migrations.CreateModel(
            name='LandType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('classify_land', models.CharField(blank=True, help_text='Rural, Urban, Peri-Urban', max_length=100, verbose_name='Land Classification')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('classify_land',),
            },
        ),
        migrations.CreateModel(
            name='Milestone',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True, null=True)),
                ('milestone_start_date', models.DateTimeField(blank=True, null=True)),
                ('milestone_end_date', models.DateTimeField(blank=True, null=True)),
                ('is_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='Office',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Office Name')),
                ('code', models.CharField(blank=True, max_length=255, verbose_name='Office Code')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country', verbose_name='Country')),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='Organization',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('organization_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Organization UUID')),
                ('name', models.CharField(blank=True, default='TolaData', max_length=255, verbose_name='Organization Name')),
                ('description', models.TextField(blank=True, max_length=765, null=True, verbose_name='Description/Notes')),
                ('organization_url', models.CharField(blank=True, max_length=255, null=True)),
                ('level_1_label', models.CharField(blank=True, default='Program', max_length=255, verbose_name='Project/Program Organization Level 1 label')),
                ('level_2_label', models.CharField(blank=True, default='Project', max_length=255, verbose_name='Project/Program Organization Level 2 label')),
                ('level_3_label', models.CharField(blank=True, default='Component', max_length=255, verbose_name='Project/Program Organization Level 3 label')),
                ('level_4_label', models.CharField(blank=True, default='Activity', max_length=255, verbose_name='Project/Program Organization Level 4 label')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('industry', models.ManyToManyField(blank=True, to='workflow.Industry')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Organizations',
            },
        ),
        migrations.CreateModel(
            name='Partner',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('partners_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Partner UUID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Partner/Organization Name')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('contact', models.ManyToManyField(blank=True, max_length=255, to='workflow.Contact')),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('country', 'name', 'type'),
                'verbose_name_plural': 'Partners',
            },
        ),
        migrations.CreateModel(
            name='Portfolio',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True, null=True)),
                ('is_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country', models.ManyToManyField(blank=True, to='workflow.Country')),
                ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='ProfileType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('profile', models.CharField(blank=True, max_length=255, verbose_name='Profile Type')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('profile',),
            },
        ),
        migrations.CreateModel(
            name='ProjectType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=135, verbose_name='Type of Activity')),
                ('description', models.CharField(max_length=765)),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='RiskRegister',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('likelihood', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('category', models.CharField(blank=True, max_length=255, null=True)),
                ('contingency_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('mitigation_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('post_mitigation_status', models.CharField(blank=True, max_length=255, null=True)),
                ('action_by', models.DateTimeField(blank=True, null=True)),
                ('action_when', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('type', 'name'),
            },
        ),
        migrations.CreateModel(
            name='Sector',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sector', models.CharField(blank=True, max_length=255, verbose_name='Sector Name')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='org_specific_sector', to='workflow.Organization')),
            ],
            options={
                'ordering': ('sector',),
            },
        ),
        migrations.CreateModel(
            name='SectorRelated',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('order', models.PositiveIntegerField(default=0)),
                ('org_order', models.PositiveIntegerField(default=0)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('sector', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Sector')),
                ('sector_related', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sector_related', to='workflow.Sector')),
            ],
            options={
                'ordering': ('order',),
            },
        ),
        migrations.CreateModel(
            name='SiteProfile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('site_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Site UUID')),
                ('name', models.CharField(max_length=255, verbose_name='Site Name')),
                ('contact_leader', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Name')),
                ('date_of_firstcontact', models.DateTimeField(blank=True, null=True, verbose_name='Date of First Contact')),
                ('contact_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Number')),
                ('num_members', models.CharField(blank=True, max_length=255, null=True, verbose_name='Number of Members')),
                ('info_source', models.CharField(blank=True, max_length=255, null=True, verbose_name='Data Source')),
                ('total_num_households', models.IntegerField(blank=True, null=True, verbose_name='Total # Households')),
                ('avg_household_size', models.DecimalField(blank=True, decimal_places=14, default=Decimal('0.00'), max_digits=25, null=True, verbose_name='Average Household Size')),
                ('total_population', models.IntegerField(blank=True, null=True)),
                ('total_male', models.IntegerField(blank=True, null=True)),
                ('total_female', models.IntegerField(blank=True, null=True)),
                ('total_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Land')),
                ('total_agricultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Agricultural Land')),
                ('total_rainfed_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Rain-fed Land')),
                ('total_horticultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Horticultural Land')),
                ('total_literate_peoples', models.IntegerField(blank=True, null=True, verbose_name='Total Literate People')),
                ('literate_males', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Males')),
                ('literate_females', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Females')),
                ('literacy_rate', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='Literacy Rate (%)')),
                ('populations_owning_land', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Land')),
                ('avg_landholding_size', models.DecimalField(decimal_places=14, default=Decimal('0.00'), help_text='In hectares/jeribs', max_digits=25, verbose_name='Average Landholding Size')),
                ('households_owning_livestock', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Livestock')),
                ('animal_type', models.CharField(blank=True, help_text='List Animal Types', max_length=255, null=True, verbose_name='Animal Types')),
                ('latitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Latitude (Decimal Coordinates)')),
                ('longitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Longitude (Decimal Coordinates)')),
                ('status', models.BooleanField(default=True, verbose_name='Site Active')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('admin_level_three', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='site_level3', to='workflow.AdminLevelThree', verbose_name='Administrative Level 3')),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('classify_land', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.LandType')),
                ('country', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('district', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelTwo', verbose_name='Administrative Level 2')),
                ('office', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Office')),
                ('province', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelOne', verbose_name='Administrative Level 1')),
                ('type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.ProfileType')),
                ('village', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelThree', verbose_name='Administrative Level 4')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Site Profiles',
            },
        ),
        migrations.CreateModel(
            name='Stakeholder',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('stakeholder_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Stakeholder UUID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Stakeholder/Organization Name')),
                ('role', models.CharField(blank=True, max_length=255, null=True, verbose_name='Role')),
                ('contribution', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contribution')),
                ('stakeholder_register', models.BooleanField(default=0, verbose_name='Has this partner been added to stakeholder register?')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('contact', models.ManyToManyField(blank=True, max_length=255, to='workflow.Contact')),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('formal_relationship_document', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='relationship_document', to='workflow.Documentation', verbose_name='Formal Written Description of Relationship')),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('sectors', models.ManyToManyField(blank=True, to='workflow.Sector')),
            ],
            options={
                'ordering': ('country', 'name', 'type'),
                'verbose_name_plural': 'Stakeholders',
            },
        ),
        migrations.CreateModel(
            name='StakeholderType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Stakeholder Type')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Stakeholder Types',
            },
        ),
        migrations.CreateModel(
            name='TolaBookmarks',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('bookmark_url', models.CharField(blank=True, max_length=255, null=True)),
                ('filter', models.CharField(blank=True, max_length=255, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='TolaSites',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('agency_name', models.CharField(blank=True, max_length=255, null=True)),
                ('agency_url', models.CharField(blank=True, max_length=255, null=True)),
                ('tola_report_url', models.CharField(default='https://report.toladata.io', max_length=255, null=True)),
                ('tola_tables_url', models.CharField(default='https://activity.toladata.io', max_length=255, null=True)),
                ('front_end_url', models.CharField(default='https://activity.toladata.io', max_length=255, null=True)),
                ('tola_tables_user', models.CharField(blank=True, max_length=255, null=True)),
                ('tola_tables_token', models.CharField(blank=True, max_length=255, null=True)),
                ('privacy_disclaimer', models.TextField(blank=True, null=True)),
                ('created', models.DateTimeField(blank=True, null=True)),
                ('updated', models.DateTimeField(blank=True, null=True)),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
            ],
            options={
                'verbose_name_plural': 'Tola Sites',
            },
        ),
        migrations.CreateModel(
            name='TolaUser',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('tola_user_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='TolaUser UUID')),
                ('title', models.CharField(blank=True, choices=[('mr', 'Mr.'), ('mrs', 'Mrs.'), ('ms', 'Ms.')], max_length=3, null=True)),
                ('name', models.CharField(blank=True, max_length=100, null=True, verbose_name='<NAME>')),
                ('employee_number', models.IntegerField(blank=True, null=True, verbose_name='Employee Number')),
                ('position_description', models.CharField(blank=True, max_length=255, null=True)),
                ('contact_info', models.CharField(blank=True, max_length=255, null=True)),
                ('tables_api_token', models.CharField(blank=True, max_length=255, null=True)),
                ('activity_api_token', models.CharField(blank=True, max_length=255, null=True)),
                ('privacy_disclaimer_accepted', models.BooleanField(default=False)),
                ('filter', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('countries', models.ManyToManyField(blank=True, related_name='countries', to='workflow.Country', verbose_name='Accessible Countries')),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('organization', models.ForeignKey(blank=True, default=1, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='tola_user', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='TolaUserFilter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('start_date_filter', models.DateField(blank=True, null=True)),
                ('end_date_filter', models.DateField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country_filter', models.ManyToManyField(blank=True, related_name='filter_country', to='workflow.Country')),
                ('sector_filter', models.ManyToManyField(blank=True, related_name='filter_sector', to='workflow.Sector')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='filter_user', to='workflow.TolaUser')),
            ],
            options={
                'ordering': ('user',),
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel1',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('level1_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='WorkflowLevel1 UUID')),
                ('unique_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Name')),
                ('funding_status', models.CharField(blank=True, max_length=255, verbose_name='Funding Status')),
                ('cost_center', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fund Code')),
                ('description', models.TextField(blank=True, max_length=765, null=True, verbose_name='Description')),
                ('public_dashboard', models.BooleanField(default=False, verbose_name='Enable Public Dashboard')),
                ('start_date', models.DateTimeField(blank=True, null=True)),
                ('end_date', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('sort', models.IntegerField(default=0)),
                ('award', models.ManyToManyField(blank=True, to='workflow.Award')),
                ('country', models.ManyToManyField(blank=True, to='workflow.Country')),
                ('fund_code', models.ManyToManyField(blank=True, to='workflow.FundCode')),
                ('milestone', models.ManyToManyField(blank=True, to='workflow.Milestone')),
                ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('portfolio', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Portfolio')),
                ('sector', models.ManyToManyField(blank=True, to='workflow.Sector')),
                ('sub_sector', models.ManyToManyField(blank=True, related_name='sub_sector', to='workflow.Sector')),
                ('user_access', models.ManyToManyField(blank=True, to='workflow.TolaUser')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'WorkflowLevel1',
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel1Sector',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('sort', models.IntegerField(default=0)),
                ('sector', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='level1_primary_sector', to='workflow.Sector')),
                ('sub_sector', models.ManyToManyField(blank=True, related_name='level1_sub_sector', to='workflow.Sector')),
                ('workflowlevel1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='level1_sectors', to='workflow.WorkflowLevel1')),
            ],
            options={
                'ordering': ('create_date',),
                'verbose_name_plural': 'WorkflowLevel1 Sectors',
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel2',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('level2_uuid', models.CharField(blank=True, default=uuid.uuid4, max_length=255, unique=True, verbose_name='WorkflowLevel2 UUID')),
                ('short', models.BooleanField(default=True, verbose_name='Short Form (recommended)')),
                ('parent_workflowlevel2', models.IntegerField(blank=True, default=0, verbose_name='Parent')),
                ('date_of_request', models.DateTimeField(blank=True, null=True, verbose_name='Date of Request')),
                ('name', models.CharField(max_length=255, verbose_name='Name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='Description')),
                ('short_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='Code')),
                ('staff_responsible', models.CharField(blank=True, max_length=255, null=True, verbose_name='Staff Responsible')),
                ('effect_or_impact', models.TextField(blank=True, null=True, verbose_name='What is the anticipated Outcome or Goal?')),
                ('expected_start_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected starting date')),
                ('expected_end_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected ending date')),
                ('total_estimated_budget', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Total Project Budget')),
                ('justification_background', models.TextField(blank=True, null=True, verbose_name='General Background and Problem Statement')),
                ('risks_assumptions', models.TextField(blank=True, null=True, verbose_name='Risks and Assumptions')),
                ('description_of_government_involvement', models.TextField(blank=True, null=True)),
                ('description_of_community_involvement', models.TextField(blank=True, null=True)),
                ('actual_start_date', models.DateTimeField(blank=True, null=True)),
                ('actual_end_date', models.DateTimeField(blank=True, null=True)),
                ('actual_duration', models.CharField(blank=True, max_length=255, null=True)),
                ('on_time', models.BooleanField(default=True)),
                ('no_explanation', models.TextField(blank=True, null=True, verbose_name='If not on time explain delay')),
                ('actual_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='What was the actual final cost?  This should match any financial documentation you have in the file.   It should be completely documented and verifiable by finance and any potential audit', max_digits=20, verbose_name='Actual Cost')),
                ('actual_cost_date', models.DateTimeField(blank=True, null=True)),
                ('budget_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Budget versus Actual variance')),
                ('explanation_of_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Explanation of variance')),
                ('total_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Estimated Budget for Organization')),
                ('agency_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Actual Cost for Organization')),
                ('community_handover', models.BooleanField(default=False, help_text='Check box if it was completed', verbose_name='CommunityHandover/Sustainability Maintenance Plan')),
                ('capacity_built', models.TextField(blank=True, max_length=755, null=True, verbose_name='Describe how sustainability was ensured for this project?')),
                ('quality_assured', models.TextField(blank=True, max_length=755, null=True, verbose_name='How was quality assured for this project')),
                ('issues_and_challenges', models.TextField(blank=True, null=True, verbose_name='List any issues or challenges faced (include reasons for delays)')),
                ('lessons_learned', models.TextField(blank=True, null=True, verbose_name='Lessons learned')),
                ('sort', models.IntegerField(blank=True, default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True, verbose_name='Date Created')),
                ('edit_date', models.DateTimeField(blank=True, null=True, verbose_name='Last Edit Date')),
                ('status', models.CharField(blank=True, choices=[('green', 'Green'), ('yellow', 'Yellow'), ('orange', 'Orange'), ('red', 'Red')], default='green', max_length=50)),
                ('progress', models.CharField(blank=True, choices=[('open', 'Open'), ('awaitingapproval', 'Awaiting Approval'), ('tracking', 'Tracking'), ('closed', 'Closed')], default='open', max_length=50)),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('donor_currency', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='donor_project', to='workflow.Currency')),
                ('indicators', models.ManyToManyField(blank=True, to='indicators.Indicator')),
                ('local_currency', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='local_project', to='workflow.Currency')),
                ('milestone', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Milestone')),
                ('office', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Office', verbose_name='Office')),
                ('partners', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Partner', verbose_name='Partners')),
                ('sector', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='workflow2_sector', to='workflow.Sector', verbose_name='Sector')),
                ('site', models.ManyToManyField(blank=True, to='workflow.SiteProfile')),
                ('stakeholder', models.ManyToManyField(blank=True, to='workflow.Stakeholder', verbose_name='Stakeholders')),
                ('sub_sector', models.ManyToManyField(blank=True, related_name='workflowlevel2_sub_sector', to='workflow.Sector', verbose_name='Sub-Sector')),
                ('workflowlevel1', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='workflowlevel2', to='workflow.WorkflowLevel1', verbose_name='Program')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'WorkflowLevel2',
                'permissions': (('can_approve', 'Can approve initiation'),),
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel2Sort',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('workflowlevel2_id', models.IntegerField(default=0, verbose_name='ID to be Sorted')),
                ('sort_array', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('workflowlevel1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1')),
                ('workflowlevel2_parent_id', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2')),
            ],
            options={
                'ordering': ('workflowlevel1', 'workflowlevel2_id'),
                'verbose_name_plural': 'WorkflowLevel Sort',
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel3',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('level3_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='WorkflowLevel3 UUID')),
                ('percent_complete', models.IntegerField(blank=True, null=True, verbose_name='% complete')),
                ('percent_cumulative', models.IntegerField(blank=True, null=True, verbose_name='% cumulative completion')),
                ('est_start_date', models.DateTimeField(blank=True, null=True)),
                ('est_end_date', models.DateTimeField(blank=True, null=True)),
                ('actual_start_date', models.DateTimeField(blank=True, null=True)),
                ('actual_end_date', models.DateTimeField(blank=True, null=True)),
                ('budget', models.IntegerField(blank=True, null=True, verbose_name='Estimated Budget')),
                ('cost', models.IntegerField(blank=True, null=True, verbose_name='Actual Cost')),
                ('description', models.CharField(blank=True, max_length=255, verbose_name='Description')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('site', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.SiteProfile')),
                ('workflowlevel2', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2', verbose_name='Project')),
            ],
            options={
                'ordering': ('description',),
                'verbose_name_plural': 'WorkflowLevel3',
            },
        ),
        migrations.CreateModel(
            name='WorkflowModules',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('modules', models.CharField(choices=[('approval', 'Approval'), ('budget', 'Budget'), ('stakeholders', 'Stakeholders'), ('documents', 'Documents'), ('sites', 'Sites'), ('indicators', 'Indicators')], default='open', max_length=50)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('workflowlevel2', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2')),
            ],
            options={
                'ordering': ('modules',),
            },
        ),
        migrations.CreateModel(
            name='WorkflowTeam',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('salary', models.CharField(blank=True, max_length=255, null=True)),
                ('start_date', models.DateTimeField(blank=True, null=True)),
                ('end_date', models.DateTimeField(blank=True, null=True)),
                ('status', models.CharField(blank=True, max_length=255, null=True)),
                ('budget_limit', models.IntegerField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('partner_org', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('role', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='auth.Group')),
                ('workflow_user', models.ForeignKey(blank=True, help_text='User', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='auth_approving', to='workflow.TolaUser')),
                ('workflowlevel1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1')),
            ],
            options={
                'ordering': ('workflow_user',),
                'verbose_name_plural': 'WorkflowTeam',
            },
        ),
        migrations.AddField(
            model_name='tolauserfilter',
            name='workflowlevel1_filter',
            field=models.ManyToManyField(blank=True, related_name='filter_level1', to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='tolauserfilter',
            name='workflowlevel2_filter',
            field=models.ManyToManyField(blank=True, related_name='filter_level2', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='tolabookmarks',
            name='user',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tolabookmark', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='tolabookmarks',
            name='workflowlevel1',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='stakeholder',
            name='type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.StakeholderType'),
        ),
        migrations.AddField(
            model_name='stakeholder',
            name='vetting_document',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='vetting_document', to='workflow.Documentation', verbose_name='Vetting/ due diligence statement'),
        ),
        migrations.AddField(
            model_name='stakeholder',
            name='workflowlevel1',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='sector',
            name='sector_nearest',
            field=models.ManyToManyField(related_name='nearest', through='workflow.SectorRelated', to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='riskregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='partner',
            name='sectors',
            field=models.ManyToManyField(blank=True, to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='partner',
            name='type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='stakeholder_partner', to='workflow.StakeholderType'),
        ),
        migrations.AddField(
            model_name='partner',
            name='workflowlevel1',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='organization',
            name='sector',
            field=models.ManyToManyField(blank=True, related_name='org_sector', to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='milestone',
            name='organization',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='landtype',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='issueregister',
            name='assigned',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='issueregister',
            name='organization',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='issueregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='milestone',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Milestone'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='office',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Office'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='partners',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Partner'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='sector',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='workflowlevel1',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='classify_land',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.LandType'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='country',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='district',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelTwo'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='history_user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='office',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Office'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='province',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelOne'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='type',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.ProfileType'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='village',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelThree'),
        ),
        migrations.AddField(
            model_name='historicalriskregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='assigned',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='history_user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='organization',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='historicalbudget',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='fundcode',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='formguidance',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='documentation',
            name='workflowlevel1',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='documentation',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='doc_workflowlevel2', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='contact',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='contact',
            name='organization',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='contact',
            name='workflowlevel1',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='codedfieldvalues',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='codedfield',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='codedfield',
            name='workflowlevel1',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='codedfield',
            name='workflowlevel2',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='checklistitem',
            name='owner',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='checklist',
            name='country',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='checklist',
            name='owner',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='checklist',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2', verbose_name='Project Initiation'),
        ),
        migrations.AddField(
            model_name='budget',
            name='donor_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='donor', to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='budget',
            name='local_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='local', to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='budget',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='award',
            name='award_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='award_currency', to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='award',
            name='countries',
            field=models.ManyToManyField(blank=True, related_name='countries_award', to='workflow.Country', verbose_name='Countries'),
        ),
        migrations.AddField(
            model_name='award',
            name='currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='award',
            name='donors',
            field=models.ManyToManyField(blank=True, to='workflow.Stakeholder'),
        ),
        migrations.AddField(
            model_name='award',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='approvalworkflow',
            name='assigned_to',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_approval', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='approvalworkflow',
            name='requested_from',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_approval', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='approvaltype',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='adminlevelthree',
            name='adminleveltwo',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelTwo', verbose_name='Admin Level 2'),
        ),
        migrations.AddField(
            model_name='adminlevelone',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='adminlevelfour',
            name='adminlevelthree',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelThree'),
        ),
        migrations.AddField(
            model_name='adminlevelfour',
            name='adminleveltwo',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelTwo', verbose_name='Admin Boundary 3'),
        ),
        migrations.CreateModel(
            name='TolaUserProxy',
            fields=[
            ],
            options={
                'verbose_name': 'Report Tola User',
                'proxy': True,
                'verbose_name_plural': 'Report Tola Users',
                'indexes': [],
            },
            bases=('workflow.tolauser',),
        ),
    ]

# -*- coding: utf-8 -*-
# Generated by Django 1.11.3 on 2017-10-19 08:07
from __future__ import unicode_literals

from decimal import Decimal
from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0008_alter_user_username_max_length'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('indicators', '0001_initial'),
        ('sites', '0002_alter_domain_unique'),
    ]

    operations = [
        migrations.CreateModel(
            name='AdminLevelFour',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 4')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 4',
                'verbose_name_plural': 'Admin Boundary 4',
            },
        ),
        migrations.CreateModel(
            name='AdminLevelOne',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 1')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 1',
                'verbose_name_plural': 'Admin Boundary 1',
            },
        ),
        migrations.CreateModel(
            name='AdminLevelThree',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 3')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 3',
                'verbose_name_plural': 'Admin Boundary 3',
            },
        ),
        migrations.CreateModel(
            name='AdminLevelTwo',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Admin Boundary 2')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('adminlevelone', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelOne', verbose_name='Admin Level 1')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name': 'Admin Boundary 2',
                'verbose_name_plural': 'Admin Boundary 2',
            },
        ),
        migrations.CreateModel(
            name='ApprovalType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Name')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name', 'organization'),
            },
        ),
        migrations.CreateModel(
            name='ApprovalWorkflow',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('note', models.TextField(blank=True, null=True)),
                ('date_assigned', models.DateTimeField(blank=True, null=True)),
                ('date_approved', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('status', models.CharField(choices=[('open', 'Open'), ('awaiting_approval', 'Awaiting Approval'), ('tracking', 'Tracking'), ('awaiting_verification', 'Awaiting Verification'), ('closed', 'Closed')], default='open', max_length=50)),
                ('section', models.CharField(choices=[('workflowlevel1', 'Workflow Level 1'), ('workflowlevel2', 'Workflow Level 2'), ('workflowlevel3', 'Workflow Level 3'), ('sites', 'Sites'), ('stakeholders', 'Stakeholders'), ('documents', 'Documents')], default='workflowlevel1', max_length=50)),
                ('approval_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='approval_type', to='workflow.ApprovalType')),
            ],
            options={
                'ordering': ('approval_type',),
            },
        ),
        migrations.CreateModel(
            name='Award',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=100, null=True, verbose_name='Award Name/Title')),
                ('amount', models.IntegerField(blank=True, default=0, verbose_name='Amount')),
                ('status', models.CharField(choices=[('open', 'Open'), ('funded', 'Funded'), ('awaiting', 'Awaiting Funding'), ('closed', 'Closed')], default='Open', max_length=50)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='Budget',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('contributor', models.CharField(blank=True, max_length=135, null=True)),
                ('account_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Accounting Code')),
                ('cost_center', models.CharField(blank=True, max_length=135, null=True, verbose_name='Cost Center')),
                ('donor_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Donor Code')),
                ('description_of_contribution', models.CharField(blank=True, max_length=255, null=True)),
                ('proposed_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Budget')),
                ('actual_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Actual')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('contributor',),
            },
        ),
        migrations.CreateModel(
            name='Checklist',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, default='Checklist', max_length=255, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('workflowlevel2',),
            },
        ),
        migrations.CreateModel(
            name='ChecklistItem',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('item', models.CharField(max_length=255)),
                ('in_file', models.BooleanField(default=False)),
                ('not_applicable', models.BooleanField(default=False)),
                ('global_item', models.BooleanField(default=False)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('checklist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Checklist')),
            ],
            options={
                'ordering': ('item',),
            },
        ),
        migrations.CreateModel(
            name='CodedField',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Name')),
                ('label', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Label')),
                ('is_required', models.BooleanField(default=0, verbose_name='Required Field?')),
                ('is_universal', models.BooleanField(default=0, verbose_name='Available in Every Level 2 Form?')),
                ('type', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Type')),
                ('default_value', models.CharField(blank=True, max_length=255, null=True, verbose_name='Field Default Value')),
                ('api_url', models.CharField(blank=True, max_length=255, null=True, verbose_name='Associated API URL')),
                ('api_token', models.CharField(blank=True, max_length=255, null=True, verbose_name='Associated API Token')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name', 'type'),
                'verbose_name_plural': 'CodedFields',
            },
        ),
        migrations.CreateModel(
            name='CodedFieldValues',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('value', models.CharField(blank=True, max_length=255, null=True, verbose_name='Value')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('coded_field', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.CodedField')),
            ],
            options={
                'ordering': ('value', 'coded_field', 'workflowlevel2__name'),
                'verbose_name_plural': 'CodedFields',
            },
        ),
        migrations.CreateModel(
            name='Contact',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Name')),
                ('title', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
                ('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City/Town')),
                ('address', models.TextField(blank=True, max_length=255, null=True, verbose_name='Address')),
                ('email', models.CharField(blank=True, max_length=255, null=True, verbose_name='Email')),
                ('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name', 'country', 'title'),
                'verbose_name_plural': 'Contact',
            },
        ),
        migrations.CreateModel(
            name='Country',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('country', models.CharField(blank=True, max_length=255, verbose_name='Country Name')),
                ('code', models.CharField(blank=True, max_length=4, verbose_name='2 Letter Country Code')),
                ('description', models.TextField(blank=True, max_length=765, verbose_name='Description/Notes')),
                ('latitude', models.CharField(blank=True, max_length=255, null=True, verbose_name='Latitude')),
                ('longitude', models.CharField(blank=True, max_length=255, null=True, verbose_name='Longitude')),
                ('zoom', models.IntegerField(default=5, verbose_name='Zoom')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('country',),
                'verbose_name_plural': 'Countries',
            },
        ),
        migrations.CreateModel(
            name='Currency',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('source_currency', models.CharField(blank=True, max_length=255, verbose_name='Source Currency Name')),
                ('target_currency', models.CharField(blank=True, max_length=255, verbose_name='Target Currency Name')),
                ('current_rate', models.IntegerField(blank=True, null=True, verbose_name='Conversion Rate')),
                ('conversion_date', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('source_currency',),
            },
        ),
        migrations.CreateModel(
            name='Documentation',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('document_uuid', models.CharField(blank=True, default=uuid.uuid4, max_length=255, unique=True, verbose_name='Document UUID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Name of Document')),
                ('url', models.CharField(blank=True, max_length=255, null=True, verbose_name='URL (Link to document or document repository)')),
                ('description', models.CharField(blank=True, max_length=255, null=True)),
                ('file_field', models.FileField(blank=True, null=True, upload_to='uploads')),
                ('file_type', models.CharField(blank=True, max_length=255, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Documentation',
            },
        ),
        migrations.CreateModel(
            name='FormGuidance',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('form', models.CharField(blank=True, max_length=135, null=True)),
                ('guidance_link', models.URLField(blank=True, null=True)),
                ('guidance', models.TextField(blank=True, null=True)),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('create_date',),
            },
        ),
        migrations.CreateModel(
            name='FundCode',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Fund Code')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='HistoricalBudget',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('contributor', models.CharField(blank=True, max_length=135, null=True)),
                ('account_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Accounting Code')),
                ('cost_center', models.CharField(blank=True, max_length=135, null=True, verbose_name='Cost Center')),
                ('donor_code', models.CharField(blank=True, max_length=135, null=True, verbose_name='Donor Code')),
                ('description_of_contribution', models.CharField(blank=True, max_length=255, null=True)),
                ('proposed_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Budget')),
                ('actual_value', models.IntegerField(blank=True, default=0, null=True, verbose_name='Actual')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('donor_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('local_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical budget',
            },
        ),
        migrations.CreateModel(
            name='HistoricalIssueRegister',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('cause', models.CharField(blank=True, max_length=255, null=True)),
                ('date_opened', models.DateTimeField(blank=True, null=True)),
                ('date_resolved', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical issue register',
            },
        ),
        migrations.CreateModel(
            name='HistoricalRiskRegister',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('likelihood', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('category', models.CharField(blank=True, max_length=255, null=True)),
                ('contingency_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('mitigation_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('post_mitigation_status', models.CharField(blank=True, max_length=255, null=True)),
                ('action_by', models.DateTimeField(blank=True, null=True)),
                ('action_when', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical risk register',
            },
        ),
        migrations.CreateModel(
            name='HistoricalSiteProfile',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('site_uuid', models.CharField(db_index=True, default=uuid.uuid4, max_length=255, verbose_name='Site UUID')),
                ('name', models.CharField(max_length=255, verbose_name='Site Name')),
                ('contact_leader', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Name')),
                ('date_of_firstcontact', models.DateTimeField(blank=True, null=True, verbose_name='Date of First Contact')),
                ('contact_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Number')),
                ('num_members', models.CharField(blank=True, max_length=255, null=True, verbose_name='Number of Members')),
                ('info_source', models.CharField(blank=True, max_length=255, null=True, verbose_name='Data Source')),
                ('total_num_households', models.IntegerField(blank=True, null=True, verbose_name='Total # Households')),
                ('avg_household_size', models.DecimalField(blank=True, decimal_places=14, default=Decimal('0.00'), max_digits=25, null=True, verbose_name='Average Household Size')),
                ('total_population', models.IntegerField(blank=True, null=True)),
                ('total_male', models.IntegerField(blank=True, null=True)),
                ('total_female', models.IntegerField(blank=True, null=True)),
                ('total_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Land')),
                ('total_agricultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Agricultural Land')),
                ('total_rainfed_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Rain-fed Land')),
                ('total_horticultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Horticultural Land')),
                ('total_literate_peoples', models.IntegerField(blank=True, null=True, verbose_name='Total Literate People')),
                ('literate_males', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Males')),
                ('literate_females', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Females')),
                ('literacy_rate', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='Literacy Rate (%)')),
                ('populations_owning_land', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Land')),
                ('avg_landholding_size', models.DecimalField(decimal_places=14, default=Decimal('0.00'), help_text='In hectares/jeribs', max_digits=25, verbose_name='Average Landholding Size')),
                ('households_owning_livestock', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Livestock')),
                ('animal_type', models.CharField(blank=True, help_text='List Animal Types', max_length=255, null=True, verbose_name='Animal Types')),
                ('latitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Latitude (Decimal Coordinates)')),
                ('longitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Longitude (Decimal Coordinates)')),
                ('status', models.BooleanField(default=True, verbose_name='Site Active')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('admin_level_three', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelThree')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical site profile',
            },
        ),
        migrations.CreateModel(
            name='HistoricalWorkflowLevel2',
            fields=[
                ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')),
                ('level2_uuid', models.CharField(blank=True, db_index=True, default=uuid.uuid4, max_length=255, verbose_name='WorkflowLevel2 UUID')),
                ('short', models.BooleanField(default=True, verbose_name='Short Form (recommended)')),
                ('parent_workflowlevel2', models.IntegerField(blank=True, default=0, verbose_name='Parent')),
                ('date_of_request', models.DateTimeField(blank=True, null=True, verbose_name='Date of Request')),
                ('name', models.CharField(max_length=255, verbose_name='Name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='Description')),
                ('short_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='Code')),
                ('staff_responsible', models.CharField(blank=True, max_length=255, null=True, verbose_name='Staff Responsible')),
                ('effect_or_impact', models.TextField(blank=True, null=True, verbose_name='What is the anticipated Outcome or Goal?')),
                ('expected_start_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected starting date')),
                ('expected_end_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected ending date')),
                ('total_estimated_budget', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Total Project Budget')),
                ('justification_background', models.TextField(blank=True, null=True, verbose_name='General Background and Problem Statement')),
                ('risks_assumptions', models.TextField(blank=True, null=True, verbose_name='Risks and Assumptions')),
                ('description_of_government_involvement', models.TextField(blank=True, null=True)),
                ('description_of_community_involvement', models.TextField(blank=True, null=True)),
                ('actual_start_date', models.DateTimeField(blank=True, null=True)),
                ('actual_end_date', models.DateTimeField(blank=True, null=True)),
                ('actual_duration', models.CharField(blank=True, max_length=255, null=True)),
                ('on_time', models.BooleanField(default=True)),
                ('no_explanation', models.TextField(blank=True, null=True, verbose_name='If not on time explain delay')),
                ('actual_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='What was the actual final cost?  This should match any financial documentation you have in the file.   It should be completely documented and verifiable by finance and any potential audit', max_digits=20, verbose_name='Actual Cost')),
                ('actual_cost_date', models.DateTimeField(blank=True, null=True)),
                ('budget_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Budget versus Actual variance')),
                ('explanation_of_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Explanation of variance')),
                ('total_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Estimated Budget for Organization')),
                ('agency_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Actual Cost for Organization')),
                ('community_handover', models.BooleanField(default=False, help_text='Check box if it was completed', verbose_name='CommunityHandover/Sustainability Maintenance Plan')),
                ('capacity_built', models.TextField(blank=True, max_length=755, null=True, verbose_name='Describe how sustainability was ensured for this project?')),
                ('quality_assured', models.TextField(blank=True, max_length=755, null=True, verbose_name='How was quality assured for this project')),
                ('issues_and_challenges', models.TextField(blank=True, null=True, verbose_name='List any issues or challenges faced (include reasons for delays)')),
                ('lessons_learned', models.TextField(blank=True, null=True, verbose_name='Lessons learned')),
                ('sort', models.IntegerField(blank=True, default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True, verbose_name='Date Created')),
                ('edit_date', models.DateTimeField(blank=True, null=True, verbose_name='Last Edit Date')),
                ('status', models.CharField(blank=True, choices=[('green', 'Green'), ('yellow', 'Yellow'), ('orange', 'Orange'), ('red', 'Red')], default='green', max_length=50)),
                ('progress', models.CharField(blank=True, choices=[('open', 'Open'), ('awaitingapproval', 'Awaiting Approval'), ('tracking', 'Tracking'), ('closed', 'Closed')], default='open', max_length=50)),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('donor_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('local_currency', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Currency')),
            ],
            options={
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
                'verbose_name': 'historical workflow level2',
            },
        ),
        migrations.CreateModel(
            name='Industry',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, default='TolaData', max_length=255, verbose_name='Industry Name')),
                ('description', models.TextField(blank=True, max_length=765, null=True, verbose_name='Description/Notes')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Organizations',
            },
        ),
        migrations.CreateModel(
            name='Internationalization',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('language', models.CharField(blank=True, max_length=100, null=True, verbose_name='Language')),
                ('language_file', django.contrib.postgres.fields.jsonb.JSONField()),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('language',),
            },
        ),
        migrations.CreateModel(
            name='IssueRegister',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('cause', models.CharField(blank=True, max_length=255, null=True)),
                ('date_opened', models.DateTimeField(blank=True, null=True)),
                ('date_resolved', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('type', 'name'),
            },
        ),
        migrations.CreateModel(
            name='LandType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('classify_land', models.CharField(blank=True, help_text='Rural, Urban, Peri-Urban', max_length=100, verbose_name='Land Classification')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('classify_land',),
            },
        ),
        migrations.CreateModel(
            name='Milestone',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True, null=True)),
                ('milestone_start_date', models.DateTimeField(blank=True, null=True)),
                ('milestone_end_date', models.DateTimeField(blank=True, null=True)),
                ('is_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='Office',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Office Name')),
                ('code', models.CharField(blank=True, max_length=255, verbose_name='Office Code')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country', verbose_name='Country')),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='Organization',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('organization_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Organization UUID')),
                ('name', models.CharField(blank=True, default='TolaData', max_length=255, verbose_name='Organization Name')),
                ('description', models.TextField(blank=True, max_length=765, null=True, verbose_name='Description/Notes')),
                ('organization_url', models.CharField(blank=True, max_length=255, null=True)),
                ('level_1_label', models.CharField(blank=True, default='Program', max_length=255, verbose_name='Project/Program Organization Level 1 label')),
                ('level_2_label', models.CharField(blank=True, default='Project', max_length=255, verbose_name='Project/Program Organization Level 2 label')),
                ('level_3_label', models.CharField(blank=True, default='Component', max_length=255, verbose_name='Project/Program Organization Level 3 label')),
                ('level_4_label', models.CharField(blank=True, default='Activity', max_length=255, verbose_name='Project/Program Organization Level 4 label')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('industry', models.ManyToManyField(blank=True, to='workflow.Industry')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Organizations',
            },
        ),
        migrations.CreateModel(
            name='Partner',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('partners_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Partner UUID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Partner/Organization Name')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('contact', models.ManyToManyField(blank=True, max_length=255, to='workflow.Contact')),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('country', 'name', 'type'),
                'verbose_name_plural': 'Partners',
            },
        ),
        migrations.CreateModel(
            name='Portfolio',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True, null=True)),
                ('is_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country', models.ManyToManyField(blank=True, to='workflow.Country')),
                ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='ProfileType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('profile', models.CharField(blank=True, max_length=255, verbose_name='Profile Type')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('profile',),
            },
        ),
        migrations.CreateModel(
            name='ProjectType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=135, verbose_name='Type of Activity')),
                ('description', models.CharField(max_length=765)),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='RiskRegister',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('type', models.CharField(blank=True, max_length=135, null=True)),
                ('impact', models.CharField(blank=True, max_length=255, null=True)),
                ('likelihood', models.CharField(blank=True, max_length=255, null=True)),
                ('rating', models.CharField(blank=True, max_length=255, null=True)),
                ('status', models.IntegerField(blank=True, default=0, null=True)),
                ('category', models.CharField(blank=True, max_length=255, null=True)),
                ('contingency_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('mitigation_plan', models.CharField(blank=True, max_length=255, null=True)),
                ('post_mitigation_status', models.CharField(blank=True, max_length=255, null=True)),
                ('action_by', models.DateTimeField(blank=True, null=True)),
                ('action_when', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('type', 'name'),
            },
        ),
        migrations.CreateModel(
            name='Sector',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sector', models.CharField(blank=True, max_length=255, verbose_name='Sector Name')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='org_specific_sector', to='workflow.Organization')),
            ],
            options={
                'ordering': ('sector',),
            },
        ),
        migrations.CreateModel(
            name='SectorRelated',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('order', models.PositiveIntegerField(default=0)),
                ('org_order', models.PositiveIntegerField(default=0)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('sector', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Sector')),
                ('sector_related', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sector_related', to='workflow.Sector')),
            ],
            options={
                'ordering': ('order',),
            },
        ),
        migrations.CreateModel(
            name='SiteProfile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('site_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Site UUID')),
                ('name', models.CharField(max_length=255, verbose_name='Site Name')),
                ('contact_leader', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Name')),
                ('date_of_firstcontact', models.DateTimeField(blank=True, null=True, verbose_name='Date of First Contact')),
                ('contact_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contact Number')),
                ('num_members', models.CharField(blank=True, max_length=255, null=True, verbose_name='Number of Members')),
                ('info_source', models.CharField(blank=True, max_length=255, null=True, verbose_name='Data Source')),
                ('total_num_households', models.IntegerField(blank=True, null=True, verbose_name='Total # Households')),
                ('avg_household_size', models.DecimalField(blank=True, decimal_places=14, default=Decimal('0.00'), max_digits=25, null=True, verbose_name='Average Household Size')),
                ('total_population', models.IntegerField(blank=True, null=True)),
                ('total_male', models.IntegerField(blank=True, null=True)),
                ('total_female', models.IntegerField(blank=True, null=True)),
                ('total_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Land')),
                ('total_agricultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Agricultural Land')),
                ('total_rainfed_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Rain-fed Land')),
                ('total_horticultural_land', models.IntegerField(blank=True, help_text='In hectares/jeribs', null=True, verbose_name='Total Horticultural Land')),
                ('total_literate_peoples', models.IntegerField(blank=True, null=True, verbose_name='Total Literate People')),
                ('literate_males', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Males')),
                ('literate_females', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='% of Literate Females')),
                ('literacy_rate', models.IntegerField(blank=True, help_text='%', null=True, verbose_name='Literacy Rate (%)')),
                ('populations_owning_land', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Land')),
                ('avg_landholding_size', models.DecimalField(decimal_places=14, default=Decimal('0.00'), help_text='In hectares/jeribs', max_digits=25, verbose_name='Average Landholding Size')),
                ('households_owning_livestock', models.IntegerField(blank=True, help_text='(%)', null=True, verbose_name='Households Owning Livestock')),
                ('animal_type', models.CharField(blank=True, help_text='List Animal Types', max_length=255, null=True, verbose_name='Animal Types')),
                ('latitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Latitude (Decimal Coordinates)')),
                ('longitude', models.DecimalField(decimal_places=16, default=Decimal('0.00'), max_digits=25, verbose_name='Longitude (Decimal Coordinates)')),
                ('status', models.BooleanField(default=True, verbose_name='Site Active')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('admin_level_three', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='site_level3', to='workflow.AdminLevelThree', verbose_name='Administrative Level 3')),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('classify_land', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.LandType')),
                ('country', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('district', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelTwo', verbose_name='Administrative Level 2')),
                ('office', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Office')),
                ('province', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelOne', verbose_name='Administrative Level 1')),
                ('type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.ProfileType')),
                ('village', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelThree', verbose_name='Administrative Level 4')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Site Profiles',
            },
        ),
        migrations.CreateModel(
            name='Stakeholder',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('stakeholder_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='Stakeholder UUID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Stakeholder/Organization Name')),
                ('role', models.CharField(blank=True, max_length=255, null=True, verbose_name='Role')),
                ('contribution', models.CharField(blank=True, max_length=255, null=True, verbose_name='Contribution')),
                ('stakeholder_register', models.BooleanField(default=0, verbose_name='Has this partner been added to stakeholder register?')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('contact', models.ManyToManyField(blank=True, max_length=255, to='workflow.Contact')),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('formal_relationship_document', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='relationship_document', to='workflow.Documentation', verbose_name='Formal Written Description of Relationship')),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('sectors', models.ManyToManyField(blank=True, to='workflow.Sector')),
            ],
            options={
                'ordering': ('country', 'name', 'type'),
                'verbose_name_plural': 'Stakeholders',
            },
        ),
        migrations.CreateModel(
            name='StakeholderType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Stakeholder Type')),
                ('default_global', models.BooleanField(default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('organization', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'Stakeholder Types',
            },
        ),
        migrations.CreateModel(
            name='TolaBookmarks',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('bookmark_url', models.CharField(blank=True, max_length=255, null=True)),
                ('filter', models.CharField(blank=True, max_length=255, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='TolaSites',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, null=True)),
                ('agency_name', models.CharField(blank=True, max_length=255, null=True)),
                ('agency_url', models.CharField(blank=True, max_length=255, null=True)),
                ('tola_report_url', models.CharField(default='https://report.toladata.io', max_length=255, null=True)),
                ('tola_tables_url', models.CharField(default='https://activity.toladata.io', max_length=255, null=True)),
                ('front_end_url', models.CharField(default='https://activity.toladata.io', max_length=255, null=True)),
                ('tola_tables_user', models.CharField(blank=True, max_length=255, null=True)),
                ('tola_tables_token', models.CharField(blank=True, max_length=255, null=True)),
                ('privacy_disclaimer', models.TextField(blank=True, null=True)),
                ('created', models.DateTimeField(blank=True, null=True)),
                ('updated', models.DateTimeField(blank=True, null=True)),
                ('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
            ],
            options={
                'verbose_name_plural': 'Tola Sites',
            },
        ),
        migrations.CreateModel(
            name='TolaUser',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('tola_user_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='TolaUser UUID')),
                ('title', models.CharField(blank=True, choices=[('mr', 'Mr.'), ('mrs', 'Mrs.'), ('ms', 'Ms.')], max_length=3, null=True)),
                ('name', models.CharField(blank=True, max_length=100, null=True, verbose_name='<NAME>')),
                ('employee_number', models.IntegerField(blank=True, null=True, verbose_name='Employee Number')),
                ('position_description', models.CharField(blank=True, max_length=255, null=True)),
                ('contact_info', models.CharField(blank=True, max_length=255, null=True)),
                ('tables_api_token', models.CharField(blank=True, max_length=255, null=True)),
                ('activity_api_token', models.CharField(blank=True, max_length=255, null=True)),
                ('privacy_disclaimer_accepted', models.BooleanField(default=False)),
                ('filter', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('countries', models.ManyToManyField(blank=True, related_name='countries', to='workflow.Country', verbose_name='Accessible Countries')),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('organization', models.ForeignKey(blank=True, default=1, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='tola_user', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ('name',),
            },
        ),
        migrations.CreateModel(
            name='TolaUserFilter',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('start_date_filter', models.DateField(blank=True, null=True)),
                ('end_date_filter', models.DateField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country_filter', models.ManyToManyField(blank=True, related_name='filter_country', to='workflow.Country')),
                ('sector_filter', models.ManyToManyField(blank=True, related_name='filter_sector', to='workflow.Sector')),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='filter_user', to='workflow.TolaUser')),
            ],
            options={
                'ordering': ('user',),
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel1',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('level1_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='WorkflowLevel1 UUID')),
                ('unique_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=255, verbose_name='Name')),
                ('funding_status', models.CharField(blank=True, max_length=255, verbose_name='Funding Status')),
                ('cost_center', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fund Code')),
                ('description', models.TextField(blank=True, max_length=765, null=True, verbose_name='Description')),
                ('public_dashboard', models.BooleanField(default=False, verbose_name='Enable Public Dashboard')),
                ('start_date', models.DateTimeField(blank=True, null=True)),
                ('end_date', models.DateTimeField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('sort', models.IntegerField(default=0)),
                ('award', models.ManyToManyField(blank=True, to='workflow.Award')),
                ('country', models.ManyToManyField(blank=True, to='workflow.Country')),
                ('fund_code', models.ManyToManyField(blank=True, to='workflow.FundCode')),
                ('milestone', models.ManyToManyField(blank=True, to='workflow.Milestone')),
                ('organization', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('portfolio', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Portfolio')),
                ('sector', models.ManyToManyField(blank=True, to='workflow.Sector')),
                ('sub_sector', models.ManyToManyField(blank=True, related_name='sub_sector', to='workflow.Sector')),
                ('user_access', models.ManyToManyField(blank=True, to='workflow.TolaUser')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'WorkflowLevel1',
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel1Sector',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('sort', models.IntegerField(default=0)),
                ('sector', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='level1_primary_sector', to='workflow.Sector')),
                ('sub_sector', models.ManyToManyField(blank=True, related_name='level1_sub_sector', to='workflow.Sector')),
                ('workflowlevel1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='level1_sectors', to='workflow.WorkflowLevel1')),
            ],
            options={
                'ordering': ('create_date',),
                'verbose_name_plural': 'WorkflowLevel1 Sectors',
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel2',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('level2_uuid', models.CharField(blank=True, default=uuid.uuid4, max_length=255, unique=True, verbose_name='WorkflowLevel2 UUID')),
                ('short', models.BooleanField(default=True, verbose_name='Short Form (recommended)')),
                ('parent_workflowlevel2', models.IntegerField(blank=True, default=0, verbose_name='Parent')),
                ('date_of_request', models.DateTimeField(blank=True, null=True, verbose_name='Date of Request')),
                ('name', models.CharField(max_length=255, verbose_name='Name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='Description')),
                ('short_name', models.CharField(blank=True, max_length=20, null=True, verbose_name='Code')),
                ('staff_responsible', models.CharField(blank=True, max_length=255, null=True, verbose_name='Staff Responsible')),
                ('effect_or_impact', models.TextField(blank=True, null=True, verbose_name='What is the anticipated Outcome or Goal?')),
                ('expected_start_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected starting date')),
                ('expected_end_date', models.DateTimeField(blank=True, null=True, verbose_name='Expected ending date')),
                ('total_estimated_budget', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Total Project Budget')),
                ('justification_background', models.TextField(blank=True, null=True, verbose_name='General Background and Problem Statement')),
                ('risks_assumptions', models.TextField(blank=True, null=True, verbose_name='Risks and Assumptions')),
                ('description_of_government_involvement', models.TextField(blank=True, null=True)),
                ('description_of_community_involvement', models.TextField(blank=True, null=True)),
                ('actual_start_date', models.DateTimeField(blank=True, null=True)),
                ('actual_end_date', models.DateTimeField(blank=True, null=True)),
                ('actual_duration', models.CharField(blank=True, max_length=255, null=True)),
                ('on_time', models.BooleanField(default=True)),
                ('no_explanation', models.TextField(blank=True, null=True, verbose_name='If not on time explain delay')),
                ('actual_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='What was the actual final cost?  This should match any financial documentation you have in the file.   It should be completely documented and verifiable by finance and any potential audit', max_digits=20, verbose_name='Actual Cost')),
                ('actual_cost_date', models.DateTimeField(blank=True, null=True)),
                ('budget_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Budget versus Actual variance')),
                ('explanation_of_variance', models.CharField(blank=True, max_length=255, null=True, verbose_name='Explanation of variance')),
                ('total_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Estimated Budget for Organization')),
                ('agency_cost', models.DecimalField(blank=True, decimal_places=2, default=Decimal('0.00'), help_text='In USD', max_digits=12, verbose_name='Actual Cost for Organization')),
                ('community_handover', models.BooleanField(default=False, help_text='Check box if it was completed', verbose_name='CommunityHandover/Sustainability Maintenance Plan')),
                ('capacity_built', models.TextField(blank=True, max_length=755, null=True, verbose_name='Describe how sustainability was ensured for this project?')),
                ('quality_assured', models.TextField(blank=True, max_length=755, null=True, verbose_name='How was quality assured for this project')),
                ('issues_and_challenges', models.TextField(blank=True, null=True, verbose_name='List any issues or challenges faced (include reasons for delays)')),
                ('lessons_learned', models.TextField(blank=True, null=True, verbose_name='Lessons learned')),
                ('sort', models.IntegerField(blank=True, default=0)),
                ('create_date', models.DateTimeField(blank=True, null=True, verbose_name='Date Created')),
                ('edit_date', models.DateTimeField(blank=True, null=True, verbose_name='Last Edit Date')),
                ('status', models.CharField(blank=True, choices=[('green', 'Green'), ('yellow', 'Yellow'), ('orange', 'Orange'), ('red', 'Red')], default='green', max_length=50)),
                ('progress', models.CharField(blank=True, choices=[('open', 'Open'), ('awaitingapproval', 'Awaiting Approval'), ('tracking', 'Tracking'), ('closed', 'Closed')], default='open', max_length=50)),
                ('approval', models.ManyToManyField(blank=True, to='workflow.ApprovalWorkflow')),
                ('donor_currency', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='donor_project', to='workflow.Currency')),
                ('indicators', models.ManyToManyField(blank=True, to='indicators.Indicator')),
                ('local_currency', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='local_project', to='workflow.Currency')),
                ('milestone', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Milestone')),
                ('office', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Office', verbose_name='Office')),
                ('partners', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Partner', verbose_name='Partners')),
                ('sector', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='workflow2_sector', to='workflow.Sector', verbose_name='Sector')),
                ('site', models.ManyToManyField(blank=True, to='workflow.SiteProfile')),
                ('stakeholder', models.ManyToManyField(blank=True, to='workflow.Stakeholder', verbose_name='Stakeholders')),
                ('sub_sector', models.ManyToManyField(blank=True, related_name='workflowlevel2_sub_sector', to='workflow.Sector', verbose_name='Sub-Sector')),
                ('workflowlevel1', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='workflowlevel2', to='workflow.WorkflowLevel1', verbose_name='Program')),
            ],
            options={
                'ordering': ('name',),
                'verbose_name_plural': 'WorkflowLevel2',
                'permissions': (('can_approve', 'Can approve initiation'),),
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel2Sort',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('workflowlevel2_id', models.IntegerField(default=0, verbose_name='ID to be Sorted')),
                ('sort_array', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('workflowlevel1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1')),
                ('workflowlevel2_parent_id', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2')),
            ],
            options={
                'ordering': ('workflowlevel1', 'workflowlevel2_id'),
                'verbose_name_plural': 'WorkflowLevel Sort',
            },
        ),
        migrations.CreateModel(
            name='WorkflowLevel3',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('level3_uuid', models.CharField(default=uuid.uuid4, max_length=255, unique=True, verbose_name='WorkflowLevel3 UUID')),
                ('percent_complete', models.IntegerField(blank=True, null=True, verbose_name='% complete')),
                ('percent_cumulative', models.IntegerField(blank=True, null=True, verbose_name='% cumulative completion')),
                ('est_start_date', models.DateTimeField(blank=True, null=True)),
                ('est_end_date', models.DateTimeField(blank=True, null=True)),
                ('actual_start_date', models.DateTimeField(blank=True, null=True)),
                ('actual_end_date', models.DateTimeField(blank=True, null=True)),
                ('budget', models.IntegerField(blank=True, null=True, verbose_name='Estimated Budget')),
                ('cost', models.IntegerField(blank=True, null=True, verbose_name='Actual Cost')),
                ('description', models.CharField(blank=True, max_length=255, verbose_name='Description')),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('site', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.SiteProfile')),
                ('workflowlevel2', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2', verbose_name='Project')),
            ],
            options={
                'ordering': ('description',),
                'verbose_name_plural': 'WorkflowLevel3',
            },
        ),
        migrations.CreateModel(
            name='WorkflowModules',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('modules', models.CharField(choices=[('approval', 'Approval'), ('budget', 'Budget'), ('stakeholders', 'Stakeholders'), ('documents', 'Documents'), ('sites', 'Sites'), ('indicators', 'Indicators')], default='open', max_length=50)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('workflowlevel2', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2')),
            ],
            options={
                'ordering': ('modules',),
            },
        ),
        migrations.CreateModel(
            name='WorkflowTeam',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('salary', models.CharField(blank=True, max_length=255, null=True)),
                ('start_date', models.DateTimeField(blank=True, null=True)),
                ('end_date', models.DateTimeField(blank=True, null=True)),
                ('status', models.CharField(blank=True, max_length=255, null=True)),
                ('budget_limit', models.IntegerField(blank=True, null=True)),
                ('create_date', models.DateTimeField(blank=True, null=True)),
                ('edit_date', models.DateTimeField(blank=True, null=True)),
                ('country', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country')),
                ('partner_org', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization')),
                ('role', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='auth.Group')),
                ('workflow_user', models.ForeignKey(blank=True, help_text='User', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='auth_approving', to='workflow.TolaUser')),
                ('workflowlevel1', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1')),
            ],
            options={
                'ordering': ('workflow_user',),
                'verbose_name_plural': 'WorkflowTeam',
            },
        ),
        migrations.AddField(
            model_name='tolauserfilter',
            name='workflowlevel1_filter',
            field=models.ManyToManyField(blank=True, related_name='filter_level1', to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='tolauserfilter',
            name='workflowlevel2_filter',
            field=models.ManyToManyField(blank=True, related_name='filter_level2', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='tolabookmarks',
            name='user',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tolabookmark', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='tolabookmarks',
            name='workflowlevel1',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='stakeholder',
            name='type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.StakeholderType'),
        ),
        migrations.AddField(
            model_name='stakeholder',
            name='vetting_document',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='vetting_document', to='workflow.Documentation', verbose_name='Vetting/ due diligence statement'),
        ),
        migrations.AddField(
            model_name='stakeholder',
            name='workflowlevel1',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='sector',
            name='sector_nearest',
            field=models.ManyToManyField(related_name='nearest', through='workflow.SectorRelated', to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='riskregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='partner',
            name='sectors',
            field=models.ManyToManyField(blank=True, to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='partner',
            name='type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='stakeholder_partner', to='workflow.StakeholderType'),
        ),
        migrations.AddField(
            model_name='partner',
            name='workflowlevel1',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='organization',
            name='sector',
            field=models.ManyToManyField(blank=True, related_name='org_sector', to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='milestone',
            name='organization',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='landtype',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='issueregister',
            name='assigned',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='issueregister',
            name='organization',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='issueregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='milestone',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Milestone'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='office',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Office'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='partners',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Partner'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='sector',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Sector'),
        ),
        migrations.AddField(
            model_name='historicalworkflowlevel2',
            name='workflowlevel1',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='classify_land',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.LandType'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='country',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='district',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelTwo'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='history_user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='office',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Office'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='province',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelOne'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='type',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.ProfileType'),
        ),
        migrations.AddField(
            model_name='historicalsiteprofile',
            name='village',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.AdminLevelThree'),
        ),
        migrations.AddField(
            model_name='historicalriskregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='assigned',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='history_user',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='organization',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='historicalissueregister',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='historicalbudget',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='fundcode',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='formguidance',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='documentation',
            name='workflowlevel1',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='documentation',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='doc_workflowlevel2', to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='contact',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='contact',
            name='organization',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='contact',
            name='workflowlevel1',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='codedfieldvalues',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='codedfield',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='codedfield',
            name='workflowlevel1',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel1'),
        ),
        migrations.AddField(
            model_name='codedfield',
            name='workflowlevel2',
            field=models.ManyToManyField(blank=True, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='checklistitem',
            name='owner',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='checklist',
            name='country',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='checklist',
            name='owner',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='checklist',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.WorkflowLevel2', verbose_name='Project Initiation'),
        ),
        migrations.AddField(
            model_name='budget',
            name='donor_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='donor', to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='budget',
            name='local_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='local', to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='budget',
            name='workflowlevel2',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='workflow.WorkflowLevel2'),
        ),
        migrations.AddField(
            model_name='award',
            name='award_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='award_currency', to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='award',
            name='countries',
            field=models.ManyToManyField(blank=True, related_name='countries_award', to='workflow.Country', verbose_name='Countries'),
        ),
        migrations.AddField(
            model_name='award',
            name='currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.Currency'),
        ),
        migrations.AddField(
            model_name='award',
            name='donors',
            field=models.ManyToManyField(blank=True, to='workflow.Stakeholder'),
        ),
        migrations.AddField(
            model_name='award',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='approvalworkflow',
            name='assigned_to',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_approval', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='approvalworkflow',
            name='requested_from',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_approval', to='workflow.TolaUser'),
        ),
        migrations.AddField(
            model_name='approvaltype',
            name='organization',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='workflow.Organization'),
        ),
        migrations.AddField(
            model_name='adminlevelthree',
            name='adminleveltwo',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelTwo', verbose_name='Admin Level 2'),
        ),
        migrations.AddField(
            model_name='adminlevelone',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='workflow.Country'),
        ),
        migrations.AddField(
            model_name='adminlevelfour',
            name='adminlevelthree',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelThree'),
        ),
        migrations.AddField(
            model_name='adminlevelfour',
            name='adminleveltwo',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='workflow.AdminLevelTwo', verbose_name='Admin Boundary 3'),
        ),
        migrations.CreateModel(
            name='TolaUserProxy',
            fields=[
            ],
            options={
                'verbose_name': 'Report Tola User',
                'proxy': True,
                'verbose_name_plural': 'Report Tola Users',
                'indexes': [],
            },
            bases=('workflow.tolauser',),
        ),
    ]

# -*- coding: utf-8 -*- # Generated by Django 1.11.3 on 2017-10-19 08:07 # Households')), # Households')),