How can I modifiy Paste/Move behaviour in Nuxeo?
I would like to be able to modify the behaviour of the “Move” and “Copy” links in the “WorkList” and “Clipboard”, as some of our DocumentTypes, once they reach a certain (lifecycle) state, should not be modified. The Immutable facet does not seem to work for this purpose.
Is there a good way to implement something like that?
There are multiple ergonomics ways to implements that first. Do you want to filter “not movable” documents when the user click on move/copy or do you want to disable is when a “not movable” documents are present into the list ?
For the first way, you can do it though Studio easily. You disable the default button and implement yours with an automation chain that filters the liste of documents… Something like:
- Fetch > Fetch Context Document
- Execution Context > Save Context Variable From Input
- Fetch > UI Clipboard
- Document > Filter list
- Document > Move / Copy
For the second solution, you also override the default copy/move buttons but you will have to implement a seam component that will check if there is a non movable document into the clipboard. If so disable it through an JEXL expression into the User Action definition.
Hope this will help.