from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Row, Column, Field, ButtonHolder
from django.utils.translation import gettext_lazy as _

from utils.buttons import ButtonSubmit, ButtonAElement


class SbcWorkersLogsFilterHelper(FormHelper):
    form_method = 'GET'
    layout = Layout(
        Row(
            Column(Field('is_done'), css_class='col'),
            Column(Field('has_error'), css_class='col'),
            css_class='row row-cols-sm-1 row-cols-md-4 my-1',
        ),
        ButtonHolder(
            ButtonSubmit('submit', _('Filter'), css_class='btn btn-green'),
            ButtonAElement(_('Clear'), href='?', css_class='btn btn-primary'),
            css_class='col-sm-12 my-1',
        ),

    )


class InvestorPageFilterHelper(FormHelper):
    form_method = 'GET'
    layout = Layout(
        Row(
            Column(Field('investor'), css_class='col'),
            Column(Field('start_date'), css_class='col'),
            Column(Field('end_date'), css_class='col'),
            css_class='row row-cols-sm-1 row-cols-md-4 my-1',
        ),
        ButtonHolder(
            ButtonSubmit('submit', _('Search'), css_class='btn btn-green'),
            ButtonAElement(_('Clear'), href='?', css_class='btn btn-primary'),
            css_class='col-sm-12 my-1',
        ),

    )


class SbcWorkerUpdateFormHelper(FormHelper):
    layout = Layout(
        Row(
            Column(Field('is_done'), css_class='col-lg-1 col-3'),
            Column(Field('has_error'), css_class='col-lg-1 col-3'),
            Column(Field('must_done'), css_class='col-lg-1 col-3'),
            Column(Field('error_description'), css_class='col-lg-3 col-12'),
            css_class='row row-cols-sm-1 row-cols-md-4 my-1',
        ),
        ButtonHolder(
            ButtonSubmit('submit', _('Save'), css_class='btn btn-green'),
            css_class='col-sm-12 my-1',
        ),

    )


class ConsoleWorkersLogsFilterHelper(FormHelper):
    form_method = 'GET'
    layout = Layout(
        Row(
            Column(Field('exclude_investor'), css_class='col'),
            Column(Field('range_number'), css_class='col'),
            css_class='row row-cols-sm-1 row-cols-md-4 my-1',
        ),
        ButtonHolder(
            ButtonSubmit('submit', _('Search'), css_class='btn btn-green'),
            ButtonAElement(_('Clear'), href='?', css_class='btn btn-primary'),
            css_class='col-sm-12 my-1',
        ),

    )


class ConsoleWorkersLogs2FilterHelper(FormHelper):
    form_method = 'GET'
    layout = Layout(
        Row(
            Column(Field('exclude_investor'), css_class='col'),
            Column(Field('range_number'), css_class='col'),
            Column(Field('exc_status'), css_class='col'),
            Column(Field('inc_status'), css_class='col'),
            css_class='row row-cols-sm-1 row-cols-md-4 my-1',
        ),
        ButtonHolder(
            ButtonSubmit('submit', _('Search'), css_class='btn btn-green'),
            ButtonAElement(_('Clear'), href='?', css_class='btn btn-primary'),
            css_class='col-sm-12 my-1',
        ),

    )


class NationsFilterHelper(FormHelper):
    form_method = 'GET'
    layout = Layout(
        Row(
            Column(Field('id_filter'), css_class='col'),
            Column(Field('name_filter'), css_class='col'),
            css_class='row row-cols-sm-1 row-cols-md-4 my-1',
        ),
        ButtonHolder(
            ButtonSubmit('submit', _('Search'), css_class='btn btn-green'),
            ButtonAElement(_('Clear'), href='?', css_class='btn btn-primary'),
            css_class='col-sm-12 my-1',
        ),

    )