예제 #1
0
파일: views.py 프로젝트: nava45/connection
def after_login(resp):
    if resp.email is None or resp.email == "":
        flash(gettext('Invalid login. Please try again.'))
        return redirect(url_for('login_view'))
    user = User.query.filter_by(email = resp.email).first()
    userdetails = UserDetails(user=user)
    if user is None:
        nickname = resp.nickname
        if nickname is None or nickname == "":
            nickname = resp.email.split('@')[0]
        nickname = User.make_valid_nickname(nickname)
        nickname = User.make_unique_nickname(nickname)
        user = User(nickname = nickname, email = resp.email, role = ROLE_USER)
        
        db.session.add(user)
        db.session.add(userdetails)
        db.session.commit()
        # make the user follow him/herself
        db.session.add(user.follow(user))
        db.session.commit()
        
    userdetails = UserDetails.query.filter_by(user=user).first()
    if userdetails is None:
        userdetails = UserDetails(user=user)
        db.session.add(userdetails)
        db.session.commit()
        
    remember_me = False
    if 'remember_me' in session:
        remember_me = session['remember_me']
        session.pop('remember_me', None)
    login_user(user, remember = True)
    return redirect(request.args.get('next') or url_for('main_flow.index'))
예제 #2
0
파일: forms.py 프로젝트: Tibodef/PythonBlog
	def validate(self):
		valid = True
		if not Form.validate(self):
			valid = False

		if self.name.data != User.make_valid_name(self.name.data):
			self.name.errors.append(gettext('This name has invalid characters'))
			valid = False

		if self.nickname.data != User.make_valid_nickname(self.nickname.data):
			self.nickname.errors.append(gettext('This nickname has invalid characters'))
			valid = False

		if User.is_email_taken(self.email.data):
			self.email.errors.append(gettext('This email is already in use. Please choose another one.'))
			valid = False			

		if User.is_nickname_taken(self.nickname.data):
			self.nickname.errors.append(gettext('This nickname is already in use. Please choose another one.'))
			valid = False
		return valid