Commit 15d513ee authored by Mickaël Desfrênes's avatar Mickaël Desfrênes
Browse files

fix rpc method

parent e9a61693
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1160,7 +1160,7 @@ def remove_meta_from_resource(user: User, resource_id: int, meta_value_id: int)


@_rpc_groups(["Metadatas", "Resources"])
def set_metas_to_resource(user: User, resource_id: int, metas: dict) -> bool:
def set_metas_to_resource(user: User, resource_id: int, metas: List[dict]) -> bool:
    """
    Sets all metas for a unique metadata set.

@@ -1169,9 +1169,10 @@ def set_metas_to_resource(user: User, resource_id: int, metas: dict) -> bool:
    All metas must share the same metadata set.
    """
    # prevent mixing metas from different sets
    # id, value
    metadatasets_ids = []
    for meta_id, meta_value in metas.items():
        meta = Metadata.objects.get(pk=meta_id)
    for meta_dict in metas:
        meta = Metadata.objects.get(pk=meta_dict["id"])
        metadatasets_ids.append(meta.set.pk)
    metadatasets_ids = list(set(metadatasets_ids))
    if len(metadatasets_ids) > 1:
@@ -1196,8 +1197,8 @@ def set_metas_to_resource(user: User, resource_id: int, metas: dict) -> bool:
        remove_meta_from_resource(user, resource_id, meta_value.metadata.pk)

    # add metas
    for meta_id, meta_value in metas.items():
        add_meta_to_resource(user, resource_id, meta_id, meta_value)
    for meta_dict in metas:
        add_meta_to_resource(user, resource_id, meta_dict["id"], meta_dict["value"])
    return True