Add event: Event / Approve: all section, all language, all versions, set your user or user group to approve
Create new workflow named "Before publishing"
Add to it a Multiplexer: All sections, All languages, class = user, affecter version = publishing new, workflow to run = "Content approval"
Setup > Triggers > Content / publish / before = Before publishing
This should send any user registration through the workflow. You will also need to override the template to handle the error message that says something in the line of "Cannot register the new user" to something like "Your registration is pending for approval".
To receive notification, in your dashboard, click on "My notification settings" and in the block "Collaboration notification" tick the box "Approval"
My tutorial on workflows might help: http://share.ez.no/learn/ez-publish/creating-a-simple-custom-workflow-event
The problem I encounter is:
when I create an account (from the public site) and submits the form I get the error message you mention. Before validating this error message (with the button " Back ") I can see in the pendding list in the Dashboard:
the fact that it crashes in such an obvious way at the moment is actually a regression caused by this fix: http://issues.ez.no/016512.
We (eZ Engineering) have prioritized this particular problem for the current sprint (Matterhorn, then), but are still debating the exact way to go. The cleanest option, on the long term, would be to make user/register an operation of the user module. This operation would look like this:
- send confirmation email
* keep deferred to cron until confirmed by user
- publish the user object
* this will possibly send the user object to the approval workflow - notify the user that his account has been created
Details remain to be determined, but I think this workflow does make sense. Do you ?