Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

AttributeError: 'GroupItem' object has no attribute 'license' #813

Copy link
Copy link
@huisek

Description

@huisek
Issue body actions

When trying to set the license_mode to onLogin on a GroupItem and call create_AD_group I receive the following error:

  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\request_factory.py", line 299, in create_ad_req
    import_element.attrib['grantLicenseMode'] = group_item.license
AttributeError: 'GroupItem' object has no attribute 'license'

Looking at the request_factory.py file it appears there may be a typo in this method when setting the
grantLicenseMode attribute:

    def create_ad_req(self, group_item):
        xml_request = ET.Element('tsRequest')
        group_element = ET.SubElement(xml_request, 'group')
        group_element.attrib['name'] = group_item.name
        import_element = ET.SubElement(group_element, 'import')
        import_element.attrib['source'] = "ActiveDirectory"
        if group_item.domain_name is None:
            error = "Group Domain undefined."
            raise ValueError(error)

        import_element.attrib['domainName'] = group_item.domain_name
        print(group_item.license_mode)
        if group_item.license_mode is not None:
            import_element.attrib['grantLicenseMode'] = group_item.license
        if group_item.minimum_site_role is not None:
            import_element.attrib['SiteRole'] = group_item.minimum_site_role
        return ET.tostring(xml_request)

I'm working in Tabelau Server 2020.3 with API version 3.9

I did try modifying the package to reflect group_item.license_mode but then i receive an error:

  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 135, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\groups_endpoint.py", line 88, in create_AD_group
    server_response = self.post_request(url, create_req)
  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 110, in post_request
    content_type=content_type)
  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 53, in _make_request
    self._check_status(server_response)
  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python37\lib\site-packages\tableauserverclient\server\endpoint\endpoint.py", line 68, in _check_status
    raise ServerResponseError.from_response(server_response.content, self.parent_srv.namespace)
tableauserverclient.server.endpoint.exceptions.ServerResponseError:

        400019: Bad Request
                Malformed 'import' element in the request payload.
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.