class ProjectForm(forms.ModelForm): contact = ContactChoiceField(None, required=False) info = HtmlField(required=False) locales_readonly = forms.ModelMultipleChoiceField( queryset=Locale.objects.all(), required=False, ) class Meta: model = Project fields = ( "name", "slug", "locales", "data_source", "can_be_requested", "configuration_file", "url", "width", "links", "info", "admin_notes", "deadline", "priority", "contact", "disabled", "sync_disabled", "tags_enabled", "pretranslation_enabled", ) def __init__(self, *args, **kwargs): super(ProjectForm, self).__init__(*args, **kwargs) self.fields["contact"].queryset = User.objects.filter( groups__name="project_managers").order_by("email")
class ProjectForm(forms.ModelForm): contact = ContactChoiceField(None, required=False) info = HtmlField(required=False) class Meta: model = Project fields = ( 'name', 'slug', 'locales', 'data_source', 'can_be_requested', 'url', 'width', 'links', 'info', 'admin_notes', 'deadline', 'priority', 'contact', 'disabled', ) def __init__(self, *args, **kwargs): super(ProjectForm, self).__init__(*args, **kwargs) self.fields['contact'].queryset = ( User.objects.filter(groups__name='project_managers').order_by('email') )
class ProjectForm(forms.ModelForm): contact = ContactChoiceField(None, required=False) info = HtmlField(required=False) locales_readonly = forms.ModelMultipleChoiceField( queryset=Locale.objects.all(), required=False, ) locales = forms.ModelMultipleChoiceField( queryset=Locale.objects.all(), required=False, ) locales_pretranslate = forms.ModelMultipleChoiceField( queryset=Locale.objects.all(), required=False, ) def clean(self): cleaned_data = super().clean() locales_readonly = cleaned_data.get("locales_readonly") locales = cleaned_data.get("locales") if not (locales or locales_readonly): raise ValidationError("At least one locale must be selected.") class Meta: model = Project fields = ( "name", "slug", "locales", "data_source", "can_be_requested", "configuration_file", "url", "width", "links", "info", "admin_notes", "deadline", "priority", "contact", "disabled", "sync_disabled", "tags_enabled", "pretranslation_enabled", "visibility", ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["contact"].queryset = User.objects.filter( groups__name="project_managers" ).order_by("email")
class NotificationsForm(forms.Form): message = HtmlField() selected_locales = forms.CharField( validators=[validators.validate_comma_separated_integer_list] )