Skip to content

Commit

Permalink
contribution: rename Contribution to Entity
Browse files Browse the repository at this point in the history
Renames the `Contribution` resource to more generic `Entity`. This
change will cause a lot of import changes in many files of the project.

Co-Authored-by: Renaud Michotte <[email protected]>
  • Loading branch information
zannkukai committed Mar 6, 2023
1 parent b188113 commit 5d2eaad
Show file tree
Hide file tree
Showing 89 changed files with 1,118 additions and 1,075 deletions.
File renamed without changes.
File renamed without changes.
17 changes: 8 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ acq_orders = "rero_ils.modules.acquisition.acq_orders.views:api_blueprint"
acq_receipts = "rero_ils.modules.acquisition.acq_receipts.views:api_blueprint"
api_documents = "rero_ils.modules.documents.views:api_blueprint"
circ_policies = "rero_ils.modules.circ_policies.views:blueprint"
contributions = "rero_ils.modules.contributions.views:api_blueprint"
entities = "rero_ils.modules.entities.views:api_blueprint"
documents = "rero_ils.modules.documents.views:api_blueprint"
holdings = "rero_ils.modules.holdings.api_views:api_blueprint"
imports = "rero_ils.modules.imports.views:api_blueprint"
Expand All @@ -183,7 +183,7 @@ rero-ils = "rero_ils.modules.ext:REROILSAPP"
[tool.poetry.plugins."invenio_base.blueprints"]
circ_policies = "rero_ils.modules.circ_policies.views:blueprint"
collections = "rero_ils.modules.collections.views:blueprint"
contributions = "rero_ils.modules.contributions.views:blueprint"
entities = "rero_ils.modules.entities.views:blueprint"
documents = "rero_ils.modules.documents.views:blueprint"
holdings = "rero_ils.modules.holdings.views:blueprint"
ill_requests = "rero_ils.modules.ill_requests.views:blueprint"
Expand All @@ -201,7 +201,7 @@ users = "rero_ils.modules.users.views:blueprint"
apiharvester = "rero_ils.modules.apiharvester.tasks"
collections = "rero_ils.modules.collections.tasks"
documents = "rero_ils.modules.documents.tasks"
contributions = "rero_ils.modules.contributions.tasks"
entities = "rero_ils.modules.entities.tasks"
ebooks = "rero_ils.modules.ebooks.tasks"
holdings = "rero_ils.modules.holdings.tasks"
items = "rero_ils.modules.items.tasks"
Expand Down Expand Up @@ -236,7 +236,7 @@ items = "rero_ils.modules.items.models"
libraries = "rero_ils.modules.libraries.models"
local_fields = "rero_ils.modules.local_fields.models"
locations = "rero_ils.modules.locations.models"
mef = "rero_ils.modules.contributions.models"
entities = "rero_ils.modules.entities.models"
notifications = "rero_ils.modules.notifications.models"
organisations = "rero_ils.modules.organisations.models"
patron_transaction_events = "rero_ils.modules.patron_transaction_events.models"
Expand All @@ -263,7 +263,7 @@ budgets = "rero_ils.modules.acquisition.budgets.jsonschemas"
circ_policies = "rero_ils.modules.circ_policies.jsonschemas"
collections = "rero_ils.modules.collections.jsonschemas"
common = "rero_ils.jsonschemas"
contributions = "rero_ils.modules.contributions.jsonschemas"
entities = "rero_ils.modules.entities.jsonschemas"
documents = "rero_ils.modules.documents.jsonschemas"
holdings = "rero_ils.modules.holdings.jsonschemas"
ill_requests = "rero_ils.modules.ill_requests.jsonschemas"
Expand Down Expand Up @@ -303,7 +303,7 @@ acq_receipt_line_id = "rero_ils.modules.acquisition.acq_receipt_lines.api:acq_re
budget_id = "rero_ils.modules.acquisition.budgets.api:budget_id_fetcher"
circ_policy_id = "rero_ils.modules.circ_policies.api:circ_policy_id_fetcher"
collection_id = "rero_ils.modules.collections.api:collection_id_fetcher"
contribution_id = "rero_ils.modules.contributions.api:contribution_id_fetcher"
entity_id = "rero_ils.modules.entities.api:entity_id_fetcher"
document_id = "rero_ils.modules.documents.api:document_id_fetcher"
holding_id = "rero_ils.modules.holdings.api:holding_id_fetcher"
ill_request_id = "rero_ils.modules.ill_requests.api:ill_request_id_fetcher"
Expand Down Expand Up @@ -333,7 +333,7 @@ acq_receipt_line_id = "rero_ils.modules.acquisition.acq_receipt_lines.api:acq_re
budget_id = "rero_ils.modules.acquisition.budgets.api:budget_id_minter"
circ_policy_id = "rero_ils.modules.circ_policies.api:circ_policy_id_minter"
collection_id = "rero_ils.modules.collections.api:collection_id_minter"
contribution_id = "rero_ils.modules.contributions.api:contribution_id_minter"
entity_id = "rero_ils.modules.entities.api:entity_id_minter"
document_id = "rero_ils.modules.documents.api:document_id_minter"
holding_id = "rero_ils.modules.holdings.api:holding_id_minter"
ill_request_id = "rero_ils.modules.ill_requests.api:ill_request_id_minter"
Expand Down Expand Up @@ -361,7 +361,6 @@ acq_receipt_lines = "rero_ils.modules.acquisition.acq_receipt_lines.jsonresolver
acq_receipts = "rero_ils.modules.acquisition.acq_receipts.jsonresolver"
budgets = "rero_ils.modules.acquisition.budgets.jsonresolver"
collections = "rero_ils.modules.collections.jsonresolver"
contributions = "rero_ils.modules.contributions.jsonresolver"
documents = "rero_ils.modules.documents.jsonresolver"
holdings = "rero_ils.modules.holdings.jsonresolver"
ill_requests = "rero_ils.modules.ill_requests.jsonresolver"
Expand Down Expand Up @@ -390,7 +389,7 @@ acq_receipts = "rero_ils.modules.acquisition.acq_receipts.mappings"
budgets = "rero_ils.modules.acquisition.budgets.mappings"
circ_policies = "rero_ils.modules.circ_policies.mappings"
collections = "rero_ils.modules.collections.mappings"
contributions = "rero_ils.modules.contributions.mappings"
entities = "rero_ils.modules.entities.mappings"
documents = "rero_ils.modules.documents.mappings"
holdings = "rero_ils.modules.holdings.mappings"
ill_requests = "rero_ils.modules.ill_requests.mappings"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
#
# RERO ILS
# Copyright (C) 2019-2022 RERO
# Copyright (C) 2019-2023 RERO
# Copyright (C) 2019-2023 UCLouvain
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Expand All @@ -15,17 +16,24 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

"""Contributions resolver."""
"""Migrate Contribution to Entity."""

from alembic import op

import jsonresolver
from requests import get as requests_get # noqa
# revision identifiers, used by Alembic.
revision = 'a710021979fe'
down_revision = '5f0b086e4b82'
branch_labels = ()
depends_on = None

from .api import Contribution

def upgrade():
"""Upgrade database."""
op.rename_table('contribution_id', 'entity_id')
op.rename_table('contribution_metadata', 'entity_metadata')

@jsonresolver.route('/api/<agency>/<pid>', host='mef.rero.ch')
def contribution_resolver(agency, pid):
"""MEF contribution resolver."""
contribution = Contribution.get_contribution(agency, pid)
return contribution

def downgrade():
"""Downgrade database."""
op.rename_table('entity_id', 'contribution_id')
op.rename_table('entity_metadata', 'contribution_metadata')
2 changes: 1 addition & 1 deletion rero_ils/celery.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#
# RERO ILS
# Copyright (C) 2019-2022 RERO
# Copyright (C) 2019-2023 RERO
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
Expand Down
74 changes: 35 additions & 39 deletions rero_ils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@
CirculationPolicyPermissionPolicy
from .modules.collections.api import Collection
from .modules.collections.permissions import CollectionPermissionPolicy
from .modules.contributions.api import Contribution
from .modules.contributions.permissions import ContributionPermissionPolicy
from .modules.documents.api import Document
from .modules.documents.permissions import DocumentPermissionPolicy
from .modules.documents.query import acquisition_filter, \
nested_identified_filter
from .modules.entities.api import Entity
from .modules.entities.permissions import EntityPermissionPolicy
from .modules.holdings.api import Holding
from .modules.holdings.models import HoldingCirculationAction
from .modules.holdings.permissions import HoldingsPermissionPolicy
Expand Down Expand Up @@ -443,7 +443,7 @@ def _(x):
'enabled': False,
},
'sync-agents': {
'task': 'rero_ils.modules.contributions.tasks.sync_agents',
'task': 'rero_ils.modules.entities.tasks.sync_agents',
'schedule': crontab(minute=0, hour=1), # Every day at 01:00 UTC,
'enabled': False,
},
Expand Down Expand Up @@ -1121,13 +1121,13 @@ def _(x):
update_permission_factory_imp=lambda record: LocationPermissionPolicy('update', record=record),
delete_permission_factory_imp=lambda record: LocationPermissionPolicy('delete', record=record)
),
cont=dict(
pid_type='cont',
pid_minter='contribution_id',
pid_fetcher='contribution_id',
search_class='rero_ils.modules.contributions.api:ContributionsSearch',
search_index='contributions',
indexer_class='rero_ils.modules.contributions.api:ContributionsIndexer',
ent=dict(
pid_type='ent',
pid_minter='entity_id',
pid_fetcher='entity_id',
search_class='rero_ils.modules.entities.api:EntitiesSearch',
search_index='entities',
indexer_class='rero_ils.modules.entities.api:EntitiesIndexer',
search_type=None,
record_serializers={
'application/json': 'rero_ils.modules.serializers:json_v1_response'
Expand All @@ -1138,22 +1138,23 @@ def _(x):
search_serializers={
'application/json': 'rero_ils.modules.serializers:json_v1_search'
},
list_route='/contributions/',
search_serializers_aliases={
'json': 'application/json'
},
list_route='/entities/',
record_loaders={
'application/json': lambda: Contribution(request.get_json()),
'application/json': lambda: Entity(request.get_json()),
},
record_class='rero_ils.modules.contributions.api:Contribution',
item_route=('/contributions/<pid(cont, record_class='
'"rero_ils.modules.contributions.api:Contribution"):'
'pid_value>'),
record_class='rero_ils.modules.entities.api:Entity',
item_route='/entities/<pid(ent, record_class="rero_ils.modules.entities.api:Entity"):pid_value>',
default_media_type='application/json',
max_result_window=MAX_RESULT_WINDOW,
search_factory_imp='rero_ils.query:contribution_view_search_factory',
list_permission_factory_imp=lambda record: ContributionPermissionPolicy('search', record=record),
read_permission_factory_imp=lambda record: ContributionPermissionPolicy('read', record=record),
create_permission_factory_imp=lambda record: ContributionPermissionPolicy('create', record=record),
update_permission_factory_imp=lambda record: ContributionPermissionPolicy('update', record=record),
delete_permission_factory_imp=lambda record: ContributionPermissionPolicy('delete', record=record)
search_factory_imp='rero_ils.query:entity_view_search_factory',
list_permission_factory_imp=lambda record: EntityPermissionPolicy('search', record=record),
read_permission_factory_imp=lambda record: EntityPermissionPolicy('read', record=record),
create_permission_factory_imp=lambda record: EntityPermissionPolicy('create', record=record),
update_permission_factory_imp=lambda record: EntityPermissionPolicy('update', record=record),
delete_permission_factory_imp=lambda record: EntityPermissionPolicy('delete', record=record)
),
cipo=dict(
pid_type='cipo',
Expand Down Expand Up @@ -2044,7 +2045,7 @@ def _(x):
)
},
),
contributions=dict(
entities=dict(
aggs=dict(
sources=dict(
terms=dict(
Expand Down Expand Up @@ -2272,7 +2273,7 @@ def _(x):
'budgets',
'circ_policies',
'collections',
'contributions',
'entities',
'documents',
'holdings',
'items',
Expand Down Expand Up @@ -2395,7 +2396,7 @@ def _(x):
query='bestmatch', noquery='start_date')

# ------ CONTRIBUTIONS SORT
RECORDS_REST_SORT_OPTIONS['contributions']['fr_name'] = dict(
RECORDS_REST_SORT_OPTIONS['entities']['fr_name'] = dict(
fields=[
'idref_authorized_access_point_sort',
'rero_authorized_access_point_sort',
Expand All @@ -2404,7 +2405,7 @@ def _(x):
title='Collection french name',
default_order='asc'
)
RECORDS_REST_SORT_OPTIONS['contributions']['de_name'] = dict(
RECORDS_REST_SORT_OPTIONS['entities']['de_name'] = dict(
fields=[
'gnd_authorized_access_point_sort',
'idref_authorized_access_point_sort',
Expand Down Expand Up @@ -2825,7 +2826,7 @@ def _(x):
'budg': '/budgets/budget-v0.0.1.json',
'cipo': '/circ_policies/circ_policy-v0.0.1.json',
'coll': '/collections/collection-v0.0.1.json',
'cont': '/contributions/contribution-v0.0.1.json',
'ent': '/entities/entity-v0.0.1.json',
'doc': '/documents/document-v0.0.1.json',
'hold': '/holdings/holding-v0.0.1.json',
'illr': '/ill_requests/ill_request-v0.0.1.json',
Expand Down Expand Up @@ -3000,14 +3001,13 @@ def _(x):
#: Cover service
RERO_ILS_THUMBNAIL_SERVICE_URL = 'https://services.test.rero.ch/cover'

#: Contributions
RERO_ILS_CONTRIBUTIONS_MEF_SCHEMA = 'contributions/contribution-v0.0.1.json'
RERO_ILS_CONTRIBUTIONS_SOURCES = ['idref', 'gnd', 'rero']
RERO_ILS_CONTRIBUTIONS_AGENT_TYPES = {
#: Entities
RERO_ILS_AGENTS_SOURCES = ['idref', 'gnd', 'rero']
RERO_ILS_AGENTS_AGENT_TYPES = {
'bf:Person': 'persons',
'bf:Organisation': 'corporate-bodies'
}
RERO_ILS_CONTRIBUTIONS_LABEL_ORDER = {
RERO_ILS_AGENTS_LABEL_ORDER = {
'fallback': 'fr',
'fr': ['idref', 'rero', 'gnd'],
'de': ['gnd', 'idref', 'rero'],
Expand Down Expand Up @@ -3056,15 +3056,11 @@ def _(x):
RERO_ILS_DEFAULT_PICKUP_HOLD_DURATION = 10

# =============================================================================
# ANONYMISATION PROCESS CONFIGURATION
# ANONYMIZATION PROCESS CONFIGURATION
# =============================================================================

# Specify the delay (in days) under which no loan can't be anonymized anyway (
# for circulation management process).
# Specify the delay (in days) under which no loan can't be anonymized anyway (for circulation management process).
RERO_ILS_ANONYMISATION_MIN_TIME_LIMIT = 3 * 365 / 12

# Specify the delay (in days) when a loan should be anonymized anyway after it
# concluded.
# Specify the delay (in days) when a loan should be anonymized anyway after it concluded.
RERO_ILS_ANONYMISATION_MAX_TIME_LIMIT = 6 * 365 / 12

#: Invenio circulation configuration.
Expand Down
2 changes: 1 addition & 1 deletion rero_ils/es_templates/v7/record.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"budgets-*",
"circ_policies-*",
"collections-*",
"contributions-*",
"documents-*",
"entities-*",
"holdings-*",
"ill_requests-*",
"item_types-*",
Expand Down
7 changes: 2 additions & 5 deletions rero_ils/modules/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -666,18 +666,15 @@ def _index_action(self, payload):
arguments = {}
index = payload.get('index') or index
body = self._prepare_record(record, index, doc_type, arguments)
action = {
return {
'_op_type': 'index',
'_index': index,
'_type': doc_type,
'_id': str(record.id),
'_version': record.revision_id,
'_version_type': self._version_type,
'_source': body
}
action.update(arguments)

return action
} | arguments

def _prepare_record(
self, record, index, doc_type, arguments=None, **kwargs):
Expand Down
4 changes: 2 additions & 2 deletions rero_ils/modules/cli/reroils.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@

from rero_ils.modules.acquisition.cli import acquisition
from rero_ils.modules.apiharvester.cli import apiharvester
from rero_ils.modules.contributions.cli import contribution
from rero_ils.modules.ebooks.cli import oaiharvester
from rero_ils.modules.entities.cli import entity
from rero_ils.modules.monitoring.cli import monitoring
from rero_ils.modules.notifications.cli import notifications
from rero_ils.modules.stats.cli import stats
Expand All @@ -44,7 +44,7 @@ def reroils():

reroils.add_command(acquisition)
reroils.add_command(apiharvester)
reroils.add_command(contribution)
reroils.add_command(entity)
reroils.add_command(fixtures)
reroils.add_command(index)
reroils.add_command(monitoring)
Expand Down
Loading

0 comments on commit 5d2eaad

Please sign in to comment.