Attach Objects to a form in progress

Right now, you need to fully create an object before you can attach objects to it. There's a few workflows where I find myself wanting to be able to submit sub-objects to an object before it's created. Mostly this applies to objects that other departments have to work on, that you don't want to submit before all relevant information is attached.

As of now, the workflow is as follows:

  1. Submit initial object. For our purposes, Let's say it's an employee termination report. Also, let's say HR requires at least 2 attachments before they'll even look at a termination.
  2. The initial object has a status, and is set to "Presubmission". It appears on a page for the submitter in a table. The table has a link to "Submit" the object to HR, but the link is disabled until a count field totalling the supporting documents attachments is greater than 1.
  3. The submitter adds supporting objects- Attachments. (Ever wanted multiple attachments on one object without a definite number? Tables and subobjects.)
  4. Then, the link is visible, and the object could be submitted.

What I would like to see is the ability to create sub-objects on an object in progress- a form halfway submitted. It could maybe work something like this:

  1. Whenever a user navigates to a submission form for an object, create a placeholder object right away. If they navigate away without finishing, destroy the proto-object.
  2. The user then has a form in the form to attach objects to the existing proto-object. This should probably be a new variant of form view- Something like "Sub-Object Addition Form" to handle the custom logic.
  3. If the form is cancelled, or the user navigates away, destroy all sub-objects attached to the proto-object.
  4. When the form is submitted, turn the proto-object in to a real object, and update the sub-object associations.

The advantage to this would be that users could perform one single workflow to submit complex objects, instead of breaking it in to multiple parts. Especially with positions that have to submit a lot of objects, this could be a huge time saver.