If you need to make adjustments to the form based on the user permissions or type, you have two choices:
- Supply context to the form and render accordingly.
- Have two seperate forms and select the relevent one based on the user permission / type.
I think the second method id better, You can use the more restrictive form as a base class for the second form if you want to keep things DRY.
Hope this helps.