Skip to content

Commit

Permalink
Merge commit '604f4c60d76313a44125b53648b44b2951dece9a'
Browse files Browse the repository at this point in the history
  • Loading branch information
Diogo Marques committed Apr 5, 2024
2 parents de19df6 + 604f4c6 commit f1a13bc
Showing 1 changed file with 21 additions and 15 deletions.
36 changes: 21 additions & 15 deletions wagtail_modeltranslation/patch_wagtailadmin.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,6 @@ def _patch_page_models(self, model):
def _patch_other_models(self, model):
# PATCH FIELDS
self._patch_fields(model)

if hasattr(model, "edit_handler"):
edit_handler = model.edit_handler
for tab in edit_handler.children:
Expand All @@ -156,22 +155,29 @@ def _patch_other_models(self, model):
model.panels = self._patch_panels(model.panels)
elif hasattr(model, "snippet_viewset"):
edit_handler = model.snippet_viewset.get_edit_handler()
for tab in edit_handler.children:
tab.children = self._patch_panels(tab.children)
model.snippet_viewset.edit_handler = edit_handler.bind_to_model(model)
if isinstance(edit_handler, ObjectList):
edit_handler.children = self._patch_ObjectList(edit_handler.children, model)
model.edit_handler = edit_handler.children.bind_to_model(model=model)
else:
for tab in edit_handler.children:
tab.children = self._patch_panels(tab.children)
model.snippet_viewset.edit_handler = edit_handler.bind_to_model(model)
else:
panels = extract_panel_definitions_from_model_class(model)
translation_registered_fields = translator.get_options_for_model(
model
).fields
panels = list(
filter(
lambda field: field.field_name not in translation_registered_fields,
panels,
)
edit_handler = self._patch_ObjectList(panels, model)
model.edit_handler = edit_handler.bind_to_model(model=model)

def _patch_ObjectList(self, obj_list, model):
translation_registered_fields = translator.get_options_for_model(
model
).fields
panels = list(
filter(
lambda field: field.field_name not in translation_registered_fields,
obj_list,
)
panel = ObjectList(panels)
model.edit_handler = panel.bind_to_model(model=model)
)
return ObjectList(panels)

def _patch_panels(self, panels_list, related_model=None):
"""
Expand Down Expand Up @@ -207,8 +213,8 @@ def _patch_simple_panel(self, model, original_panel):
if original_panel.field_name not in translation_registered_fields:
return [original_panel]

original_field = model._meta.get_field(original_panel.field_name)
for language in mt_settings.AVAILABLE_LANGUAGES:
original_field = model._meta.get_field(original_panel.field_name)
localized_field_name = build_localized_fieldname(
original_panel.field_name, language
)
Expand Down

0 comments on commit f1a13bc

Please sign in to comment.