Has anyone come across the below scenario. I would like to understand more on this.
We use the OOTB Promotion request Workflow process for an object and after raising a Promotion Request, in the Approvel Promotion request task when the approver sends it back for rework the primary object goes back to Inwork state. At this point in time, we need to restrict the users to create another Promotion Request for the Primary object, as the ACL would let the user to create a Promotion Request. Can this be achieved through any of the OOTB options or should we go only through the validator route and write a piece of code?
Thanks in Advance!
As far as my understanding is concerned, I dont think there is any OOTB setting/preference/command to let you do this (disable another promotion request if one is already running).
What I guess is, you can write your custom validator and hook for OOTB Promotion Request action.
In this class you can put your logic to check whether there is existing Promotion Request running on the object.
If yes, disable New Promotion Request action else keep this enable.
I hope this answers your concern.
If the lifecycle is correctly set up, on creation of a Promotion Request, the data on it will go to the "lock" state (e.g. Under Review). There should be no Promote transition at that state, which prevents another PR from being created.
Note: OTB, there is a bizarre behavior in the lifecycle admin UI that fills in the Promote transition from every state to every state on the first SAVE of any new Lifecycle template. Absolutely amazing that this remains there after all these releases. Have to explicitly remove Promote from the lock state to any other state.
I think one thing that would certainly help would be an Icon indicating that this object was on a Promotion Request just like they show up on ECRs and ECNs.
I'm really surprised they don't appear anywhere that I've found.
Which now makes me wonder if we could make them appear....
Upon Rework, can you have it go to another state (like Rework) instead of In-Work. I think this will help you achieve the requirement.