Exemple #1
0
def create_checkbox(setting, kwargs, extra):
    kwargs['widget'] = forms.CheckboxSelectMultiple()
    kwargs['choices'] = extra.get('choices', [])

    if extra.get('min') or extra.get('max'):
        kwargs['validators'] = [
            ValidateChoicesNum(extra.pop('min', 0), extra.pop('max', 0))
        ]

    if setting.python_type == 'int':
        return forms.TypedMultipleChoiceField(coerce='int', **kwargs)
    else:
        return forms.MultipleChoiceField(**kwargs)
Exemple #2
0
class LabelForm(forms.ModelForm):
    name = forms.CharField(label=_("Label name"),
                           validators=[validate_sluggable()])
    css_class = forms.CharField(
        label=_("CSS class"),
        required=False,
        help_text=_("Optional CSS clas used to style this label."))
    forums = AdminForumMultipleChoiceField(
        label=_('Forums'),
        required=False,
        widget=forms.CheckboxSelectMultiple(),
        help_text=_('Select forums this label will be available in.'))

    class Meta:
        model = Label
        fields = ['name', 'css_class', 'forums']

    def clean_name(self):
        data = self.cleaned_data['name']
        self.instance.set_name(data)
        return data