admin.py 937 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.forums.forms import ForumsMultipleChoiceField
  5. from misago.threads.models import Prefix
  6. class PrefixForm(forms.ModelForm):
  7. name = forms.CharField(
  8. label=_("Prefix 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 prefix."))
  12. forums = ForumsMultipleChoiceField(
  13. label=_('Forums'), required=False,
  14. widget=forms.CheckboxSelectMultiple(),
  15. help_text=_('Select forums this prefix will be available in.'))
  16. class Meta:
  17. model = Prefix
  18. fields = ['name', 'css_class', 'forums']
  19. def clean_name(self):
  20. data = self.cleaned_data['name']
  21. self.instance.set_name(data)
  22. return data