コード例 #1
0
ファイル: views.py プロジェクト: kpx13/libfic
def add_part_page(request, id):
    c = get_common_context(request)
    c['title'] = u'Добавить часть к фанфику'
    work = Work.get_by_id(id)
    if not ((work.author == request.user) or (work.is_collaborator(request.user))):
        return HttpResponseRedirect('/funfic/%s/' % id)
    c['parts'] = work.get_content()
    if request.method=='POST':
        form = AddPartForm(request.POST)
        if form.is_valid():
            ff = form.save(commit=False)
            ff.work = work
            ff.number = int(request.POST['number']) + 1
            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/' % (id, ff.id))
        else:
            messages.error(request, u'Часть не добавлен. Исправьте ошибки ниже.')
    else:
        form = AddPartForm()
    c['form'] = form
    c['is_adding'] = True
    return render_to_response('cabinet/add_part.html', c, context_instance=RequestContext(request))
コード例 #2
0
ファイル: views.py プロジェクト: kpx13/libfic
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))