Loading rpc/methods.py +32 −3 Original line number Diff line number Diff line Loading @@ -2264,9 +2264,38 @@ def collection_stats(user: User, collection_id: int) -> dict: } @_rpc_groups(["Utilities"]) @_rpc_groups(["Utilities", "Collections", "Resources"]) def recycle_bin(user: User, project_id: int) -> List[Dict]: """ Gets deleted elements Gets deleted elements: - object type - label - id """ pass _check_project_permission(user, project_id, PERM_COLLECTION_READ) _check_project_permission(user, project_id, PERM_RESOURCE_READ) results = [] for collection_instance in Collection.objects.filter( deleted_at__isnull=False, project_id=project_id ): results.append( { "object_type": "collection", "id": collection_instance.pk, "label": collection_instance.title, "deleted_at": collection_instance.deleted_at.isoformat(), } ) for resource_instance in Resource.objects.filter( deleted_at__isnull=False, ptr_project_id=project_id ): results.append( { "object_type": "resource", "id": resource_instance.pk, "label": resource_instance.title, "deleted_at": resource_instance.deleted_at.isoformat(), } ) return results rpc/tests.py +9 −0 Original line number Diff line number Diff line Loading @@ -107,3 +107,12 @@ class ServiceTestCase(TestCase): parent_id=self.test_project_root_collection.pk, order_by="pouet", ) def test_recycle_bin(self): col = methods.add_collection( self.test_user, "delete me", self.test_project.root_collection.pk ) methods.delete_collection(self.test_user, col["id"]) self.assertEqual( len(methods.recycle_bin(self.test_user, self.test_project.pk)), 1 ) Loading
rpc/methods.py +32 −3 Original line number Diff line number Diff line Loading @@ -2264,9 +2264,38 @@ def collection_stats(user: User, collection_id: int) -> dict: } @_rpc_groups(["Utilities"]) @_rpc_groups(["Utilities", "Collections", "Resources"]) def recycle_bin(user: User, project_id: int) -> List[Dict]: """ Gets deleted elements Gets deleted elements: - object type - label - id """ pass _check_project_permission(user, project_id, PERM_COLLECTION_READ) _check_project_permission(user, project_id, PERM_RESOURCE_READ) results = [] for collection_instance in Collection.objects.filter( deleted_at__isnull=False, project_id=project_id ): results.append( { "object_type": "collection", "id": collection_instance.pk, "label": collection_instance.title, "deleted_at": collection_instance.deleted_at.isoformat(), } ) for resource_instance in Resource.objects.filter( deleted_at__isnull=False, ptr_project_id=project_id ): results.append( { "object_type": "resource", "id": resource_instance.pk, "label": resource_instance.title, "deleted_at": resource_instance.deleted_at.isoformat(), } ) return results
rpc/tests.py +9 −0 Original line number Diff line number Diff line Loading @@ -107,3 +107,12 @@ class ServiceTestCase(TestCase): parent_id=self.test_project_root_collection.pk, order_by="pouet", ) def test_recycle_bin(self): col = methods.add_collection( self.test_user, "delete me", self.test_project.root_collection.pk ) methods.delete_collection(self.test_user, col["id"]) self.assertEqual( len(methods.recycle_bin(self.test_user, self.test_project.pk)), 1 )