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)
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)