invenio-app-ils 1.0.0a54__py2.py3-none-any.whl → 6.1.0__py2.py3-none-any.whl

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 (331) hide show
  1. invenio_app_ils/__init__.py +2 -2
  2. invenio_app_ils/acquisition/api.py +3 -1
  3. invenio_app_ils/acquisition/config.py +10 -21
  4. invenio_app_ils/acquisition/jsonresolvers/order_order_lines.py +1 -0
  5. invenio_app_ils/acquisition/mappings/os-v1/acq_orders/order-v1.0.0.json +364 -0
  6. invenio_app_ils/acquisition/mappings/os-v2/__init__.py +0 -0
  7. invenio_app_ils/acquisition/mappings/os-v2/acq_orders/order-v1.0.0.json +364 -0
  8. invenio_app_ils/acquisition/mappings/v7/acq_orders/order-v1.0.0.json +14 -0
  9. invenio_app_ils/acquisition/search.py +5 -15
  10. invenio_app_ils/assets/semantic-ui/less/theme.config +103 -0
  11. invenio_app_ils/assets/semantic-ui/templates/.gitkeep +0 -0
  12. invenio_app_ils/circulation/api.py +153 -67
  13. invenio_app_ils/circulation/config.py +29 -25
  14. invenio_app_ils/circulation/indexer.py +14 -19
  15. invenio_app_ils/circulation/loaders/__init__.py +2 -0
  16. invenio_app_ils/circulation/loaders/schemas/json/loan_checkout.py +2 -3
  17. invenio_app_ils/circulation/loaders/schemas/json/loan_request.py +82 -16
  18. invenio_app_ils/circulation/loaders/schemas/json/loan_self_checkout.py +19 -0
  19. invenio_app_ils/circulation/notifications/api.py +23 -19
  20. invenio_app_ils/circulation/notifications/messages.py +6 -6
  21. invenio_app_ils/circulation/notifications/tasks.py +1 -2
  22. invenio_app_ils/circulation/receivers.py +2 -5
  23. invenio_app_ils/circulation/search.py +23 -22
  24. invenio_app_ils/circulation/serializers/__init__.py +2 -2
  25. invenio_app_ils/circulation/serializers/csv.py +1 -3
  26. invenio_app_ils/circulation/serializers/custom_fields.py +5 -9
  27. invenio_app_ils/circulation/serializers/json.py +2 -6
  28. invenio_app_ils/circulation/serializers/response.py +12 -12
  29. invenio_app_ils/circulation/stats/views.py +5 -15
  30. invenio_app_ils/circulation/tasks.py +2 -6
  31. invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/self_checkout.html +19 -0
  32. invenio_app_ils/circulation/templates/invenio_app_ils_circulation/notifications/update_dates.html +19 -0
  33. invenio_app_ils/circulation/utils.py +23 -17
  34. invenio_app_ils/circulation/views.py +103 -39
  35. invenio_app_ils/cli.py +220 -260
  36. invenio_app_ils/closures/api.py +72 -7
  37. invenio_app_ils/closures/serializers/__init__.py +16 -0
  38. invenio_app_ils/closures/serializers/response.py +35 -0
  39. invenio_app_ils/closures/serializers/schema.py +28 -0
  40. invenio_app_ils/closures/tasks.py +4 -11
  41. invenio_app_ils/closures/views.py +66 -0
  42. invenio_app_ils/config.py +207 -150
  43. invenio_app_ils/document_requests/api.py +6 -21
  44. invenio_app_ils/document_requests/loaders/__init__.py +4 -12
  45. invenio_app_ils/document_requests/mappings/{v6 → os-v1}/__init__.py +2 -2
  46. invenio_app_ils/document_requests/mappings/os-v1/document_requests/document_request-v1.0.0.json +196 -0
  47. invenio_app_ils/document_requests/mappings/os-v2/__init__.py +8 -0
  48. invenio_app_ils/document_requests/mappings/os-v2/document_requests/document_request-v1.0.0.json +196 -0
  49. invenio_app_ils/document_requests/notifications/api.py +2 -7
  50. invenio_app_ils/document_requests/notifications/messages.py +3 -7
  51. invenio_app_ils/document_requests/search.py +2 -6
  52. invenio_app_ils/document_requests/views.py +4 -10
  53. invenio_app_ils/documents/api.py +19 -25
  54. invenio_app_ils/documents/indexer.py +13 -20
  55. invenio_app_ils/documents/jsonresolvers/document_circulation.py +11 -33
  56. invenio_app_ils/documents/jsonresolvers/document_eitem.py +1 -0
  57. invenio_app_ils/documents/jsonresolvers/document_item.py +8 -9
  58. invenio_app_ils/documents/jsonresolvers/document_stock.py +7 -7
  59. invenio_app_ils/documents/loaders/jsonschemas/document.py +3 -14
  60. invenio_app_ils/documents/mappings/{v6 → os-v1}/__init__.py +1 -1
  61. invenio_app_ils/documents/mappings/os-v1/documents/document-v1.0.0.json +932 -0
  62. invenio_app_ils/documents/mappings/os-v1/documents/document-v2.0.0.json +1066 -0
  63. invenio_app_ils/documents/mappings/os-v2/__init__.py +8 -0
  64. invenio_app_ils/documents/mappings/os-v2/documents/document-v1.0.0.json +932 -0
  65. invenio_app_ils/documents/mappings/os-v2/documents/document-v2.0.0.json +1066 -0
  66. invenio_app_ils/documents/mappings/v7/documents/document-v1.0.0.json +102 -11
  67. invenio_app_ils/documents/mappings/v7/documents/document-v2.0.0.json +1066 -0
  68. invenio_app_ils/documents/schemas/documents/document-v2.0.0.json +732 -0
  69. invenio_app_ils/eitems/api.py +41 -7
  70. invenio_app_ils/eitems/loaders/jsonschemas/eitems.py +6 -6
  71. invenio_app_ils/eitems/mappings/{v6 → os-v1}/__init__.py +1 -1
  72. invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v1.0.0.json +139 -0
  73. invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v2.0.0.json +142 -0
  74. invenio_app_ils/eitems/mappings/os-v1/eitems/eitem-v3.0.0.json +179 -0
  75. invenio_app_ils/{series/mappings/v6 → eitems/mappings/os-v2}/__init__.py +1 -1
  76. invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v1.0.0.json +139 -0
  77. invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v2.0.0.json +142 -0
  78. invenio_app_ils/eitems/mappings/os-v2/eitems/eitem-v3.0.0.json +179 -0
  79. invenio_app_ils/eitems/mappings/v7/eitems/eitem-v1.0.0.json +12 -2
  80. invenio_app_ils/eitems/mappings/v7/eitems/eitem-v2.0.0.json +142 -0
  81. invenio_app_ils/eitems/mappings/v7/eitems/eitem-v3.0.0.json +179 -0
  82. invenio_app_ils/eitems/schemas/eitems/eitem-v2.0.0.json +120 -0
  83. invenio_app_ils/eitems/schemas/eitems/eitem-v3.0.0.json +120 -0
  84. invenio_app_ils/eitems/search.py +3 -9
  85. invenio_app_ils/errors.py +119 -6
  86. invenio_app_ils/ext.py +15 -18
  87. invenio_app_ils/facets.py +13 -15
  88. invenio_app_ils/files/receivers.py +1 -1
  89. invenio_app_ils/files/views.py +1 -2
  90. invenio_app_ils/ill/api.py +1 -2
  91. invenio_app_ils/ill/config.py +10 -16
  92. invenio_app_ils/ill/jsonresolvers/borrowing_request_document.py +2 -3
  93. invenio_app_ils/ill/jsonresolvers/borrowing_request_patron.py +1 -3
  94. invenio_app_ils/ill/jsonresolvers/borrowing_request_provider.py +1 -3
  95. invenio_app_ils/ill/loaders/__init__.py +3 -9
  96. invenio_app_ils/ill/loaders/jsonschemas/patron_loan_actions.py +1 -8
  97. invenio_app_ils/ill/loaders/jsonschemas/patron_loan_extension_actions.py +3 -8
  98. invenio_app_ils/ill/mappings/{v6 → os-v1}/__init__.py +1 -1
  99. invenio_app_ils/ill/mappings/os-v1/ill_borrowing_requests/borrowing_request-v1.0.0.json +254 -0
  100. invenio_app_ils/{acquisition/mappings/v6 → ill/mappings/os-v2}/__init__.py +1 -1
  101. invenio_app_ils/ill/mappings/os-v2/ill_borrowing_requests/borrowing_request-v1.0.0.json +254 -0
  102. invenio_app_ils/ill/mappings/v7/ill_borrowing_requests/borrowing_request-v1.0.0.json +14 -0
  103. invenio_app_ils/ill/notifications/api.py +1 -4
  104. invenio_app_ils/ill/search.py +3 -9
  105. invenio_app_ils/ill/serializers/__init__.py +1 -3
  106. invenio_app_ils/ill/views.py +2 -4
  107. invenio_app_ils/internal_locations/api.py +1 -4
  108. invenio_app_ils/internal_locations/mappings/{v6 → os-v1}/__init__.py +1 -1
  109. invenio_app_ils/internal_locations/mappings/os-v1/internal_locations/internal_location-v1.0.0.json +108 -0
  110. invenio_app_ils/internal_locations/mappings/os-v2/__init__.py +8 -0
  111. invenio_app_ils/internal_locations/mappings/os-v2/internal_locations/internal_location-v1.0.0.json +108 -0
  112. invenio_app_ils/internal_locations/search.py +1 -3
  113. invenio_app_ils/items/api.py +18 -15
  114. invenio_app_ils/items/indexer.py +1 -3
  115. invenio_app_ils/items/jsonresolvers/item_document.py +1 -1
  116. invenio_app_ils/items/jsonresolvers/item_internal_location.py +2 -6
  117. invenio_app_ils/items/loaders/jsonschemas/items.py +2 -0
  118. {tests/api/circulation → invenio_app_ils/items/mappings/os-v1}/__init__.py +1 -1
  119. invenio_app_ils/items/mappings/os-v1/items/item-v1.0.0.json +285 -0
  120. invenio_app_ils/items/mappings/os-v1/items/item-v2.0.0.json +326 -0
  121. {tests/api/ill → invenio_app_ils/items/mappings/os-v2}/__init__.py +1 -1
  122. invenio_app_ils/items/mappings/os-v2/items/item-v1.0.0.json +285 -0
  123. invenio_app_ils/items/mappings/os-v2/items/item-v2.0.0.json +326 -0
  124. invenio_app_ils/items/mappings/v7/items/item-v1.0.0.json +11 -0
  125. invenio_app_ils/items/mappings/v7/items/item-v2.0.0.json +326 -0
  126. invenio_app_ils/items/schemas/items/item-v1.0.0.json +22 -0
  127. invenio_app_ils/items/schemas/items/item-v2.0.0.json +172 -0
  128. invenio_app_ils/items/search.py +18 -11
  129. invenio_app_ils/items/serializers/item.py +7 -6
  130. invenio_app_ils/literature/api.py +1 -3
  131. invenio_app_ils/literature/search.py +3 -5
  132. invenio_app_ils/literature/serializers/csv.py +1 -3
  133. invenio_app_ils/literature/serializers/json.py +1 -3
  134. invenio_app_ils/locations/api.py +2 -4
  135. invenio_app_ils/locations/indexer.py +3 -9
  136. invenio_app_ils/locations/loaders/__init__.py +1 -3
  137. invenio_app_ils/locations/loaders/jsonschemas/location.py +4 -11
  138. invenio_app_ils/locations/mappings/{v6 → os-v1}/__init__.py +1 -1
  139. invenio_app_ils/locations/mappings/os-v1/locations/location-v1.0.0.json +90 -0
  140. invenio_app_ils/locations/mappings/os-v2/__init__.py +8 -0
  141. invenio_app_ils/locations/mappings/os-v2/locations/location-v1.0.0.json +90 -0
  142. invenio_app_ils/notifications/messages.py +4 -3
  143. invenio_app_ils/notifications/tasks.py +1 -3
  144. invenio_app_ils/notifications/views.py +2 -2
  145. invenio_app_ils/patrons/anonymization.py +53 -32
  146. invenio_app_ils/patrons/api.py +3 -5
  147. invenio_app_ils/patrons/cli.py +1 -2
  148. invenio_app_ils/patrons/indexer.py +4 -13
  149. invenio_app_ils/patrons/mappings/os-v1/__init__.py +8 -0
  150. invenio_app_ils/patrons/mappings/os-v1/patrons/patron-v1.0.0.json +42 -0
  151. invenio_app_ils/patrons/mappings/os-v2/__init__.py +8 -0
  152. invenio_app_ils/patrons/mappings/os-v2/patrons/patron-v1.0.0.json +42 -0
  153. invenio_app_ils/patrons/views.py +4 -14
  154. invenio_app_ils/permissions.py +93 -35
  155. invenio_app_ils/providers/api.py +2 -6
  156. invenio_app_ils/providers/config.py +11 -19
  157. invenio_app_ils/providers/indexer.py +2 -6
  158. invenio_app_ils/providers/mappings/{v6 → os-v1}/__init__.py +1 -1
  159. invenio_app_ils/providers/mappings/os-v1/providers/provider-v1.0.0.json +57 -0
  160. invenio_app_ils/providers/mappings/os-v2/__init__.py +8 -0
  161. invenio_app_ils/providers/mappings/os-v2/providers/provider-v1.0.0.json +57 -0
  162. invenio_app_ils/providers/mappings/v7/__init__.py +1 -1
  163. invenio_app_ils/providers/proxies.py +1 -3
  164. invenio_app_ils/records/api.py +3 -9
  165. invenio_app_ils/records/loaders/schemas/changed_by.py +1 -3
  166. invenio_app_ils/records/loaders/schemas/identifiers.py +23 -0
  167. invenio_app_ils/records/metadata_extensions.py +1 -4
  168. invenio_app_ils/records/permissions.py +8 -2
  169. invenio_app_ils/records/serializers/__init__.py +1 -4
  170. invenio_app_ils/records/views.py +4 -7
  171. invenio_app_ils/records_relations/api.py +11 -34
  172. invenio_app_ils/records_relations/indexer.py +1 -3
  173. invenio_app_ils/records_relations/retriever.py +14 -9
  174. invenio_app_ils/records_relations/views.py +16 -50
  175. invenio_app_ils/relations/api.py +17 -16
  176. invenio_app_ils/search_permissions.py +24 -24
  177. invenio_app_ils/series/api.py +10 -12
  178. invenio_app_ils/series/loaders/jsonschemas/series.py +3 -2
  179. invenio_app_ils/{items/mappings/v6 → series/mappings/os-v1}/__init__.py +1 -1
  180. invenio_app_ils/series/mappings/os-v1/series/series-v1.0.0.json +324 -0
  181. invenio_app_ils/series/mappings/os-v1/series/series-v2.0.0.json +396 -0
  182. {tests/api/acquisition → invenio_app_ils/series/mappings/os-v2}/__init__.py +1 -1
  183. invenio_app_ils/series/mappings/os-v2/series/series-v1.0.0.json +324 -0
  184. invenio_app_ils/series/mappings/os-v2/series/series-v2.0.0.json +396 -0
  185. invenio_app_ils/series/mappings/v7/series/series-v1.0.0.json +35 -3
  186. invenio_app_ils/series/mappings/v7/series/series-v2.0.0.json +396 -0
  187. invenio_app_ils/series/schemas/series/series-v2.0.0.json +354 -0
  188. invenio_app_ils/stats/aggregations/aggr_file_download/os-v1/aggr-file-download-v1.json +60 -0
  189. invenio_app_ils/stats/aggregations/aggr_file_download/os-v2/__init__.py +9 -0
  190. invenio_app_ils/stats/aggregations/aggr_file_download/os-v2/aggr-file-download-v1.json +60 -0
  191. invenio_app_ils/stats/event_builders.py +73 -0
  192. invenio_app_ils/stats/file_download/os-v1/file-download-v1.json +72 -0
  193. invenio_app_ils/stats/file_download/os-v2/__init__.py +9 -0
  194. invenio_app_ils/stats/file_download/os-v2/file-download-v1.json +72 -0
  195. invenio_app_ils/stats/processors.py +30 -0
  196. invenio_app_ils/stats/templates/aggregations/__init__.py +8 -0
  197. invenio_app_ils/stats/templates/aggregations/ils_record_changes/__init__.py +8 -0
  198. invenio_app_ils/stats/templates/aggregations/ils_record_changes/os-v2/__init__.py +8 -0
  199. invenio_app_ils/stats/templates/aggregations/ils_record_changes/os-v2/aggr-ils-record-changes-v1.json +41 -0
  200. {tests → invenio_app_ils/stats/templates/events}/__init__.py +2 -2
  201. invenio_app_ils/stats/templates/events/ils_record_changes/__init__.py +8 -0
  202. invenio_app_ils/stats/templates/events/ils_record_changes/os-v2/__init__.py +8 -0
  203. invenio_app_ils/stats/templates/events/ils_record_changes/os-v2/ils-record-changes-v1.json +41 -0
  204. invenio_app_ils/templates/logged_out.html +12 -0
  205. invenio_app_ils/views.py +18 -4
  206. invenio_app_ils/vocabularies/api.py +1 -1
  207. invenio_app_ils/vocabularies/cli.py +6 -18
  208. invenio_app_ils/vocabularies/data/acq_order_line_payment_modes.json +5 -0
  209. invenio_app_ils/vocabularies/data/identifier_schemes.json +5 -0
  210. invenio_app_ils/vocabularies/indexer.py +1 -4
  211. invenio_app_ils/vocabularies/jsonresolvers/licenses.py +2 -11
  212. invenio_app_ils/vocabularies/mappings/os-v1/__init__.py +8 -0
  213. invenio_app_ils/vocabularies/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +23 -0
  214. invenio_app_ils/vocabularies/mappings/os-v2/__init__.py +8 -0
  215. invenio_app_ils/vocabularies/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +23 -0
  216. invenio_app_ils/vocabularies/sources/base.py +1 -3
  217. invenio_app_ils/webpack.py +27 -0
  218. invenio_app_ils-6.1.0.dist-info/METADATA +627 -0
  219. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/RECORD +227 -249
  220. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/WHEEL +1 -1
  221. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/entry_points.txt +9 -5
  222. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info}/top_level.txt +0 -1
  223. invenio_app_ils/acquisition/mappings/v6/acq_orders/order-v1.0.0.json +0 -352
  224. invenio_app_ils/document_requests/mappings/v6/document_requests/document_request-v1.0.0.json +0 -199
  225. invenio_app_ils/documents/mappings/v6/documents/document-v1.0.0.json +0 -843
  226. invenio_app_ils/eitems/mappings/v6/eitems/eitem-v1.0.0.json +0 -131
  227. invenio_app_ils/ill/mappings/v6/ill_borrowing_requests/borrowing_request-v1.0.0.json +0 -242
  228. invenio_app_ils/internal_locations/mappings/v6/internal_locations/internal_location-v1.0.0.json +0 -110
  229. invenio_app_ils/items/mappings/v6/items/item-v1.0.0.json +0 -276
  230. invenio_app_ils/locations/mappings/v6/locations/location-v1.0.0.json +0 -92
  231. invenio_app_ils/notifications/admin.py +0 -57
  232. invenio_app_ils/patrons/mappings/v6/__init__.py +0 -8
  233. invenio_app_ils/patrons/mappings/v6/patrons/patron-v1.0.0.json +0 -44
  234. invenio_app_ils/providers/mappings/v6/providers/provider-v1.0.0.json +0 -59
  235. invenio_app_ils/series/mappings/v6/series/series-v1.0.0.json +0 -298
  236. invenio_app_ils/stats/aggregations/aggr_file_download/v6/aggr-file-download-v1.json +0 -59
  237. invenio_app_ils/stats/file_download/v6/file-download-v1.json +0 -74
  238. invenio_app_ils/version.py +0 -14
  239. invenio_app_ils/vocabularies/mappings/v6/__init__.py +0 -8
  240. invenio_app_ils/vocabularies/mappings/v6/vocabularies/vocabulary-v1.0.0.json +0 -25
  241. invenio_app_ils-1.0.0a54.dist-info/METADATA +0 -95
  242. tests/api/__init__.py +0 -8
  243. tests/api/acquisition/test_acq_orders_crud.py +0 -102
  244. tests/api/acquisition/test_acq_orders_permissions.py +0 -104
  245. tests/api/acquisition/test_acq_providers_permissions.py +0 -83
  246. tests/api/circulation/test_expired_loans.py +0 -88
  247. tests/api/circulation/test_loan_checkout.py +0 -216
  248. tests/api/circulation/test_loan_default_durations.py +0 -57
  249. tests/api/circulation/test_loan_document_resolver.py +0 -18
  250. tests/api/circulation/test_loan_extend.py +0 -132
  251. tests/api/circulation/test_loan_item_permissions.py +0 -139
  252. tests/api/circulation/test_loan_item_resolver.py +0 -26
  253. tests/api/circulation/test_loan_list_permissions.py +0 -104
  254. tests/api/circulation/test_loan_patron_resolver.py +0 -38
  255. tests/api/circulation/test_loan_request.py +0 -234
  256. tests/api/circulation/test_loan_update.py +0 -150
  257. tests/api/circulation/test_notifications.py +0 -229
  258. tests/api/conftest.py +0 -236
  259. tests/api/document_requests/__init__.py +0 -8
  260. tests/api/document_requests/test_document_requests.py +0 -131
  261. tests/api/document_requests/test_document_requests_permissions.py +0 -177
  262. tests/api/document_requests/test_notifications_filter.py +0 -36
  263. tests/api/ill/test_ill_brw_crud.py +0 -84
  264. tests/api/ill/test_ill_brw_reqs_patron_loan_create_action.py +0 -207
  265. tests/api/ill/test_ill_brw_reqs_patron_loan_extension_actions.py +0 -298
  266. tests/api/ill/test_ill_brw_reqs_permissions.py +0 -169
  267. tests/api/ill/test_ill_providers_permissions.py +0 -82
  268. tests/api/ils/__init__.py +0 -8
  269. tests/api/ils/documents/__init__.py +0 -8
  270. tests/api/ils/documents/test_document_crud.py +0 -57
  271. tests/api/ils/documents/test_document_permissions.py +0 -106
  272. tests/api/ils/documents/test_document_resolvers.py +0 -35
  273. tests/api/ils/eitems/__init__.py +0 -8
  274. tests/api/ils/eitems/test_eitems_crud.py +0 -41
  275. tests/api/ils/eitems/test_eitems_permissions.py +0 -84
  276. tests/api/ils/eitems/test_files.py +0 -172
  277. tests/api/ils/items/__init__.py +0 -8
  278. tests/api/ils/items/test_apis.py +0 -43
  279. tests/api/ils/items/test_items_crud.py +0 -60
  280. tests/api/ils/items/test_items_permissions.py +0 -107
  281. tests/api/ils/items/test_items_update.py +0 -47
  282. tests/api/ils/records_relations/__init__.py +0 -8
  283. tests/api/ils/records_relations/helpers.py +0 -115
  284. tests/api/ils/records_relations/test_records_relations_parentchild.py +0 -560
  285. tests/api/ils/records_relations/test_records_relations_sequence.py +0 -302
  286. tests/api/ils/records_relations/test_records_relations_siblings.py +0 -678
  287. tests/api/ils/series/__init__.py +0 -8
  288. tests/api/ils/series/test_series_permissions.py +0 -95
  289. tests/api/ils/test_anonymization.py +0 -189
  290. tests/api/ils/test_apis.py +0 -76
  291. tests/api/ils/test_closures.py +0 -324
  292. tests/api/ils/test_errors.py +0 -126
  293. tests/api/ils/test_facets.py +0 -84
  294. tests/api/ils/test_internal_locations.py +0 -96
  295. tests/api/ils/test_loaders.py +0 -55
  296. tests/api/ils/test_metadata_extensions.py +0 -205
  297. tests/api/ils/test_notifications.py +0 -183
  298. tests/api/ils/test_notifications_mails.py +0 -39
  299. tests/api/ils/test_notifications_permissions.py +0 -55
  300. tests/api/ils/test_patrons.py +0 -106
  301. tests/api/ils/test_record_delete.py +0 -46
  302. tests/api/ils/test_record_permissions.py +0 -135
  303. tests/api/ils/test_resolvers.py +0 -207
  304. tests/api/ils/test_stats.py +0 -160
  305. tests/api/ils/test_tasks.py +0 -211
  306. tests/api/ils/test_vocabularies.py +0 -35
  307. tests/conftest.py +0 -123
  308. tests/data/acq_orders.json +0 -89
  309. tests/data/acq_providers.json +0 -12
  310. tests/data/document_requests.json +0 -77
  311. tests/data/documents.json +0 -237
  312. tests/data/eitems.json +0 -66
  313. tests/data/ill_borrowing_requests.json +0 -77
  314. tests/data/ill_providers.json +0 -12
  315. tests/data/internal_locations.json +0 -22
  316. tests/data/items.json +0 -271
  317. tests/data/loans.json +0 -133
  318. tests/data/loans_most_loaned.json +0 -128
  319. tests/data/locations.json +0 -20
  320. tests/data/series.json +0 -33
  321. tests/helpers.py +0 -104
  322. tests/templates/notifications/title_body.html +0 -8
  323. tests/templates/notifications/title_body_html.html +0 -13
  324. tests/templates/notifications/title_body_html_ctx.html +0 -13
  325. tests/templates/notifications/title_only.html +0 -3
  326. tests/test_version.py +0 -17
  327. /tests/templates/notifications/blank.html → /invenio_app_ils/acquisition/mappings/os-v1/__init__.py +0 -0
  328. /invenio_app_ils/stats/aggregations/aggr_file_download/{v6 → os-v1}/__init__.py +0 -0
  329. /invenio_app_ils/stats/file_download/{v6 → os-v1}/__init__.py +0 -0
  330. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info/licenses}/AUTHORS.rst +0 -0
  331. {invenio_app_ils-1.0.0a54.dist-info → invenio_app_ils-6.1.0.dist-info/licenses}/LICENSE +0 -0
@@ -1,298 +0,0 @@
1
- {
2
- "mappings": {
3
- "series-v1.0.0": {
4
- "date_detection": false,
5
- "numeric_detection": false,
6
- "properties": {
7
- "$schema": {
8
- "type": "keyword"
9
- },
10
- "_created": {
11
- "type": "date"
12
- },
13
- "_updated": {
14
- "type": "date"
15
- },
16
- "abstract": {
17
- "type": "text"
18
- },
19
- "access_urls": {
20
- "type": "object",
21
- "properties": {
22
- "access_restriction": {
23
- "type": "keyword"
24
- },
25
- "description": {
26
- "type": "text"
27
- },
28
- "open_access": {
29
- "type": "boolean"
30
- },
31
- "value": {
32
- "type": "keyword"
33
- },
34
- "login_required": {
35
- "type": "boolean"
36
- }
37
- }
38
- },
39
- "alternative_titles": {
40
- "type": "object",
41
- "properties": {
42
- "language": {
43
- "type": "keyword"
44
- },
45
- "type": {
46
- "type": "keyword"
47
- },
48
- "value": {
49
- "type": "text"
50
- }
51
- }
52
- },
53
- "authors": {
54
- "fields": {
55
- "keyword": {
56
- "type": "keyword"
57
- }
58
- },
59
- "type": "text"
60
- },
61
- "cover_metadata": {
62
- "properties": {},
63
- "type": "object"
64
- },
65
- "created_by": {
66
- "properties": {
67
- "type": {
68
- "type": "keyword"
69
- },
70
- "value": {
71
- "type": "keyword"
72
- }
73
- },
74
- "type": "object"
75
- },
76
- "document_type": {
77
- "type": "keyword"
78
- },
79
- "edition": {
80
- "type": "keyword"
81
- },
82
- "extensions": {
83
- "type": "object",
84
- "dynamic": false,
85
- "enabled": false
86
- },
87
- "extensions_booleans": {
88
- "type": "object",
89
- "properties": {
90
- "key": { "type": "keyword" },
91
- "value": { "type": "boolean" }
92
- }
93
- },
94
- "extensions_dates": {
95
- "type": "object",
96
- "properties": {
97
- "key": { "type": "keyword" },
98
- "value": { "type": "date" }
99
- }
100
- },
101
- "extensions_keywords": {
102
- "type": "object",
103
- "properties": {
104
- "key": { "type": "keyword" },
105
- "value": { "type": "keyword" }
106
- }
107
- },
108
- "extensions_longs": {
109
- "type": "object",
110
- "properties": {
111
- "key": { "type": "keyword" },
112
- "value": { "type": "long" }
113
- }
114
- },
115
- "extensions_texts": {
116
- "type": "object",
117
- "properties": {
118
- "key": { "type": "keyword" },
119
- "value": { "type": "text" }
120
- }
121
- },
122
- "identifiers": {
123
- "properties": {
124
- "material": {
125
- "type": "keyword"
126
- },
127
- "scheme": {
128
- "type": "keyword"
129
- },
130
- "value": {
131
- "type": "keyword"
132
- }
133
- },
134
- "type": "object"
135
- },
136
- "internal_notes": {
137
- "properties": {
138
- "field": {
139
- "type": "keyword"
140
- },
141
- "user": {
142
- "type": "keyword"
143
- },
144
- "value": {
145
- "type": "keyword"
146
- }
147
- },
148
- "type": "object"
149
- },
150
- "isbn": {
151
- "type": "keyword"
152
- },
153
- "issn": {
154
- "type": "keyword"
155
- },
156
- "keywords": {
157
- "properties": {
158
- "source": {
159
- "type": "text"
160
- },
161
- "value": {
162
- "type": "text"
163
- }
164
- },
165
- "type": "object"
166
- },
167
- "languages": {
168
- "type": "keyword"
169
- },
170
- "mode_of_issuance": {
171
- "type": "keyword"
172
- },
173
- "note": {
174
- "type": "text"
175
- },
176
- "pid": {
177
- "type": "keyword"
178
- },
179
- "publication_year": {
180
- "type": "keyword"
181
- },
182
- "publisher": {
183
- "fields": {
184
- "keyword": {
185
- "type": "keyword"
186
- }
187
- },
188
- "type": "text"
189
- },
190
- "relation_types": {
191
- "type": "keyword"
192
- },
193
- "relations": {
194
- "properties": {
195
- "edition": {
196
- "properties": {
197
- "pid": {
198
- "type": "keyword"
199
- },
200
- "pid_type": {
201
- "type": "keyword"
202
- },
203
- "relation_type": {
204
- "copy_to": "relation_types",
205
- "type": "keyword"
206
- }
207
- },
208
- "type": "object"
209
- },
210
- "multipart_monograph": {
211
- "properties": {
212
- "pid": {
213
- "type": "keyword"
214
- },
215
- "pid_type": {
216
- "type": "keyword"
217
- },
218
- "relation_type": {
219
- "copy_to": "relation_types",
220
- "type": "keyword"
221
- },
222
- "volume": {
223
- "type": "keyword"
224
- }
225
- },
226
- "type": "object"
227
- },
228
- "serial": {
229
- "properties": {
230
- "pid": {
231
- "type": "keyword"
232
- },
233
- "pid_type": {
234
- "type": "keyword"
235
- },
236
- "relation_type": {
237
- "copy_to": "relation_types",
238
- "type": "keyword"
239
- }
240
- },
241
- "type": "object"
242
- }
243
- }
244
- },
245
- "series_type": {
246
- "copy_to": "document_type",
247
- "type": "keyword"
248
- },
249
- "tags": {
250
- "type": "keyword"
251
- },
252
- "title": {
253
- "type": "text",
254
- "fields": {
255
- "keyword": {
256
- "type": "keyword"
257
- }
258
- }
259
- },
260
- "updated_by": {
261
- "properties": {
262
- "type": {
263
- "type": "keyword"
264
- },
265
- "value": {
266
- "type": "keyword"
267
- }
268
- }
269
- },
270
- "urls": {
271
- "properties": {
272
- "description": {
273
- "type": "text"
274
- },
275
- "value": {
276
- "type": "keyword"
277
- },
278
- "meta": {
279
- "type": "text"
280
- }
281
- },
282
- "type": "object"
283
- },
284
- "physical_volumes": {
285
- "properties": {
286
- "description": {
287
- "type": "text"
288
- },
289
- "location": {
290
- "type": "text"
291
- }
292
- },
293
- "type": "object"
294
- }
295
- }
296
- }
297
- }
298
- }
@@ -1,59 +0,0 @@
1
- {
2
- "template": "__SEARCH_INDEX_PREFIX__stats-file-download-*",
3
- "settings": {
4
- "index": {
5
- "refresh_interval": "1m"
6
- }
7
- },
8
- "mappings": {
9
- "file-download-day-aggregation": {
10
- "date_detection": false,
11
- "dynamic": false,
12
- "dynamic_templates": [
13
- {
14
- "date_fields": {
15
- "match_mapping_type": "date",
16
- "mapping": {
17
- "type": "date",
18
- "format": "date_optional_time"
19
- }
20
- }
21
- }
22
- ],
23
- "numeric_detection": false,
24
- "properties": {
25
- "bucket_id": {
26
- "type": "keyword"
27
- },
28
- "collection": {
29
- "type": "keyword"
30
- },
31
- "count": {
32
- "type": "integer"
33
- },
34
- "document_pid": {
35
- "type": "keyword"
36
- },
37
- "eitem_pid": {
38
- "type": "keyword"
39
- },
40
- "file_id": {
41
- "type": "keyword"
42
- },
43
- "file_key": {
44
- "type": "keyword"
45
- },
46
- "timestamp": {
47
- "type": "date",
48
- "format": "date_optional_time"
49
- },
50
- "unique_count": {
51
- "type": "integer"
52
- }
53
- }
54
- }
55
- },
56
- "aliases": {
57
- "__SEARCH_INDEX_PREFIX__stats-file-download": {}
58
- }
59
- }
@@ -1,74 +0,0 @@
1
- {
2
- "template": "__SEARCH_INDEX_PREFIX__events-stats-file-download-*",
3
- "settings": {
4
- "index": {
5
- "refresh_interval": "5s"
6
- }
7
- },
8
- "mappings": {
9
- "stats-file-download": {
10
- "date_detection": false,
11
- "dynamic": false,
12
- "dynamic_templates": [
13
- {
14
- "date_fields": {
15
- "match_mapping_type": "date",
16
- "mapping": {
17
- "type": "date",
18
- "format": "strict_date_hour_minute_second"
19
- }
20
- }
21
- }
22
- ],
23
- "numeric_detection": false,
24
- "properties": {
25
- "bucket_id": {
26
- "type": "keyword"
27
- },
28
- "collection": {
29
- "type": "keyword"
30
- },
31
- "country": {
32
- "type": "keyword"
33
- },
34
- "document_pid": {
35
- "type": "keyword"
36
- },
37
- "eitem_pid": {
38
- "type": "keyword"
39
- },
40
- "file_id": {
41
- "type": "keyword"
42
- },
43
- "file_key": {
44
- "type": "keyword"
45
- },
46
- "is_robot": {
47
- "type": "boolean"
48
- },
49
- "referrer": {
50
- "type": "keyword"
51
- },
52
- "size": {
53
- "type": "double"
54
- },
55
- "timestamp": {
56
- "type": "date",
57
- "format": "strict_date_hour_minute_second"
58
- },
59
- "unique_id": {
60
- "type": "keyword"
61
- },
62
- "unique_session_id": {
63
- "type": "keyword"
64
- },
65
- "visitor_id": {
66
- "type": "keyword"
67
- }
68
- }
69
- }
70
- },
71
- "aliases": {
72
- "__SEARCH_INDEX_PREFIX__events-stats-file-download": {}
73
- }
74
- }
@@ -1,14 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2018-2020 CERN.
4
- #
5
- # invenio-app-ils is free software; you can redistribute it and/or modify it
6
- # under the terms of the MIT License; see LICENSE file for more details.
7
-
8
- """Version information for invenio-app-ils.
9
-
10
- This file is imported by ``invenio_app_ils.__init__``,
11
- and parsed by ``setup.py``.
12
- """
13
-
14
- __version__ = "1.0.0a54"
@@ -1,8 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2020 CERN.
4
- #
5
- # invenio-app-ils is free software; you can redistribute it and/or modify it
6
- # under the terms of the MIT License; see LICENSE file for more details.
7
-
8
- """ILS vocabularies ES v6 mappings."""
@@ -1,25 +0,0 @@
1
- {
2
- "mappings": {
3
- "vocabulary-v1.0.0": {
4
- "date_detection": false,
5
- "numeric_detection": false,
6
- "properties": {
7
- "data": {
8
- "type": "object"
9
- },
10
- "id": {
11
- "type": "keyword"
12
- },
13
- "key": {
14
- "type": "keyword"
15
- },
16
- "text": {
17
- "type": "text"
18
- },
19
- "type": {
20
- "type": "keyword"
21
- }
22
- }
23
- }
24
- }
25
- }
@@ -1,95 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: invenio-app-ils
3
- Version: 1.0.0a54
4
- Summary: Invenio App ILS.
5
- Home-page: https://github.com/invenio_app_ils/invenio_app_ils
6
- Author: CERN
7
- Author-email: info@inveniosoftware.org
8
- License: MIT
9
- Platform: any
10
- Classifier: Environment :: Web Environment
11
- Classifier: Intended Audience :: Developers
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Operating System :: OS Independent
14
- Classifier: Programming Language :: Python
15
- Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.5
18
- Classifier: Development Status :: 3 - Alpha
19
- Requires-Python: >=3
20
- Requires-Dist: invenio[auth,base] (<3.5,>=3.4.0)
21
- Requires-Dist: invenio-base (>=1.2.4)
22
- Requires-Dist: invenio-indexer (<1.3.0,>=1.2.0)
23
- Requires-Dist: invenio-jsonschemas (<1.2.0,>=1.1.1)
24
- Requires-Dist: invenio-oaiserver (<1.3.0,>=1.2.0)
25
- Requires-Dist: invenio-pidstore (<1.3.0,>=1.2.1)
26
- Requires-Dist: invenio-records-rest (<1.9.0,>=1.7.0)
27
- Requires-Dist: invenio-records (<1.6.0,>=1.4.0)
28
- Requires-Dist: invenio-files-rest (<1.3.0,>=1.2.0)
29
- Requires-Dist: invenio-banners (<1.1.0,>=1.0.0a1)
30
- Requires-Dist: invenio-circulation (<1.1.0,>=1.0.0a33)
31
- Requires-Dist: invenio-opendefinition (<1.1.0,>=1.0.0a9)
32
- Requires-Dist: invenio-pages (<1.1.0,>=1.0.0a5)
33
- Requires-Dist: invenio-pidrelations (<1.1.0,>=1.0.0a7)
34
- Requires-Dist: invenio-stats (<1.1.0,>=1.0.0a18)
35
- Requires-Dist: arrow (>=0.16.0)
36
- Requires-Dist: Flask-Debugtoolbar (>=0.10.1)
37
- Requires-Dist: pycountry (>=19.8.18)
38
- Requires-Dist: simplejson (>=3.8.1)
39
- Requires-Dist: itsdangerous (<2.0,>=1.1.0)
40
- Requires-Dist: click (<8.0,>=7.0)
41
- Requires-Dist: Jinja2 (<3.0,>=2.10.1)
42
- Requires-Dist: elasticsearch (<7.14,>=6.0.0)
43
- Provides-Extra: all
44
- Requires-Dist: Sphinx (>=3) ; extra == 'all'
45
- Requires-Dist: lorem (>=0.1.1) ; extra == 'all'
46
- Requires-Dist: mock (>=2.0.0) ; extra == 'all'
47
- Requires-Dist: pytest-invenio (<1.5.0,>=1.4.0) ; extra == 'all'
48
- Requires-Dist: pytest-mock (>=1.6.0) ; extra == 'all'
49
- Requires-Dist: celery[pytest] (<5.1,>=4.4.0) ; extra == 'all'
50
- Requires-Dist: invenio-db[postgresql,versioning] (<1.1.0,>=1.0.9) ; extra == 'all'
51
- Provides-Extra: docs
52
- Requires-Dist: Sphinx (>=3) ; extra == 'docs'
53
- Provides-Extra: elasticsearch6
54
- Requires-Dist: invenio-search[elasticsearch6] (<1.4.0,>=1.3.1) ; extra == 'elasticsearch6'
55
- Provides-Extra: elasticsearch7
56
- Requires-Dist: invenio-search[elasticsearch7] (<1.4.0,>=1.3.1) ; extra == 'elasticsearch7'
57
- Provides-Extra: lorem
58
- Requires-Dist: lorem (>=0.1.1) ; extra == 'lorem'
59
- Provides-Extra: mysql
60
- Requires-Dist: invenio-db[mysql,versioning] (<1.1.0,>=1.0.9) ; extra == 'mysql'
61
- Provides-Extra: postgresql
62
- Requires-Dist: invenio-db[postgresql,versioning] (<1.1.0,>=1.0.9) ; extra == 'postgresql'
63
- Provides-Extra: sqlite
64
- Requires-Dist: invenio-db[versioning] (<1.1.0,>=1.0.9) ; extra == 'sqlite'
65
- Provides-Extra: tests
66
- Requires-Dist: mock (>=2.0.0) ; extra == 'tests'
67
- Requires-Dist: pytest-invenio (<1.5.0,>=1.4.0) ; extra == 'tests'
68
- Requires-Dist: pytest-mock (>=1.6.0) ; extra == 'tests'
69
- Requires-Dist: celery[pytest] (<5.1,>=4.4.0) ; extra == 'tests'
70
-
71
- ..
72
- Copyright (C) 2018-2020 CERN.
73
-
74
- invenio-app-ils is free software; you can redistribute it and/or modify it
75
- under the terms of the MIT License; see LICENSE file for more details.
76
-
77
- =================
78
- Invenio App ILS
79
- =================
80
-
81
- .. image:: https://img.shields.io/travis/inveniosoftware/invenio-app-ils.svg
82
- :target: https://travis-ci.org/inveniosoftware/invenio-app-ils
83
-
84
- .. image:: https://img.shields.io/coveralls/inveniosoftware/invenio-app-ils.svg
85
- :target: https://coveralls.io/r/inveniosoftware/invenio-app-ils
86
-
87
- .. image:: https://img.shields.io/github/license/inveniosoftware/invenio-app-ils.svg
88
- :target: https://github.com/inveniosoftware/invenio-app-ils/blob/master/LICENSE
89
-
90
- Integrated Library System based on Invenio
91
-
92
- Official documentation (under development) is available at
93
- https://invenioils.docs.cern.ch
94
-
95
-
tests/api/__init__.py DELETED
@@ -1,8 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2018 CERN.
4
- #
5
- # invenio-app-ils is free software; you can redistribute it and/or modify it
6
- # under the terms of the MIT License; see LICENSE file for more details.
7
-
8
- """API Tests."""
@@ -1,102 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright (C) 2021 CERN.
4
- #
5
- # Invenio-Circulation is free software; you can redistribute it and/or modify
6
- # it under the terms of the MIT License; see LICENSE file for more details.
7
-
8
- """Tests orders CRUD."""
9
-
10
- from copy import deepcopy
11
- from datetime import datetime
12
-
13
- import pytest
14
-
15
- from invenio_app_ils.acquisition.api import Order
16
- from invenio_app_ils.acquisition.errors import AcquisitionError
17
- from invenio_app_ils.errors import DocumentNotFoundError, PatronNotFoundError
18
- from invenio_app_ils.providers.errors import ProviderNotFoundError
19
-
20
-
21
- def _assert_extra_fields(order):
22
- """Test that extra fields are automatically added."""
23
- assert "$schema" in order
24
- assert "provider" in order and "$ref" in order["provider"]
25
- assert (
26
- "resolved_order_lines" in order
27
- and "$ref" in order["resolved_order_lines"]
28
- )
29
-
30
-
31
- def _assert_refs_values(order):
32
- """Test that refs are replaced correctly"""
33
- assert "provider" in order and order["provider"]["name"]
34
- for order_line in order["resolved_order_lines"]:
35
- assert "document" in order_line and order_line["document"]["title"]
36
- assert "patron" in order_line and order_line["patron"]["name"]
37
-
38
-
39
- def test_order_refs(app, testdata):
40
- """Test creation of an order."""
41
- order = Order.create(
42
- dict(
43
- pid="acqoid-99",
44
- order_date=datetime.now().isoformat(),
45
- status="ORDERED",
46
- provider_pid="acq-provid-1",
47
- order_lines=[
48
- dict(
49
- document_pid="docid-3",
50
- recipient="PATRON",
51
- patron_pid="1",
52
- medium="PAPER",
53
- copies_ordered=2,
54
- )
55
- ],
56
- )
57
- )
58
- _assert_extra_fields(order)
59
-
60
- order = Order.get_record_by_pid("acqoid-6")
61
- order = order.replace_refs()
62
- _assert_refs_values(order)
63
-
64
-
65
- def test_acq_order_validation(db, testdata):
66
- """Test validation when updating an order."""
67
- order_pid = testdata["acq_orders"][0]["pid"]
68
- orginal_order = Order.get_record_by_pid(order_pid)
69
-
70
- # add cancel reason without status CANCELLED
71
- order = deepcopy(orginal_order)
72
- order["cancel_reason"] = "A reason to cancel"
73
- with pytest.raises(AcquisitionError):
74
- order.commit()
75
-
76
- # update status to CANCELLED without cancel_reason
77
- order = deepcopy(orginal_order)
78
- order["status"] = "CANCELLED"
79
- with pytest.raises(AcquisitionError):
80
- order.commit()
81
-
82
- # change provider pid
83
- order = deepcopy(orginal_order)
84
- order["provider_pid"] = "not-existing"
85
- with pytest.raises(ProviderNotFoundError):
86
- order.commit()
87
-
88
- order = deepcopy(orginal_order)
89
- first_order_line = order["order_lines"][0]
90
-
91
- # change document pid
92
- first_order_line["document_pid"] = "not_found_doc"
93
- with pytest.raises(DocumentNotFoundError):
94
- order.commit()
95
-
96
- order = deepcopy(orginal_order)
97
- first_order_line = order["order_lines"][0]
98
-
99
- # change patron pid
100
- first_order_line["patron_pid"] = "99999"
101
- with pytest.raises(PatronNotFoundError):
102
- order.commit()