def register(): form = RegisterForm() openid_form = OpenIDForm() if openid_form.validate_on_submit(): return oid.try_login(openid_form.openid.data, ask_for=['nickname', 'email'], ask_for_optional=['fullname']) if form.validate_on_submit(): new_user = User(form.username.data) new_user.set_password(form.password.data) db.session.add(new_user) db.session.commit() flash("Your user has been created, please login.", category="success") return redirect(url_for('.login')) openid_errors = oid.fetch_error() if openid_errors: flash(openid_errors, category="danger") return render_template('register.html', form=form, openid_form=openid_form)
def put(self, post_id=None): if not post_id: abort(400) post = Post.query.get(post_id) if not post: abort(404) args = post_put_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) if user != post.user: abort(403) if args['title']: post.title = args['title'] if args['text']: post.text = args['text'] if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(title=item).first() # Add the tag if it exists. If not, make a new tag if tag: post.tags.append(tag) else: new_tag = Tag(item) post.tags.append(new_tag) db.session.add(post) db.session.commit() return post.id, 201
def post(self, post_id=None): if post_id: abort(400) else: args = post_post_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post(args['title']) new_post.user = user new_post.date = datetime.datetime.now() new_post.text = args['text'] if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(title=item).first() # Add the tag if it exists. If not, make a new tag if tag: new_post.tags.append(tag) else: new_tag = Tag(item) new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return new_post.id, 201
def new_post(): form = PostForm() if form.validate_on_submit(): if form.type.data == "blog": new_post = BlogPost() new_post.text = form.text.data elif form.type.data == "image": new_post = ImagePost() new_post.image_url = form.image.data elif form.type.data == "video": new_post = VideoPost() new_post.video_object = form.video.data elif form.type.data == "quote": new_post = QuotePost() new_post.text = form.text.data new_post.author = form.author.data new_post.title = form.title.data new_post.user = User.objects( username=current_user.username ).one() new_post.save() return render_template('new.html', form=form)
def delete(self, post_id=None): if not post_id: abort(400) post = Post.query.get(post_id) if not post: abort(404) args = post_delete_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if user != post.user: abort(401) db.session.delete(post) db.session.commit() return "", 204
def twitter_authorized(resp): if resp is None: return 'Access denied: reason=%s error=%s' % ( request.args['error_reason'], request.args['error_description']) session['twitter_oauth_token'] = resp['oauth_token'] + \ resp['oauth_token_secret'] user = User.query.filter_by(username=resp['screen_name']).first() if not user: user = User(resp['screen_name'], '') db.session.add(user) db.session.commit() login_user(user) flash("You have been logged in.", category="success") return redirect(request.args.get('next') or url_for('blog.home'))
def facebook_authorized(resp): if resp is None: return 'Access denied: reason=%s error=%s' % ( request.args['error_reason'], request.args['error_description']) session['facebook_oauth_token'] = (resp['access_token'], '') me = facebook.get('/me') user = User.query.filter_by(username=me.data['first_name'] + " " + me.data['last_name']).first() if not user: user = User(me.data['first_name'] + " " + me.data['last_name']) db.session.add(user) db.session.commit() login_user(user) flash("You have been logged in.", category="success") return redirect(request.args.get('next') or url_for('blog.home'))