onadata.apps.api package¶
Subpackages¶
- onadata.apps.api.management package
- Subpackages
- onadata.apps.api.management.commands package
- Submodules
- onadata.apps.api.management.commands.apply_can_add_project_perms module
- onadata.apps.api.management.commands.assign_team_member_permission module
- onadata.apps.api.management.commands.cleanup_permissions module
- onadata.apps.api.management.commands.create_default_project module
- onadata.apps.api.management.commands.create_user_profiles module
- onadata.apps.api.management.commands.delete_users module
- onadata.apps.api.management.commands.fix_readonly_role_perms module
- onadata.apps.api.management.commands.increase_odk_token_lifetime module
- onadata.apps.api.management.commands.migrate_group_permissions module
- onadata.apps.api.management.commands.migrate_permissions module
- onadata.apps.api.management.commands.reassign_permission module
- onadata.apps.api.management.commands.regenerate_auth_tokens module
- onadata.apps.api.management.commands.reset_rest_services module
- onadata.apps.api.management.commands.retrieve_org_or_project_list module
- onadata.apps.api.management.commands.set_api_permissions module
- Module contents
- onadata.apps.api.management.commands package
- Module contents
- Subpackages
- onadata.apps.api.migrations package
- Submodules
- onadata.apps.api.migrations.0001_initial module
- onadata.apps.api.migrations.0002_auto_20151014_0909 module
- onadata.apps.api.migrations.0003_auto_20180425_0754 module
- onadata.apps.api.migrations.0004_auto_20190125_0517 module
- onadata.apps.api.migrations.0005_auto_20191018_0735 module
- onadata.apps.api.migrations.0006_auto_20191025_0730 module
- onadata.apps.api.migrations.0007_odktoken_expires module
- Module contents
- onadata.apps.api.models package
- Submodules
- onadata.apps.api.models.odk_token module
ODKToken
ODKToken.ACTIVE
ODKToken.DoesNotExist
ODKToken.INACTIVE
ODKToken.MultipleObjectsReturned
ODKToken.STATUS_CHOICES
ODKToken.check_key()
ODKToken.created
ODKToken.expires
ODKToken.generate_key()
ODKToken.get_next_by_created()
ODKToken.get_previous_by_created()
ODKToken.get_status_display()
ODKToken.key
ODKToken.objects
ODKToken.raw_key
ODKToken.save()
ODKToken.status
ODKToken.user
ODKToken.user_id
- onadata.apps.api.models.organization_profile module
OrgProfileGroupObjectPermission
OrgProfileGroupObjectPermission.DoesNotExist
OrgProfileGroupObjectPermission.MultipleObjectsReturned
OrgProfileGroupObjectPermission.content_object
OrgProfileGroupObjectPermission.content_object_id
OrgProfileGroupObjectPermission.group
OrgProfileGroupObjectPermission.group_id
OrgProfileGroupObjectPermission.id
OrgProfileGroupObjectPermission.permission
OrgProfileGroupObjectPermission.permission_id
OrgProfileUserObjectPermission
OrgProfileUserObjectPermission.DoesNotExist
OrgProfileUserObjectPermission.MultipleObjectsReturned
OrgProfileUserObjectPermission.content_object
OrgProfileUserObjectPermission.content_object_id
OrgProfileUserObjectPermission.id
OrgProfileUserObjectPermission.permission
OrgProfileUserObjectPermission.permission_id
OrgProfileUserObjectPermission.user
OrgProfileUserObjectPermission.user_id
OrganizationProfile
OrganizationProfile.DoesNotExist
OrganizationProfile.MultipleObjectsReturned
OrganizationProfile.creator
OrganizationProfile.creator_id
OrganizationProfile.email
OrganizationProfile.is_organization
OrganizationProfile.is_organization_owner()
OrganizationProfile.orgprofilegroupobjectpermission_set
OrganizationProfile.orgprofileuserobjectpermission_set
OrganizationProfile.remove_user_from_organization()
OrganizationProfile.save()
OrganizationProfile.userprofile_ptr
OrganizationProfile.userprofile_ptr_id
add_user_to_team()
create_organization_team()
create_owner_team_and_assign_permissions()
get_or_create_organization_owners_team()
get_organization_members_team()
org_profile_post_delete_callback()
- onadata.apps.api.models.team module
- onadata.apps.api.models.temp_token module
- Module contents
- onadata.apps.api.tests package
- Subpackages
- onadata.apps.api.tests.management package
- onadata.apps.api.tests.models package
- Submodules
- onadata.apps.api.tests.models.test_abstract_models module
- onadata.apps.api.tests.models.test_odk_token module
- onadata.apps.api.tests.models.test_organization_profile module
- onadata.apps.api.tests.models.test_project module
- onadata.apps.api.tests.models.test_team module
- onadata.apps.api.tests.models.test_temp_token module
- Module contents
- onadata.apps.api.tests.permissions package
- onadata.apps.api.tests.views package
- onadata.apps.api.tests.viewsets package
- Submodules
- onadata.apps.api.tests.viewsets.test_abstract_viewset module
- onadata.apps.api.tests.viewsets.test_attachment_viewset module
- onadata.apps.api.tests.viewsets.test_briefcase_viewset module
- onadata.apps.api.tests.viewsets.test_charts_viewset module
- onadata.apps.api.tests.viewsets.test_connect_viewset module
- onadata.apps.api.tests.viewsets.test_data_viewset module
- onadata.apps.api.tests.viewsets.test_dataview_viewset module
- onadata.apps.api.tests.viewsets.test_entity_list_viewset module
- onadata.apps.api.tests.viewsets.test_export_viewset module
- onadata.apps.api.tests.viewsets.test_floip_viewset module
- onadata.apps.api.tests.viewsets.test_legacy_exports module
- onadata.apps.api.tests.viewsets.test_media_viewset module
- onadata.apps.api.tests.viewsets.test_merged_xform_viewset module
- onadata.apps.api.tests.viewsets.test_messaging_stats_viewset module
- onadata.apps.api.tests.viewsets.test_metadata_viewset module
- onadata.apps.api.tests.viewsets.test_note_viewset module
- onadata.apps.api.tests.viewsets.test_ona_api module
- onadata.apps.api.tests.viewsets.test_open_data_viewset module
- onadata.apps.api.tests.viewsets.test_organization_profile_viewset module
- onadata.apps.api.tests.viewsets.test_osm_viewset module
- onadata.apps.api.tests.viewsets.test_project_viewset module
- onadata.apps.api.tests.viewsets.test_stats_viewset module
- onadata.apps.api.tests.viewsets.test_submission_review_viewset module
- onadata.apps.api.tests.viewsets.test_tableau_viewset module
- onadata.apps.api.tests.viewsets.test_team_viewset module
- onadata.apps.api.tests.viewsets.test_user_profile_viewset module
- onadata.apps.api.tests.viewsets.test_user_viewset module
- onadata.apps.api.tests.viewsets.test_widget_viewset module
- onadata.apps.api.tests.viewsets.test_xform_list_viewset module
- onadata.apps.api.tests.viewsets.test_xform_submission_viewset module
- onadata.apps.api.tests.viewsets.test_xform_viewset module
- Module contents
- Submodules
- onadata.apps.api.tests.mocked_data module
- onadata.apps.api.tests.test_tasks module
DeleteXFormSubmissionsAsyncTestCase
DeleteXFormSubmissionsAsyncTestCase.setUp()
DeleteXFormSubmissionsAsyncTestCase.test_connection_error()
DeleteXFormSubmissionsAsyncTestCase.test_database_error()
DeleteXFormSubmissionsAsyncTestCase.test_delete()
DeleteXFormSubmissionsAsyncTestCase.test_user_id_invalid()
DeleteXFormSubmissionsAsyncTestCase.test_xform_id_invalid()
RegenerateFormInstanceJsonTestCase
SendProjectInivtationEmailAsyncTestCase
ShareProjectAsyncTestCase
ShareProjectAsyncTestCase.setUp()
ShareProjectAsyncTestCase.test_connection_error()
ShareProjectAsyncTestCase.test_database_error()
ShareProjectAsyncTestCase.test_invalid_project_id()
ShareProjectAsyncTestCase.test_operation_error()
ShareProjectAsyncTestCase.test_remove()
ShareProjectAsyncTestCase.test_share()
set_cache_for_org()
- onadata.apps.api.tests.test_tools module
- Module contents
- Subpackages
- onadata.apps.api.urls package
- onadata.apps.api.viewsets package
- Subpackages
- Submodules
- onadata.apps.api.viewsets.attachment_viewset module
AttachmentViewSet
AttachmentViewSet.content_negotiation_class
AttachmentViewSet.count()
AttachmentViewSet.filter_backends
AttachmentViewSet.list()
AttachmentViewSet.lookup_field
AttachmentViewSet.pagination_class
AttachmentViewSet.permission_classes
AttachmentViewSet.queryset
AttachmentViewSet.renderer_classes
AttachmentViewSet.retrieve()
AttachmentViewSet.serializer_class
get_attachment_data()
- onadata.apps.api.viewsets.briefcase_viewset module
BriefcaseViewset
BriefcaseViewset.authentication_classes
BriefcaseViewset.create()
BriefcaseViewset.filter_backends
BriefcaseViewset.filter_queryset()
BriefcaseViewset.get_object()
BriefcaseViewset.list()
BriefcaseViewset.manifest()
BriefcaseViewset.media()
BriefcaseViewset.permission_classes
BriefcaseViewset.queryset
BriefcaseViewset.renderer_classes
BriefcaseViewset.retrieve()
BriefcaseViewset.serializer_class
BriefcaseViewset.template_name
- onadata.apps.api.viewsets.charts_viewset module
- onadata.apps.api.viewsets.connect_viewset module
ConnectViewSet
ConnectViewSet.create()
ConnectViewSet.expire()
ConnectViewSet.list()
ConnectViewSet.lookup_field
ConnectViewSet.odk_token()
ConnectViewSet.permission_classes
ConnectViewSet.queryset
ConnectViewSet.regenerate_auth_token()
ConnectViewSet.reset()
ConnectViewSet.serializer_class
ConnectViewSet.starred()
user_profile_w_token_response()
- onadata.apps.api.viewsets.data_viewset module
AuthenticatedDataViewSet
DataViewSet
DataViewSet.data_count
DataViewSet.destroy()
DataViewSet.enketo()
DataViewSet.extra_lookup_fields
DataViewSet.filter_backends
DataViewSet.filter_queryset()
DataViewSet.get_object()
DataViewSet.get_serializer_class()
DataViewSet.history()
DataViewSet.labels()
DataViewSet.list()
DataViewSet.lookup_field
DataViewSet.lookup_fields
DataViewSet.paginate_queryset()
DataViewSet.pagination_class
DataViewSet.permission_classes
DataViewSet.public_data_endpoint
DataViewSet.queryset
DataViewSet.renderer_classes
DataViewSet.retrieve()
DataViewSet.serializer_class
DataViewSet.set_object_list()
delete_instance()
get_data_and_form()
- onadata.apps.api.viewsets.dataview_viewset module
DataViewViewSet
DataViewViewSet.charts()
DataViewViewSet.data()
DataViewViewSet.destroy()
DataViewViewSet.export_async()
DataViewViewSet.form()
DataViewViewSet.form_details()
DataViewViewSet.get_serializer_class()
DataViewViewSet.list()
DataViewViewSet.lookup_field
DataViewViewSet.pagination_class
DataViewViewSet.permission_classes
DataViewViewSet.queryset
DataViewViewSet.renderer_classes
DataViewViewSet.serializer_class
DataViewViewSet.xlsx_export()
apply_filters()
dataview_post_delete_callback()
dataview_post_save_callback()
filter_to_field_lookup()
get_dataview_instances()
get_field_lookup()
get_filter_kwargs()
get_form_field_chart_url()
- onadata.apps.api.viewsets.entity_list_viewset module
EntityListViewSet
EntityListViewSet.create()
EntityListViewSet.download()
EntityListViewSet.entities()
EntityListViewSet.entities_search_fields
EntityListViewSet.filter_backends
EntityListViewSet.get_serializer_class()
EntityListViewSet.get_serializer_context()
EntityListViewSet.pagination_class
EntityListViewSet.perform_destroy()
EntityListViewSet.permission_classes
EntityListViewSet.queryset
EntityListViewSet.retrieve()
EntityListViewSet.serializer_class
- onadata.apps.api.viewsets.export_viewset module
- onadata.apps.api.viewsets.floip_viewset module
FloipViewSet
FloipViewSet.filter_backends
FloipViewSet.get_object()
FloipViewSet.get_serializer_class()
FloipViewSet.get_success_headers()
FloipViewSet.lookup_field
FloipViewSet.pagination_class
FloipViewSet.parser_classes
FloipViewSet.permission_classes
FloipViewSet.queryset
FloipViewSet.renderer_classes
FloipViewSet.responses()
FloipViewSet.serializer_class
FlowResultsJSONRenderer
- onadata.apps.api.viewsets.media_viewset module
- onadata.apps.api.viewsets.merged_xform_viewset module
MergedXFormViewSet
MergedXFormViewSet.data()
MergedXFormViewSet.filter_backends
MergedXFormViewSet.form()
MergedXFormViewSet.get_serializer_class()
MergedXFormViewSet.list()
MergedXFormViewSet.pagination_class
MergedXFormViewSet.permission_classes
MergedXFormViewSet.queryset
MergedXFormViewSet.renderer_classes
MergedXFormViewSet.serializer_class
- onadata.apps.api.viewsets.messaging_stats_viewset module
- onadata.apps.api.viewsets.metadata_viewset module
- onadata.apps.api.viewsets.note_viewset module
- onadata.apps.api.viewsets.open_data_viewset module
OpenDataViewSet
OpenDataViewSet.MAX_INSTANCES_PER_REQUEST
OpenDataViewSet.data()
OpenDataViewSet.destroy()
OpenDataViewSet.flatten_xform_columns()
OpenDataViewSet.flattened_dict
OpenDataViewSet.get_streaming_response()
OpenDataViewSet.get_tableau_column_headers()
OpenDataViewSet.get_tableau_type()
OpenDataViewSet.lookup_field
OpenDataViewSet.pagination_class
OpenDataViewSet.permission_classes
OpenDataViewSet.queryset
OpenDataViewSet.schema()
OpenDataViewSet.serializer_class
OpenDataViewSet.uuid()
process_tableau_data()
replace_special_characters_with_underscores()
- onadata.apps.api.viewsets.organization_profile_viewset module
OrganizationProfileViewSet
OrganizationProfileViewSet.create()
OrganizationProfileViewSet.destroy()
OrganizationProfileViewSet.filter_backends
OrganizationProfileViewSet.lookup_field
OrganizationProfileViewSet.members()
OrganizationProfileViewSet.permission_classes
OrganizationProfileViewSet.queryset
OrganizationProfileViewSet.retrieve()
OrganizationProfileViewSet.serializer_class
OrganizationProfileViewSet.update()
serializer_from_settings()
- onadata.apps.api.viewsets.osm_viewset module
OsmViewSet
OsmViewSet.extra_lookup_fields
OsmViewSet.filter_queryset()
OsmViewSet.get_object()
OsmViewSet.get_serializer_class()
OsmViewSet.list()
OsmViewSet.lookup_field
OsmViewSet.lookup_fields
OsmViewSet.permission_classes
OsmViewSet.public_data_endpoint
OsmViewSet.queryset
OsmViewSet.renderer_classes
OsmViewSet.retrieve()
OsmViewSet.serializer_class
- onadata.apps.api.viewsets.project_viewset module
ProjectViewSet
ProjectViewSet.destroy()
ProjectViewSet.extra_lookup_fields
ProjectViewSet.filter_backends
ProjectViewSet.forms()
ProjectViewSet.get_queryset()
ProjectViewSet.get_serializer_class()
ProjectViewSet.invitations()
ProjectViewSet.list()
ProjectViewSet.lookup_field
ProjectViewSet.pagination_class
ProjectViewSet.permission_classes
ProjectViewSet.queryset
ProjectViewSet.resend_invitation()
ProjectViewSet.retrieve()
ProjectViewSet.revoke_invitation()
ProjectViewSet.serializer_class
ProjectViewSet.share()
ProjectViewSet.star()
ProjectViewSet.update()
- onadata.apps.api.viewsets.stats_viewset module
- onadata.apps.api.viewsets.submission_review_viewset module
- onadata.apps.api.viewsets.submissionstats_viewset module
- onadata.apps.api.viewsets.team_viewset module
- onadata.apps.api.viewsets.user_profile_viewset module
UserProfileViewSet
UserProfileViewSet.change_password()
UserProfileViewSet.create()
UserProfileViewSet.filter_backends
UserProfileViewSet.get_object()
UserProfileViewSet.lookup_field
UserProfileViewSet.monthly_submissions()
UserProfileViewSet.ordering
UserProfileViewSet.partial_update()
UserProfileViewSet.permission_classes
UserProfileViewSet.queryset
UserProfileViewSet.retrieve()
UserProfileViewSet.send_verification_email()
UserProfileViewSet.serializer_class
UserProfileViewSet.update()
UserProfileViewSet.verify_email()
change_password_attempts()
check_if_key_exists()
check_user_lockout()
replace_key_value()
serializer_from_settings()
set_is_email_verified()
- onadata.apps.api.viewsets.user_viewset module
- onadata.apps.api.viewsets.widget_viewset module
- onadata.apps.api.viewsets.xform_list_viewset module
PreviewXFormListViewSet
XFormListViewSet
XFormListViewSet.authentication_classes
XFormListViewSet.content_negotiation_class
XFormListViewSet.filter_backends
XFormListViewSet.filter_queryset()
XFormListViewSet.filterset_class
XFormListViewSet.get_object()
XFormListViewSet.get_serializer()
XFormListViewSet.get_serializer_class()
XFormListViewSet.list()
XFormListViewSet.manifest()
XFormListViewSet.media()
XFormListViewSet.permission_classes
XFormListViewSet.queryset
XFormListViewSet.renderer_classes
XFormListViewSet.retrieve()
XFormListViewSet.serializer_class
XFormListViewSet.template_name
XFormListViewSet.throttle_scope
- onadata.apps.api.viewsets.xform_submission_viewset module
FLOIPParser
XFormSubmissionViewSet
XFormSubmissionViewSet.authentication_classes
XFormSubmissionViewSet.create()
XFormSubmissionViewSet.filter_backends
XFormSubmissionViewSet.get_serializer()
XFormSubmissionViewSet.get_serializer_class()
XFormSubmissionViewSet.handle_exception()
XFormSubmissionViewSet.model
XFormSubmissionViewSet.parser_classes
XFormSubmissionViewSet.permission_classes
XFormSubmissionViewSet.renderer_classes
XFormSubmissionViewSet.serializer_class
XFormSubmissionViewSet.template_name
XFormSubmissionViewSet.throttle_scope
- onadata.apps.api.viewsets.xform_viewset module
XFormViewSet
XFormViewSet.clone()
XFormViewSet.create()
XFormViewSet.create_async()
XFormViewSet.csv_import()
XFormViewSet.data_import()
XFormViewSet.delete_async()
XFormViewSet.destroy()
XFormViewSet.enketo()
XFormViewSet.export_async()
XFormViewSet.extra_lookup_fields
XFormViewSet.filter_backends
XFormViewSet.filterset_fields
XFormViewSet.form()
XFormViewSet.get_serializer_class()
XFormViewSet.list()
XFormViewSet.login()
XFormViewSet.lookup_field
XFormViewSet.pagination_class
XFormViewSet.partial_update()
XFormViewSet.permission_classes
XFormViewSet.public_forms_endpoint
XFormViewSet.queryset
XFormViewSet.renderer_classes
XFormViewSet.retrieve()
XFormViewSet.serializer_class
XFormViewSet.share()
XFormViewSet.survey_preview()
XFormViewSet.updatable_fields
XFormViewSet.versions()
get_survey_dict()
get_survey_xml()
parse_webform_return_url()
result_has_error()
upload_to_survey_draft()
value_for_type()
- Module contents
Submodules¶
onadata.apps.api.admin module¶
API Django admin amendments.
- class onadata.apps.api.admin.FilterSuperuserMixin¶
Bases:
object
Filter by request user and give full access to superuser.
- get_queryset(request)¶
Filter by request.user unless is_superuser.
- class onadata.apps.api.admin.OrganizationProfileAdmin(model, admin_site)¶
Bases:
FilterSuperuserMixin
,ModelAdmin
Filter by request.user unless is_superuser.
- property media¶
- class onadata.apps.api.admin.TeamAdmin(model, admin_site)¶
Bases:
FilterSuperuserMixin
,ModelAdmin
Filter by request.user unless is_superuser.
- property media¶
- class onadata.apps.api.admin.TempTokenProfileAdmin(model, admin_site)¶
Bases:
FilterSuperuserMixin
,ModelAdmin
Filter by request.user unless is_superuser.
- property media¶
onadata.apps.api.permissions module¶
API permissions module.
- class onadata.apps.api.permissions.AbstractHasPermissionMixin¶
Bases:
object
Checks that the requesting user has permissions to access each of the models in the model_classes instance variable.
- has_permission(request, view)¶
Check request.user is authenticated and the user has permissions.
- class onadata.apps.api.permissions.AlternateHasObjectPermissionMixin¶
Bases:
object
AlternateHasObjectPermissionMixin - checks if user has read permissions.
- class onadata.apps.api.permissions.AttachmentObjectPermissions¶
Bases:
AlternateHasObjectPermissionMixin
,DjangoObjectPermissions
Attachment ObjectPermissions - apply XForm model options.
- authenticated_users_only = False¶
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.ConnectViewsetPermissions¶
Bases:
IsAuthenticated
ConnectViewsetPermissions - allows reset passwords to all users.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.DataViewViewsetPermissions¶
Bases:
AlternateHasObjectPermissionMixin
,ViewDjangoObjectPermissions
,AbstractHasPermissionMixin
,DjangoObjectPermissions
DataView ViewSetPermissions - applies projet permissions to a filtered dataset.
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- has_permission(request, view)¶
Check request.user is authenticated and the user has permissions.
- model_classes = [<class 'onadata.apps.logger.models.project.Project'>]¶
- class onadata.apps.api.permissions.DjangoObjectPermissionsAllowAnon¶
Bases:
DjangoObjectPermissions
DjangoObjectPermissionsAllowAnon - allow anonymous access permission.
- authenticated_users_only = False¶
- class onadata.apps.api.permissions.DjangoObjectPermissionsIgnoreModelPerm¶
Bases:
DjangoObjectPermissions
Similar to DjangoModelPermissions, except that model permissions are ignored.
- has_permission(request, view)¶
Override has_permission method
- class onadata.apps.api.permissions.ExportDjangoObjectPermission¶
Bases:
AlternateHasObjectPermissionMixin
,ViewDjangoObjectPermissions
Export DjangoObjectPermission - checks XForm permissions for export permissions.
- authenticated_users_only = False¶
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- perms_map = {'DELETE': ['logger.delete_xform'], 'GET': ['logger.view_xform'], 'HEAD': [], 'OPTIONS': [], 'PATCH': ['logger.change_xform'], 'POST': ['logger.add_xform'], 'PUT': ['logger.change_xform']}¶
- class onadata.apps.api.permissions.HasMetadataPermissionMixin¶
Bases:
AbstractHasPermissionMixin
Use the Project, XForm, or both model classes to check permissions based on the request data keys.
- has_permission(request, view)¶
Check request.user is authenticated and the user has permissions.
- class onadata.apps.api.permissions.IsAuthenticatedSubmission¶
Bases:
BasePermission
IsAuthenticatedSubmission - checks if profile requires authentication during a submission request.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.MetaDataObjectPermissions¶
Bases:
AlternateHasObjectPermissionMixin
,HasMetadataPermissionMixin
,DjangoObjectPermissions
MetaData ObjectPermissions - apply Xform permision for given response.
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.OpenDataViewSetPermissions¶
Bases:
IsAuthenticated
,AlternateHasObjectPermissionMixin
,DjangoObjectPermissionsAllowAnon
OpenDataViewSetPermissions - allow anonymous access to schema and data end-points of an open dataset.
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.OrganizationProfilePermissions¶
Bases:
DjangoObjectPermissionsAllowAnon
OrganizationProfilePermissions - allow authenticated users to delete an org
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.ProjectPermissions¶
Bases:
DjangoObjectPermissions
ProjectPermissions - allows anonymous to star a project.
- authenticated_users_only = False¶
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.RestServiceObjectPermissions¶
Bases:
AlternateHasObjectPermissionMixin
,HasMetadataPermissionMixin
,DjangoObjectPermissions
RestService ObjectPermissions - apply XForm permisions for a RestService model.
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.SubmissionReviewPermissions¶
Bases:
XFormPermissions
Custom Permission Checks for SubmissionReviews
- has_object_permission(request, view, obj)¶
Custom has_object_permission method
- has_permission(request, view)¶
Custom has_permission method
- perms_map = {'DELETE': ['logger.delete_xform'], 'GET': [], 'HEAD': [], 'OPTIONS': [], 'PATCH': ['logger.change_xform'], 'POST': ['logger.add_xform'], 'PUT': ['logger.change_xform']}¶
- class onadata.apps.api.permissions.UserProfilePermissions¶
Bases:
DjangoObjectPermissions
UserProfilePermissions - allows anonymous users to create a profile.
- authenticated_users_only = False¶
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.UserViewSetPermissions¶
Bases:
DjangoModelPermissionsOrAnonReadOnly
User ViewSetPermissions - do not allow user search for anonymous users.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
- class onadata.apps.api.permissions.ViewDjangoObjectPermissions¶
Bases:
DjangoObjectPermissions
View DjangoObjectPermissions - applies view_<model_name> permissions for GET requests.
- perms_map = {'DELETE': ['%(app_label)s.delete_%(model_name)s'], 'GET': ['%(app_label)s.view_%(model_name)s'], 'HEAD': [], 'OPTIONS': [], 'PATCH': ['%(app_label)s.change_%(model_name)s'], 'POST': ['%(app_label)s.add_%(model_name)s'], 'PUT': ['%(app_label)s.change_%(model_name)s']}¶
- class onadata.apps.api.permissions.WidgetViewSetPermissions¶
Bases:
AlternateHasObjectPermissionMixin
,ViewDjangoObjectPermissions
,AbstractHasPermissionMixin
,DjangoObjectPermissions
Widget ViewSetPermissions - apply project permissions check.
- authenticated_users_only = False¶
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- has_permission(request, view)¶
Check request.user is authenticated and the user has permissions.
- model_classes = [<class 'onadata.apps.logger.models.project.Project'>]¶
- class onadata.apps.api.permissions.XFormPermissions¶
Bases:
DjangoObjectPermissions
XFormPermissions - custom permissions check on XForm viewset.
- authenticated_users_only = False¶
- has_object_permission(request, view, obj)¶
Return True if permission is granted, False otherwise.
- has_permission(request, view)¶
Return True if permission is granted, False otherwise.
onadata.apps.api.storage module¶
Storage module for the api app
- class onadata.apps.api.storage.ODKTokenAccountStorage¶
Bases:
AccountStorage
Digest Account Backend class
In order to utilize this storage as the default account storage for Digest Authentication set the DIGEST_ACCOUNT_BACKEND variable in your local_settings to ‘onadata.apps.api.storage.ODKTokenAccountStorage’
- GET_PARTIAL_DIGEST_QUERY = "\n SELECT django_digest_partialdigest.login,\n django_digest_partialdigest.partial_digest\n FROM django_digest_partialdigest\n INNER JOIN auth_user ON\n auth_user.id = django_digest_partialdigest.user_id\n INNER JOIN api_odktoken ON\n api_odktoken.user_id = django_digest_partialdigest.user_id\n WHERE django_digest_partialdigest.login = %s\n AND django_digest_partialdigest.confirmed\n AND auth_user.is_active\n AND api_odktoken.status='1'\n "¶
- get_partial_digest(username)¶
Checks that the returned partial digest is associated with a Token that isn’t past it’s expire date.
Sets an ODK Token to Inactive if the associate token has passed its expiry date
onadata.apps.api.tasks module¶
Celery api.tasks module.
- onadata.apps.api.tasks.get_async_status(job_uuid)¶
Gets progress status or result
- onadata.apps.api.tasks.recreate_tmp_file(name, path, mime_type)¶
Creates a TemporaryUploadedFile from a file path with given name
onadata.apps.api.tools module¶
API utility functions.
- onadata.apps.api.tools.add_tags_to_instance(request, instance)¶
Add tags to an instance.
- onadata.apps.api.tools.add_team_to_project(team, project)¶
Adds a team to a project
- Parameters:
team
project
- Returns:
True if successful or project has already been added to the team
- onadata.apps.api.tools.add_user_to_organization(organization, user, role=None)¶
Add a user to an organization
Add user to organization and all projects in the organization
- Parameters:
organization – OrganizationProfile instance
user – User instance
role – Role name
- Returns:
None
- onadata.apps.api.tools.check_inherit_permission_from_project(xform_id, user)¶
Checks if a user has the same project permissions for the given xform_id, if there is a difference applies the project permissions to the user for the given xform_id.
- onadata.apps.api.tools.create_organization(name, creator)¶
Organization created by a user - create a team, OwnerTeam with full permissions to the creator - Team(name=’Owners’, organization=organization).save()
- onadata.apps.api.tools.create_organization_object(org_name, creator, attrs=None)¶
Creates an OrganizationProfile object without saving to the database
- onadata.apps.api.tools.create_organization_project(organization, project_name, created_by)¶
Creates a project for a given organization :param organization: User organization :param project_name :param created_by: User with permissions to create projects within the organization
- Returns:
a Project instance
- onadata.apps.api.tools.do_publish_xlsform(user, post, files, owner, id_string=None, project=None)¶
Publishes XLSForm.
- onadata.apps.api.tools.generate_tmp_path(uploaded_csv_file)¶
Write file to temporary folder if not already there :param uploaded_csv_file: :return: path to the tmp folder
- onadata.apps.api.tools.get_accessible_forms(owner=None, shared_form=False, shared_data=False)¶
Returns XForm queryset of the forms based on the arguments owner, shared_form and shared_data.
Returns only public forms if owner is ‘public’ otherwise returns forms belonging to owner.
- onadata.apps.api.tools.get_baseviewset_class()¶
Checks the setting if the default viewset is implementded otherwise loads the default in onadata :return: the default baseviewset
- onadata.apps.api.tools.get_host_domain(request)¶
Get host from reques or check the Site model
- onadata.apps.api.tools.get_instance_xform_or_none(instance_id)¶
Returns the XForm an Instance belongs to
- onadata.apps.api.tools.get_media_file_response(metadata, request=None)¶
Returns a HTTP response for media files.
HttpResponse 200 if it represents a file on disk. HttpResponseRedirect 302 incase the metadata represents a url. HttpResponseNotFound 404 if the metadata file cannot be found.
- onadata.apps.api.tools.get_org_profile_cache_key(user, organization)¶
Return cache key given user and organization profile
- onadata.apps.api.tools.get_organization_members(organization)¶
Get members team user queryset
- onadata.apps.api.tools.get_organization_owners(organization)¶
Get owners team user queryset
- onadata.apps.api.tools.get_team_members(org_username)¶
Return members team if it exists else none.
- Parameters:
org_username – organization name
- Returns:
team
- onadata.apps.api.tools.get_user_profile_or_none(username)¶
Returns a UserProfile instance if the user exists otherwise returns None.
- onadata.apps.api.tools.get_xform(formid, request, username=None)¶
Returns XForm instance if request.user has permissions to it otherwise it raises PermissionDenied() exception.
- onadata.apps.api.tools.get_xform_list_cache_key(user, xform_or_project)¶
Get the cache key for the XForm list by user’s role
- Parameters:
user – User making request
xform_or_project – XForm or Project being accessed
- Returns:
cache key based on role assigned to form/project
- onadata.apps.api.tools.get_xform_users(xform)¶
Utility function that returns users and their roles in a form. :param xform: :return:
- onadata.apps.api.tools.invalidate_organization_cache(org_username)¶
Set organization cache to none for all roles
- onadata.apps.api.tools.invalidate_xform_list_cache(xform)¶
Invalidate the cache for the XForm list by user’s role
- Parameters:
xform – XForm instance
- Returns:
None
- onadata.apps.api.tools.publish_project_xform(request, project)¶
Publish XLSForm to a project given a request.
- onadata.apps.api.tools.publish_xlsform(request, owner, id_string=None, project=None)¶
Publishes XLSForm & creates an XFormVersion object given a request.
- onadata.apps.api.tools.remove_user_from_organization(organization, user)¶
Remove a user from an organization
Remove user from organization and all projects in the organization
- Parameters:
organization – OrganizationProfile instance
user – User instance
- Returns:
None
- onadata.apps.api.tools.remove_user_from_team(team, user)¶
Removes given user from the team and also removes team permissions from the user.
- onadata.apps.api.tools.replace_attachment_name_with_url(data, request)¶
Replaces the attachment filename with a URL in
data
object.
- onadata.apps.api.tools.set_enketo_signed_cookies(resp, username=None, json_web_token=None)¶
Set signed cookies for JWT token in the HTTPResponse resp object.
- onadata.apps.api.tools.update_role_by_meta_xform_perms(xform)¶
Updates users role in a xform based on meta permissions set on the form.