def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash('Your post has been created!', 'success') return redirect(url_for('main.home')) return render_template('create_post.html', title='New Post', form=form, legend='New Post')
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash('Запись размещена', 'success') return redirect(url_for('main.hello')) context = {'title': 'Новая запись', 'legend': 'Новая запись'} return render_template('create_post.html', context=context, form=form)
def update_post(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.content = form.content.data db.session.commit() flash('Your post has been updated!', 'success') return redirect(url_for('posts.post', post_id=post.id)) elif request.method == 'GET': form.title.data = post.title form.content.data = post.content return render_template('create_post.html', title='Update Post', form=form, legend='Update Post')
def submit_post(): form = PostForm() if form.validate_on_submit(): new_post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(new_post) db.session.commit() flash('Your blog post has been submitted', 'success') return redirect(url_for('main.home')) return render_template('posts/submit.html', title='Submit a post', legend='Submit a blog post', form=form)
def post_create(request): if not request.user.is_staff or not request.user.is_superuser: print('not is_staff') raise Http404 print(request.POST) form = PostForm(request.POST or None, request.FILES or None) if form.is_valid(): instance = form.save(commit=False) instance.user = request.user instance.save() # message success messages.success(request, "Successfully Created") return HttpResponseRedirect(instance.get_absolute_url()) context = { "form": form, } return render(request, "post_form.html", context)
def update_post(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.content = form.content.data db.session.commit() flash('Запись изменена', 'success') return redirect(url_for('posts.post', post_id=post.id)) elif request.method == 'GET': form.title.data = post.title form.content.data = post.content context = { 'title': 'Редактирование записи', 'legend': 'Редактирование записи' } return render_template('create_post.html', context=context, form=form)
def post_update(request, slug=None): if not request.user.is_staff or not request.user.is_superuser: raise Http404 instance = get_object_or_404(Post, slug=slug) form = PostForm(request.POST or None, request.FILES or None, instance=instance) if form.is_valid(): instance = form.save(commit=False) instance.save() messages.success(request, "<a href='#'>Item</a> Saved", extra_tags='html_safe') return HttpResponseRedirect(instance.get_absolute_url()) context = { "title": instance.title, "instance": instance, "form": form, } return render(request, "post_form.html", context)
def edit_post(post_id): current_post = Post.query.get_or_404(post_id) if current_post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): current_post.title = form.title.data current_post.content = form.content.data db.session.commit() flash('Your post have been updated.', 'success') return redirect(url_for('posts.post', post_id=current_post.id)) elif request.method == 'GET': form.title.data = current_post.title form.content.data = current_post.content return render_template('posts/submit.html', title='Edit post', legend='Edit your blog post', form=form)
def new_post(): """ Write a new post with type publications : 1.public 2.subsets 3.uplines 4.directs 5.upline :return: Data from new post page. """ form = PostForm() if request.method == 'POST': subject = form.subject.data content = form.content.data type_publication = form.type_publication.data user_data = User.find_by_email(current_user.email) if type_publication == 'public': Post(user_data["email"], subject, content, type_publication=type_publication).insert( _type=type_publication) elif type_publication == 'uplines': uplines = current_user.find_uplines(current_user._id) if uplines: post = Post(user_data["email"], subject, content, type_publication=type_publication) post.insert(type_publication) for up in uplines: Post.connect(up.email, post._id, type_publication) else: flash("You have not any uplines.") return redirect(url_for('posts.new_post')) elif type_publication == 'subsets': subsets = User.find_sub(current_user._id) if subsets: post = Post(user_data["email"], subject, content, type_publication=type_publication) post.insert(type_publication) for sub in subsets: Post.connect(sub.email, post._id, type_publication) else: flash("You have not any subsets.") return redirect(url_for('posts.new_post')) elif type_publication == 'directs': directs = User.find_directs(current_user.email) if directs: post = Post(user_data["email"], subject, content, type_publication=type_publication) post.insert(type_publication) for direct in directs: Post.connect(direct.email, post._id, type_publication) else: flash("You have not any directs.") return redirect(url_for('posts.new_post')) elif type_publication == 'upline': upline = User.find_one(current_user.upline_phone_number) if upline: post = Post(user_data["email"], subject, content, type_publication=type_publication) post.insert(type_publication) Post.connect(upline["email"], post._id, type_publication) else: flash("You have not any upline.") return redirect(url_for('posts.new_post')) return redirect(url_for('posts.view_sent_posts')) return render_template("post/new_post.html", form=form)