class HeavySelect2WidgetForm(forms.Form): artist = forms.ChoiceField( widget=HeavySelect2Widget(data_view='heavy_data_1'), choices=NUMBER_CHOICES) primary_genre = forms.ChoiceField( widget=HeavySelect2Widget(data_view='heavy_data_2'), required=False, choices=NUMBER_CHOICES)
class HelpTextFieldForm(forms.ModelForm): name = forms.CharField(widget=HeavySelect2Widget( data_view='admin-help-text-choices', dependent_fields={'content_type': 'content_type'}, attrs={ 'data-minimum-input-length': -1, 'style': 'min-width: 300px' })) def __init__(self, *args, **kwargs): instance = kwargs.get('instance', None) if instance: kwargs['initial'] = {'name': instance.name} super(HelpTextFieldForm, self).__init__(*args, **kwargs) if instance: self.fields[ 'name'].widget.choices = instance.help_text.get_help_text_fields_for_content_type( ) def is_valid(self): return super(HelpTextFieldForm, self).is_valid() class Meta: model = HelpTextField fields = ['name', 'text']
class HelpTextFieldForm(forms.ModelForm): name = forms.CharField(widget=HeavySelect2Widget( data_view="admin-help-text-choices", dependent_fields={"content_type": "content_type"}, attrs={ "data-minimum-input-length": -1, "style": "min-width: 300px" }, )) def __init__(self, *args, **kwargs): instance = kwargs.get("instance", None) if instance: kwargs["initial"] = {"name": instance.name} super(HelpTextFieldForm, self).__init__(*args, **kwargs) if instance: self.fields["name"].widget.choices = ( instance.help_text.get_help_text_fields_for_content_type()) def is_valid(self): return super(HelpTextFieldForm, self).is_valid() class Meta: model = HelpTextField fields = ["name", "text"]
class Meta: model = User fields = ('username', 'first_name', 'last_name', 'phone_number', 'email', 'city', 'photo', 'password') widgets = { 'city': HeavySelect2Widget(data_url=' /city/'), }
def __init__(self, club, *args, **kwargs): super().__init__(*args, **kwargs) instance = getattr(self, 'instance', None) if instance and instance.pk: self.fields['holder'].disabled = True else: self.fields['holder'].widget = HeavySelect2Widget( data_url='/clubs/api/' + str(club.id) + '/members/')
class NameForm(forms.Form): choice_field = forms.ChoiceField(widget=forms.RadioSelect, choices=CHOICES, required=False, label="Места") country = forms.ChoiceField( choices=COUNTRY_CHOICES, widget=HeavySelect2Widget(data_url='/url/to/json/response'), label="Страна", required=True) city = forms.ChoiceField( choices=CITY_CHOICES, widget=HeavySelect2Widget(data_url='/url/to/json/response'), label="Город", required=True) my_date = forms.DateField(widget=forms.SelectDateWidget)
def __init__(self, team_id, initial=None): self.team_id = team_id self.club = Team.objects.get(pk=team_id).club super(MemberChoiceField, self).__init__( label='Registered Player', initial=initial, required=False, queryset=Member.objects.none(), widget=HeavySelect2Widget(data_url=get_api_url(team_id)))
class Meta: model = Network fields = ( "network_description", "bridge_name", ) widgets = { "bridge_name": HeavySelect2Widget(data_view="pxe_networks", attrs={ 'data-placeholder': 'Reti disponibili', 'data-width': '150px' }) }
def __init__(self, *args, **kwargs): super(GameForm, self).__init__(*args, **kwargs) self.fields['search'] = forms.CharField( widget=HeavySelect2Widget( data_view='tgd.search_json' ), required=False, label="Search on TheGamesDB.net" ) self.fields['name'].label = "Title" self.fields['year'].label = "Release year" self.fields['website'].help_text = ( "The official website (full address). If it doesn't exist, leave " "blank." ) self.fields['platforms'].help_text = ( "Only select platforms expected to have an installer, " "not all platforms the game was released for. <br/>" "<strong class='obnoxious-warning'>Do not add Windows " "for games with a native version unless there is a very good reason to!" "</strong>" ) self.fields['genres'].help_text = "" self.fields['description'].help_text = ( "Copy the official description of the game if you can find " "it. Don't write your own. For old games, check Mobygame's Ad " "Blurbs, look for the English back cover text." ) self.fields['title_logo'].label = "Banner icon" self.fields['title_logo'].help_text = ( "The banner should include the full title in readable size (big). " "You'll be able to crop the uploaded image to the right format. " "The image will be converted to JPG (no transparency). " "If you can't make a good banner, don't worry. Somebody will " "eventually make a better one. Probably." ) fields_order = [ 'search', 'name', 'year', 'website', 'platforms', 'genres', 'description', 'title_logo' ] self.fields = OrderedDict((k, self.fields[k]) for k in fields_order) self.helper = FormHelper() self.helper.include_media = False self.helper.add_input(Submit('submit', "Submit"))
def test_tag_attrs_HeavySelect2Widget(self): widget = HeavySelect2Widget(data_url="/foo/bar/") output = widget.render("name", "value") assert 'data-minimum-input-length="2"' in output
def __init__(self, *args, **kwargs): kwargs.setdefault('widget', HeavySelect2Widget(data_view='shop:select-product')) super(ProductSelectField, self).__init__(*args, **kwargs)
class Meta: if use_select2: widgets = { 'problem': HeavySelect2Widget(data_view='problem_select2'), }
def test_data_url(self): with pytest.raises(ValueError): HeavySelect2Widget() widget = HeavySelect2Widget(data_url='/foo/bar') assert widget.get_url() == '/foo/bar'
def __init__(self, club_id, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['new_contact'] = forms.ModelChoiceField( queryset=Member.objects.filter(club_id=club_id)) self.fields['new_contact'].widget = HeavySelect2Widget( data_url='/clubs/api/' + str(club_id) + '/members/')
def __init__(self, data_url, attrs={}, **kwargs): widget = HeavySelect2Widget(data_url=data_url, attrs=attrs) super().__init__(widget=widget, **kwargs)
class Meta: if use_select2: widgets = { 'admins': HeavySelect2MultipleWidget(data_view='profile_select2'), 'registrant': HeavySelect2Widget(data_view='profile_select2'), }
class Meta: if use_select2: widgets = { 'contest': Select2Widget(), 'profile': HeavySelect2Widget(data_view='contest_profile_select2'), }
class AdminMemberTransferForm(forms.Form): member = forms.ModelChoiceField( queryset=Member.objects.all(), widget=HeavySelect2Widget(data_url='/clubs/api/members/')) new_club = forms.ModelChoiceField(queryset=Club.objects.all())
class Meta: if use_select2: widgets = { 'problem': HeavySelect2Widget(data_view='problem_select2', attrs={'style': 'width: 250px'}), }
class ProductSelectField(ModelChoiceField): widget = HeavySelect2Widget(data_view='shop:select-product') def __init__(self, *args, **kwargs): kwargs.setdefault('queryset', ProductModel.objects.all()) super().__init__(*args, **kwargs)
def test_tag_attrs_HeavySelect2Widget(self): widget = HeavySelect2Widget(data_url='/foo/bar/') output = widget.render('name', 'value') assert 'data-minimum-input-length="2"' in output
class SearchForm(forms.Form): city = forms.CharField(required=False, label='Search user by city', widget=HeavySelect2Widget(data_url='/city/'))
class Meta: if use_select2: widgets = { 'author': HeavySelect2Widget(data_view='profile_select2'), 'parent': HeavySelect2Widget(data_view='comment_select2'), }