예제 #1
0
def box_edit(request, label):
    box, _ = Box.objects.get_or_create(label=label, defaults={
        "created_by": request.user,
        "last_updated_by": request.user
    })
    form = BoxForm(request.POST, instance=box, prefix=label)
    
    if not form.is_valid():
        return HttpResponseBadRequest()  # not sure how this will ever happen
    
    box = form.save(commit=False)
    box.last_updated_by = request.user
    box.last_updated = timezone.now()
    box.save()
    
    if not request.is_ajax():
        return redirect(
            request.POST.get("next", request.GET.get("next", request.path))
        )
    
    data = {
        "html": render_to_string("boxes/_box_body.html", {
            "label": label,
            "form": BoxForm(instance=box, prefix=label),
            "box": box,
            "form_action": reverse("box_edit", args=[label]),
            "saved": True
        }, context_instance=RequestContext(request))
    }
    return HttpResponse(json.dumps(data), mimetype="application/json")
예제 #2
0
파일: views.py 프로젝트: wenlien/PyConTW
def box_edit(request, pk):
    box = get_object_or_404(Box, pk=pk)

    form = BoxForm(request.POST or None, instance=box)
    if form.is_valid():
        form.save()
        return render(request, "boxes/refresh.html")

    return render(request, "boxes/box_edit.html", {'form': form, 'box': box})
예제 #3
0
파일: views.py 프로젝트: MarkTseng/PyConTW
def box_edit(request, pk):
    box = get_object_or_404(Box, pk=pk)

    form = BoxForm(request.POST or None, instance=box)
    if form.is_valid():
        form.save()
        return render(request, "boxes/refresh.html")

    return render(request, "boxes/box_edit.html", {'form': form, 'box': box})
예제 #4
0
파일: views.py 프로젝트: MarkTseng/PyConTW
def box_create(request, label):

    form = BoxForm(request.POST or None)
    if form.is_valid():
        box = form.save(commit=False)
        box.label = label
        box.created_by = request.user
        box.language_code = request.LANGUAGE_CODE
        box.last_updated_by = request.user
        box.save()

        return render(request, "boxes/refresh.html")

    return render(request, "boxes/box_create.html", {'form': form, 'label': label})
예제 #5
0
def box(context, label, show_edit=True, *args, **kwargs):

    request = context["request"]
    can_edit = request.user.has_perm("boxes.change_box")

    try:
        box = Box.objects.get(label=label)
    except Box.DoesNotExist:
        box = None

    if can_edit and show_edit:
        form = BoxForm(instance=box, prefix=label)
        form_action = reverse("box_edit", args=[label])
    else:
        form = None
        form_action = None

    context.update({
        "label": label,
        "box": box,
        "form": form,
        "form_action": form_action,
    })
    context.update(kwargs)
    return context
예제 #6
0
파일: views.py 프로젝트: wenlien/PyConTW
def box_create(request, label):

    form = BoxForm(request.POST or None)
    if form.is_valid():
        box = form.save(commit=False)
        box.label = label
        box.created_by = request.user
        box.language_code = request.LANGUAGE_CODE
        box.last_updated_by = request.user
        box.save()

        return render(request, "boxes/refresh.html")

    return render(request, "boxes/box_create.html", {
        'form': form,
        'label': label
    })
예제 #7
0
def create_or_update_box(request):
    if request.user.is_authenticated:
        context = {}
        customer = request.user.customer.user
        box, create = Box.objects.update_or_create(customer=customer,
                                                   complete_value=False)
        form = BoxForm(request.POST or None, instance=box)
        if form.is_valid():
            form.save()
            box.save()
            return redirect('recipes')
        order, create = Order.objects.get_or_create(customer=customer,
                                                    complete=False)
        cart_items = order.get_total_items
        context['form'] = form
        context['cart_items'] = cart_items
        return render(request, 'create_box.html', context)
    return render(request, 'unauthenticated.html')
예제 #8
0
파일: views.py 프로젝트: CarlFK/pycon
def box_edit(request, pk):
    box = get_object_or_404(Box, pk=pk)
    if request.method == "POST":
        #if not load_can_edit()(request, **get_auth_vars(request)):
        #    return HttpResponseForbidden()
        
        form = BoxForm(request.POST, instance=box)
        if form.is_valid():
            form.save()
            return render_to_response("boxes/refresh.html", {})
    else:
        form = BoxForm(instance=box)
    ctx = {
        "form": form,
        "box": box,
    }
    ctx = RequestContext(request, ctx)
    return render_to_response("boxes/box_edit.html", ctx)
예제 #9
0
파일: views.py 프로젝트: CarlFK/pycon
def box_create(request, label):
    if request.method == "POST":
        #if not load_can_edit()(request, **get_auth_vars(request)):
        #    return HttpResponseForbidden()
        
        form = BoxForm(request.POST)
        if form.is_valid():
            box = form.save(commit=False)
            box.label = label
            box.created_by = request.user
            box.last_updated_by = request.user
            box.save()
            return render_to_response("boxes/refresh.html", {})
    else:
        form = BoxForm()
    ctx = {
        "form": form,
        "label": label
    }
    ctx = RequestContext(request, ctx)
    return render_to_response("boxes/box_create.html", ctx)
예제 #10
0
파일: views.py 프로젝트: sirpengi/pycon
def box_edit(request, pk):
    box = get_object_or_404(Box, pk=pk)
    if request.method == "POST":
        #if not load_can_edit()(request, **get_auth_vars(request)):
        #    return HttpResponseForbidden()

        form = BoxForm(request.POST, instance=box)
        if form.is_valid():
            form.save()
            return render_to_response("boxes/refresh.html", {})
    else:
        form = BoxForm(instance=box)
    ctx = {
        "form": form,
        "box": box,
    }
    ctx = RequestContext(request, ctx)
    return render_to_response("boxes/box_edit.html", ctx)
예제 #11
0
파일: views.py 프로젝트: sirpengi/pycon
def box_create(request, label):
    if request.method == "POST":
        #if not load_can_edit()(request, **get_auth_vars(request)):
        #    return HttpResponseForbidden()

        form = BoxForm(request.POST)
        if form.is_valid():
            box = form.save(commit=False)
            box.label = label
            box.created_by = request.user
            box.last_updated_by = request.user
            box.save()
            return render_to_response("boxes/refresh.html", {})
    else:
        form = BoxForm()
    ctx = {"form": form, "label": label}
    ctx = RequestContext(request, ctx)
    return render_to_response("boxes/box_create.html", ctx)