def create(self): form = ProfileForm(self.request.POST) if self.request.method == 'POST' and form.validate(): name = ' '.join([form.first_name.data, form.last_name.data]) # Create the webapp2_extras.auth user. model = self.auth.store.user_model ok, user = model.create_user(form.data['email'], password_raw=form.data['password']) if not ok: self.session.add_flash(messages.EDITOR_CREATE_ERROR, level='error') return self.redirect_to('editors.list') # Create the profile. profile = Profile(name=name, email=form.data['email'], is_editor=True, auth_user_id=user.key.id()) profile.put() # Force reload of profile object Profile.get(profile.key()) self.session.add_flash(messages.EDITOR_CREATE_SUCCESS) return self.redirect_to('editors.list') return self.render_to_response('editors/form.haml', {'form': form})