Exemple #1
0
 def getOrderRequests(
     self,
     user,
     count=100,
     search_query=None,
     tag_id=None,
     status=None,
     extraParams={},
 ):
     params = {
         "group_id": user.activeWorkspace,
         "search_query": search_query,
         "tag_id": tag_id,
         "status": handleKeyword(status),
         **extraParams,
     }
     return entityRepository.getEntities(user, OrderRequest, count, params)
Exemple #2
0
    def newResourceItem(
        self,
        user,
        resource_id,
        name=None,
        availability=None,
        quantity_amount=None,
        quantity_unit=None,
        resource_location_id=None,
        extraParams={},
    ):
        params = {
            "resource_id": resource_id,
            "resource_location_id": resource_location_id,
            "name": name,
            "status": handleKeyword(availability),
            "quantity_amount": quantity_amount,
            "quantity_unit": quantity_unit,
            **extraParams,
        }

        return entityRepository.newEntity(user, ResourceItem, params)
Exemple #3
0
    def editOrderRequest(
        self,
        orderRequest,
        status=None,
        resource_id=None,
        quantity=None,
        price=None,
        currency=None,
        deleted_at=None,
        extraParams={},
    ):
        params = {
            "status": handleKeyword(status),
            "resource_id": resource_id,
            "quantity": quantity,
            "price": price,
            "currency": currency,
            "deleted_at": deleted_at,
            **extraParams,
        }

        return entityRepository.editEntity(orderRequest, params)
Exemple #4
0
    def newTag(self, user, name, type, extraParams={}):
        """
        Create a new Tag.

        Parameters
        ----------
        user (obj)
            The Labstep user creating the Tag.
            Must have property 'api_key'. See 'login'.
        name (str)
            Name of the new Tag.
        type (str)
                Return only tags of a certain type. Options are:
                'experiment_workflow', 'protocol_collection',
                'resource', 'order_request'.

        Returns
        -------
        tag
            An object representing the new Labstep Tag.
        """
        params = {"name": name, "type": handleKeyword(type), **extraParams}
        return entityRepository.newEntity(user, Tag, params)
Exemple #5
0
    def editResourceItem(
        self,
        resourceItem,
        name=None,
        availability=None,
        quantity_amount=None,
        quantity_unit=None,
        resource_location_id=None,
        deleted_at=None,
        extraParams={},
    ):
        params = {
            "name": name,
            "status": handleKeyword(availability),
            "resource_location_id": resource_location_id,
            "quantity_unit": quantity_unit,
            "deleted_at": deleted_at,
            **extraParams,
        }

        if quantity_amount is not None:
            params["quantity_amount"] = float(quantity_amount)

        return entityRepository.editEntity(resourceItem, params)
Exemple #6
0
    def getTags(self,
                user,
                count=1000,
                type=None,
                search_query=None,
                extraParams={}):
        """
        Retrieve a list of the user's tags.

        Parameters
        ----------
        user (obj)
            The Labstep user.
            Must have property 'api_key'. See 'login'.
        count (int)
            The number of Tags to retrieve.
        type (str)
            Return only tags of a certain type. Options are:
            'experiment_workflow', 'protocol_collection',
            'resource', 'order_request'.
        search_query (str)
            Search for Tags with this 'name'.
        extraParams (dict)
            Dictionary of extra filter parameters.

        Returns
        -------
        tags
            A list of tag objects.
        """
        params = {
            "search_query": search_query,
            "type": handleKeyword(type),
            **extraParams,
        }
        return entityRepository.getEntities(user, Tag, count, params)