def user_register_validator(form, values): exception = Invalid(form, 'There was a problem with your submission') if values['password'] != values['confirm_password']: exception['confirm_password'] = '******' user = User.objects(name=values['name']) if user: exception['name'] = 'You have to choose a unique name' user = User.objects(email=values['email']) if user: exception['email'] = 'Email already exists in our database' if exception.children: raise exception
def user_inner_validator(form, values): exception = Invalid(form, 'There was a problem with your submission') if values['password'] and values['password'] != values['confirm_password']: exception['confirm_password'] = '******' user = User.objects(name=values['name']) if user and values['name'] != current_user.name: exception = unique_exception(exception, 'name') user = User.objects(email=values['email']) if user and values['email'] != current_user.email: exception = unique_exception(exception, 'email') if exception.children: raise exception
def admin_user_create(request): schema = UserRegisterSchema(validator=user_register_validator) form = Form(schema, buttons=('submit',)) if 'submit' in request.POST: controls = request.POST.items() try: values = form.validate(controls) user = User.from_data(values) user.tzoffset = values['tzoffset'] user.save() return HTTPFound(location=request.route_url('admin_user')) except ValidationFailure, e: form_render = e.render()
def register(request): schema = UserFormSchema(validator=user_register_validator) form = Form(schema, buttons=('submit',)) userid = authenticated_userid(request) if userid: return HTTPFound(location='/') if 'submit' in request.POST: controls = request.POST.items() try: values = form.validate(controls) user = User.from_data(values) user.tzoffset = values['tzoffset'] user.save() headers = remember(request, str(user.id)) return HTTPFound(location='/', headers=headers) except ValidationFailure, e: form_render = e.render()
def add_user_to_request(event): request = event.request userid = authenticated_userid(request) if (userid): request.user = User.objects().with_id(userid)
def admin_user(request): return { 'users': User.objects() }