- 31 May, 2024 2 commits
-
-
Jérome Perrin authored
There is no fallback on group id, if no group title, no legend is displayed
-
Jérome Perrin authored
This is same as "xhtml_style: display form groups legends", but applied to ERP5JS. The returned type of `group_list` changed in the API, it use to be a list of lists with 2 elements: group id (str) and field list (list), it is now a list with 3 elements: group id (str), field list (list) and group title (str). There's now a new `legend` element in the DOM, only when the group has a title.
-
- 30 May, 2024 1 commit
-
-
Jérome Perrin authored
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.
-
- 29 May, 2024 2 commits
-
-
Jérome Perrin authored
only the case without an URL column was properly handled
-
Roque authored
See merge request nexedi/erp5!1945
-
- 28 May, 2024 2 commits
-
-
Roque authored
-
Gabriel Monnerat authored
See merge request !1909
-
- 27 May, 2024 3 commits
-
-
Gabriel Monnerat authored
If erp5_credential is installed in ERP5, we will use the dialog from erp5_credential instead of accessing portal_password directly.
-
Roque authored
- setting configurator header link - allow auto_sync when adding opml - update form title - fix landing page - fix dispatch - fix form naming - fix form and fields naming (coding style tests)
-
- 22 May, 2024 4 commits
-
-
Rafael Monnerat authored
-
Rafael Monnerat authored
Otherwise, alarms to fetch what was paid (status) don't work.
-
Rafael Monnerat authored
Mistake was probably there because copy and paste
-
Jérome Perrin authored
Raise an exception instead of casting to string unhandled search values, because it's more likely that caller accidentally passed a wrong value.
-
- 20 May, 2024 8 commits
-
-
Roque authored
See merge request nexedi/erp5!1864
-
Roque authored
-
Roque authored
- site web section changes - update app router - update app panel - adapt monitoring jio gadget and jio storage - add form views configuration - add new portal types, views and actions - migration_version check - update precache manifest - sync checks and redirection - refactor dispatch page according to new monitor urls - add opml redirects to front page - slapos portal types - drop obsolete files - drop auto-sync on add OPML page - parameters gadget field for instance tree view - custom views for software instance resources and processes - options header gadget (custom header options) - custom submit gadgets - graph gadget field
-
Roque authored
- allow custom app configurator - render listbox form field extra configuration - fix date format rendering - allow configuration form fields to have extra js code - allow to customize listbox column styles - allow to customize listbox jio_alldocs - fix custom view handling - fix gadget field rendering - allow dev user to set custom header options - truncate long string fields - add custom submit gadget option - improve renderjs_extra - update graph gadget
-
Roque authored
-
Jérome Perrin authored
Some general changes to test framework and shared test code See merge request nexedi/erp5!1936
-
Jérome Perrin authored
this happens with new ghostscript, but this does not seem a critical problem.
-
Jérome Perrin authored
The test was only testing with empty cache
-
- 19 May, 2024 2 commits
-
-
Jérome Perrin authored
This should not happens, but if this happens we should not just return in the middle of the loop, because this returned value is not used, so we would just silently edit partially.
-
Jérome Perrin authored
The first commit of this merge request was introduced for zope4py3 branch but it revealed issues on py2 as well, i.e. we don't have roles in auto-generated tester methods. ``` ====================================================================== FAIL: test_method_protection (testSecurity.TestSecurity) This test will list all implicitly Public methods in any objects in ZODB. ---------------------------------------------------------------------- Traceback (most recent call last): File "/(SR)/parts/erp5/Products/ERP5/tests/testSecurity.py", line 113, in test_method_protection self.fail(message) AssertionError: The following 7 methods have a docstring but have no security assertions. /(SR)/parts/erp5/product/ERP5Form/PreferenceTool.py:65 isPreferredVcsPushMode /srv/slapgrid/slappart19/t/eiy/soft/8a7759fd7b65b20d9f87713605745d05/parts/erp5/product/ERP5Type/Accessor/AcquiredProperty.py:217 hasTelephoneValidationState /(SR)/parts/erp5/product/ERP5Type/Accessor/Base.py:219 hasViewFormIdList /(SR)/parts/erp5/product/ERP5Type/Accessor/Constant.py:94 isWebDocumentType /(SR)/parts/erp5/product/ERP5Type/Accessor/Content.py:224 hasImage /(SR)/parts/erp5/product/ERP5Type/Accessor/ContentProperty.py:283 hasImageWidthList /(SR)/parts/erp5/product/ERP5Type/Accessor/Translation.py:233 hasFrTranslatedTitle ---------------------------------------------------------------------- ``` See merge request nexedi/erp5!1911
-
- 17 May, 2024 6 commits
-
-
Jérome Perrin authored
If a transaction is selected but instead of having accounts as source/destination on lines it acquires the organisation set as source/destination on the transaction, this causes an AttributeError getGapList when trying to use this organisation as an account. To fix this, adjust the getMovementHistoryList parameters to select only lines using accounts, by passing node_uid, which is O(n) on the number of accounts, but the number of accounts is not supposed to be too large and other reports also do this assumption.
-
Jérome Perrin authored
This prevents one failing test to make all subsequent tests to fail
-
Jérome Perrin authored
this is removed from python3, it was not so useful here either
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Jérome Perrin authored
-
- 16 May, 2024 6 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
use sys.maxsize, see discussion on nexedi/erp5!1751 (comment 203735)
-
Jérome Perrin authored
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Jérome Perrin authored
assertCountEqual is the new python3 name. Implement this in backportUnittest.py and also move the existing similar patches (assertRaisesRegex and assertRegex).
-
- 15 May, 2024 3 commits
-
-
Romain Courteaud authored
-
Jérome Perrin authored
- move the logic of uploading to WebDAV server here instead of the generated bin/runUnitTest wrapper - run a new `coverage_report` which will - download all coverage data from WebDAV server - combine the data - run html report, saved in log folder - print text output in the text output. This `coverage_report` test waits for other tests to finish uploading data, we could extend test node distributor to distribute this test at the end.
-
Jérome Perrin authored
See merge request !1933
-
- 14 May, 2024 1 commit
-
-
Léo-Paul Géneau authored
See merge request nexedi/erp5!1903
-