onadata.libs package¶
Subpackages¶
- onadata.libs.data package
- onadata.libs.mixins package
- Submodules
- onadata.libs.mixins.anonymous_user_mixin module
- onadata.libs.mixins.anonymous_user_public_forms_mixin module
- onadata.libs.mixins.authenticate_header_mixin module
- onadata.libs.mixins.cache_control_mixin module
- onadata.libs.mixins.etags_mixin module
- onadata.libs.mixins.labels_mixin module
- onadata.libs.mixins.last_modified_mixin module
- onadata.libs.mixins.multi_lookup_mixin module
- onadata.libs.mixins.object_lookup_mixin module
- onadata.libs.mixins.openrosa_headers_mixin module
- onadata.libs.mixins.profiler_mixin module
- onadata.libs.mixins.total_header_mixin module
- onadata.libs.mixins.xform_id_string_lookup module
- Module contents
- onadata.libs.models package
- Submodules
- onadata.libs.models.base_model module
- onadata.libs.models.clone_xform module
- onadata.libs.models.share_project module
- onadata.libs.models.share_team_project module
- onadata.libs.models.share_xform module
- onadata.libs.models.signals module
- onadata.libs.models.sorting module
- onadata.libs.models.textit_service module
- Module contents
- onadata.libs.profiling package
- onadata.libs.renderers package
- onadata.libs.serializers package
- Subpackages
- onadata.libs.serializers.fields package
- Submodules
- onadata.libs.serializers.fields.hyperlinked_multi_identity_field module
- onadata.libs.serializers.fields.hyperlinked_multi_related_field module
- onadata.libs.serializers.fields.instance_related_field module
- onadata.libs.serializers.fields.json_field module
- onadata.libs.serializers.fields.organization_field module
- onadata.libs.serializers.fields.project_field module
- onadata.libs.serializers.fields.project_related_field module
- onadata.libs.serializers.fields.team_field module
- onadata.libs.serializers.fields.xform_field module
- onadata.libs.serializers.fields.xform_related_field module
- Module contents
- onadata.libs.serializers.fields package
- Submodules
- onadata.libs.serializers.attachment_serializer module
- onadata.libs.serializers.chart_serializer module
- onadata.libs.serializers.clone_xform_serializer module
- onadata.libs.serializers.data_serializer module
- onadata.libs.serializers.dataview_serializer module
- onadata.libs.serializers.export_serializer module
- onadata.libs.serializers.geojson_serializer module
- onadata.libs.serializers.metadata_serializer module
- onadata.libs.serializers.note_serializer module
- onadata.libs.serializers.organization_member_serializer module
- onadata.libs.serializers.organization_serializer module
- onadata.libs.serializers.password_reset_serializer module
- onadata.libs.serializers.project_serializer module
- onadata.libs.serializers.restservices_serializer module
- onadata.libs.serializers.share_project_serializer module
- onadata.libs.serializers.share_team_project_serializer module
- onadata.libs.serializers.share_xform_serializer module
- onadata.libs.serializers.stats_serializer module
- onadata.libs.serializers.tag_list_serializer module
- onadata.libs.serializers.team_serializer module
- onadata.libs.serializers.textit_serializer module
- onadata.libs.serializers.user_profile_serializer module
- onadata.libs.serializers.user_serializer module
- onadata.libs.serializers.widget_serializer module
- onadata.libs.serializers.xform_serializer module
- Module contents
- Subpackages
- onadata.libs.tests package
- Subpackages
- onadata.libs.tests.serializers package
- Submodules
- onadata.libs.tests.serializers.test_attachment_serializer module
- onadata.libs.tests.serializers.test_dataview_serializer module
- onadata.libs.tests.serializers.test_organization_serializer module
- onadata.libs.tests.serializers.test_password_reset_serializer module
- onadata.libs.tests.serializers.test_project_serializer module
- onadata.libs.tests.serializers.test_user_profile_serializer module
- Module contents
- onadata.libs.tests.utils package
- Submodules
- onadata.libs.tests.utils.test_api_export_tools module
- onadata.libs.tests.utils.test_async_status module
- onadata.libs.tests.utils.test_backup_tools module
- onadata.libs.tests.utils.test_chart_tools module
- onadata.libs.tests.utils.test_csv_builder module
- onadata.libs.tests.utils.test_csv_import module
- onadata.libs.tests.utils.test_dict_tools module
- onadata.libs.tests.utils.test_export_tools module
- onadata.libs.tests.utils.test_image_tools module
- onadata.libs.tests.utils.test_logger_tools module
- onadata.libs.tests.utils.test_osm module
- onadata.libs.tests.utils.test_qrcode module
- Module contents
- onadata.libs.tests.serializers package
- Submodules
- onadata.libs.tests.test_authentication module
- onadata.libs.tests.test_permissions module
- Module contents
- Subpackages
- onadata.libs.utils package
- Submodules
- onadata.libs.utils.api_export_tools module
- onadata.libs.utils.async_status module
- onadata.libs.utils.audit module
- onadata.libs.utils.backup_tools module
- onadata.libs.utils.briefcase_client module
- onadata.libs.utils.cache_tools module
- onadata.libs.utils.chart_tools module
- onadata.libs.utils.common_tags module
- onadata.libs.utils.common_tools module
- onadata.libs.utils.country_field module
- onadata.libs.utils.csv_builder module
- onadata.libs.utils.csv_import module
- onadata.libs.utils.csv_reader module
- onadata.libs.utils.decorators module
- onadata.libs.utils.dict_tools module
- onadata.libs.utils.export_builder module
- onadata.libs.utils.export_tools module
- onadata.libs.utils.google module
- onadata.libs.utils.gravatar module
- onadata.libs.utils.image_tools module
- onadata.libs.utils.log module
- onadata.libs.utils.logger_tools module
- onadata.libs.utils.middleware module
- onadata.libs.utils.model_tools module
- onadata.libs.utils.mongo module
- onadata.libs.utils.numeric module
- onadata.libs.utils.osm module
- onadata.libs.utils.profiler module
- onadata.libs.utils.project_utils module
- onadata.libs.utils.qrcode module
- onadata.libs.utils.quick_converter module
- onadata.libs.utils.string module
- onadata.libs.utils.timing module
- onadata.libs.utils.user_auth module
- onadata.libs.utils.viewer_tools module
- Module contents
Submodules¶
onadata.libs.authentication module¶
-
class
onadata.libs.authentication.
DigestAuthentication
¶ Bases:
rest_framework.authentication.BaseAuthentication
-
authenticate
(request)¶
-
authenticate_header
(request)¶
-
-
class
onadata.libs.authentication.
EnketoTokenAuthentication
¶ Bases:
rest_framework.authentication.TokenAuthentication
-
authenticate
(request)¶
-
model
¶ alias of
Token
-
-
class
onadata.libs.authentication.
TempTokenAuthentication
¶ Bases:
rest_framework.authentication.TokenAuthentication
-
authenticate
(request)¶
-
authenticate_credentials
(key)¶
-
authenticate_header
(request)¶
-
model
¶ alias of
TempToken
-
-
class
onadata.libs.authentication.
TempTokenURLParameterAuthentication
¶ Bases:
onadata.libs.authentication.TempTokenAuthentication
-
authenticate
(request)¶
-
model
¶ alias of
TempToken
-
-
onadata.libs.authentication.
expired
(time_token_created)¶ Checks if the time between when time_token_created and current time is greater than the token expiry time.
Params time_token_created: The time the token we are checking was created. Returns: Boolean True if not passed expired time, otherwise False.
-
onadata.libs.authentication.
get_api_token
(json_web_token)¶ Get API Token from JSON Web Token
onadata.libs.exceptions module¶
-
exception
onadata.libs.exceptions.
J2XException
¶ Bases:
exceptions.Exception
-
exception
onadata.libs.exceptions.
NoRecordsFoundError
¶ Bases:
exceptions.Exception
-
exception
onadata.libs.exceptions.
NoRecordsPermission
¶ Bases:
exceptions.Exception
Bases:
rest_framework.exceptions.APIException
onadata.libs.filters module¶
-
class
onadata.libs.filters.
AnonDjangoObjectPermissionFilter
¶ Bases:
rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶ Anonymous user has no object permissions, return queryset as it is.
-
-
class
onadata.libs.filters.
AnonUserProjectFilter
¶ Bases:
rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶ Anonymous user has no object permissions, return queryset as it is.
-
owner_prefix
= 'organization'¶
-
-
class
onadata.libs.filters.
AttachmentFilter
¶ Bases:
onadata.libs.filters.XFormPermissionFilterMixin
,rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
DataFilter
¶ Bases:
rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
ExportFilter
¶ Bases:
onadata.libs.filters.XFormPermissionFilterMixin
,rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
MetaDataFilter
¶ Bases:
onadata.libs.filters.ProjectPermissionFilterMixin
,onadata.libs.filters.InstancePermissionFilterMixin
,onadata.libs.filters.XFormPermissionFilterMixin
,rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
NoteFilter
¶ Bases:
rest_framework.filters.BaseFilterBackend
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
OrganizationPermissionFilter
¶ Bases:
rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶ Return a filtered queryset or all profiles if a getting a specific profile.
-
Bases:
rest_framework.filters.BaseFilterBackend
This returns a queryset containing only organizations to which the passed user belongs.
-
class
onadata.libs.filters.
ProjectOwnerFilter
¶ Bases:
onadata.libs.filters.XFormOwnerFilter
-
owner_prefix
= 'organization'¶
-
-
class
onadata.libs.filters.
RestServiceFilter
¶ Bases:
onadata.libs.filters.XFormPermissionFilterMixin
,rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
TagFilter
¶ Bases:
rest_framework.filters.BaseFilterBackend
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
TeamOrgFilter
¶ Bases:
rest_framework.filters.BaseFilterBackend
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
UserNoOrganizationsFilter
¶ Bases:
rest_framework.filters.BaseFilterBackend
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
UserProfileFilter
¶ Bases:
rest_framework.filters.BaseFilterBackend
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
WidgetFilter
¶ Bases:
onadata.libs.filters.XFormPermissionFilterMixin
,rest_framework.filters.DjangoObjectPermissionsFilter
-
filter_queryset
(request, queryset, view)¶
-
-
class
onadata.libs.filters.
XFormListObjectPermissionFilter
¶ Bases:
onadata.libs.filters.AnonDjangoObjectPermissionFilter
-
perm_format
= '%(app_label)s.report_%(model_name)s'¶
-
onadata.libs.pagination module¶
onadata.libs.permissions module¶
-
class
onadata.libs.permissions.
DataEntryMinorRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'view_xform', 'can_export_xform_data', 'view_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['view_project', 'report_project_xform', 'can_export_project_data', 'view_project_data']})¶
-
name
= 'dataentry-minor'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_data', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
DataEntryOnlyRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'view_xform', 'can_export_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['view_project', 'report_project_xform', 'can_export_project_data']})¶
-
name
= 'dataentry-only'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
DataEntryRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'view_xform', 'can_export_xform_data', 'view_xform_all', 'view_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['view_project', 'report_project_xform', 'can_export_project_data', 'view_project_data', 'view_project_all']})¶
-
name
= 'dataentry'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_all', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_project_all', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
EditorMinorRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'change_xform', 'view_xform', 'delete_submission', 'can_export_xform_data', 'view_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['change_project', 'view_project', 'report_project_xform', 'can_export_project_data', 'view_project_data']})¶
-
name
= 'editor-minor'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('change_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_submission', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('change_project', <class 'onadata.apps.logger.models.project.Project'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_data', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
EditorRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'change_xform', 'view_xform', 'delete_submission', 'can_export_xform_data', 'view_xform_all', 'view_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['change_project', 'view_project', 'report_project_xform', 'can_export_project_data', 'view_project_data', 'view_project_all']})¶
-
name
= 'editor'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('change_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_submission', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('change_project', <class 'onadata.apps.logger.models.project.Project'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_all', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_project_all', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
ManagerRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.main.models.user_profile.UserProfile'>: ['can_add_xform', 'view_profile'], <class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'add_xform', 'change_xform', 'view_xform', 'delete_submission', 'delete_xform', 'can_export_xform_data', 'view_xform_all', 'view_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['can_add_xform', 'view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['add_project', 'add_project_xform', 'change_project', 'view_project', 'report_project_xform', 'can_export_project_data', 'view_project_data', 'view_project_all']})¶
-
name
= 'manager'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('add_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('change_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_submission', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_add_xform', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('can_add_xform', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('view_profile', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('add_project', <class 'onadata.apps.logger.models.project.Project'>), ('add_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('change_project', <class 'onadata.apps.logger.models.project.Project'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_all', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_project_all', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
MemberRole
¶ Bases:
onadata.libs.permissions.Role
This is a role for a member of an organization.
-
name
= 'member'¶
-
-
class
onadata.libs.permissions.
OwnerRole
¶ Bases:
onadata.libs.permissions.Role
This is a role for an owner of a dataset, organization, or project.
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.main.models.user_profile.UserProfile'>: ['can_add_xform', 'add_userprofile', 'change_userprofile', 'delete_userprofile', 'can_add_xform', 'view_profile'], <class 'onadata.apps.logger.models.xform.XForm'>: ['report_xform', 'delete_submission', 'add_xform', 'view_xform', 'add_datadictionary', 'change_datadictionary', 'delete_datadictionary', 'report_xform', 'delete_xform', 'move_xform', 'transfer_xform', 'change_xform', 'can_export_xform_data', 'view_xform_all', 'view_xform_data'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile', 'add_organizationprofile', 'can_add_xform', 'change_organizationprofile', 'delete_organizationprofile', 'is_org_owner', 'can_add_xform', 'view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['add_project', 'add_project_xform', 'change_project', 'delete_project', 'transfer_project', 'view_project', 'report_project_xform', 'can_export_project_data', 'view_project_data', 'view_project_all']})¶
-
name
= 'owner'¶
-
permissions
= (('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_submission', <class 'onadata.apps.logger.models.xform.XForm'>), ('add_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('add_datadictionary', <class 'onadata.apps.logger.models.xform.XForm'>), ('change_datadictionary', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_datadictionary', <class 'onadata.apps.logger.models.xform.XForm'>), ('report_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('delete_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('move_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('transfer_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('change_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_add_xform', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('add_userprofile', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('change_userprofile', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('delete_userprofile', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('can_add_xform', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('view_profile', <class 'onadata.apps.main.models.user_profile.UserProfile'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('add_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('can_add_xform', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('change_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('delete_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('is_org_owner', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('can_add_xform', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('add_project', <class 'onadata.apps.logger.models.project.Project'>), ('add_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('change_project', <class 'onadata.apps.logger.models.project.Project'>), ('delete_project', <class 'onadata.apps.logger.models.project.Project'>), ('transfer_project', <class 'onadata.apps.logger.models.project.Project'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('report_project_xform', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_all', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_project_all', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
ReadOnlyRole
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['view_xform', 'can_export_xform_data', 'view_xform_all'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['view_project', 'can_export_project_data', 'view_project_all']})¶
-
name
= 'readonly'¶
-
permissions
= (('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('can_export_xform_data', <class 'onadata.apps.logger.models.xform.XForm'>), ('can_export_project_data', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_all', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_all', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
ReadOnlyRoleNoDownload
¶ Bases:
onadata.libs.permissions.Role
-
class_to_permissions
= defaultdict(<type 'list'>, {<class 'onadata.apps.logger.models.xform.XForm'>: ['view_xform', 'view_xform_all'], <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>: ['view_organizationprofile'], <class 'onadata.apps.logger.models.project.Project'>: ['view_project', 'view_project_all']})¶
-
name
= 'readonly-no-download'¶
-
permissions
= (('view_organizationprofile', <class 'onadata.apps.api.models.organization_profile.OrganizationProfile'>), ('view_xform', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project', <class 'onadata.apps.logger.models.project.Project'>), ('view_xform_all', <class 'onadata.apps.logger.models.xform.XForm'>), ('view_project_all', <class 'onadata.apps.logger.models.project.Project'>))¶
-
-
class
onadata.libs.permissions.
Role
¶ Bases:
object
-
classmethod
add
(user, obj)¶
-
class_to_permissions
= None¶
-
classmethod
has_role
(permissions, obj)¶ Check that permission correspond to this role for this object.
Parameters: - permissions – A list of permissions.
- obj – An object to get the permissions of.
-
name
= None¶
-
permissions
= None¶
-
classmethod
user_has_role
(user, obj)¶ Check that a user has this role.
Parameters: - user – A user object.
- obj – An object to get the permissions of.
-
classmethod
-
onadata.libs.permissions.
filter_queryset_xform_meta_perms
(xform, user, instance_queryset)¶
-
onadata.libs.permissions.
filter_queryset_xform_meta_perms_sql
(xform, user, query)¶
-
onadata.libs.permissions.
get_object_users_with_permissions
(obj, username=False, with_group_users=False)¶ Returns users, roles and permissions for an object.
Parameters: - obj – object, the object to check permissions on
- username – bool, when True set username instead of a User object
-
onadata.libs.permissions.
get_role
(permissions, obj)¶
-
onadata.libs.permissions.
get_role_in_org
(user, organization)¶
-
onadata.libs.permissions.
get_team_project_default_permissions
(team, project)¶
-
onadata.libs.permissions.
is_organization
(obj)¶ Some OrganizationProfiles have a pointer to the UserProfile, but no UserProfiles do. Check for that first since it avoids a database hit.
-
onadata.libs.permissions.
role
¶ alias of
DataEntryMinorRole