I have an application which has a Projects table and a Users table. In my Create New Project form I have a required field for Project Manager. However, the User record for Project Manager may not exist yet. Project Manager is a required field.
Up to now I have been developing the application on a "one screen, one record" basis, but this scenario would require that the user create the user record first (since Project Manager is a required field), then create the project record and assign the new user as a project manager.
Intuitively, a user would expect the project to be created first, but this would require three steps (Project Creation, User Creation, Assign User as Project Manager), and they would have to be locked together, since Project Manager is a required field, and the application would still have to be smart enough to use an existing User record, if available.
What is the strategy you would use? Would you put everything on one form Including the optional new user) and push a complicated ViewModel to the controller method, or would you employ a multi-step form strategy, or would you do something else? I have considered things like a New User popup form on the New Project form, but that feels a little too clever, and not RESTful enough.