Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dj-kaos-io / forms.py
Size: Mime:
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit
from django import forms


# class HandleErrorChoices(KDjangoChoices):
#     abort = ChoiceItem()
#     dry_run = ChoiceItem()
#     ignore_row = ChoiceItem()
#     ignore_cell = ChoiceItem()


class ImportSpreadsheetForm(forms.Form):
    sheet_type = forms.ChoiceField(choices=[])
    spreadsheet = forms.FileField(widget=forms.FileInput())

    def __init__(self, *args, importer_classes, **kwargs):
        super(ImportSpreadsheetForm, self).__init__(*args, **kwargs)
        if len(importer_classes) > 1:
            sheet_type_field = self.fields['sheet_type']
            sheet_type_field.choices = (
                (importer_class.get_source_name(), importer_class.get_source_name())
                for importer_class in importer_classes
            )
        else:
            del self.fields['sheet_type']

    helper = FormHelper()
    helper.add_input(Submit('submit', 'Import', css_class='btn btn-primary'))