The "undo_function" part of callbacks was required, even though it
might not be required for functionality... Make it optional, so we
don't end up making/using no-op functions to avoid doing anything.
Makes the objects available to later submission handlers... Handling a
weird case, yes... Need to trigger something only after ingest, but
only when ingesting through the form.
Tests ingest forms by using a shared variable 'models'.
Additional stuff:
'models' is no longer a required config for ingest steps, now
its set from the given objects.
No longer need to rebuild steps from within a form step when the
shared_storage gets changed, we now detect if changes have been
made then we rebuild if necessary.
Fixed POST requests in WebTestCases previously the user was always
anonymous so interactions with fedora would fail via post requests.
There was a mistake where a step was reverting its global changes before it was
actually selected as the previous step. Innocuous enough but it had strange
side effects on the global storage, since the step list would be rebuild with
this information, steps could insert themselves as previous steps even if they
weren't used by the user.
Fix's an error in my logic. Now instead of having a null step ID mean
that it is the first step. The step ID gets initialized when the
form is first build and NULL is changed to mean that all steps
have been executed.
Also added some comments.
Was not in use and excepting any parameters for the ingest process via GET
was not very safe.
Also the ingest configuration can now take an NewFedoraObject rather than
building one from the configuration options. The old way is still supported
for now though.