admin.py 976 B

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