fobi.contrib.apps.drf_integration package¶
Subpackages¶
- fobi.contrib.apps.drf_integration.form_elements package
- Subpackages
- fobi.contrib.apps.drf_integration.form_elements.content package
- Subpackages
- fobi.contrib.apps.drf_integration.form_elements.content.content_image package
- fobi.contrib.apps.drf_integration.form_elements.content.content_image_url package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.content.content_image_url.apps module
- fobi.contrib.apps.drf_integration.form_elements.content.content_image_url.base module
- fobi.contrib.apps.drf_integration.form_elements.content.content_image_url.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.content.content_markdown package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.content.content_markdown.apps module
- fobi.contrib.apps.drf_integration.form_elements.content.content_markdown.base module
- fobi.contrib.apps.drf_integration.form_elements.content.content_markdown.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.content.content_richtext package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.content.content_richtext.apps module
- fobi.contrib.apps.drf_integration.form_elements.content.content_richtext.base module
- fobi.contrib.apps.drf_integration.form_elements.content.content_richtext.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.content.content_text package
- fobi.contrib.apps.drf_integration.form_elements.content.content_video package
- Module contents
- Subpackages
- fobi.contrib.apps.drf_integration.form_elements.fields package
- Subpackages
- fobi.contrib.apps.drf_integration.form_elements.fields.boolean package
- fobi.contrib.apps.drf_integration.form_elements.fields.checkbox_select_multiple package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.fields.checkbox_select_multiple.apps module
- fobi.contrib.apps.drf_integration.form_elements.fields.checkbox_select_multiple.base module
- fobi.contrib.apps.drf_integration.form_elements.fields.checkbox_select_multiple.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.fields.date package
- fobi.contrib.apps.drf_integration.form_elements.fields.date_drop_down package
- fobi.contrib.apps.drf_integration.form_elements.fields.datetime package
- fobi.contrib.apps.drf_integration.form_elements.fields.decimal package
- fobi.contrib.apps.drf_integration.form_elements.fields.duration package
- fobi.contrib.apps.drf_integration.form_elements.fields.email package
- fobi.contrib.apps.drf_integration.form_elements.fields.file package
- fobi.contrib.apps.drf_integration.form_elements.fields.float package
- fobi.contrib.apps.drf_integration.form_elements.fields.hidden package
- fobi.contrib.apps.drf_integration.form_elements.fields.input package
- fobi.contrib.apps.drf_integration.form_elements.fields.integer package
- fobi.contrib.apps.drf_integration.form_elements.fields.ip_address package
- fobi.contrib.apps.drf_integration.form_elements.fields.null_boolean package
- fobi.contrib.apps.drf_integration.form_elements.fields.password package
- fobi.contrib.apps.drf_integration.form_elements.fields.radio package
- fobi.contrib.apps.drf_integration.form_elements.fields.range_select package
- fobi.contrib.apps.drf_integration.form_elements.fields.regex package
- fobi.contrib.apps.drf_integration.form_elements.fields.select package
- fobi.contrib.apps.drf_integration.form_elements.fields.select_model_object package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.fields.select_model_object.apps module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_model_object.base module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_model_object.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple.apps module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple.base module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_model_objects package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_model_objects.apps module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_model_objects.base module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_model_objects.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_with_max package
- Submodules
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_with_max.apps module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_with_max.base module
- fobi.contrib.apps.drf_integration.form_elements.fields.select_multiple_with_max.fobi_integration_form_elements module
- Module contents
- fobi.contrib.apps.drf_integration.form_elements.fields.slider package
- fobi.contrib.apps.drf_integration.form_elements.fields.slug package
- fobi.contrib.apps.drf_integration.form_elements.fields.text package
- fobi.contrib.apps.drf_integration.form_elements.fields.textarea package
- fobi.contrib.apps.drf_integration.form_elements.fields.time package
- fobi.contrib.apps.drf_integration.form_elements.fields.url package
- Module contents
- Subpackages
- fobi.contrib.apps.drf_integration.form_elements.content package
- Module contents
- Subpackages
- fobi.contrib.apps.drf_integration.form_handlers package
Submodules¶
fobi.contrib.apps.drf_integration.apps module¶
fobi.contrib.apps.drf_integration.base module¶
-
class
fobi.contrib.apps.drf_integration.base.
DRFIntegrationFormElementPluginProcessor
(*args, **kwargs)[source]¶ Bases:
fobi.base.IntegrationFormElementPluginProcessor
Django REST framework field instance processor.
-
class
fobi.contrib.apps.drf_integration.base.
DRFSubmitPluginFormDataMixin
[source]¶ Bases:
object
Submit plugin form data mixin.
-
submit_plugin_form_data
(form_element_plugin, form_entry, request, serializer, form_element_entries=None, **kwargs)[source]¶ Submit plugin form data.
Called on form submission (when user actually posts the data to assembled form).
Parameters: - form_element_plugin –
- form_entry (fobi.models.FormEntry) – Instance of
fobi.models.FormEntry
. - request (django.http.HttpRequest) –
- serializer (rest_framework.serializers.Serializer) –
- form_element_entries (iterable) –
-
-
fobi.contrib.apps.drf_integration.base.
get_cleaned_data
(serializer, keys_to_remove=[], values_to_remove=[])[source]¶ Get cleaned data.
Gets cleaned data, having the trash (fields without values) filtered out.
Parameters: - serializer –
- keys_to_remove (iterable) –
- values_to_remove (iterable) –
Return dict:
-
fobi.contrib.apps.drf_integration.base.
get_field_name_to_label_map
(serializer, keys_to_remove=[], values_to_remove=[])[source]¶ Get field name to label map.
Parameters: - serializer –
- keys_to_remove (iterable) –
- values_to_remove (iterable) –
Return dict:
-
fobi.contrib.apps.drf_integration.base.
get_processed_serializer_data
(serializer, form_element_entries)[source]¶ Gets processed serializer data.
Simply fires both
fobi.base.get_cleaned_data
andfobi.base.get_field_name_to_label_map
functions and returns the result.Parameters: - serializer –
- form_element_entries (iterable) – Iterable of form element entries.
Return tuple:
-
fobi.contrib.apps.drf_integration.base.
run_form_handlers
(form_entry, request, serializer, form_element_entries=None)[source]¶ Run form handlers.
Parameters: - form_entry (fobi.models.FormEntry) –
- request (django.http.HttpRequest) –
- serializer (rest_framework.serializers.Serializer) –
- form_element_entries (iterable) –
Return tuple: List of success responses, list of error responses
-
fobi.contrib.apps.drf_integration.base.
submit_plugin_form_data
(form_entry, request, serializer, form_element_entries=None, **kwargs)[source]¶ Submit plugin form data for all plugins.
Parameters: - form_entry (fobi.models.FormEntry) – Instance of
fobi.models.FormEntry
. - request (django.http.HttpRequest) –
- serializer (rest_framework.serializers.Serializer) –
- form_element_entries (iterable) –
- form_entry (fobi.models.FormEntry) – Instance of
fobi.contrib.apps.drf_integration.dynamic module¶
-
fobi.contrib.apps.drf_integration.dynamic.
assemble_serializer_class
(form_entry, request=None, origin=None, origin_kwargs_update_func=None, origin_return_func=None, form_element_entries=None, has_value=None, declared_fields=None, declared_fields_metadata=None)[source]¶ Assemble a serializer class by given entry.
Parameters: - form_entry –
- base_class –
- request (django.http.HttpRequest) –
- origin (string) –
- origin_kwargs_update_func (callable) –
- origin_return_func (callable) –
- form_element_entries (iterable) – If given, used instead of
form_entry.formelemententry_set.all
(no additional database hit). - has_value (bool) –
fobi.contrib.apps.drf_integration.fields module¶
-
class
fobi.contrib.apps.drf_integration.fields.
ContentImageField
(**kwargs)[source]¶ Bases:
fobi.contrib.apps.drf_integration.fields.NoneField
Content image field.
-
class
fobi.contrib.apps.drf_integration.fields.
ContentMarkdownField
(**kwargs)[source]¶ Bases:
fobi.contrib.apps.drf_integration.fields.NoneField
Content markdown field.
-
class
fobi.contrib.apps.drf_integration.fields.
ContentRichTextField
(**kwargs)[source]¶ Bases:
fobi.contrib.apps.drf_integration.fields.NoneField
Content rich text field.
-
class
fobi.contrib.apps.drf_integration.fields.
ContentTextField
(**kwargs)[source]¶ Bases:
fobi.contrib.apps.drf_integration.fields.NoneField
Content text field.
-
class
fobi.contrib.apps.drf_integration.fields.
ContentVideoField
(**kwargs)[source]¶ Bases:
fobi.contrib.apps.drf_integration.fields.NoneField
Content video field.
-
class
fobi.contrib.apps.drf_integration.fields.
ModelChoiceField
(*args, **kwargs)[source]¶ Bases:
rest_framework.fields.ChoiceField
,fobi.contrib.apps.drf_integration.fields.ModelChoiceFieldMixin
Model choice field.
-
class
fobi.contrib.apps.drf_integration.fields.
ModelMultipleChoiceField
(*args, **kwargs)[source]¶ Bases:
rest_framework.fields.MultipleChoiceField
,fobi.contrib.apps.drf_integration.fields.ModelChoiceFieldMixin
Model choice field.
-
class
fobi.contrib.apps.drf_integration.fields.
MultipleChoiceWithMaxField
(*args, **kwargs)[source]¶ Bases:
rest_framework.fields.MultipleChoiceField
MultipleChoiceWithMaxField.
-
default_error_messages
= {'empty': <django.utils.functional.lazy.<locals>.__proxy__ object>, 'invalid_choice': <django.utils.functional.lazy.<locals>.__proxy__ object>, 'max_choices': <django.utils.functional.lazy.<locals>.__proxy__ object>, 'not_a_list': <django.utils.functional.lazy.<locals>.__proxy__ object>}¶
-
-
class
fobi.contrib.apps.drf_integration.fields.
NoneField
(**kwargs)[source]¶ Bases:
rest_framework.fields.Field
NoneField.
-
default_empty_html
= ''¶
-
default_error_messages
= {}¶
-
initial
= ''¶
-
fobi.contrib.apps.drf_integration.helpers module¶
fobi.contrib.apps.drf_integration.metadata module¶
-
class
fobi.contrib.apps.drf_integration.metadata.
FobiMetaData
[source]¶ Bases:
rest_framework.metadata.SimpleMetadata
Meta data for better representation of the form elements.
-
get_field_info
(field)[source]¶ Get field info.
Given an instance of a serializer field, return a dictionary of metadata about it.
-
label_lookup
= <rest_framework.utils.field_mapping.ClassLookupDict object>¶
-
fobi.contrib.apps.drf_integration.serializers module¶
-
class
fobi.contrib.apps.drf_integration.serializers.
FormEntrySerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
FormEntry serializer (read-only).
Used for detail and list views.
fobi.contrib.apps.drf_integration.urls module¶
fobi.contrib.apps.drf_integration.utils module¶
-
fobi.contrib.apps.drf_integration.utils.
get_serializer_class
(form_entry, request=None, has_value=None, declared_fields=None)[source]¶ Get assembled serializer class.
Parameters: - form_entry (fobi.models.FormEntry) –
- request (django.http.HttpRequest) –
- has_value (bool) –
- declared_fields (list) –
Return django.forms.Form:
fobi.contrib.apps.drf_integration.views module¶
-
class
fobi.contrib.apps.drf_integration.views.
FobiFormEntryViewSet
(**kwargs)[source]¶ Bases:
rest_framework.mixins.RetrieveModelMixin
,rest_framework.mixins.UpdateModelMixin
,rest_framework.mixins.ListModelMixin
,rest_framework.viewsets.GenericViewSet
FormEntry view set.
-
get_queryset
()[source]¶ Get queryset.
We show all forms to authenticated users and show only public forms to non-authenticated users.
-
lookup_field
= 'slug'¶
-
lookup_url_kwarg
= 'slug'¶
-
metadata_class
¶ alias of
fobi.contrib.apps.drf_integration.metadata.FobiMetaData
-
permission_classes
= [<class 'rest_framework.permissions.AllowAny'>]¶
-
queryset
¶
-
suffix
= None¶
-