示例#1
0
    def get_organization(self, request, return_obj=False):
        """Get org from query param or request.user.
        :param request: request object.
        :param return_obj: bool. Set to True if obj vs pk is desired.
        :return: int representing a valid organization pk or
            organization object.
        """
        # print("my return obj is set to %s" % return_obj)
        if not request.user:
            return None

        if not getattr(self, '_organization', None):
            org_id = get_org_id(request)
            org = None
            if not org_id:
                org = get_user_org(request.user)
                org_id = int(getattr(org, 'pk'))
            if return_obj:
                if not org:
                    try:
                        org = request.user.orgs.get(pk=org_id)
                        self._organization = org
                    except ObjectDoesNotExist:
                        raise PermissionDenied('Incorrect org id.')
                else:
                    self._organization = org
            else:
                self._organization = org_id
        return self._organization
示例#2
0
    def test_get_org_id(self):
        """Test getting org id from request."""
        mock_request = mock.MagicMock()
        mock_request.query_params = {'organization': 1}
        result = get_org_id(mock_request)
        self.assertEqual(1, result)

        mock_request = mock.MagicMock()
        mock_request.query_params = {'organization': None}
        mock_request.data = {'organization': 2}
        result = get_org_id(mock_request)
        self.assertEqual(2, result)

        mock_request = mock.MagicMock()
        mock_request.query_params = {'organization': None}
        mock_value_error = mock.PropertyMock(side_effect=ValueError)
        type(mock_request).data = mock_value_error
        result = get_org_id(mock_request)
        self.assertEqual(None, result)