Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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)
Example #7
0
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)