Issue:
- It is possible to use the 'Replace Component' feature on a subassembly to replace it with some other component even when the parent assembly is locked by a different user.
Steps:
- Find or created some assembly with a few children.
- Ask a colleague to check it out so the Assembly gets locked by a different user.
- Find this assembly in the Plugin.
- Go to some child item and right click it.
- Choose Replace component.
- Find replacement component in the pop-up search window.
- Press Replace.
Expected behavior:
- This should not be allowed as the whole assembly is checked out/locked by a different user. And not just the top level item, all the children should be locked as well.
Actual behavior:
- Action is allowed and the subassembly is replaced with another component.


Documentation does describe how this feature should be used but this leaves room for issues as it also should not be allowed and not just described - Search and replace.
Excerpt from documentation:
- "Ensure you have an assembly open and checked out in which you wish to insert or replace an item."
TO DO:
- Enforce the business logic to work as expected by adding a check if the assembly is locked by the current user.
- The feature needs to be improved and the documentation updated afterward.
Acceptance criteria:
- When top level item is locked, none of its child items can be replaced using 'Replace component' feature in the Plugin.