Ejemplo n.º 1
0
    def share_with_org_members(self, everyone_access_level='ReadOnly'):
        """Share the resource to all members of the organization.

        :param everyone_access_level: (str) : access level when sharing the
            resource with everyone. One of 'ReadOnly', 'Change', 'FullControl'.
            'ReadOnly' by default.

        :return:  A :class:`lxml.objectify.StringElement` object representing
            the updated access control setting of the resource.

        """
        self.resource = self.get_resource()

        control_access_params = deepcopy(self.resource)

        control_access_params['IsSharedToEveryone'] = \
            E.IsSharedToEveryone(True)
        if everyone_access_level is not None:
            if hasattr(control_access_params, 'EveryoneAccessLevel'):
                control_access_params['EveryoneAccessLevel'] = \
                    E.EveryoneAccessLevel(everyone_access_level)
            else:
                # EveryoneAccessLevel should be just after IsSharedToEveryone
                # (first element) in case there are any AccessSettings
                control_access_params.insert(
                    1, E.EveryoneAccessLevel(everyone_access_level))

        return self.update_resource(control_access_params)
Ejemplo n.º 2
0
    def share_with_org_members(self, everyone_access_level='ReadOnly'):
        """Share the resource to all members of the organization.

        :param str everyone_access_level: level of access granted while
            sharing the resource with everyone. Allowed values are 'ReadOnly',
            'Change', or 'FullControl'. Default value is 'ReadOnly'.

        :return: an object containing EntityType.CONTROL_ACCESS_PARAMS XML
            data representing the updated access control setting of the
            resource.

        :rtype: lxml.objectify.ObjectifiedElement
        """
        self.resource = self.get_resource()

        control_access_params = deepcopy(self.resource)

        control_access_params['IsSharedToEveryone'] = \
            E.IsSharedToEveryone(True)
        if everyone_access_level is not None:
            if hasattr(control_access_params, 'EveryoneAccessLevel'):
                control_access_params['EveryoneAccessLevel'] = \
                    E.EveryoneAccessLevel(everyone_access_level)
            else:
                # EveryoneAccessLevel should be just after IsSharedToEveryone
                # (first element) in case there are any AccessSettings
                control_access_params.insert(
                    1, E.EveryoneAccessLevel(everyone_access_level))

        return self.update_resource(control_access_params)
Ejemplo n.º 3
0
    def share_access(self, everyone_access_level='ReadOnly'):
        """Share the resource to all members of the organization.

        :param everyone_access_level: (str) : access level when sharing the
            resource with everyone. One of 'ReadOnly', 'Change', 'FullControl'
            'ReadOnly' by default.

        :return:  A :class:`lxml.objectify.StringElement` object representing
            the updated access control setting of the resource.

        """
        self.resource = self.get_resource()

        control_access_params = self.resource

        control_access_params['IsSharedToEveryone'] = \
            E.IsSharedToEveryone(True)
        if everyone_access_level is not None:
            if hasattr(control_access_params, 'EveryoneAccessLevel'):
                control_access_params['EveryoneAccessLevel'] = \
                    E.EveryoneAccessLevel(everyone_access_level)
            else:
                # EveryoneAccessLevel should be just after IsSharedToEveryone
                # (first element) in case there are any AccessSettings
                control_access_params.insert(
                    1, E.EveryoneAccessLevel(everyone_access_level))

        self.resource = self. \
            client.post_linked_resource(self.parent_resource,
                                        RelationType.CONTROL_ACCESS,
                                        EntityType.CONTROL_ACCESS_PARAMS.value,
                                        control_access_params)
        return self.resource