Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • erp5 erp5
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Merge requests 142
    • Merge requests 142
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedinexedi
  • erp5erp5
  • Merge requests
  • !1199

"Disable Node" option for categories

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Jérome Perrin requested to merge feat/category_disable_node into master Jul 13, 2020
  • Overview 1
  • Commits 11
  • Pipelines 1
  • Changes 28

Since a89afa43 (Formulator: Support disabled items in all ItemWidget subclasses., 2014-04-02) we can include disabled items in listfields. This was used for example in erp5_crm to show the services with their hierarchy as disabled items and was useful to display the hierarchy.

In some fields, we don't want user to select "nodes" categories, but only select "leaves" categories (ie. select the most precise category). This always had a problem when using "Indented title" as display method for categories, because the user can not see the actual hierarchy. This is about making it possible to display hierarchy of categories in this case where we select only leaves, so that it displays like this:

screenshot of a category with disabled items for hierarchy

This required to:

  • introduce a new category API, disable_node, which is semantically very close to filter_node except that instead of filtering out node categories that are kept with None as related URL. Symmetrically, we also introduce disable_leave
  • make ParallelListField support disabled items. Even if this was properly supported in underlying fields, some parts in ParallelListField did not differentiate between None and ''.
  • modify several forms to use disable_node instead of filter_node
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feat/category_disable_node
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7