Skip to content

Commit

Permalink
additional fields pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
Ronald Krist committed Dec 7, 2023
1 parent 4aeda13 commit 98b1058
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 13 deletions.
2 changes: 1 addition & 1 deletion oarepo_model_builder_drafts/invenio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"drafts-record-extra-fields": "templates/invenio_drafts_record_extra_fields.py.jinja2", # adds drafts extension fields to record
"drafts-record-metadata-extra-fields": "templates/invenio_drafts_record_metadata_extra_fields.py.jinja2", # adds parent specific fields to model metadata classes
"drafts-parent-record": "templates/invenio_drafts_parent_record.py.jinja2", # adds draft parent record class
"drafts-parent-extra-fields": "templates/invenio_drafts_parent_extra_fields.py.jinja2",
"drafts-parent-additional-fields": "templates/invenio_drafts_parent_additional_fields.py.jinja2",
"drafts-parent-metadata": "templates/invenio_drafts_parent_metadata.py.jinja2", # adds draft parent metadata classes
"drafts-record-service-config": "templates/invenio_drafts_record_service_config.py.jinja2",
"drafts-parent-marshmallow": "templates/invenio_drafts_parent_marshmallow.py.jinja2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
from oarepo_model_builder.outputs.python import PythonOutput


class InvenioDraftsParentExtraFieldsBuilder(InvenioBaseClassPythonBuilder):
TYPE = "invenio_drafts_parent_extra_fields"
class InvenioDraftsParentAdditionalFieldsBuilder(InvenioBaseClassPythonBuilder):
TYPE = "invenio_drafts_parent_additional_fields"
section = "draft-parent-record"
template = "drafts-parent-extra-fields"
template = "drafts-parent-additional-fields"

def finish(self, **extra_kwargs):
super().finish(**extra_kwargs)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{% if "additional-fields" in vars %}
{{ vars.additional_fields|imports }}

class {{ vars.draft_parent_record|class_header }}:
{% for field in vars.additional_fields.fields %}
{{ field }}
{% endfor %}
{% endif %}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
{{ vars.parent_record_marshmallow|generate_import }}
{% if "additional-fields" in vars %}
{{ vars.additional_fields|imports }}
{% endif %}
class {{ vars.parent_record_marshmallow|class_header }}:
""""""
{% if "additional-fields" in vars %}
{% for field in vars.additional_fields.fields %}
{{ field }}
{% endfor %}
{% endif %}
3 changes: 2 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ oarepo_model_builder.profiles =
oarepo_model_builder.builders.draft:
#0020-jsonschema_drafts_parent = oarepo_model_builder_drafts.builders.parent_jsonschema_builder:JSONSchemaDraftsParentBuilder
0030-mapping = oarepo_model_builder.builders.mapping:MappingBuilder
0030-invenio_drafts_parent_marshmallow = oarepo_model_builder_drafts.invenio.invenio_drafts_parent_marshmallow:InvenioDraftsParentMarshmallowBuilder

0110-invenio_record = oarepo_model_builder.invenio.invenio_record:InvenioRecordBuilder
0120-invenio_record_metadata = oarepo_model_builder.invenio.invenio_record_metadata:InvenioRecordMetadataBuilder
Expand All @@ -43,7 +44,7 @@ oarepo_model_builder.builders.draft:
2900-invenio_drafts_record_extra_fields = oarepo_model_builder_drafts.invenio.invenio_drafts_record_extra_fields:InvenioDraftsRecordExtraFieldsBuilder
3000-invenio_drafts_has_draft_checkfield = oarepo_model_builder_drafts.invenio.invenio_drafts_has_draft_checkfield:InvenioDraftsHasDraftCheckfieldBuilder
5000-invenio_drafts_record_communities_service_config = oarepo_model_builder_drafts.invenio.invenio_drafts_record_communities_service_config:InvenioDraftsRecordCommunitiesServiceConfigBuilder
5100-invenio_drafts_parent_extra_fields = oarepo_model_builder_drafts.invenio.invenio_drafts_parent_extra_fields:InvenioDraftsParentExtraFieldsBuilder
5100-invenio_drafts_parent_additional_fields = oarepo_model_builder_drafts.invenio.invenio_drafts_parent_additional_fields:InvenioDraftsParentAdditionalFieldsBuilder
5150-invenio_drafts_parent_state = oarepo_model_builder_drafts.invenio.invenio_drafts_parent_state:InvenioDraftsParentStateBuilder
5200-invenio_drafts_record_service_config = oarepo_model_builder_drafts.invenio.invenio_drafts_record_service_config:InvenioDraftsRecordServiceConfigBuilder
3500-invenio_drafts_setup_cfg = oarepo_model_builder_drafts.invenio.invenio_drafts_setup_cfg:InvenioDraftsSetupCfgBuilder
Expand Down

0 comments on commit 98b1058

Please sign in to comment.