Exemplo n.º 1
0
def edit(request, dllname):
    if not request.user.is_authenticated():
        return redirect('dll.view', dllname)
    thefile = get_object_or_404(File, file_name__exact=dllname)
    comments = Comment.objects.order_by('date').filter(dll__exact=thefile)
    hist = FileHistory.objects.filter(dll__exact=thefile)
    history = _organize_history(hist)
    form = FileForm(instance=thefile)
    comment_form = CommentForm()
    if request.method == 'POST':
        if 'update_file' in request.POST:
            form = FileForm(request.POST, instance=thefile)
            if form.is_valid():
                form.instance.modified_by = request.user
                form.save()
                return redirect('dll.edit', thefile.file_name)
        elif 'update_comment' in request.POST:
            comment_form = CommentForm(request.POST)
            if comment_form.is_valid():
                Comment.objects.create(user=request.user,
                                       dll=thefile,
                                       comment=comment_form.cleaned_data['comment'])
                return redirect('dll.edit', thefile.file_name)
    data = {'dllname': dllname, 'form': form, 'comment_form': comment_form,
            'comments': comments, 'history': history}
    return jingo.render(request, 'dll/edit.html', data)
Exemplo n.º 2
0
def create(request):
    """Main view."""
    if request.method == 'POST':
        form = FileForm(request.POST)
        if form.is_valid():
            form.instance.created_by = request.user
            form.instance.modified_by = request.user
            form.save()
            return redirect('dll.edit', form.cleaned_data['file_name'])
    else:
        form = FileForm()
    data = {'form': form}
    return jingo.render(request, 'dll/create.html', data)