invenio-app-ils 5.0.2__tar.gz → 6.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/CHANGES.rst +9 -0
  2. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/PKG-INFO +10 -1
  3. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/__init__.py +1 -1
  4. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/config.py +7 -3
  5. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/config.py +2 -2
  6. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/cli.py +11 -0
  7. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/views.py +2 -2
  8. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/config.py +13 -9
  9. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/api.py +32 -0
  10. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/config.py +2 -2
  11. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/views.py +2 -2
  12. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/anonymization.py +3 -1
  13. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/permissions.py +24 -2
  14. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/config.py +6 -3
  15. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/permissions.py +8 -2
  16. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/views.py +2 -2
  17. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/search_permissions.py +3 -3
  18. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/PKG-INFO +10 -1
  19. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/entry_points.txt +1 -0
  20. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/run-tests.sh +4 -1
  21. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/setup.cfg +1 -0
  22. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/.editorconfig +0 -0
  23. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/.git-blame-ignore-revs +0 -0
  24. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/AUTHORS.rst +0 -0
  25. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/CONTRIBUTING.rst +0 -0
  26. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/INSTALL.rst +0 -0
  27. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/LICENSE +0 -0
  28. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/MANIFEST.in +0 -0
  29. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/README.rst +0 -0
  30. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/backend/Dockerfile +0 -0
  31. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/frontend/Dockerfile +0 -0
  32. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/frontend/conf.d/default.conf +0 -0
  33. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/frontend/nginx.conf +0 -0
  34. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/frontend/test.crt +0 -0
  35. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/frontend/test.key +0 -0
  36. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/lb/Dockerfile +0 -0
  37. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/lb/haproxy.cfg +0 -0
  38. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker/lb/haproxy_cert.pem +0 -0
  39. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker-compose.full.yml +0 -0
  40. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker-compose.yml +0 -0
  41. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/docker-services.yml +0 -0
  42. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/__init__.py +0 -0
  43. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/api.py +0 -0
  44. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/errors.py +0 -0
  45. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/ext.py +0 -0
  46. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/jsonresolvers/__init__.py +0 -0
  47. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/jsonresolvers/order_order_lines.py +0 -0
  48. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/jsonresolvers/order_provider.py +0 -0
  49. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/loaders/__init__.py +0 -0
  50. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/loaders/jsonschemas/__init__.py +0 -0
  51. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/loaders/jsonschemas/order.py +0 -0
  52. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/__init__.py +0 -0
  53. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/os-v1/__init__.py +0 -0
  54. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/os-v1/acq_orders/order-v1.0.0.json +0 -0
  55. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/os-v2/__init__.py +0 -0
  56. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/os-v2/acq_orders/order-v1.0.0.json +0 -0
  57. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/v7/__init__.py +0 -0
  58. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/mappings/v7/acq_orders/order-v1.0.0.json +0 -0
  59. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/proxies.py +0 -0
  60. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/schemas/__init__.py +0 -0
  61. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/schemas/acq_orders/order-v1.0.0.json +0 -0
  62. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/acquisition/search.py +0 -0
  63. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/assets/semantic-ui/less/theme.config +0 -0
  64. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/assets/semantic-ui/templates/.gitkeep +0 -0
  65. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/__init__.py +0 -0
  66. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/api.py +0 -0
  67. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/indexer.py +0 -0
  68. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/jsonresolvers/__init__.py +0 -0
  69. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/jsonresolvers/loan.py +0 -0
  70. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/__init__.py +0 -0
  71. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/__init__.py +0 -0
  72. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/__init__.py +0 -0
  73. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/base.py +0 -0
  74. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/bulk_extend.py +0 -0
  75. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/loan_checkout.py +0 -0
  76. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/loan_request.py +0 -0
  77. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/loan_self_checkout.py +0 -0
  78. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/loaders/schemas/json/loan_update_dates.py +0 -0
  79. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/notifications/__init__.py +0 -0
  80. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/notifications/api.py +0 -0
  81. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/notifications/messages.py +0 -0
  82. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/notifications/tasks.py +0 -0
  83. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/receivers.py +0 -0
  84. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/search.py +0 -0
  85. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/serializers/__init__.py +0 -0
  86. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/serializers/csv.py +0 -0
  87. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/serializers/custom_fields.py +0 -0
  88. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/serializers/json.py +0 -0
  89. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/serializers/response.py +0 -0
  90. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/stats/__init__.py +0 -0
  91. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/stats/api.py +0 -0
  92. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/stats/views.py +0 -0
  93. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/tasks.py +0 -0
  94. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/bulk_extend.html +0 -0
  95. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/cancel.html +0 -0
  96. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/checkin.html +0 -0
  97. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/checkout.html +0 -0
  98. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/extend.html +0 -0
  99. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/overdue_reminder.html +0 -0
  100. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/request.html +0 -0
  101. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/request_no_items.html +0 -0
  102. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/self_checkout.html +0 -0
  103. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/update_dates.html +0 -0
  104. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/will_expire_in_reminder.html +0 -0
  105. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/transitions/__init__.py +0 -0
  106. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/transitions/transitions.py +0 -0
  107. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/utils.py +0 -0
  108. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/circulation/views.py +0 -0
  109. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/__init__.py +0 -0
  110. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/api.py +0 -0
  111. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/serializers/__init__.py +0 -0
  112. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/serializers/response.py +0 -0
  113. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/serializers/schema.py +0 -0
  114. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/closures/tasks.py +0 -0
  115. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/demo_data/documents.json +0 -0
  116. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/demo_data/items.json +0 -0
  117. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/__init__.py +0 -0
  118. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/api.py +0 -0
  119. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/indexer.py +0 -0
  120. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/jsonresolvers/__init__.py +0 -0
  121. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/jsonresolvers/document_request_document.py +0 -0
  122. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/jsonresolvers/document_request_patron.py +0 -0
  123. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/loaders/__init__.py +0 -0
  124. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/loaders/jsonschemas/__init__.py +0 -0
  125. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/loaders/jsonschemas/document_request.py +0 -0
  126. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/loaders/jsonschemas/document_request_decline.py +0 -0
  127. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/loaders/jsonschemas/document_request_document.py +0 -0
  128. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/loaders/jsonschemas/document_request_provider.py +0 -0
  129. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/__init__.py +0 -0
  130. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/os-v1/__init__.py +0 -0
  131. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/os-v1/document_requests/document_request-v1.0.0.json +0 -0
  132. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/os-v2/__init__.py +0 -0
  133. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/os-v2/document_requests/document_request-v1.0.0.json +0 -0
  134. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/v7/__init__.py +0 -0
  135. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/mappings/v7/document_requests/document_request-v1.0.0.json +0 -0
  136. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/notifications/__init__.py +0 -0
  137. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/notifications/api.py +0 -0
  138. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/notifications/messages.py +0 -0
  139. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/schemas/__init__.py +0 -0
  140. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/schemas/document_requests/document_request-v1.0.0.json +0 -0
  141. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/search.py +0 -0
  142. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/templates/invenio_app_ils_document_requests/notifications/document_request_accept.html +0 -0
  143. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/templates/invenio_app_ils_document_requests/notifications/document_request_decline_in_catalog.html +0 -0
  144. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/templates/invenio_app_ils_document_requests/notifications/document_request_decline_not_found.html +0 -0
  145. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/templates/invenio_app_ils_document_requests/notifications/document_request_decline_other.html +0 -0
  146. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/templates/invenio_app_ils_document_requests/notifications/document_request_decline_user_cancel.html +0 -0
  147. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/document_requests/views.py +0 -0
  148. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/__init__.py +0 -0
  149. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/api.py +0 -0
  150. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/indexer.py +0 -0
  151. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/jsonresolvers/__init__.py +0 -0
  152. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/jsonresolvers/document_circulation.py +0 -0
  153. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/jsonresolvers/document_eitem.py +0 -0
  154. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/jsonresolvers/document_item.py +0 -0
  155. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/jsonresolvers/document_relations.py +0 -0
  156. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/jsonresolvers/document_stock.py +0 -0
  157. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/loaders/__init__.py +0 -0
  158. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/loaders/jsonschemas/__init__.py +0 -0
  159. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/loaders/jsonschemas/document.py +0 -0
  160. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/__init__.py +0 -0
  161. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/os-v1/__init__.py +0 -0
  162. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/os-v1/documents/document-v1.0.0.json +0 -0
  163. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/os-v1/documents/document-v2.0.0.json +0 -0
  164. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/os-v2/__init__.py +0 -0
  165. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/os-v2/documents/document-v1.0.0.json +0 -0
  166. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/os-v2/documents/document-v2.0.0.json +0 -0
  167. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/v7/__init__.py +0 -0
  168. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/v7/documents/document-v1.0.0.json +0 -0
  169. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/mappings/v7/documents/document-v2.0.0.json +0 -0
  170. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/schemas/__init__.py +0 -0
  171. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/schemas/documents/document-v1.0.0.json +0 -0
  172. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/schemas/documents/document-v2.0.0.json +0 -0
  173. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/search.py +0 -0
  174. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/documents/utils.py +0 -0
  175. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/__init__.py +0 -0
  176. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/indexer.py +0 -0
  177. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/jsonresolvers/__init__.py +0 -0
  178. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/jsonresolvers/eitem_document.py +0 -0
  179. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/jsonresolvers/eitem_files.py +0 -0
  180. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/loaders/__init__.py +0 -0
  181. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/loaders/jsonschemas/__init__.py +0 -0
  182. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/loaders/jsonschemas/eitems.py +0 -0
  183. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/__init__.py +0 -0
  184. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v1/__init__.py +0 -0
  185. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v1.0.0.json +0 -0
  186. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v2.0.0.json +0 -0
  187. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v3.0.0.json +0 -0
  188. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v2/__init__.py +0 -0
  189. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v1.0.0.json +0 -0
  190. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v2.0.0.json +0 -0
  191. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v3.0.0.json +0 -0
  192. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/v7/__init__.py +0 -0
  193. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/v7/eitems/eitem-v1.0.0.json +0 -0
  194. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/v7/eitems/eitem-v2.0.0.json +0 -0
  195. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/mappings/v7/eitems/eitem-v3.0.0.json +0 -0
  196. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/schemas/__init__.py +0 -0
  197. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/schemas/eitems/eitem-v1.0.0.json +0 -0
  198. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/schemas/eitems/eitem-v2.0.0.json +0 -0
  199. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/schemas/eitems/eitem-v3.0.0.json +0 -0
  200. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/eitems/search.py +0 -0
  201. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/errors.py +0 -0
  202. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ext.py +0 -0
  203. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/facets.py +0 -0
  204. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/fetchers.py +0 -0
  205. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/files/__init__.py +0 -0
  206. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/files/receivers.py +0 -0
  207. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/files/views.py +0 -0
  208. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/__init__.py +0 -0
  209. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/api.py +0 -0
  210. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/errors.py +0 -0
  211. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/ext.py +0 -0
  212. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/jsonresolvers/__init__.py +0 -0
  213. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/jsonresolvers/borrowing_request_document.py +0 -0
  214. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/jsonresolvers/borrowing_request_patron.py +0 -0
  215. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/jsonresolvers/borrowing_request_provider.py +0 -0
  216. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/loaders/__init__.py +0 -0
  217. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/loaders/jsonschemas/__init__.py +0 -0
  218. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/loaders/jsonschemas/borrowing_request.py +0 -0
  219. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/loaders/jsonschemas/patron_loan_actions.py +0 -0
  220. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/loaders/jsonschemas/patron_loan_extension_actions.py +0 -0
  221. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/__init__.py +0 -0
  222. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/os-v1/__init__.py +0 -0
  223. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/os-v1/ill_borrowing_requests/borrowing_request-v1.0.0.json +0 -0
  224. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/os-v2/__init__.py +0 -0
  225. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/os-v2/ill_borrowing_requests/borrowing_request-v1.0.0.json +0 -0
  226. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/v7/__init__.py +0 -0
  227. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/mappings/v7/ill_borrowing_requests/borrowing_request-v1.0.0.json +0 -0
  228. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/notifications/__init__.py +0 -0
  229. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/notifications/api.py +0 -0
  230. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/notifications/messages.py +0 -0
  231. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/proxies.py +0 -0
  232. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/schemas/__init__.py +0 -0
  233. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/schemas/ill_borrowing_requests/borrowing_request-v1.0.0.json +0 -0
  234. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/search.py +0 -0
  235. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/serializers/__init__.py +0 -0
  236. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/serializers/csv.py +0 -0
  237. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/serializers/custom_fields.py +0 -0
  238. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/serializers/json.py +0 -0
  239. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/templates/invenio_app_ils_ill/notifications/patron_loan_extension_accept.html +0 -0
  240. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/templates/invenio_app_ils_ill/notifications/patron_loan_extension_decline.html +0 -0
  241. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/templates/invenio_app_ils_ill/notifications/patron_loan_extension_request.html +0 -0
  242. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/ill/views.py +0 -0
  243. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/indexer.py +0 -0
  244. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/__init__.py +0 -0
  245. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/api.py +0 -0
  246. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/indexer.py +0 -0
  247. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/jsonresolvers/__init__.py +0 -0
  248. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/jsonresolvers/internal_location.py +0 -0
  249. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/loaders/__init__.py +0 -0
  250. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/loaders/jsonschemas/__init__.py +0 -0
  251. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/loaders/jsonschemas/internal_location.py +0 -0
  252. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/__init__.py +0 -0
  253. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/os-v1/__init__.py +0 -0
  254. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/os-v1/internal_locations/internal_location-v1.0.0.json +0 -0
  255. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/os-v2/__init__.py +0 -0
  256. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/os-v2/internal_locations/internal_location-v1.0.0.json +0 -0
  257. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/v7/__init__.py +0 -0
  258. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/mappings/v7/internal_locations/internal_location-v1.0.0.json +0 -0
  259. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/schemas/__init__.py +0 -0
  260. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/schemas/internal_locations/internal_location-v1.0.0.json +0 -0
  261. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/internal_locations/search.py +0 -0
  262. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/__init__.py +0 -0
  263. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/api.py +0 -0
  264. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/indexer.py +0 -0
  265. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/jsonresolvers/__init__.py +0 -0
  266. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/jsonresolvers/item_document.py +0 -0
  267. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/jsonresolvers/item_internal_location.py +0 -0
  268. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/jsonresolvers/item_loan.py +0 -0
  269. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/loaders/__init__.py +0 -0
  270. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/loaders/jsonschemas/__init__.py +0 -0
  271. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/loaders/jsonschemas/items.py +0 -0
  272. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/__init__.py +0 -0
  273. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/os-v1/__init__.py +0 -0
  274. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/os-v1/items/item-v1.0.0.json +0 -0
  275. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/os-v1/items/item-v2.0.0.json +0 -0
  276. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/os-v2/__init__.py +0 -0
  277. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/os-v2/items/item-v1.0.0.json +0 -0
  278. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/os-v2/items/item-v2.0.0.json +0 -0
  279. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/v7/__init__.py +0 -0
  280. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/v7/items/item-v1.0.0.json +0 -0
  281. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/mappings/v7/items/item-v2.0.0.json +0 -0
  282. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/schemas/__init__.py +0 -0
  283. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/schemas/items/item-v1.0.0.json +0 -0
  284. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/schemas/items/item-v2.0.0.json +0 -0
  285. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/search.py +0 -0
  286. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/serializers/__init__.py +0 -0
  287. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/items/serializers/item.py +0 -0
  288. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/__init__.py +0 -0
  289. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/api.py +0 -0
  290. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/covers_builder.py +0 -0
  291. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/search.py +0 -0
  292. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/serializers/__init__.py +0 -0
  293. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/serializers/csv.py +0 -0
  294. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/serializers/custom_fields.py +0 -0
  295. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/literature/serializers/json.py +0 -0
  296. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/__init__.py +0 -0
  297. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/api.py +0 -0
  298. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/indexer.py +0 -0
  299. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/loaders/__init__.py +0 -0
  300. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/loaders/jsonschemas/__init__.py +0 -0
  301. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/loaders/jsonschemas/location.py +0 -0
  302. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/__init__.py +0 -0
  303. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/os-v1/__init__.py +0 -0
  304. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/os-v1/locations/location-v1.0.0.json +0 -0
  305. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/os-v2/__init__.py +0 -0
  306. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/os-v2/locations/location-v1.0.0.json +0 -0
  307. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/v7/__init__.py +0 -0
  308. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/mappings/v7/locations/location-v1.0.0.json +0 -0
  309. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/receivers.py +0 -0
  310. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/schemas/__init__.py +0 -0
  311. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/schemas/locations/location-v1.0.0.json +0 -0
  312. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/locations/search.py +0 -0
  313. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/minters.py +0 -0
  314. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/__init__.py +0 -0
  315. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/api.py +0 -0
  316. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/backends/__init__.py +0 -0
  317. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/backends/mail.py +0 -0
  318. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/messages.py +0 -0
  319. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/models.py +0 -0
  320. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/notifications/tasks.py +0 -0
  321. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/__init__.py +0 -0
  322. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/api.py +0 -0
  323. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/cli.py +0 -0
  324. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/indexer.py +0 -0
  325. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/__init__.py +0 -0
  326. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/os-v1/__init__.py +0 -0
  327. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/os-v1/patrons/patron-v1.0.0.json +0 -0
  328. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/os-v2/__init__.py +0 -0
  329. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/os-v2/patrons/patron-v1.0.0.json +0 -0
  330. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/v7/__init__.py +0 -0
  331. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/mappings/v7/patrons/patron-v1.0.0.json +0 -0
  332. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/search.py +0 -0
  333. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/patrons/views.py +0 -0
  334. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/__init__.py +0 -0
  335. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/api.py +0 -0
  336. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/errors.py +0 -0
  337. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/ext.py +0 -0
  338. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/indexer.py +0 -0
  339. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/loaders/__init__.py +0 -0
  340. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/loaders/jsonschemas/__init__.py +0 -0
  341. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/loaders/jsonschemas/provider.py +0 -0
  342. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/__init__.py +0 -0
  343. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/os-v1/__init__.py +0 -0
  344. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/os-v1/providers/provider-v1.0.0.json +0 -0
  345. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/os-v2/__init__.py +0 -0
  346. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/os-v2/providers/provider-v1.0.0.json +0 -0
  347. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/v7/__init__.py +0 -0
  348. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/mappings/v7/providers/provider-v1.0.0.json +0 -0
  349. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/proxies.py +0 -0
  350. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/schemas/__init__.py +0 -0
  351. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/schemas/providers/provider-v1.0.0.json +0 -0
  352. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/providers/search.py +0 -0
  353. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/proxies.py +0 -0
  354. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/__init__.py +0 -0
  355. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/api.py +0 -0
  356. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/jsonresolvers/__init__.py +0 -0
  357. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/jsonresolvers/api.py +0 -0
  358. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/listeners.py +0 -0
  359. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/loaders/__init__.py +0 -0
  360. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/loaders/schemas/__init__.py +0 -0
  361. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/loaders/schemas/changed_by.py +0 -0
  362. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/loaders/schemas/identifiers.py +0 -0
  363. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/loaders/schemas/preserve_cover_metadata.py +0 -0
  364. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/loaders/schemas/price.py +0 -0
  365. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/metadata_extensions.py +0 -0
  366. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/receivers.py +0 -0
  367. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/schemas/__init__.py +0 -0
  368. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/schemas/json.py +0 -0
  369. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records/serializers/__init__.py +0 -0
  370. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records_relations/__init__.py +0 -0
  371. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records_relations/api.py +0 -0
  372. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records_relations/indexer.py +0 -0
  373. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records_relations/retriever.py +0 -0
  374. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/records_relations/views.py +0 -0
  375. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/relations/__init__.py +0 -0
  376. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/relations/api.py +0 -0
  377. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/relations/nodes.py +0 -0
  378. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/__init__.py +0 -0
  379. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/api.py +0 -0
  380. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/indexer.py +0 -0
  381. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/jsonresolvers/__init__.py +0 -0
  382. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/jsonresolvers/series_relations.py +0 -0
  383. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/loaders/__init__.py +0 -0
  384. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/loaders/jsonschemas/__init__.py +0 -0
  385. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/loaders/jsonschemas/series.py +0 -0
  386. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/__init__.py +0 -0
  387. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/os-v1/__init__.py +0 -0
  388. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/os-v1/series/series-v1.0.0.json +0 -0
  389. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/os-v1/series/series-v2.0.0.json +0 -0
  390. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/os-v2/__init__.py +0 -0
  391. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/os-v2/series/series-v1.0.0.json +0 -0
  392. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/os-v2/series/series-v2.0.0.json +0 -0
  393. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/v7/__init__.py +0 -0
  394. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/v7/series/series-v1.0.0.json +0 -0
  395. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/mappings/v7/series/series-v2.0.0.json +0 -0
  396. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/schemas/__init__.py +0 -0
  397. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/schemas/series/series-v1.0.0.json +0 -0
  398. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/schemas/series/series-v2.0.0.json +0 -0
  399. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/series/search.py +0 -0
  400. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/signals.py +0 -0
  401. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/static/images/placeholder.png +0 -0
  402. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/static_pages/search_guide.html +0 -0
  403. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/__init__.py +0 -0
  404. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/__init__.py +0 -0
  405. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/__init__.py +0 -0
  406. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/os-v1/__init__.py +0 -0
  407. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/os-v1/aggr-file-download-v1.json +0 -0
  408. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/os-v2/__init__.py +0 -0
  409. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/os-v2/aggr-file-download-v1.json +0 -0
  410. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/v7/__init__.py +0 -0
  411. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/aggregations/aggr_file_download/v7/aggr-file-download-v1.json +0 -0
  412. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/__init__.py +0 -0
  413. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/os-v1/__init__.py +0 -0
  414. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/os-v1/file-download-v1.json +0 -0
  415. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/os-v2/__init__.py +0 -0
  416. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/os-v2/file-download-v1.json +0 -0
  417. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/v7/__init__.py +0 -0
  418. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/stats/file_download/v7/file-download-v1.json +0 -0
  419. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/templates/invenio_app_ils/mail/footer.html +0 -0
  420. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/templates/invenio_app_ils/notifications/footer.html +0 -0
  421. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/templates/logged_out.html +0 -0
  422. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/translations/.gitkeep +0 -0
  423. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/views.py +0 -0
  424. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/__init__.py +0 -0
  425. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/api.py +0 -0
  426. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/cli.py +0 -0
  427. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/__init__.py +0 -0
  428. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/acq_mediums.json +0 -0
  429. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/acq_order_line_payment_modes.json +0 -0
  430. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/acq_order_line_purchase_types.json +0 -0
  431. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/acq_payment_modes.json +0 -0
  432. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/acq_recipients.json +0 -0
  433. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/affiliation_identifier_schemes.json +0 -0
  434. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/alternative_identifier_schemes.json +0 -0
  435. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/alternative_title_types.json +0 -0
  436. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/author_identifier_schemes.json +0 -0
  437. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/author_roles.json +0 -0
  438. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/author_types.json +0 -0
  439. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/conference_identifier_schemes.json +0 -0
  440. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/countries.json +0 -0
  441. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/currencies.json +0 -0
  442. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/docreq_payment_method.json +0 -0
  443. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/docreq_request_type.json +0 -0
  444. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/document_identifiers_materials.json +0 -0
  445. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/document_requests_mediums.json +0 -0
  446. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/document_subjects.json +0 -0
  447. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/eitem_sources.json +0 -0
  448. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/identifier_schemes.json +0 -0
  449. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/ill_item_types.json +0 -0
  450. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/ill_payment_modes.json +0 -0
  451. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/item_mediums.json +0 -0
  452. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/provider_types.json +0 -0
  453. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/series_identifier_schemes.json +0 -0
  454. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/series_url_access_restrictions.json +0 -0
  455. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/data/tags.json +0 -0
  456. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/indexer.py +0 -0
  457. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/jsonresolvers/__init__.py +0 -0
  458. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/jsonresolvers/licenses.py +0 -0
  459. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/__init__.py +0 -0
  460. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/os-v1/__init__.py +0 -0
  461. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +0 -0
  462. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/os-v2/__init__.py +0 -0
  463. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +0 -0
  464. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/v7/__init__.py +0 -0
  465. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/mappings/v7/vocabularies/vocabulary-v1.0.0.json +0 -0
  466. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/schemas/__init__.py +0 -0
  467. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/schemas/vocabularies/vocabulary-v1.0.0.json +0 -0
  468. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/search.py +0 -0
  469. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/sources/__init__.py +0 -0
  470. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/sources/base.py +0 -0
  471. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/sources/json.py +0 -0
  472. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/vocabularies/sources/opendefinition.py +0 -0
  473. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils/webpack.py +0 -0
  474. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/SOURCES.txt +0 -0
  475. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/dependency_links.txt +0 -0
  476. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/not-zip-safe +0 -0
  477. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/requires.txt +0 -0
  478. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/invenio_app_ils.egg-info/top_level.txt +0 -0
  479. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/pyproject.toml +0 -0
  480. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/bootstrap +0 -0
  481. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/build_assets +0 -0
  482. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/celery +0 -0
  483. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/console +0 -0
  484. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/server +0 -0
  485. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/setup +0 -0
  486. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/scripts/update +0 -0
  487. {invenio_app_ils-5.0.2 → invenio_app_ils-6.0.0}/setup.py +0 -0
@@ -8,6 +8,15 @@
8
8
  Changes
9
9
  =======
10
10
 
11
+ Version 6.0.0 (released 2025-10-03)
12
+
13
+ - breaking change: permissions: turn permission that checks if user can see notifications into read permission
14
+ - permissions: add backoffice readonly action
15
+
16
+ Version 5.1.0 (released 2025-09-24)
17
+
18
+ - eitem: add api methods to get eitems by `created_by` and `source` fields
19
+
11
20
  Version 5.0.2 (released 2025-08-20)
12
21
 
13
22
  - fix: ensure the invenio_app_ils configuration is loaded before cds_ils
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-app-ils
3
- Version: 5.0.2
3
+ Version: 6.0.0
4
4
  Summary: Invenio Integrated Library System.
5
5
  Home-page: https://github.com/inveniosoftware/invenio-app-ils
6
6
  Author: CERN
@@ -103,6 +103,15 @@ https://invenioils.docs.cern.ch
103
103
  Changes
104
104
  =======
105
105
 
106
+ Version 6.0.0 (released 2025-10-03)
107
+
108
+ - breaking change: permissions: turn permission that checks if user can see notifications into read permission
109
+ - permissions: add backoffice readonly action
110
+
111
+ Version 5.1.0 (released 2025-09-24)
112
+
113
+ - eitem: add api methods to get eitems by `created_by` and `source` fields
114
+
106
115
  Version 5.0.2 (released 2025-08-20)
107
116
 
108
117
  - fix: ensure the invenio_app_ils configuration is loaded before cds_ils
@@ -7,6 +7,6 @@
7
7
 
8
8
  """invenio-app-ils."""
9
9
 
10
- __version__ = "5.0.2"
10
+ __version__ = "6.0.0"
11
11
 
12
12
  __all__ = ("__version__",)
@@ -10,7 +10,11 @@ from invenio_indexer.api import RecordIndexer
10
10
  from invenio_records_rest.facets import terms_filter
11
11
 
12
12
  from invenio_app_ils.config import RECORDS_REST_MAX_RESULT_WINDOW
13
- from invenio_app_ils.permissions import backoffice_permission, superuser_permission
13
+ from invenio_app_ils.permissions import (
14
+ backoffice_permission,
15
+ backoffice_read_permission,
16
+ superuser_permission,
17
+ )
14
18
 
15
19
  from .api import ORDER_PID_FETCHER, ORDER_PID_MINTER, ORDER_PID_TYPE, Order
16
20
  from .search import OrderSearch
@@ -44,8 +48,8 @@ RECORDS_REST_ENDPOINTS = dict(
44
48
  default_media_type="application/json",
45
49
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
46
50
  error_handlers=dict(),
47
- read_permission_factory_imp=backoffice_permission,
48
- list_permission_factory_imp=backoffice_permission,
51
+ read_permission_factory_imp=backoffice_read_permission,
52
+ list_permission_factory_imp=backoffice_read_permission,
49
53
  create_permission_factory_imp=backoffice_permission,
50
54
  update_permission_factory_imp=backoffice_permission,
51
55
  delete_permission_factory_imp=superuser_permission,
@@ -41,7 +41,7 @@ from invenio_app_ils.items.api import (
41
41
  )
42
42
  from invenio_app_ils.patrons.api import patron_exists
43
43
  from invenio_app_ils.permissions import (
44
- PatronOwnerPermission,
44
+ PatronOwnerReadPermission,
45
45
  authenticated_user_permission,
46
46
  backoffice_permission,
47
47
  loan_extend_circulation_permission,
@@ -254,7 +254,7 @@ ILS_CIRCULATION_RECORDS_REST_ENDPOINTS = dict(
254
254
  links_factory_imp="invenio_circulation.links:loan_links_factory",
255
255
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
256
256
  error_handlers=dict(),
257
- read_permission_factory_imp=PatronOwnerPermission,
257
+ read_permission_factory_imp=PatronOwnerReadPermission,
258
258
  # auth via search_factory
259
259
  list_permission_factory_imp=authenticated_user_permission,
260
260
  create_permission_factory_imp=superuser_permission,
@@ -1308,6 +1308,7 @@ def data(
1308
1308
  # Create roles to restrict access
1309
1309
  _run_command("roles create admin", verbose)
1310
1310
  _run_command("roles create librarian", verbose)
1311
+ _run_command("roles create librarian-readonly", verbose)
1311
1312
 
1312
1313
  # Create users
1313
1314
  patron1_profile = {"full_name": "Yannic Vilma"}
@@ -1328,6 +1329,12 @@ def data(
1328
1329
  verbose,
1329
1330
  )
1330
1331
 
1332
+ readonly_profile = {"full_name": "Ro Only"}
1333
+ _run_command(
1334
+ f"users create readonly@test.ch -a --password=123456 --profile '{json.dumps(readonly_profile)}'",
1335
+ verbose,
1336
+ )
1337
+
1331
1338
  patron3_profile = {"full_name": "Medrod Tara"}
1332
1339
  _run_command(
1333
1340
  f"users create patron3@test.ch -a --password=123456 --profile '{json.dumps(patron3_profile)}'",
@@ -1350,6 +1357,7 @@ def data(
1350
1357
 
1351
1358
  # assign roles
1352
1359
  _run_command("roles add librarian@test.ch librarian", verbose)
1360
+ _run_command("roles add readonly@test.ch librarian-readonly", verbose)
1353
1361
 
1354
1362
  # Index vocabularies
1355
1363
  vocabularies_dir = os.path.join(CURRENT_DIR, "vocabularies", "data")
@@ -1368,6 +1376,9 @@ def data(
1368
1376
  # Assign actions
1369
1377
  _run_command("access allow superuser-access role admin", verbose)
1370
1378
  _run_command("access allow ils-backoffice-access role librarian", verbose)
1379
+ _run_command(
1380
+ "access allow ils-backoffice-readonly-access role librarian-readonly", verbose
1381
+ )
1371
1382
 
1372
1383
  # Create demo locations
1373
1384
  click.echo("Creating locations and internal locations...")
@@ -16,7 +16,7 @@ from invenio_rest import ContentNegotiatedMethodView
16
16
  from invenio_app_ils.locations.api import LOCATION_PID_TYPE
17
17
  from invenio_app_ils.closures.serializers import closure_periods_response
18
18
  from invenio_app_ils.closures.api import get_closure_periods
19
- from invenio_app_ils.permissions import backoffice_permission
19
+ from invenio_app_ils.permissions import backoffice_read_permission
20
20
  from invenio_app_ils.records.permissions import RecordPermission
21
21
 
22
22
 
@@ -53,7 +53,7 @@ class LocationClosurePeriodsResource(ContentNegotiatedMethodView):
53
53
  """Get the date ranges for which a location is closure based in the specified year"""
54
54
 
55
55
  factory = RecordPermission(record, "read")
56
- if not factory.is_public() and not backoffice_permission().can():
56
+ if not factory.is_public() and not backoffice_read_permission().can():
57
57
  if not current_user.is_authenticated:
58
58
  abort(401)
59
59
  abort(403)
@@ -91,9 +91,10 @@ from .patrons.api import (
91
91
  )
92
92
  from .patrons.search import PatronsSearch
93
93
  from .permissions import (
94
- PatronOwnerPermission,
94
+ PatronOwnerReadPermission,
95
95
  authenticated_user_permission,
96
96
  backoffice_permission,
97
+ backoffice_read_permission,
97
98
  views_permissions_factory,
98
99
  )
99
100
  from .records.permissions import record_read_permission_factory
@@ -395,8 +396,8 @@ RECORDS_REST_ENDPOINTS = dict(
395
396
  default_media_type="application/json",
396
397
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
397
398
  error_handlers=dict(),
398
- read_permission_factory_imp=backoffice_permission,
399
- list_permission_factory_imp=backoffice_permission,
399
+ read_permission_factory_imp=backoffice_read_permission,
400
+ list_permission_factory_imp=backoffice_read_permission,
400
401
  create_permission_factory_imp=backoffice_permission,
401
402
  update_permission_factory_imp=backoffice_permission,
402
403
  delete_permission_factory_imp=backoffice_permission,
@@ -427,8 +428,8 @@ RECORDS_REST_ENDPOINTS = dict(
427
428
  default_media_type="application/json",
428
429
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
429
430
  error_handlers=dict(),
430
- read_permission_factory_imp=backoffice_permission,
431
- list_permission_factory_imp=backoffice_permission,
431
+ read_permission_factory_imp=backoffice_read_permission,
432
+ list_permission_factory_imp=backoffice_read_permission,
432
433
  create_permission_factory_imp=backoffice_permission,
433
434
  update_permission_factory_imp=backoffice_permission,
434
435
  delete_permission_factory_imp=backoffice_permission,
@@ -522,8 +523,8 @@ RECORDS_REST_ENDPOINTS = dict(
522
523
  default_media_type="application/json",
523
524
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
524
525
  error_handlers=dict(),
525
- read_permission_factory_imp=backoffice_permission,
526
- list_permission_factory_imp=backoffice_permission,
526
+ read_permission_factory_imp=backoffice_read_permission,
527
+ list_permission_factory_imp=backoffice_read_permission,
527
528
  create_permission_factory_imp=backoffice_permission,
528
529
  update_permission_factory_imp=backoffice_permission,
529
530
  delete_permission_factory_imp=backoffice_permission,
@@ -552,7 +553,7 @@ RECORDS_REST_ENDPOINTS = dict(
552
553
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
553
554
  error_handlers=dict(),
554
555
  read_permission_factory_imp=deny_all,
555
- list_permission_factory_imp=backoffice_permission,
556
+ list_permission_factory_imp=backoffice_read_permission,
556
557
  create_permission_factory_imp=deny_all,
557
558
  update_permission_factory_imp=deny_all,
558
559
  delete_permission_factory_imp=deny_all,
@@ -584,7 +585,7 @@ RECORDS_REST_ENDPOINTS = dict(
584
585
  default_media_type="application/json",
585
586
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
586
587
  error_handlers=dict(),
587
- read_permission_factory_imp=PatronOwnerPermission,
588
+ read_permission_factory_imp=PatronOwnerReadPermission,
588
589
  # auth via search_factory
589
590
  list_permission_factory_imp=authenticated_user_permission,
590
591
  create_permission_factory_imp=authenticated_user_permission,
@@ -1083,3 +1084,6 @@ THEME_FRONTPAGE = False
1083
1084
  PAGES_DEFAULT_TEMPLATE = "invenio_pages/default.html"
1084
1085
  # default app theme
1085
1086
  APP_THEME = ["semantic-ui"]
1087
+
1088
+ # Site name.
1089
+ THEME_SITENAME = _("InvenioILS")
@@ -119,3 +119,35 @@ def eitem_event_builder(event, sender_app, obj=None, **kwargs):
119
119
  record = kwargs["record"]
120
120
  event.update(dict(eitem_pid=record["pid"], document_pid=record.get("document_pid")))
121
121
  return event
122
+
123
+
124
+ def get_eitems_for_document_by_creator(document_pid, creator, case_insensitive=False):
125
+ """Find eitems by document pid and creator.
126
+
127
+ :param document_pid: The PID of the document of the eitems to search for.
128
+ :param creator: The creator to filter eitems by.
129
+ :param case_insensitive: Whether the creator match should be case insensitive.
130
+ """
131
+ eitem_search = current_app_ils.eitem_search_cls()
132
+ creator_match = eitem_search.search_by_document_pid(
133
+ document_pid=document_pid
134
+ ).filter(
135
+ "term",
136
+ created_by__value={"term": creator, "case_insensitive": case_insensitive},
137
+ )
138
+
139
+ return creator_match
140
+
141
+
142
+ def get_eitems_for_document_by_source(document_pid, source, case_insensitive=False):
143
+ """Find eitems by document pid and source.
144
+
145
+ :param document_pid: The PID of the document of the eitems to search for.
146
+ :param source: The source to filter eitems by.
147
+ :param case_insensitive: Whether the source match should be case insensitive.
148
+ """
149
+ eitem_search = current_app_ils.eitem_search_cls()
150
+ source_match = eitem_search.search_by_document_pid(
151
+ document_pid=document_pid
152
+ ).filter("term", source={"value": source, "case_insensitive": case_insensitive})
153
+ return source_match
@@ -11,7 +11,7 @@ from invenio_records_rest.facets import terms_filter
11
11
 
12
12
  from invenio_app_ils.config import RECORDS_REST_MAX_RESULT_WINDOW
13
13
  from invenio_app_ils.permissions import (
14
- PatronOwnerPermission,
14
+ PatronOwnerReadPermission,
15
15
  authenticated_user_permission,
16
16
  backoffice_permission,
17
17
  superuser_permission,
@@ -76,7 +76,7 @@ RECORDS_REST_ENDPOINTS = dict(
76
76
  default_media_type="application/json",
77
77
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
78
78
  error_handlers=dict(),
79
- read_permission_factory_imp=PatronOwnerPermission,
79
+ read_permission_factory_imp=PatronOwnerReadPermission,
80
80
  # auth via search_factory
81
81
  list_permission_factory_imp=authenticated_user_permission,
82
82
  create_permission_factory_imp=backoffice_permission,
@@ -38,7 +38,7 @@ def get_notifications_blueprint(_):
38
38
  "size": fields.Int(validate=[validate.Range(min=1, max=100)]),
39
39
  }
40
40
  )
41
- @need_permissions("send-notification-to-patron")
41
+ @need_permissions("get-notifications-sent-to-patron")
42
42
  def get_notifications(
43
43
  recipient_user_id=None,
44
44
  pid_type=None,
@@ -69,7 +69,7 @@ def get_notifications_blueprint(_):
69
69
  return {"hits": notifications, "total": len(notifications)}
70
70
 
71
71
  @blueprint.route("/notifications/<int:id>")
72
- @need_permissions("send-notification-to-patron")
72
+ @need_permissions("get-notifications-sent-to-patron")
73
73
  def get_notification(id):
74
74
  try:
75
75
  notification = NotificationsLogs.query.filter_by(id=id).one()
@@ -170,7 +170,9 @@ def anonymize_patron_data(patron_pid, force=False):
170
170
  borrowing_request["patron"] = anonymous_patron_fields
171
171
  borrowing_request["patron_pid"] = anonymous_patron_fields["pid"]
172
172
  borrowing_request.commit()
173
- anonymized_records[BORROWING_REQUEST_PID_TYPE]["records"].append(borrowing_request)
173
+ anonymized_records[BORROWING_REQUEST_PID_TYPE]["records"].append(
174
+ borrowing_request
175
+ )
174
176
  indices += 1
175
177
 
176
178
  DocumentRequestSearch = current_app_ils.document_request_search_cls
@@ -20,6 +20,7 @@ from invenio_app_ils.errors import InvalidLoanExtendError, LoanCheckoutByPatronF
20
20
  from invenio_app_ils.proxies import current_app_ils
21
21
 
22
22
  backoffice_access_action = action_factory("ils-backoffice-access")
23
+ backoffice_readonly_access_action = action_factory("ils-backoffice-readonly-access")
23
24
 
24
25
 
25
26
  def need_permissions(action):
@@ -62,6 +63,11 @@ def backoffice_permission(*args, **kwargs):
62
63
  return Permission(backoffice_access_action)
63
64
 
64
65
 
66
+ def backoffice_read_permission(*args, **kwargs):
67
+ """Return permission for backoffice (full or read-only) read access."""
68
+ return Permission(backoffice_access_action, backoffice_readonly_access_action)
69
+
70
+
65
71
  def superuser_permission(*args, **kwargs):
66
72
  """Return permission to allow only admins."""
67
73
  return Permission(superuser_access)
@@ -160,6 +166,18 @@ def loan_checkout_permission(*args, **kwargs):
160
166
  raise LoanCheckoutByPatronForbidden(int(loan["patron_pid"]), current_user.id)
161
167
 
162
168
 
169
+ class PatronOwnerReadPermission(Permission):
170
+ """Return Permission to evaluate if the current user owns the record or has backoffice read access."""
171
+
172
+ def __init__(self, record):
173
+ """Constructor."""
174
+ super().__init__(
175
+ UserNeed(int(record["patron_pid"])),
176
+ backoffice_access_action,
177
+ backoffice_readonly_access_action,
178
+ )
179
+
180
+
163
181
  class PatronOwnerPermission(Permission):
164
182
  """Return Permission to evaluate if the current user owns the record."""
165
183
 
@@ -179,13 +197,15 @@ _is_backoffice_permission = [
179
197
  "circulation-loan-update-dates",
180
198
  "relations-create",
181
199
  "relations-delete",
182
- "stats-most-loaned",
183
200
  "document-request-actions",
184
201
  "bucket-create",
185
202
  "ill-brwreq-patron-loan-create",
186
203
  "ill-brwreq-patron-loan-extension-accept",
187
204
  "ill-brwreq-patron-loan-extension-decline",
188
- "send-notification-to-patron",
205
+ ]
206
+ _is_backoffice_read_permission = [
207
+ "stats-most-loaned",
208
+ "get-notifications-sent-to-patron",
189
209
  ]
190
210
  _is_patron_owner_permission = [
191
211
  "document-request-decline",
@@ -199,6 +219,8 @@ def views_permissions_factory(action):
199
219
  return authenticated_user_permission()
200
220
  elif action in _is_backoffice_permission:
201
221
  return backoffice_permission()
222
+ elif action in _is_backoffice_read_permission:
223
+ return backoffice_read_permission()
202
224
  elif action in _is_patron_owner_permission:
203
225
  return PatronOwnerPermission
204
226
  elif action == "circulation-loan-checkout":
@@ -10,7 +10,10 @@
10
10
  from invenio_records_rest.facets import terms_filter
11
11
 
12
12
  from invenio_app_ils.config import RECORDS_REST_MAX_RESULT_WINDOW
13
- from invenio_app_ils.permissions import backoffice_permission
13
+ from invenio_app_ils.permissions import (
14
+ backoffice_permission,
15
+ backoffice_read_permission,
16
+ )
14
17
 
15
18
  from .api import PROVIDER_PID_FETCHER, PROVIDER_PID_MINTER, PROVIDER_PID_TYPE, Provider
16
19
  from .indexer import ProviderIndexer
@@ -47,8 +50,8 @@ RECORDS_REST_ENDPOINTS = dict(
47
50
  default_media_type="application/json",
48
51
  max_result_window=RECORDS_REST_MAX_RESULT_WINDOW,
49
52
  error_handlers=dict(),
50
- read_permission_factory_imp=backoffice_permission,
51
- list_permission_factory_imp=backoffice_permission,
53
+ read_permission_factory_imp=backoffice_read_permission,
54
+ list_permission_factory_imp=backoffice_read_permission,
52
55
  create_permission_factory_imp=backoffice_permission,
53
56
  update_permission_factory_imp=backoffice_permission,
54
57
  delete_permission_factory_imp=backoffice_permission,
@@ -12,7 +12,10 @@ from flask_principal import ActionNeed, RoleNeed, UserNeed
12
12
  from invenio_access import Permission, any_user
13
13
  from six import string_types
14
14
 
15
- from invenio_app_ils.permissions import backoffice_access_action
15
+ from invenio_app_ils.permissions import (
16
+ backoffice_access_action,
17
+ backoffice_readonly_access_action,
18
+ )
16
19
 
17
20
  create_records_action = ActionNeed("create-records")
18
21
 
@@ -68,7 +71,10 @@ class RecordPermission(Permission):
68
71
  if self.is_public():
69
72
  return [any_user]
70
73
  else:
71
- return self.record_needs() + [backoffice_access_action]
74
+ return self.record_needs() + [
75
+ backoffice_readonly_access_action,
76
+ backoffice_access_action,
77
+ ]
72
78
 
73
79
  def record_explicit_restrictions(self):
74
80
  """Return the list of user ids/roles allowed for the given action."""
@@ -17,7 +17,7 @@ from invenio_rest import ContentNegotiatedMethodView
17
17
  from invenio_app_ils.documents.api import DOCUMENT_PID_TYPE
18
18
  from invenio_app_ils.eitems.api import EITEM_PID_TYPE
19
19
  from invenio_app_ils.errors import StatsError
20
- from invenio_app_ils.permissions import backoffice_permission
20
+ from invenio_app_ils.permissions import backoffice_read_permission
21
21
  from invenio_app_ils.records.permissions import RecordPermission
22
22
  from invenio_app_ils.series.api import SERIES_PID_TYPE
23
23
  from invenio_app_ils.signals import file_downloaded, record_viewed
@@ -62,7 +62,7 @@ class DocumentStatsResource(ContentNegotiatedMethodView):
62
62
  def post(self, pid, record, **kwargs):
63
63
  """Send a signal to count record view for the record stats."""
64
64
  factory = RecordPermission(record, "read")
65
- if not factory.is_public() and not backoffice_permission().can():
65
+ if not factory.is_public() and not backoffice_read_permission().can():
66
66
  if not current_user.is_authenticated:
67
67
  abort(401)
68
68
  abort(403)
@@ -13,7 +13,7 @@ from flask import current_app, g, has_request_context, request
13
13
  from invenio_search.engine import dsl
14
14
 
15
15
  from invenio_app_ils.errors import SearchQueryError, UnauthorizedSearchError
16
- from invenio_app_ils.permissions import backoffice_permission
16
+ from invenio_app_ils.permissions import backoffice_read_permission
17
17
 
18
18
 
19
19
  def _get_user_provides():
@@ -30,7 +30,7 @@ def _get_user_provides():
30
30
 
31
31
  def search_filter_record_permissions():
32
32
  """Filter list of results by `_access` and `restricted` fields."""
33
- if not has_request_context() or backoffice_permission().allows(g.identity):
33
+ if not has_request_context() or backoffice_read_permission().allows(g.identity):
34
34
  return dsl.Q()
35
35
 
36
36
  # A record is public if `restricted` field False or missing
@@ -120,7 +120,7 @@ def _filter_by_patron(patron_id, search, query_string=None):
120
120
  def _filter_by_current_patron(search, query_string=None):
121
121
  """Filter search results by patron_pid."""
122
122
  # if the logged in user is not librarian or admin, validate the query
123
- if has_request_context() and not backoffice_permission().allows(g.identity):
123
+ if has_request_context() and not backoffice_read_permission().allows(g.identity):
124
124
  return _filter_by_patron(g.identity.id, search, query_string)
125
125
  return search, query_string
126
126
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-app-ils
3
- Version: 5.0.2
3
+ Version: 6.0.0
4
4
  Summary: Invenio Integrated Library System.
5
5
  Home-page: https://github.com/inveniosoftware/invenio-app-ils
6
6
  Author: CERN
@@ -103,6 +103,15 @@ https://invenioils.docs.cern.ch
103
103
  Changes
104
104
  =======
105
105
 
106
+ Version 6.0.0 (released 2025-10-03)
107
+
108
+ - breaking change: permissions: turn permission that checks if user can see notifications into read permission
109
+ - permissions: add backoffice readonly action
110
+
111
+ Version 5.1.0 (released 2025-09-24)
112
+
113
+ - eitem: add api methods to get eitems by `created_by` and `source` fields
114
+
106
115
  Version 5.0.2 (released 2025-08-20)
107
116
 
108
117
  - fix: ensure the invenio_app_ils configuration is loaded before cds_ils
@@ -11,6 +11,7 @@ vocabulary = invenio_app_ils.vocabularies.cli:vocabulary
11
11
 
12
12
  [invenio_access.actions]
13
13
  backoffice_access_action = invenio_app_ils.permissions:backoffice_access_action
14
+ backoffice_readonly_access_action = invenio_app_ils.permissions:backoffice_readonly_access_action
14
15
 
15
16
  [invenio_assets.webpack]
16
17
  invenio_app_ils_theme = invenio_app_ils.webpack:theme
@@ -47,7 +47,10 @@ done
47
47
  function cleanup() {
48
48
  eval "$(docker-services-cli down --env)"
49
49
  }
50
- trap cleanup EXIT
50
+
51
+ if [[ ${keep_services} -eq 0 ]]; then
52
+ trap cleanup EXIT
53
+ fi
51
54
 
52
55
  python -m check_manifest
53
56
  python -m sphinx.cmd.build -qnNW docs docs/_build/html
@@ -173,6 +173,7 @@ invenio_pidstore.minters =
173
173
  vocid = invenio_app_ils.vocabularies.api:vocabulary_pid_minter
174
174
  invenio_access.actions =
175
175
  backoffice_access_action = invenio_app_ils.permissions:backoffice_access_action
176
+ backoffice_readonly_access_action = invenio_app_ils.permissions:backoffice_readonly_access_action
176
177
  invenio_records.jsonresolver =
177
178
  ill_brw_req = invenio_app_ils.ill.jsonresolvers.borrowing_request_document
178
179
  ill_provider = invenio_app_ils.ill.jsonresolvers.borrowing_request_provider
File without changes