Ejemplo n.º 1
0
def funfic_part_page(request, funfic_id, part_id):
    c = get_common_context(request)
    c['f'] = Work.get_by_id(funfic_id)
    c['f'].inc_vizits()
    if request.method == 'POST':
        comment = request.POST.get('comment', None)
        if comment:
            if request.user.is_authenticated():
                Comment(user=request.user,
                        work_part=WorkPart.get_by_id(part_id),
                        text=comment).save()
                messages.success(request, u'Ваш комментарий успешно добавлен.')
                return HttpResponseRedirect('/funfic/%s/%s/' % (funfic_id, part_id))
            else:
                messages.error(request, u'Для выполнения этого действия необходимо авторизироваться.')

    c['funart'] = FunArt.get_by_work(c['f'])[:2]
    c['content'] = WorkPart.get_work_content(c['f'])
    c['part'] = WorkPart.get_by_id(part_id)
    c['its_mine'] = (c['f'].author == request.user) or (c['f'].is_collaborator(request.user))
    return render_to_response('funfic_part.html', c, context_instance=RequestContext(request))
Ejemplo n.º 2
0
def edit_part_page(request, funfic_id, part_id):
    c = get_common_context(request)
    c['title'] = u'Редактирование части фанфика'
    work = Work.get_by_id(funfic_id)
    if not ((work.author == request.user) or (work.is_collaborator(request.user))):
        return HttpResponseRedirect('/funfic/%s/' % funfic_id)
    if request.method=='POST':
        form = AddPartForm(request.POST, instance=WorkPart.get_by_id(part_id))
        if form.is_valid():
            ff = form.save(commit=False)
            ff.public_on = request.POST.get('public_on', False)
            ff.save()
            work.last_editing_time = datetime.datetime.now()
            messages.success(request, u'Часть успешно изменена.')
            History.add_record(request.user, ff)
            return HttpResponseRedirect('/cabinet/edit_part/%s/%s/' % (funfic_id, part_id))
        else:
            messages.error(request, u'Часть не добавлен. Исправьте ошибки ниже.')
    else:
        form = AddPartForm(instance=WorkPart.get_by_id(part_id))
    c['form'] = form
    return render_to_response('cabinet/add_part.html', c, context_instance=RequestContext(request))