# Generated by Django 4.0.2 on 2022-02-14 18:24

from django.db import migrations, models
import django.db.models.deletion
import goldbook.util.helpers
import modelcluster.fields
import phonenumber_field.modelfields
import wagtail.blocks
import wagtail.fields
import wagtailgeowidget.blocks


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('wagtailcore', '0066_collection_management_permissions'),
        ('wagtailimages', '0023_add_choose_permissions'),
    ]

    operations = [
        migrations.CreateModel(
            name='Occurrence',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
                ('name', models.CharField(help_text="The name of the Occurrence as you'd like it to be seen by the public", max_length=255, verbose_name='Name')),
                ('slug', models.SlugField(allow_unicode=True, help_text='The name of the region as it will appear in URLs e.g http://domain.com/wineries/northern-va/', max_length=255, verbose_name='slug')),
            ],
            options={
                'verbose_name': 'Occurrence',
                'verbose_name_plural': 'Occurrences',
            },
        ),
        migrations.CreateModel(
            name='WineriesIndexPage',
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
            ],
            options={
                'verbose_name': 'Wineries',
                'verbose_name_plural': 'Wineries',
            },
            bases=('wagtailcore.page',),
        ),
        migrations.CreateModel(
            name='WineryRegion',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
                ('name', models.CharField(help_text="The name of the Region as you'd like it to be seen by the public", max_length=255, verbose_name='Name')),
                ('slug', models.SlugField(allow_unicode=True, help_text='The name of the region as it will appear in URLs e.g http://domain.com/wineries/northern-va/', max_length=255, verbose_name='slug')),
            ],
            options={
                'verbose_name': 'Winery Region',
                'verbose_name_plural': 'Winery Regions',
            },
        ),
        migrations.CreateModel(
            name='Winery',
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
                ('description', wagtail.fields.RichTextField(blank=True, null=True)),
                ('notes', wagtail.fields.RichTextField(blank=True, null=True)),
                ('phone_number', phonenumber_field.modelfields.PhoneNumberField(blank=True, max_length=128, null=True, region=None, verbose_name='Business Phone')),
                ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='Business Email')),
                ('year_established', models.IntegerField(blank=True, null=True, validators=[goldbook.util.helpers.my_year_validator], verbose_name='Year established')),
                ('number_of_wines', models.IntegerField(blank=True, null=True, verbose_name='Number of Wines Produced')),
                ('total_number_wine_cases_annually', models.IntegerField(blank=True, null=True, verbose_name='Total number of cases in production annually')),
                ('number_of_acres_under_vine', models.IntegerField(blank=True, null=True, verbose_name='Number of acres under vine')),
                ('ava', models.CharField(blank=True, max_length=254, null=True)),
                ('trail_a_part_of', models.CharField(blank=True, max_length=254, null=True, verbose_name='Trail a part of')),
                ('largest_town_within_30_mins', models.CharField(blank=True, max_length=254, null=True, verbose_name='Largest town within 30 min')),
                ('tasting_room_within_vineyard', models.BooleanField(blank=True, null=True, verbose_name='Is the Tasting Room located within a vineyard?')),
                ('wine_tours_available', models.BooleanField(blank=True, null=True, verbose_name='Winery tours available?')),
                ('wines_sold_online', models.BooleanField(blank=True, null=True, verbose_name='Wines sold online?')),
                ('wine_club', models.BooleanField(blank=True, null=True, verbose_name='Wines Club?')),
                ('num_wine_club_members', models.IntegerField(blank=True, null=True, verbose_name='Number of Wine Club members?')),
                ('num_gov_cup_medals', models.IntegerField(blank=True, null=True, verbose_name='Number of Gov Cup Gold medals over the years?')),
                ('num_other_medals', models.IntegerField(blank=True, null=True, verbose_name='Number of other gold medals of note')),
                ('primary_contact_name', models.CharField(blank=True, max_length=254, null=True, verbose_name='Primary Contact Name')),
                ('primary_contact_title', models.CharField(blank=True, max_length=254, null=True, verbose_name='Primary Contact Title')),
                ('primary_contact_phone', models.CharField(blank=True, max_length=254, null=True, verbose_name='Primary Contact Phone')),
                ('primary_contact_email', models.CharField(blank=True, max_length=254, null=True, verbose_name='Primary Contact email')),
                ('secondary_contact_name', models.CharField(blank=True, max_length=254, null=True, verbose_name='Secondary Contact Name')),
                ('secondary_contact_title', models.CharField(blank=True, max_length=254, null=True, verbose_name='Secondary Contact Title')),
                ('secondary_contact_phone', models.CharField(blank=True, max_length=254, null=True, verbose_name='Secondary Contact Phone')),
                ('secondary_contact_email', models.CharField(blank=True, max_length=254, null=True, verbose_name='Secondary Contact email')),
                ('owner_name', models.CharField(blank=True, max_length=254, null=True, verbose_name='Owner Name')),
                ('owner_phone', models.CharField(blank=True, max_length=254, null=True, verbose_name='Owner Phone')),
                ('owner_email', models.CharField(blank=True, max_length=254, null=True, verbose_name='Owner email')),
                ('owner_bio', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='Owner Bio')),
                ('winemaker_name', models.CharField(blank=True, max_length=254, null=True, verbose_name='Winemaker Name')),
                ('winemaker_phone', models.CharField(blank=True, max_length=254, null=True, verbose_name='Winemaker Phone')),
                ('winemaker_email', models.CharField(blank=True, max_length=254, null=True, verbose_name='Winemaker email')),
                ('winemaker_bio', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='Winemaker Bio')),
                ('brewery', models.BooleanField(blank=True, null=True, verbose_name='Brewery?')),
                ('veg_garden', models.BooleanField(blank=True, null=True, verbose_name='Vegetable or fruit garden on premise?')),
                ('flower_garden', models.BooleanField(blank=True, null=True, verbose_name='Formal or flower garden on premise?')),
                ('bee_apiary', models.BooleanField(blank=True, null=True, verbose_name='Bee apiary on premise?')),
                ('sheep', models.BooleanField(blank=True, null=True, verbose_name='Sheep on premise?')),
                ('goats', models.BooleanField(blank=True, null=True, verbose_name='Goats on premise?')),
                ('chicken', models.BooleanField(blank=True, null=True, verbose_name='Chickens on premise?')),
                ('cattle', models.BooleanField(blank=True, null=True, verbose_name='Cattle on premise?')),
                ('horses', models.BooleanField(blank=True, null=True, verbose_name='Horses on premise?')),
                ('honey', models.BooleanField(blank=True, null=True, verbose_name='honey?')),
                ('jelly', models.BooleanField(blank=True, null=True, verbose_name='jelly?')),
                ('cheese', models.BooleanField(blank=True, null=True, verbose_name='cheese?')),
                ('chocolate', models.BooleanField(blank=True, null=True, verbose_name='chocolate?')),
                ('other_production', models.CharField(blank=True, max_length=254, null=True, verbose_name='Other?')),
                ('unique_feature_or_activity', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='Uniquely different property feature or activity of note?')),
                ('fridge_nibbles', models.BooleanField(blank=True, null=True, verbose_name='Refrigerated nibbles?')),
                ('counter_service_casual_fare', models.BooleanField(blank=True, null=True, verbose_name='Counter service casual fare?')),
                ('table_service_restaurant', models.BooleanField(blank=True, null=True, verbose_name='Table service restaurant?')),
                ('fine_dining', models.BooleanField(blank=True, null=True, verbose_name='Fine dining?')),
                ('outside_picnic_food_welcome', models.BooleanField(blank=True, null=True, verbose_name='Outside picnic food welcome?')),
                ('tasting_room_style', models.CharField(blank=True, choices=[('Mediterranean', 'Mediterranean'), ('Farmhouse', 'Farmhouse'), ('Old World', 'Old World'), ('Modern Rustic', 'Modern Rustic')], default=None, max_length=20, null=True)),
                ('seating_capacity', models.IntegerField(blank=True, null=True, verbose_name='Seating Capacity')),
                ('reservations_available', models.BooleanField(blank=True, null=True, verbose_name='Reservations available?')),
                ('walk_in_limit', models.BooleanField(blank=True, null=True, verbose_name='Quantity limit on walk-in party size?')),
                ('dogs_welcome', models.BooleanField(blank=True, null=True, verbose_name='Dogs welcome?')),
                ('children_welcome', models.BooleanField(blank=True, null=True, verbose_name='Children welcome?')),
                ('tasting_room_views', models.BooleanField(blank=True, null=True, verbose_name='Views from Tasting Room seating?')),
                ('tasting_room_views_mountains', models.BooleanField(blank=True, null=True, verbose_name='Mountains?')),
                ('tasting_room_views_vineyard', models.BooleanField(blank=True, null=True, verbose_name='Vineyard?')),
                ('tasting_room_views_countryside', models.BooleanField(blank=True, null=True, verbose_name='Countryside?')),
                ('tasting_room_views_urban', models.BooleanField(blank=True, null=True, verbose_name='Urban Views?')),
                ('fireplace', models.BooleanField(blank=True, null=True, verbose_name='Fireplace present?')),
                ('fire_tables', models.BooleanField(blank=True, null=True, verbose_name='Firetables available?')),
                ('outdoor_heating', models.BooleanField(blank=True, null=True, verbose_name='Outdoor heating available?')),
                ('shade', models.BooleanField(blank=True, null=True, verbose_name='Is shade abundantly available via umbrellas, porches, pergolas?')),
                ('lawn', models.BooleanField(blank=True, null=True, verbose_name='Is there a lawn available for picnics and games?')),
                ('loging', models.BooleanField(blank=True, null=True, verbose_name='Lodging on premise?')),
                ('souvenirs', models.BooleanField(blank=True, null=True, verbose_name='Souvenir shopping on premise?')),
                ('festivals', models.BooleanField(blank=True, null=True, verbose_name='Festivals?')),
                ('festivals_info', models.TextField(blank=True, null=True, verbose_name='Festivals titles and months')),
                ('dinner_events', models.BooleanField(blank=True, null=True, verbose_name='Dinner events?')),
                ('dinner_events_info', models.TextField(blank=True, null=True, verbose_name='Dinner event titles & months')),
                ('classes_or_workshops', models.BooleanField(blank=True, null=True, verbose_name='Classes or workshops?')),
                ('classes_or_workshops_info', models.TextField(blank=True, null=True, verbose_name='Classes or workshops titles & months')),
                ('corporate_events', models.BooleanField(blank=True, null=True, verbose_name='Corporate events?')),
                ('private_party_events', models.BooleanField(blank=True, null=True, verbose_name='Private party events?')),
                ('minimum_private_party_resv', models.IntegerField(blank=True, null=True, verbose_name='Minimum required for private party reservations')),
                ('maximum_private_party_resv', models.IntegerField(blank=True, null=True, verbose_name='Maximum required for private party reservations')),
                ('wedding_events', models.BooleanField(blank=True, null=True, verbose_name='Weddings?')),
                ('wedding_event_capacity', models.IntegerField(blank=True, null=True, verbose_name='Wedding capacity')),
                ('wedding_event_avg_per_year', models.IntegerField(blank=True, null=True, verbose_name='Average number of wedding per year')),
                ('wedding_event_price_range', models.CharField(blank=True, max_length=254, null=True, verbose_name='Average price range of weddings hosted')),
                ('winery_catering_available', models.BooleanField(blank=True, null=True, verbose_name='Winery provided catering available?')),
                ('winery_catering_required', models.BooleanField(blank=True, null=True, verbose_name='Winery provided catering Required?')),
                ('designated_ceremony_site', models.BooleanField(blank=True, null=True, verbose_name='Designated ceremony site?')),
                ('ceremony_views_mountain', models.BooleanField(blank=True, null=True, verbose_name='Ceremony Mountain Views')),
                ('ceremony_views_vineyard', models.BooleanField(blank=True, null=True, verbose_name='Ceremony Vineyard Views')),
                ('ceremony_views_countryside', models.BooleanField(blank=True, null=True, verbose_name='Ceremony Countryside Views')),
                ('ceremony_views_urban', models.BooleanField(blank=True, null=True, verbose_name='Ceremony Urban Views')),
                ('designated_reception_hall', models.BooleanField(blank=True, null=True, verbose_name='Designated Reception Hall?')),
                ('designated_reception_hall_views_mountain', models.BooleanField(blank=True, null=True, verbose_name='Designated Reception Hall Mountain Views')),
                ('designated_reception_hall_views_vineyard', models.BooleanField(blank=True, null=True, verbose_name='Designated Reception Hall Vineyard Views')),
                ('designated_reception_hall_views_countryside', models.BooleanField(blank=True, null=True, verbose_name='Designated Reception Hall Countryside Views')),
                ('designated_reception_hall_views_urban', models.BooleanField(blank=True, null=True, verbose_name='Designated Reception Hall Urban Views')),
                ('familiar_with_wc_life', models.BooleanField(blank=True, null=True, verbose_name='Are you familiar with Wine & Country Life?')),
                ('display_wc_life_tasting_room', models.BooleanField(blank=True, null=True, verbose_name='Do you display it in the Tasting Room?')),
                ('wc_life_advertiser', models.BooleanField(blank=True, null=True, verbose_name='Do you currently advertise in WC.Life?')),
                ('familiar_with_wc_weddings', models.BooleanField(blank=True, null=True, verbose_name='Are you familiar with Wine & Country Weddings?')),
                ('display_wc_weddings_tasting_room', models.BooleanField(blank=True, null=True, verbose_name='Do you display it in the Tasting Room?')),
                ('wc_weddings_advertiser', models.BooleanField(blank=True, null=True, verbose_name='Do you currently advertise in WC.Weddings?')),
                ('familiar_with_wc_goldbook', models.BooleanField(blank=True, null=True, verbose_name='Are you familiar with The Wine & Country Gold Book?')),
                ('sell_wc_goldbook', models.BooleanField(blank=True, null=True, verbose_name='Do they currently sell copies of the Gold Book?')),
                ('wc_goldbook_advertiser', models.BooleanField(blank=True, null=True, verbose_name='Do they currently advertise in WC.Gold Book?')),
                ('address', wagtail.fields.StreamField([('map_struct', wagtail.blocks.StructBlock([('address', wagtailgeowidget.blocks.GeoAddressBlock(required=True)), ('map', wagtailgeowidget.blocks.GeoBlock(address_field='address'))]))], blank=True)),
                ('tasting_room_address', wagtail.fields.StreamField([('map_struct', wagtail.blocks.StructBlock([('address', wagtailgeowidget.blocks.GeoAddressBlock(required=False)), ('map', wagtailgeowidget.blocks.GeoBlock(address_field='tasting_room_address'))]))], blank=True)),
                ('live_music', modelcluster.fields.ParentalManyToManyField(blank=True, to='goldbook.Occurrence', verbose_name='Live Music?')),
                ('logo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='winery_logo', to='wagtailimages.image')),
                ('winery_region', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='goldbook.wineryregion', verbose_name='Region of VA')),
            ],
            options={
                'abstract': False,
            },
            bases=('wagtailcore.page',),
        ),
    ]
