Commit 11cf3ce8 authored by Jérome Perrin's avatar Jérome Perrin

xhtml_style: display form groups legends

For erp5_web it is possible to define form groups following a naming
rule "group_id (Group Title)" and "Group Title" is displayed in a legend,
according to this comment in form_render.zpt:

> It is possible to specify a group id and a group title by naming a group following the
>   "group id (Group Title)" pattern. In this case the group id will be used as fieldset css
>   class and as tag id. The group title will be used as a legend for the fieldset. If no group
>   title is found, we use group id as title.

For historical reasons, the legend was hidden, this feature was only
used in erp5_web, but this does not seem bad to enable it in
erp5_xhtml_style as well.

At the moment, this is not used much, this script

```py
for sf in context.getPortalObject().portal_skins.objectValues():
  for f in sf.objectValues():
    if not hasattr(f, 'get_groups'):
      continue
    for group in f.get_groups():
      if '(' in group:
        print('/'.join(f.getPhysicalPath()[1:]), group)

return printed
```

when running on a site with many business template installed yields

```
erp5/portal_skins/erp5_base/EmbeddedFile_view left (Document Reference)
erp5/portal_skins/erp5_base/EmbeddedFile_view right (Publication Information)
erp5/portal_skins/erp5_base/NotificationMessage_viewEditor left (Page Properties)
erp5/portal_skins/erp5_knowledge_pad/Base_viewKnowledgePadFieldLibrary right column (Toolbox)
erp5/portal_skins/erp5_web/StaticWebSite_viewRedirectAssistConfiguration left (Style)
erp5/portal_skins/erp5_web/WebPage_view left (Page Properties)
erp5/portal_skins/erp5_web/WebPage_view right (Publication)
erp5/portal_skins/erp5_web/WebPage_view bottom (Content)
erp5/portal_skins/erp5_web/WebPage_viewEditor left (Page Properties)
erp5/portal_skins/erp5_web/WebPage_viewFieldLibrary left (Page Properties)
erp5/portal_skins/erp5_web/WebPage_viewFieldLibrary right (Publication)
erp5/portal_skins/erp5_web/WebPage_viewFieldLibrary bottom (Content)
erp5/portal_skins/erp5_web/WebSection_view left (Content)
erp5/portal_skins/erp5_web/WebSection_view right (Layout)
erp5/portal_skins/erp5_web/WebSection_view center (Description)
erp5/portal_skins/erp5_web/WebSection_view bottom (Subsections)
erp5/portal_skins/erp5_web/WebSection_viewDefaultThemeConfiguration left (Style)
erp5/portal_skins/erp5_web/WebSection_viewDefaultThemeConfiguration right (Widgets)
erp5/portal_skins/erp5_web/WebSite_view left (Content)
erp5/portal_skins/erp5_web/WebSite_view right (Layout)
erp5/portal_skins/erp5_web/WebSite_view center (Description)
erp5/portal_skins/erp5_web/WebSite_view bottom (Subsections)
erp5/portal_skins/erp5_web/WebSite_viewRegistrationDialog left (User Login)
erp5/portal_skins/erp5_web/WebSite_viewRegistrationDialog right (User Identity)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout left column transparent (Logo)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout left column (Navigation)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout left column (Sections)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout left column (Contents)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout left column (Search)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout left column (Debug)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout right column (News)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout right column (Toolbox)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_content_layout right column (Highlight)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout left column transparent (Logo)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout left column (Navigation)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout left column (Sections)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout left column (Contents)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout left column (Search)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout left column (Debug)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout right column (News)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout right column (Toolbox)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout right column (Highlight)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_layout right column (Action)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout left column transparent (Logo)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout left column (Navigation)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout left column (Sections)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout left column (Contents)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout left column (Search)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout left column (Debug)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout right column (News)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout right column (Toolbox)
erp5/portal_skins/erp5_web_minimal_theme/erp5_web_section_layout right column (Highlight)
erp5/portal_skins/erp5_dms/Document_viewFieldLibrary left (Document Reference)
erp5/portal_skins/erp5_dms/Document_viewFieldLibrary right (Publication Information)
erp5/portal_skins/erp5_dms/ExternalSource_view left (Document Reference)
erp5/portal_skins/erp5_dms/ExternalSource_view right (Publication Information)
erp5/portal_skins/erp5_dms/OOoDocument_view left (Document Reference)
erp5/portal_skins/erp5_dms/OOoDocument_view right (Publication Information)
erp5/portal_skins/erp5_dms_base/File_view left (Document Reference)
erp5/portal_skins/erp5_dms_base/File_view right (Publication Information)
erp5/portal_skins/erp5_dms_base/Image_view left (Document Reference)
erp5/portal_skins/erp5_dms_base/Image_view right (Publication Information)
erp5/portal_skins/erp5_dms_web/WebIllustration_view left (Document Reference)
erp5/portal_skins/erp5_dms_web/WebIllustration_view right (Publication Information)
erp5/portal_skins/erp5_dms_web/WebIllustration_view bottom (Preview)
erp5/portal_skins/erp5_dms_web/WebPage_view left (Document Reference)
erp5/portal_skins/erp5_dms_web/WebPage_view right (Publication Information)
erp5/portal_skins/erp5_dms_web/WebPage_view bottom (Preview)
erp5/portal_skins/erp5_multimedia/Sound_view left (Document Reference)
erp5/portal_skins/erp5_multimedia/Sound_view right (Publication Information)
erp5/portal_skins/erp5_run_my_doc/Review_view left (Document Reference)
erp5/portal_skins/erp5_run_my_doc/Review_view right (Publication Information)
erp5/portal_skins/erp5_run_my_doc/TestPage_view left (Document Reference)
erp5/portal_skins/erp5_run_my_doc/TestPage_view right (Publication Information)
erp5/portal_skins/erp5_run_my_doc/TestPage_view bottom (Preview)
erp5/portal_skins/erp5_run_my_doc/TestPage_viewFieldLibrary left (Page Properties)
erp5/portal_skins/erp5_run_my_doc/TestPage_viewFieldLibrary right (Publication)
erp5/portal_skins/erp5_run_my_doc/TestPage_viewFieldLibrary bottom (Content)
erp5/portal_skins/erp5_run_my_doc/TestPage_viewTestReport bottom (Content)
erp5/portal_skins/erp5_officejs_slideshow_editor/WebPage_viewForSlideshowEditor bottom (Preview)
erp5/portal_skins/erp5_credential/CredentialRequest_view left (Personal Information)
erp5/portal_skins/erp5_credential/CredentialRequest_view left (Organisation Information)
erp5/portal_skins/erp5_credential/CredentialRequest_view right (Login Information)
erp5/portal_skins/erp5_credential/CredentialUpdate_view left (Personal Information)
erp5/portal_skins/erp5_credential/CredentialUpdate_view left (Organisation Information)
erp5/portal_skins/erp5_credential/CredentialUpdate_view right (Login Information)
erp5/portal_skins/erp5_km/WebSection_viewKMMinimalThemeConfiguration left (Colors)
erp5/portal_skins/erp5_km/WebSection_viewKMMinimalThemeConfiguration right (Static Content)
erp5/portal_skins/erp5_km/WebSection_viewKMMinimalThemeConfiguration left (Navigation)
erp5/portal_skins/erp5_km/WebSection_viewKMMinimalThemeConfiguration right (Gadgets)
erp5/portal_skins/erp5_km_theme/Base_viewKMFieldLibrary right column (Toolbox)
erp5/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary bottom gadget (Bottom Gadget)
erp5/portal_skins/erp5_km_theme/WebSection_viewMinimalKMWidgetFieldLibrary right column gadget (Right Gadget)
erp5/portal_skins/erp5_km_theme/erp5_km_minimal_content_layout bottom gadget (Bottom Gadget)
erp5/portal_skins/erp5_km_theme/erp5_km_minimal_content_layout right column gadget (Right Gadget)
erp5/portal_skins/erp5_km_theme/erp5_km_minimal_layout bottom gadget (Bottom Gadget)
erp5/portal_skins/erp5_km_theme/erp5_km_minimal_layout right column gadget (Right Gadget)
erp5/portal_skins/erp5_km_theme/login_form left registration (Login)
erp5/portal_skins/erp5_km_theme/login_form right registration (New User Registration)
```

and this does not look bad when viewing the forms.
parent 1e371494
Pipeline #34917 failed with stage
in 0 seconds
...@@ -342,7 +342,8 @@ table.fake tr td { ...@@ -342,7 +342,8 @@ table.fake tr td {
} }
.group_title { .group_title {
display: none; padding-bottom: 0.5em;
font-size: larger;
} }
table.fake, table.fake,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment