We should be able to restrict access to the main dev portal screens to users that have signed up for the program. The information gathered during the sign up process should be kept down to a minimum, but will include at least accepting certain terms of service.
This gathered information can be stored in the user profile, that could be then checked by a decorator that could be combined with @login_required (or that could replace @login_required) to bounce users that haven't signed up yet to do this before reaching the requested view.
QA:
1) /dev/apps/new/ - you should be redirected to openid signin.
2) Once you sign in, you'll be redirected to a themed page and asked to agree to the terms. Try clicking 'Sign up' without agreeing to the terms - you'll see validation saying it's required.
3) Check the box and click Sign up again, this time you'll be redirected back to /dev/apps/new/ and see the stub response.
This is in place but the actual agreement is still being thrashed out.