def submit(request, metatype): if request.method == 'POST' and request.POST and request.user.is_authenticated: submitted_form = post_form(request.POST) if submitted_form.is_valid(): instance = submitted_form.save(commit=False) instance.author = request.user.username instance.metatype = metatype instance.save() instance.ups.add(request.user) print("CHANEEELLLSSS\n\n") print(request.POST) print("\n\n") if request.POST['channels']: selected_channels = request.POST['channels'] channel_list = selected_channels.split(",") channel_list = [x for x in channel_list if x != ''] for channel in channel_list: this_channel = Channel.objects.get(id=channel) instance.channels.add(this_channel) print(instance.get_absolute_url()) return HttpResponseRedirect(instance.get_absolute_url()) else: return render( request, "new.html", { "username": request.user.username, "tags": Channel.objects.all(), "form": submitted_form, "errors": submitted_form.errors }) else: return HttpResponseRedirect(reverse('home'))
def random(request): if request.user.is_superuser: metatype = "question" unsubmitted_form = post_form() return render( request, 'random_user_new.html', { 'metatype': metatype, 'channels': Channel.objects.all(), 'form': unsubmitted_form }) else: return HttpResponseRedirect(reverse('home'))
def discuss(request): if request.user.is_authenticated: metatype = "discussion" unsubmitted_form = post_form() return render( request, 'new.html', { 'metatype': metatype, 'channels': Channel.objects.all(), 'form': unsubmitted_form }) else: return HttpResponseRedirect(reverse('home'))
def random_submit(request): if request.method == 'POST' and request.POST and request.user.is_superuser: submitted_form = post_form(request.POST) if submitted_form.is_valid(): username = request.POST["username"] bio = request.POST["bio"] email = username + "@testing.com" chars = [chr(i) for i in range(65, 123)] pwd = [chars[randint(0, len(chars) - 1)] for i in range(0, 10)] pwdstring = ''.join(pwd) new_user = User.objects.create_user(username=username, email=email, password=pwdstring) new_profile = student(bio=bio) new_profile.user = new_user new_profile.save() print("\n\nahhhh") instance = submitted_form.save(commit=False) instance.author = username instance.metatype = "question" instance.save() instance.ups.add(request.user) if request.POST['channels']: selected_channels = request.POST['channels'] channel_list = selected_channels.split(",") channel_list = [x.lower() for x in channel_list if x != ''] for channel in channel_list: this_channel = Channel.objects.get(id=channel) instance.channels.add(this_channel) return HttpResponseRedirect(instance.get_absolute_url()) else: return render( request, "random_user_new.html.html", { "username": request.user.username, "tags": Channel.objects.all(), "form": submitted_form, "errors": submitted_form.errors }) else: return HttpResponseRedirect(reverse('home'))
def thread(request, thread_id, slug="", answer_id=""): try: thread_id = int(thread_id) except ValueError: raise Http404() post_requested = get_object_or_404(Question, pk=thread_id) post_requested = post_requested.parse() unsubmitted_reply = reply_form() Answer._tree_manager.rebuild() all_replies = Answer.objects.filter(question=post_requested).order_by( 'tree_id', 'lft') all_replies = parse(all_replies) replies_count = all_replies.count() data = {'description': post_requested.description} edit_form = post_form(data) return render( request, 'thread.html', { 'post': post_requested, 'form': unsubmitted_reply, 'nodes': all_replies, 'replies': replies_count, 'edit_form': edit_form })