def create_user(**kwargs): """ :: from apex.lib.libapex import create_user create_user(username='******', password='******', active='Y', group='group') Returns: AuthUser object """ user = AuthUser() if 'group' in kwargs: try: group = DBSession.query(AuthGroup). \ filter(AuthGroup.name==kwargs['group']).one() user.groups.append(group) except NoResultFound: pass del kwargs['group'] for key, value in kwargs.items(): setattr(user, key, value) DBSession.add(user) DBSession.flush() return user
def create_user(self, username): user = AuthUser(username=username, password=self.data["password"], email=self.data["email"]) DBSession.add(user) settings = get_current_registry().settings if settings.has_key("apex.default_user_group"): group = DBSession.query(AuthGroup).filter(AuthGroup.name == settings["apex.default_user_group"]).one() user.groups.append(group) DBSession.flush() return user
def register(request): """ register(request): no return value, called with route_url('apex_register', request) """ title = _('Register') came_from = request.params.get('came_from', \ route_url(apex_settings('came_from_route'), request)) velruse_forms = generate_velruse_forms(request, came_from) #This fixes the issue with RegisterForm throwing an UnboundLocalError if apex_settings('register_form_class'): RegisterForm = get_module(apex_settings('register_form_class')) else: from apex.forms import RegisterForm if 'local' not in apex_settings('provider_exclude', []): if asbool(apex_settings('use_recaptcha_on_register')): if apex_settings('recaptcha_public_key') and apex_settings('recaptcha_private_key'): RegisterForm.captcha = RecaptchaField( public_key=apex_settings('recaptcha_public_key'), private_key=apex_settings('recaptcha_private_key'), ) form = RegisterForm(request.POST, captcha={'ip_address': request.environ['REMOTE_ADDR']}) else: form = None if request.method == 'POST' and form.validate(): user = form.save() need_verif = apex_settings('need_mail_verification') response = HTTPFound(location=came_from) if need_verif: try: DBSession.add(user) except: pass begin_activation_email_process(request, user) user.active = 'N' DBSession.flush() flash(_('User sucessfully created, ' 'please verify your account by clicking ' 'on the link in the mail you just received from us !'), 'success') response = HTTPFound(location=came_from) else: transaction.commit() headers = apex_remember(request, user.id, internal_user=True) response = HTTPFound(location=came_from, headers=headers) return response return {'title': title, 'form': form, 'velruse_forms': velruse_forms, 'action': 'register'}
def apex_remember(request, user_id): if asbool(apex_settings('log_logins')): if apex_settings('log_login_header'): ip_addr=request.environ.get(apex_settings('log_login_header'), \ u'invalid value - apex.log_login_header') else: ip_addr = request.environ['REMOTE_ADDR'] record = AuthUserLog(user_id=user_id, ip_addr=ip_addr) DBSession.add(record) DBSession.flush() return remember(request, user_id)
def apex_remember(request, user_id): if asbool(apex_settings('log_logins')): if apex_settings('log_login_header'): ip_addr=request.environ.get(apex_settings('log_login_header'), \ u'invalid value - apex.log_login_header') else: ip_addr=request.environ['REMOTE_ADDR'] record = AuthUserLog(user_id=user_id, ip_addr=ip_addr) DBSession.add(record) DBSession.flush() return remember(request, user_id)
def apex_remember(request, user, max_age=None): if asbool(apex_settings('log_logins')): if apex_settings('log_login_header'): ip_addr = request.environ.get(apex_settings('log_login_header'), 'invalid value - apex.log_login_header') else: ip_addr = str(request.environ['REMOTE_ADDR']) record = AuthUserLog(auth_id=user.auth_id, user_id=user.id, ip_addr=ip_addr) DBSession.add(record) DBSession.flush() return remember(request, user.auth_id, max_age=max_age)
def create_user(self, auth_id, login): id = DBSession.query(AuthID).filter(AuthID.id==auth_id).one() user = AuthUser( login=login, password=self.data['password'], email=self.data['email'], ) id.users.append(user) DBSession.add(user) DBSession.flush() return user
def apex_remember(request, user, max_age=None): if asbool(apex_settings('log_logins')): if apex_settings('log_login_header'): ip_addr = request.environ.get(apex_settings('log_login_header'), \ u'invalid value - apex.log_login_header') else: ip_addr = unicode(request.environ['REMOTE_ADDR']) record = AuthUserLog(auth_id=user.auth_id, user_id=user.id, \ ip_addr=ip_addr) DBSession.add(record) DBSession.flush() return remember(request, user.auth_id, max_age=max_age)
def create_user(self, auth_id, login): id = DBSession.query(AuthID).filter(AuthID.id == auth_id).one() user = AuthUser( login=login, password=self.data['password'], email=self.data['email'], ) id.users.append(user) DBSession.add(user) DBSession.flush() return user
def apex_callback(request): """ apex_callback(request): no return value, called with route_url('apex_callback', request) This is the URL that Velruse returns an OpenID request to """ redir = request.GET.get('came_from', \ route_url(apex_settings('came_from_route'), request)) headers = [] if 'token' in request.POST: auth = apexid_from_token(request.POST['token']) if auth: user = AuthUser.get_by_login(auth['id']) if not user: auth_info = auth['profile']['accounts'][0] id = AuthID() DBSession.add(id) user = AuthUser( login=auth_info['userid'], provider=auth_info['domain'], ) if auth['profile'].has_key('verifiedEmail'): user.email = auth['profile']['verifiedEmail'] id.users.append(user) if apex_settings('default_user_group'): for name in apex_settings('default_user_group'). \ split(','): group = DBSession.query(AuthGroup). \ filter(AuthGroup.name==name.strip()).one() id.groups.append(group) if apex_settings('create_openid_after'): openid_after = get_module( apex_settings('create_openid_after')) openid_after().after_signup(user) DBSession.flush() if apex_settings('openid_required'): openid_required = False for required in apex_settings('openid_required').split(','): if not getattr(user, required): openid_required = True if openid_required: request.session['id'] = id.id request.session['userid'] = user.id return HTTPFound(location='%s?came_from=%s' % \ (route_url('apex_openid_required', request), \ request.GET.get('came_from', \ route_url(apex_settings('came_from_route'), request)))) headers = apex_remember(request, user) redir = request.GET.get('came_from', \ route_url(apex_settings('came_from_route'), request)) flash(_('Successfully Logged in, welcome!'), 'success') return HTTPFound(location=redir, headers=headers)
def apex_callback(request): """ apex_callback(request): no return value, called with route_url('apex_callback', request) This is the URL that Velruse returns an OpenID request to """ redir = request.GET.get('came_from', \ route_url(apex_settings('came_from_route'), request)) headers = [] if 'token' in request.POST: auth = apexid_from_token(request.POST['token']) if auth: user = AuthUser.get_by_login(auth['id']) if not user: auth_info = auth['profile']['accounts'][0] id = AuthID() DBSession.add(id) user = AuthUser( login=auth_info['userid'], provider=auth_info['domain'], ) if auth['profile'].has_key('verifiedEmail'): user.email = auth['profile']['verifiedEmail'] id.users.append(user) if apex_settings('default_user_group'): for name in apex_settings('default_user_group'). \ split(','): group = DBSession.query(AuthGroup). \ filter(AuthGroup.name==name.strip()).one() id.groups.append(group) if apex_settings('create_openid_after'): openid_after = get_module(apex_settings('create_openid_after')) openid_after().after_signup(user) DBSession.flush() if apex_settings('openid_required'): openid_required = False for required in apex_settings('openid_required').split(','): if not getattr(user, required): openid_required = True if openid_required: request.session['id'] = id.id request.session['userid'] = user.id return HTTPFound(location='%s?came_from=%s' % \ (route_url('apex_openid_required', request), \ request.GET.get('came_from', \ route_url(apex_settings('came_from_route'), request)))) headers = apex_remember(request, user) redir = request.GET.get('came_from', \ route_url(apex_settings('came_from_route'), request)) flash(_('Successfully Logged in, welcome!'), 'success') return HTTPFound(location=redir, headers=headers)
def create_user(self, username): user = AuthUser( username=username, password=self.data['password'], email=self.data['email'], ) DBSession.add(user) settings = get_current_registry().settings if settings.has_key('apex.default_user_group'): group = DBSession.query(AuthGroup). \ filter(AuthGroup.name==settings['apex.default_user_group']).one() user.groups.append(group) DBSession.flush() return user
def create_user(**kwargs): """ :: from apex.lib.libapex import create_user create_user(username='******', password='******', active='Y') Optional Parameters: display_name group Returns: AuthID object """ auth_id = AuthID(active=kwargs.get('active', 'Y')) if 'display_name' in kwargs: auth_id.display_name = kwargs['display_name'] del kwargs['display_name'] user = AuthUser(login=kwargs['username'], password=kwargs['password'], active=kwargs.get('active', 'Y')) auth_id.users.append(user) if 'group' in kwargs: try: group = DBSession.query(AuthGroup). \ filter(AuthGroup.name == kwargs['group']).one() auth_id.groups.append(group) except NoResultFound: pass del kwargs['group'] for key, value in list(kwargs.items()): setattr(user, key, value) DBSession.add(auth_id) DBSession.add(user) DBSession.flush() return user
def create_user(**kwargs): """ :: from apex.lib.libapex import create_user create_user(username='******', password='******', active='Y') Optional Parameters: display_name group Returns: AuthID object """ auth_id = AuthID(active=kwargs.get('active', 'Y')) if 'display_name' in kwargs: auth_id.display_name = kwargs['display_name'] del kwargs['display_name'] user = AuthUser(login=kwargs['username'], password=kwargs['password'], \ active=kwargs.get('active', 'Y')) auth_id.users.append(user) if 'group' in kwargs: try: group = DBSession.query(AuthGroup). \ filter(AuthGroup.name==kwargs['group']).one() auth_id.groups.append(group) except NoResultFound: pass del kwargs['group'] for key, value in kwargs.items(): setattr(user, key, value) DBSession.add(auth_id) DBSession.add(user) DBSession.flush() return user
def create_user(self, login): id = AuthID() DBSession.add(id) user = AuthUser( login=login, password=self.data['password'], email=self.data['email'], ) id.users.append(user) DBSession.add(user) settings = get_current_registry().settings if settings.has_key('apex.default_user_group'): group = DBSession.query(AuthGroup). \ filter(AuthGroup.name==settings['apex.default_user_group']).one() id.groups.append(group) DBSession.flush() return user
def useradd(request): """ useradd(request) No return value Function called from route_url('apex_useradd', request) """ title = _('Create an user') velruse_forms = [] #This fixes the issue with RegisterForm throwing an UnboundLocalError if apex_settings('useradd_form_class'): UseraddForm = get_module(apex_settings('useradd_form_class')) else: from apex.forms import UseraddForm if 'local' not in apex_settings('provider_exclude', []): if asbool(apex_settings('use_recaptcha_on_register')): if apex_settings('recaptcha_public_key') and apex_settings( 'recaptcha_private_key'): UseraddForm.captcha = RecaptchaField( public_key=apex_settings('recaptcha_public_key'), private_key=apex_settings('recaptcha_private_key'), ) form = UseraddForm( request.POST, captcha={'ip_address': request.environ['REMOTE_ADDR']}) else: form = None if request.method == 'POST' and form.validate(): user = form.save() # on creation by an admin, the user must activate itself its account. begin_activation_email_process(request, user) DBSession.add(user) user.active = 'N' DBSession.flush() flash( _('User sucessfully created, An email has been sent ' 'to it\'s email to activate its account.'), 'success') return { 'title': title, 'form': form, 'velruse_forms': velruse_forms, 'action': 'useradd' }
def useradd(request): """ useradd(request) No return value Function called from route_url('apex_useradd', request) """ title = _('Create an user') velruse_forms = [] #This fixes the issue with RegisterForm throwing an UnboundLocalError if apex_settings('useradd_form_class'): UseraddForm = get_module(apex_settings('useradd_form_class')) else: from apex.forms import UseraddForm if 'local' not in apex_settings('provider_exclude', []): if asbool(apex_settings('use_recaptcha_on_register')): if apex_settings('recaptcha_public_key') and apex_settings('recaptcha_private_key'): UseraddForm.captcha = RecaptchaField( public_key=apex_settings('recaptcha_public_key'), private_key=apex_settings('recaptcha_private_key'), ) form = UseraddForm(request.POST, captcha={'ip_address': request.environ['REMOTE_ADDR']}) else: form = None if request.method == 'POST' and form.validate(): user = form.save() # on creation by an admin, the user must activate itself its account. begin_activation_email_process(request, user) DBSession.add(user) user.active = 'N' DBSession.flush() flash(_('User sucessfully created, An email has been sent ' 'to it\'s email to activate its account.'), 'success') return {'title': title, 'form': form, 'velruse_forms': velruse_forms, 'action': 'useradd'}
def register(request): """ register(request): no return value, called with route_url('apex_register', request) """ title = _('Register') came_from = request.params.get('came_from', \ route_url(apex_settings('came_from_route'), request)) velruse_forms = generate_velruse_forms(request, came_from) #This fixes the issue with RegisterForm throwing an UnboundLocalError if apex_settings('register_form_class'): RegisterForm = get_module(apex_settings('register_form_class')) else: from apex.forms import RegisterForm if 'local' not in apex_settings('provider_exclude', []): if asbool(apex_settings('use_recaptcha_on_register')): if apex_settings('recaptcha_public_key') and apex_settings( 'recaptcha_private_key'): RegisterForm.captcha = RecaptchaField( public_key=apex_settings('recaptcha_public_key'), private_key=apex_settings('recaptcha_private_key'), ) form = RegisterForm( request.POST, captcha={'ip_address': request.environ['REMOTE_ADDR']}) else: form = None if request.method == 'POST' and form.validate(): user = form.save() need_verif = apex_settings('need_mail_verification') response = HTTPFound(location=came_from) if need_verif: try: DBSession.add(user) except: pass begin_activation_email_process(request, user) user.active = 'N' DBSession.flush() flash( _('User sucessfully created, ' 'please verify your account by clicking ' 'on the link in the mail you just received from us !'), 'success') response = HTTPFound(location=came_from) else: transaction.commit() headers = apex_remember(request, user.id, internal_user=True) response = HTTPFound(location=came_from, headers=headers) return response return { 'title': title, 'form': form, 'velruse_forms': velruse_forms, 'action': 'register' }