def present_file(request, uuid): file = get_file(uuid) if not request.user.is_authenticated and file.hidden: return redirect('login') context = get_main_context() context['file'] = file return render(request, 'stem/present_file.html', context)
def edit(request, id): post = get_post(id) if request.method == 'POST': form = EditPostForm(request.POST, instance=post) if form.is_valid(): form.save(edit=True) return redirect(reverse('post', args=[id])) else: form = EditPostForm(instance=post) context = get_main_context() context['form'] = form return render(request, 'stem/edit_post.html', context)
def upload_file(request): if request.method == 'POST': form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): file = form.save(commit=False) file.owner = request.user file.save() return redirect(reverse('present_file', args=[file.uuid])) else: form = UploadFileForm() context = get_main_context() context['form'] = form return render(request, 'stem/upload_file.html', context)
def edit_home(request): if request.method == 'POST': form = WebsiteForm(request.POST, request.FILES, instance=Website.get_solo()) if form.is_valid(): form.save() return redirect('index') else: form = WebsiteForm(instance=Website.get_solo()) context = get_main_context() context['form'] = form return render(request, 'stem/edit_home.html', context)
def index(request): context = get_main_context() posts = get_blog_posts( True if request.user.has_perm('stem.change_post') else False) paginator = Paginator(posts, context['website'].page_size) page = request.GET.get('page') try: context['posts'] = paginator.page(page) except PageNotAnInteger: context['posts'] = paginator.page(1) except EmptyPage: context['posts'] = paginator.page(paginator.num_pages) return render(request, 'stem/index.html', context)
def new_post(request): if request.method == 'POST': form = EditPostForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() id = post.pk return redirect(reverse('post', args=[id])) else: form = EditPostForm() context = get_main_context() context['form'] = form return render(request, 'stem/edit_post.html', context)
def post(request, id): post = get_post(id) if not request.user.is_authenticated and post.hidden: return redirect('login') if request.method == 'POST': form = UserCommentForm( request.POST) if request.user.is_authenticated else CommentForm( request.POST) if form.is_valid(): submit_comment( id, request.user if request.user.is_authenticated else None, form.cleaned_data) return redirect('post', id) else: form = UserCommentForm( ) if request.user.is_authenticated else CommentForm() context = get_main_context() context['post'] = post context['form'] = form return render(request, 'stem/post.html', context)