class RelationshipAssociationFilterForm(BootstrapMixin, forms.Form): model = RelationshipAssociation relationship = DynamicModelMultipleChoiceField( queryset=Relationship.objects.all(), to_field_name="slug", required=False, ) source_type = MultipleContentTypeField( queryset=ContentType.objects.filter( FeatureQuery("relationships").get_query()).order_by( "app_label", "model"), required=False, label="Source Type", widget=StaticSelect2Multiple(), ) destination_type = MultipleContentTypeField( queryset=ContentType.objects.filter( FeatureQuery("relationships").get_query()).order_by( "app_label", "model"), required=False, label="Destination Type", widget=StaticSelect2Multiple(), )
class RelationshipFilterForm(BootstrapMixin, forms.Form): model = Relationship type = forms.MultipleChoiceField(choices=RelationshipTypeChoices, required=False, widget=StaticSelect2Multiple()) source_type = MultipleContentTypeField( feature="relationships", choices_as_strings=True, required=False, label="Source Type" ) destination_type = MultipleContentTypeField( feature="relationships", choices_as_strings=True, required=False, label="Destination Type" )
class CustomFieldForm(BootstrapMixin, forms.ModelForm): # TODO: Migrate custom field model from name to slug #464 # Once that's done we can set "name" as a proper (Auto)SlugField, # but for the moment, that field only works with fields specifically named "slug" description = forms.CharField( required=False, help_text= "Also used as the help text when editing models using this custom field.<br>" '<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet" target="_blank">' "Markdown</a> syntax is supported.", ) content_types = MultipleContentTypeField( feature="custom_fields", help_text="The object(s) to which this field applies.") class Meta: model = CustomField fields = ( "content_types", "type", "label", "name", "description", "required", "filter_logic", "default", "weight", "validation_minimum", "validation_maximum", "validation_regex", )
class RelationshipAssociationFilterForm(BootstrapMixin, forms.Form): model = RelationshipAssociation relationship = DynamicModelMultipleChoiceField( queryset=Relationship.objects.all(), to_field_name="slug", required=False, ) source_type = MultipleContentTypeField( feature="relationships", choices_as_strings=True, required=False, label="Source Type" ) destination_type = MultipleContentTypeField( feature="relationships", choices_as_strings=True, required=False, label="Destination Type" )
class StatusBulkEditForm(BootstrapMixin, CustomFieldBulkEditForm): """Bulk edit/delete form for `Status` objects.""" pk = forms.ModelMultipleChoiceField(queryset=Status.objects.all(), widget=forms.MultipleHiddenInput) color = forms.CharField(max_length=6, required=False, widget=ColorSelect()) content_types = MultipleContentTypeField(feature="statuses", required=False, label="Content Type(s)") class Meta: nullable_fields = []
class StatusFilterForm(BootstrapMixin, CustomFieldFilterForm): """Filtering/search form for `Status` objects.""" model = Status q = forms.CharField(required=False, label="Search") content_types = MultipleContentTypeField( feature="statuses", choices_as_strings=True, required=False, label="Content Type(s)" ) color = forms.CharField(max_length=6, required=False, widget=ColorSelect())
class StatusForm(BootstrapMixin, CustomFieldModelForm, RelationshipModelForm): """Generic create/update form for `Status` objects.""" slug = SlugField() content_types = MultipleContentTypeField(feature="statuses", label="Content Type(s)") class Meta: model = Status widgets = {"color": ColorSelect()} fields = ["name", "slug", "description", "content_types", "color"]
class WebhookFilterForm(BootstrapMixin, forms.Form): model = Webhook q = forms.CharField(required=False, label="Search") content_types = MultipleContentTypeField( feature="webhooks", choices_as_strings=True, required=False, label="Content Type(s)" ) type_create = forms.NullBooleanField(required=False, widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES)) type_update = forms.NullBooleanField(required=False, widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES)) type_delete = forms.NullBooleanField(required=False, widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES)) enabled = forms.NullBooleanField(required=False, widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES))
class StatusFilterForm(BootstrapMixin, CustomFieldFilterForm): """Filtering/search form for `Status` objects.""" model = Status q = forms.CharField(required=False, label="Search") content_types = MultipleContentTypeField( queryset=ContentType.objects.filter( FeatureQuery("statuses").get_query()).order_by( "app_label", "model"), required=False, label="Content type(s)", widget=StaticSelect2Multiple(), ) color = forms.CharField(max_length=6, required=False, widget=ColorSelect())
class RelationshipFilterForm(BootstrapMixin, forms.Form): model = Relationship type = forms.MultipleChoiceField(choices=RelationshipTypeChoices, required=False, widget=StaticSelect2Multiple()) source_type = MultipleContentTypeField( queryset=ContentType.objects.filter( FeatureQuery("relationships").get_query()).order_by( "app_label", "model"), required=False, label="Source Type", widget=StaticSelect2Multiple(), ) destination_type = MultipleContentTypeField( queryset=ContentType.objects.filter( FeatureQuery("relationships").get_query()).order_by( "app_label", "model"), required=False, label="Destination Type", widget=StaticSelect2Multiple(), )
class WebhookForm(BootstrapMixin, forms.ModelForm): content_types = MultipleContentTypeField(feature="webhooks", required=False, label="Content Type(s)") class Meta: model = Webhook fields = ( "name", "content_types", "enabled", "type_create", "type_update", "type_delete", "payload_url", "http_method", "http_content_type", "additional_headers", "body_template", "secret", "ssl_verification", "ca_file_path", )