def user_home(username): user = User.selectBy(username=username).getOne(None) if not user: abort(404) else: tracks = Track.selectBy(user=user) return context(user=user, tracks=tracks)
def bookmarklet_add(): video_id = request.GET.get('video_id', '') title = request.GET.get('title', 'Default Title') token = request.GET.get('token', '') user = None if len(token) == 128: user = User.selectBy(bookmarklet=token).getOne(None) if not user: return {'error': ("The token was either not present or invalid." "Please reinstall your bookmarklet"), 'status': 'error'} if not video_id: return {'error': "Cannot add video because of an invalid video id", 'status': 'error'} track = Track(user=user, title=title, video_id=video_id) if track: return {'error': '', 'status': 'success'} return {'error': "Could not add video", 'status': 'error'}
def login(): form = LoginForm() if form.validate_on_submit(): login_user(User.selectBy(username=form.user.data).getOne(), remember=form.rememberMe.data) logger.info('Logged in {user}'.format(user=current_user.username)) return redirect(request.args.get('next') or url_for('index')) return render_template('login.html', form=form)
def validate(self): if not Form.validate(self): return False users = User.selectBy(username = self.user.data) if users.count() > 0 and users.getOne().check_password(self.password.data): return True else: self.user.errors.append("Invalid username or password.") return False
def login(): username = request.POST.get('username', '') if request.method == 'POST' and username: user = User.selectBy(username=username).getOne(None) if user and user.check_password(request.POST.get('password', '')): login_user(user.username) next = request.GET.get('next', None) if next: valid, value = unsign(next) if valid: redirect(value) else: abort(400) else: redirect('/%s' % username) else: return context(error='Invalid username or password') else: return context()
def settings(): user = User.selectBy(username=request.username).getOne(None) if not user: abort(403) errors = { 'password_error': '', 'color_error': '', 'general_error': '', } if request.method == 'POST': print 'settings!' updates = {} old_password = request.POST.get('old_password', '') new_password = request.POST.get('new_password', '') # password if old_password or new_password: if not user.check_password(old_password): errors['password_error'] = 'Incorrect password' else: updates['password'] = hash_password(new_password) # color color = request.POST.get('color', '') if color: try: if len(color) == 6 and (int(color, 16) or color == '000000'): updates['color'] = color.lower() else: errors['color_error'] = 'A 6 digit hex number is required' except ValueError: errors['color_error'] = 'Not a valid hexidecimal number' print updates if updates: user.set(**updates) return context(user=user, **errors)
def bookmarklet(): user = User.selectBy(username=request.username).getOne(None) return context(user=user)