Пример #1
0
def projectchunk_add(request, project_id):

    project = get_object_or_404(Project, pk=project_id)
    
    project_chunk = ProjectChunk()
    project_chunk.project = project

    if request.method == 'POST':
        form = ProjectChunkForm(request.POST, instance=project_chunk)
        if form.is_valid():
            mc = form.cleaned_data['machine_category']
            conflicting = ProjectChunk.objects.filter(
                project=project,machine_category=mc)

            if conflicting.count() >= 1:
                form._errors["machine_category"] = util.ErrorList(["Cap already exists with this machine category"])
            else:
                project_chunk = form.save()
                new_cap = project_chunk.cap
                log(request.user, project, 2, 'Added cap of %s' % (new_cap))
                return HttpResponseRedirect(project.get_absolute_url())
    else:
        form = ProjectChunkForm(instance=project_chunk)

    return render_to_response('pbsmoab/projectchunk_form.html', locals(), context_instance=RequestContext(request))
Пример #2
0
def projectchunk_edit(request, projectchunk_id):

    project_chunk = get_object_or_404(ProjectChunk, pk=projectchunk_id)
    old_cap = project_chunk.cap
    old_mc = project_chunk.machine_category

    if request.method == 'POST':
        form = ProjectChunkForm(request.POST, instance=project_chunk)
        if form.is_valid():
            mc = form.cleaned_data['machine_category']
            if old_mc.pk != mc.pk:
                form._errors["machine_category"] = util.ErrorList(["Please don't change the machine category; it confuses me"])
            else:
                project_chunk = form.save()
                new_cap = project_chunk.cap
                if old_cap != new_cap:
                    log(request.user, project_chunk.project, 2, 'Changed cap from %s to %s' % (old_cap, new_cap))
                return HttpResponseRedirect(project_chunk.project.get_absolute_url())

    else:
        form = ProjectChunkForm(instance=project_chunk)

    return render_to_response('pbsmoab/projectchunk_form.html', locals(), context_instance=RequestContext(request))