Skip to content

Commit

Permalink
Added extra fields to search options
Browse files Browse the repository at this point in the history
  • Loading branch information
mesemus committed Feb 25, 2024
1 parent 0d65b9c commit 4352610
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 0 deletions.
10 changes: 10 additions & 0 deletions oarepo_model_builder/datatypes/components/model/search_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ class Meta:
data_key="sort-options-field",
)

fields = ma.fields.Dict(
keys=ma.fields.Str(),
values=ma.fields.Str(),
metadata={"doc": "Fields to be used in search options"},
)


class SearchOptionsModelComponent(DataTypeComponent):
eligible_datatypes = [ModelDataType]
Expand Down Expand Up @@ -77,4 +83,8 @@ def before_model_prepare(self, datatype, *, context, **kwargs):
"imports",
[],
)
record_search_options.setdefault(
"fields",
{},
)
record_search_options.setdefault("sort-options-field", "sort_options")
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
from oarepo_runtime.i18n import lazy_gettext as _
from . import facets

{% for extra_field_value in vars.search_options.fields.values() %}
{{ extra_field_value|code_imports }}
{% endfor %}


class {{ vars.search_options| class_header }}:
"""{{ vars.record.class|base_name }} search options."""
Expand Down Expand Up @@ -49,5 +53,8 @@ class {{ vars.search_options| class_header }}:
{% endfor %}
}
{% endif %}
{% for extra_field_name, extra_field_value in vars.search_options.fields.items() %}
{{ extra_field_name }} = {{ extra_field_value|extra_code }}
{% endfor %}

{{ vars.search_options|extra_code }}
1 change: 1 addition & 0 deletions tests/test_datatype_prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ def test_prepare_datatype():
"invenio_records_resources.services.SearchOptions{InvenioSearchOptions}"
],
"imports": [],
"fields": {},
"sort-options-field": "sort_options",
},
"config": {
Expand Down
2 changes: 2 additions & 0 deletions tests/test_model_saver.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ def test_model_saver():
"invenio_records_resources.services.SearchOptions{InvenioSearchOptions}"
],
"imports": [],
"fields": {},
"sort-options-field": "sort_options",
},
"config": {
Expand Down Expand Up @@ -439,6 +440,7 @@ def test_model_saver_invenio():
"invenio_records_resources.services.SearchOptions{InvenioSearchOptions}"
],
"imports": [],
"fields": {},
"sort-options-field": "sort_options",
},
"config": {
Expand Down

0 comments on commit 4352610

Please sign in to comment.