class ExportMarketSizeAfterBrexitForm(fields.BindNestedFormMixin, forms.Form):
    has_market_size_changed = fields.RadioNested(
        label='Sales volume',
        nested_form_class=MarketSizeChangeForm,
        coerce=lambda x: x == 'True',
        choices=
        [(True,
          "I'm aware of changes in volume for others exporting these goods to the UK"
          ),
         (False,
          "I'm not aware of changes in volume for others exporting these goods to the UK"
          )],
    )
    has_market_price_changed = fields.RadioNested(
        label='Sales price',
        nested_form_class=MarketPriceChangeForm,
        coerce=lambda x: x == 'True',
        choices=
        [(True,
          "I'm aware of changes to the prices others are selling these goods for when exporting to the UK"
          ),
         (False,
          "I'm not aware of changes to the prices others are selling these goods for when exporting to the UK"
          )],
    )
class EquivalendUKGoodsForm(fields.BindNestedFormMixin, forms.Form):
    equivalent_uk_goods = fields.RadioNested(
        label='',
        nested_form_class=EquivalendUKGoodsDetailsForm,
        coerce=lambda x: x == 'True',
        choices=[(True, 'Yes'), (False, 'No')],
    )
class ImportedProductsUsageForm(fields.BindNestedFormMixin, forms.Form):
    imported_goods_makes_something_else = fields.RadioNested(
        label='',
        nested_form_class=ImportedProductsUsageDetailsForm,
        coerce=lambda x: x == 'True',
        choices=[(True, 'Yes'), (False, 'No')],
    )
class MarketSizeForm(fields.BindNestedFormMixin, forms.Form):
    market_size_known = fields.RadioNested(
        label='',
        nested_form_class=MarketSizeDetailsForm,
        coerce=lambda x: x == 'True',
        choices=[(True, 'Yes'), (False, 'No')],
    )
class ConsumerChangeForm(fields.BindNestedFormMixin, forms.Form):
    has_consumer_price_changed = fields.RadioNested(
        label='Sales changes',
        nested_form_class=PriceChangeForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True, "I'm aware of price changes for these goods"),
            (False, "I'm not aware of price changes for these goods"),
        ],
    )
    has_consumer_choice_changed = fields.RadioNested(
        label='Choice changes',
        nested_form_class=ConsumerChoiceChangeForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True, "I'm aware of changes to consumer choice for these goods"),
            (False,
             "I'm not aware of changes to consumer choice for these goods"),
        ],
    )
class SalesVolumeBeforeBrexitForm(fields.BindNestedFormMixin, forms.Form):
    sales_volume_unit = fields.RadioNested(
        label='Select a metric',
        choices=SALES_VOLUME_UNIT_CHOICES,
        nested_form_class=OtherMetricNameForm,
        nested_form_choice=OTHER,
    )
    quarter_three_2019_sales_volume = forms.IntegerField(label=Q3_2019_LABEL)
    quarter_two_2019_sales_volume = forms.IntegerField(label=Q2_2019_LABEL)
    quarter_one_2019_sales_volume = forms.IntegerField(label=Q1_2019_LABEL)
    quarter_four_2018_sales_volume = forms.IntegerField(label=Q4_2018_label)
class MarketSizeAfterBrexitForm(fields.BindNestedFormMixin, forms.Form):
    has_market_size_changed = fields.RadioNested(
        label='Sales volume',
        nested_form_class=MarketSizeChangeForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True, "I'm aware of changes to my sales volumes for these goods"),
            (False,
             "I'm not aware of changes to my sales volumes for these goods")
        ],
    )
    has_market_price_changed = fields.RadioNested(
        label='Sales price',
        nested_form_class=MarketPriceChangeForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True,
             "I'm aware of changes to my prices for these imported goods"),
            (False,
             "I'm not aware of changes to my prices for these imported goods")
        ],
    )
class ExportsAfterBrexitForm(fields.BindNestedFormMixin, forms.Form):
    has_volume_changed = fields.RadioNested(
        label='Export volumes',
        nested_form_class=VolumeChangeForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True,
             "I'm aware of changes to my UK export volumes for these goods"),
            (False,
             "I'm not aware of changes to my import volumes for these goods")
        ],
    )
    has_price_changed = fields.RadioNested(
        label='Prices changes',
        nested_form_class=PriceChangeForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True,
             "I'm aware of changes to my UK export prices for these goods"),
            (False,
             "I'm not aware of changes to my UK export prices for these goods")
        ],
    )
class OtherChangesAfterBrexitForm(fields.BindNestedFormMixin, forms.Form):
    has_other_changes = fields.RadioNested(
        label='',
        nested_form_class=OtherChangesForm,
        coerce=lambda x: x == 'True',
        choices=[
            (True, "I'm aware of other changes to my business"),
            (False, "I'm not aware of other changes to my business"),
        ],
    )
    other_information = forms.CharField(
        label='Other information',
        help_text=(
            'Use this opportunity to give us any other supporting information.'
            ' Do not include any sensetive information.'),
        widget=Textarea(attrs={'rows': 6}),
        required=False,
    )