def filter(query): # pylint: disable=redefined-builtin """ .. function:: RPC Tag.filter(query) Search and return a list of tags :param query: Field lookups for :class:`tcms.management.models.Tag` :type query: dict :return: Serialized list of :class:`tcms.management.models.Tag` objects :rtype: list(dict) """ return Tag.to_xmlrpc(query)
def remove_tag(run_id, tag_name): """ .. function:: XML-RPC TestRun.remove_tag(run_id, tag) Remove a tag from the specified test run. :param run_id: PK of TestRun to modify :type run_id: int :param tag_name: Tag name to add :type tag_name: str :return: Serialized list of :class:`tcms.management.models.Tag` objects :raises: PermissionDenied if missing *testruns.delete_testruntag* permission :raises: DoesNotExist if objects specified don't exist """ tag = Tag.objects.get(name=tag_name) test_run = TestRun.objects.get(pk=run_id) test_run.remove_tag(tag) return Tag.to_xmlrpc({'pk__in': test_run.tag.all()})
def add_tag(run_id, tag_name, **kwargs): """ .. function:: XML-RPC TestRun.add_tag(run_id, tag) Add one tag to the specified test run. :param run_id: PK of TestRun to modify :type run_id: int :param tag_name: Tag name to add :type tag_name: str :return: Serialized list of :class:`tcms.management.models.Tag` objects :raises: PermissionDenied if missing *testruns.add_testruntag* permission :raises: TestRun.DoesNotExist if object specified by PK doesn't exist :raises: Tag.DoesNotExist if missing *management.add_tag* permission and *tag_name* doesn't exist in the database! """ request = kwargs.get(REQUEST_KEY) tag, _ = Tag.get_or_create(request.user, tag_name) test_run = TestRun.objects.get(pk=run_id) test_run.add_tag(tag) return Tag.to_xmlrpc({'pk__in': test_run.tag.all()})
def add_tag(run_id, tag_name, **kwargs): """ .. function:: RPC TestRun.add_tag(run_id, tag) Add one tag to the specified test run. :param run_id: PK of TestRun to modify :type run_id: int :param tag_name: Tag name to add :type tag_name: str :param kwargs: Dict providing access to the current request, protocol entry point name and handler instance from the rpc method :return: Serialized list of :class:`tcms.management.models.Tag` objects :rtype: dict :raises: PermissionDenied if missing *testruns.add_testruntag* permission :raises: TestRun.DoesNotExist if object specified by PK doesn't exist :raises: Tag.DoesNotExist if missing *management.add_tag* permission and *tag_name* doesn't exist in the database! """ request = kwargs.get(REQUEST_KEY) tag, _ = Tag.get_or_create(request.user, tag_name) test_run = TestRun.objects.get(pk=run_id) test_run.add_tag(tag) return Tag.to_xmlrpc({"pk__in": test_run.tag.all()})