예제 #1
0
파일: category.py 프로젝트: django-lfs/lfs
def add_category(request, category_id="", template_name="manage/category/add_category.html"):
    """Provides an add form and adds a new category to category with given id.
    """ 
    if category_id == "":
        parent = None
    else:    
        try:
            parent = Category.objects.get(pk=category_id)
        except ObjectDoesNotExist:
            parent = None

    if request.method == "POST":
        form = CategoryForm(data = request.POST, files=request.FILES)
        if form.is_valid():
            new_category = form.save(commit=False)
            new_category.parent = parent
            new_category.position = 999
            if parent:
                new_category.level = parent.level+1
            new_category.save()

            # Update positions
            manage_utils.update_category_positions(parent)
            url = reverse("lfs_manage_category", kwargs={"category_id" : new_category.id})
            return HttpResponseRedirect(url)
    else:
        form = CategoryForm(initial={"parent" : category_id })
            
    return render_to_response(template_name, RequestContext(request, {
        "categories_portlet" : manage_categories_portlet(request, category_id),    
        "category" : parent,
        "form" : form
    }))
예제 #2
0
def edit_category_data(request, category_id, template_name="manage/category/data.html"):
    """Updates the category data.
    """
    category = Category.objects.get(pk=category_id)

    form = CategoryForm(instance=category, data=request.POST, files=request.FILES)
    if form.is_valid():
        form.save()
        message = _(u"Category data have been saved.")
    else:
        message = _(u"Please correct the indicated errors.")

    # Delete image
    if request.POST.get("delete_image"):
        category.image.delete()

    html = [
        ["#data", category_data(request, category.id)],
        ["#categories-portlet", manage_categories_portlet(request, category.id)],
    ]

    result = simplejson.dumps({
        "message": message,
        "html" : html,
    }, cls=LazyEncoder)

    return HttpResponse(result)
예제 #3
0
def manage_category(request,
                    category_id,
                    template_name="manage/category/manage_category.html"):
    """Displays the form to manage the category with given category id.
    """
    category = Category.objects.get(pk=category_id)

    return render_to_response(
        template_name,
        RequestContext(
            request, {
                "categories_portlet":
                manage_categories_portlet(request, category_id),
                "category":
                category,
                "data":
                category_data(request, category_id),
                "seo":
                edit_seo(request, category_id),
                "view":
                category_view(request, category_id),
                "portlets":
                portlets_inline(request, category),
                "dialog_message":
                _("Do you really want to delete the category <b>'%(name)s'</b> and all its sub categories?"
                  % {"name": category.name}),
            }))
예제 #4
0
def edit_category_data(request,
                       category_id,
                       template_name="manage/category/data.html"):
    """Updates the category data.
    """
    category = Category.objects.get(pk=category_id)

    form = CategoryForm(instance=category,
                        data=request.POST,
                        files=request.FILES)
    if form.is_valid():
        form.save()
        message = _(u"Category data have been saved.")
    else:
        message = _(u"Please correct the indicated errors.")

    # Delete image
    if request.POST.get("delete_image"):
        category.image.delete()

    html = [
        ["#data", category_data(request, category.id)],
        [
            "#categories-portlet",
            manage_categories_portlet(request, category.id)
        ],
    ]

    result = simplejson.dumps({
        "message": message,
        "html": html,
    },
                              cls=LazyEncoder)

    return HttpResponse(result)
예제 #5
0
파일: category.py 프로젝트: django-lfs/lfs
def manage_category(request, category_id, template_name="manage/category/manage_category.html"):
    """Displays the form to manage the category with given category id.
    """
    category = Category.objects.get(pk=category_id)

    return render_to_response(template_name, RequestContext(request, {
        "categories_portlet" : manage_categories_portlet(request, category_id),
        "category" : category,
        # "products" : manage_products(request, category.id),
        "data" : category_data(request, category_id),
        "seo" : edit_seo(request, category_id),
        "portlets" : portlets_inline(request, category),
    }))
예제 #6
0
def manage_category(request, category_id, template_name="manage/category/manage_category.html"):
    """Displays the form to manage the category with given category id.
    """
    category = Category.objects.get(pk=category_id)

    return render_to_response(template_name, RequestContext(request, {
        "categories_portlet": manage_categories_portlet(request, category_id),
        "category": category,
        "data": category_data(request, category_id),
        "seo": edit_seo(request, category_id),
        "view": category_view(request, category_id),
        "portlets": portlets_inline(request, category),
        "dialog_message": _("Do you really want to delete the category <b>'%(name)s'</b> and all its sub categories?" % {"name": category.name}),
    }))
예제 #7
0
def add_category(request,
                 category_id="",
                 template_name="manage/category/add_category.html"):
    """Provides an add form and adds a new category to category with given id.
    """
    if category_id == "":
        parent = None
    else:
        try:
            parent = Category.objects.get(pk=category_id)
        except ObjectDoesNotExist:
            parent = None

    if request.method == "POST":
        form = CategoryForm(data=request.POST, files=request.FILES)
        if form.is_valid():
            new_category = form.save(commit=False)
            new_category.parent = parent
            new_category.position = 999
            if parent:
                new_category.level = parent.level + 1
            new_category.save()

            # Update positions
            manage_utils.update_category_positions(parent)
            url = reverse("lfs_manage_category",
                          kwargs={"category_id": new_category.id})
            return HttpResponseRedirect(url)
    else:
        form = CategoryForm(initial={"parent": category_id})

    return render_to_response(
        template_name,
        RequestContext(
            request, {
                "categories_portlet":
                manage_categories_portlet(request, category_id),
                "category":
                parent,
                "form":
                form
            }))
예제 #8
0
def manage_category(request,
                    category_id,
                    template_name="manage/category/manage_category.html"):
    """Displays the form to manage the category with given category id.
    """
    category = Category.objects.get(pk=category_id)

    return render_to_response(
        template_name,
        RequestContext(
            request,
            {
                "categories_portlet":
                manage_categories_portlet(request, category_id),
                "category":
                category,
                # "products" : manage_products(request, category.id),
                "data":
                category_data(request, category_id),
                "seo":
                edit_seo(request, category_id),
                "portlets":
                portlets_inline(request, category),
            }))