def topics(operation=None, topic_id=-1): form = NewTopicForm(request.form) if request.method == 'POST' and form.validate_on_submit(): topic = Topic(name=form.topic.data) db.session.add(topic) db.session.commit() flash('New topic is created') return redirect(url_for('topics')) if operation == 'delete': try: topic = Topic().query.get(topic_id) db.session.delete(topic) db.session.commit() except: flash("Failed to delete topic {}.".format(topic_id)) return redirect(url_for('topics')) if operation == 'update': try: topic = Topic().query.get(topic_id) topic.name = request.values.get("value") db.session.add(topic) db.session.commit() except: return 'Error renaming topic.', 400 else: return 'Topic updted successfuly.', 200 topics = Topic().query.all() return render_template('topics.html', title='Topics', form=form, topics=topics)
def topic_new(request, template_name='private_messages/topic_new.html'): if request.method == 'POST': form = NewTopicForm(data=request.POST) if form.is_valid(): message = form.save(commit=False) topic = Topic(sender=request.user) topic.recipient = form.cleaned_data['recipient'] topic.subject = form.cleaned_data['subject'] topic.last_sent_at = datetime.now() topic.save() message.topic = topic message.sender = request.user message.save() return HttpResponseRedirect(topic.get_absolute_url()) else: initial = {} if request.GET.has_key('recipient'): initial['recipient'] = request.GET['recipient'] form = NewTopicForm(initial=initial) return TemplateResponse(request, template_name, { 'pm_form': form, })
def topic_new(request): if request.method == 'POST': form = NewTopicForm(request.POST) if form.is_valid(): result = form.save() return HttpResponseRedirect('/topic/action/success/') else: form = NewTopicForm() return render_to_response('topic_new.html', {'form':form}, context_instance = RequestContext(request))
def new_topic(request, pk): board = get_object_or_404(Board, pk=pk) user = User.objects.first() if request.method == 'POST': form = NewTopicForm(request.POST) if form.is_valid(): topic = form.save(commit=False) topic.board = board topic.starter = user topic.save() post = Post.objects.create( message=form.cleaned_data['message'], topic=topic, created_by=user, ) return redirect('topic_posts', pk=pk, topic_pk=topic.pk) else: form = NewTopicForm() return render(request, 'board/new_topic.html', { 'board': board, 'form': form })