Ejemplo n.º 1
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":
                SEOView(Category).render(request, category),
                "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
                  },
            }))
Ejemplo n.º 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)
Ejemplo n.º 3
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 = json.dumps({
        "message": message,
        "html": html,
    }, cls=LazyEncoder)

    return HttpResponse(result, content_type='application/json')
Ejemplo n.º 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():
        obj = form.save()
        group, created = PropertyGroup.objects.get_or_create(name=category.name)

        if not created:
            last_group = Property.objects.filter(groups=group)

            #GroupsPropertiesRelation.objects.filter(group_id=group.id)
            new_group = obj.properties.all()
            interception = set(last_group) & set(new_group)

            delete = list(set(last_group) - interception)
            create = list(set(new_group) - interception)
            GroupsPropertiesRelation.objects.filter(property__in=delete).delete()

            for property in create:
                GroupsPropertiesRelation.objects.create(
                    group_id=group.id,
                    property_id=property.id,
                )   
            # Case where the property group doesn't exist and
            # should be created.
        else:
            properties = obj.properties.all()
            group.categories.add(category)

            for property in properties:
                GroupsPropertiesRelation.objects.create(
                    group_id=group.id,
                    property_id=property.id
                )

        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)
Ejemplo n.º 5
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(request, template_name, {
        "categories_portlet": manage_categories_portlet(request, category_id),
        "category": category,
        "data": category_data(request, category_id),
        "seo": SEOView(Category).render(request, category),
        "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},
    })