admin.py 985 B

12345678910111213141516171819202122232425262728
  1. from django.utils.translation import ugettext_lazy as _
  2. from misago.core import forms
  3. from misago.core.validators import validate_sluggable
  4. from misago.categories.forms import AdminCategoryMultipleChoiceField
  5. from misago.threads.models import Label
  6. class LabelForm(forms.ModelForm):
  7. name = forms.CharField(
  8. label=_("Label name"), validators=[validate_sluggable()])
  9. css_class = forms.CharField(
  10. label=_("CSS class"), required=False,
  11. help_text=_("Optional CSS clas used to style this label."))
  12. categories = AdminCategoryMultipleChoiceField(
  13. label=_('Categories'), required=False, include_root=False,
  14. widget=forms.CheckboxSelectMultiple(),
  15. help_text=_('Select categories this label will be available in.'))
  16. class Meta:
  17. model = Label
  18. fields = ['name', 'css_class', 'categories']
  19. def clean_name(self):
  20. data = self.cleaned_data['name']
  21. self.instance.set_name(data)
  22. return data