示例#1
0
def get_property(request, property_name):
    if request.method == 'PUT':
        model = simplejson.loads(request.data)
        pr_obj = ProductProperty.get_by_id(property_name)
        if not pr_obj:
            return render_json_response({
                'api_success': False,
                'api_msg': "Property %s not found." % property_name
            })
        pr_obj.title = model['title']
        pr_obj.units = model['units']
        pr_obj.put()
        return render_json_response({
            'api_success': True,
            'api_msg': 'Property %s updated' % model['id']
        })

    if request.method == 'DELETE':
        pr_obj = ProductProperty.get_by_id(property_name)
        if not pr_obj:
            return render_json_response({
                'api_success': False,
                'api_msg': "Property %s not found." % property_name
            })
        pr_obj.key.delete()
        return render_json_response({
            'api_success': True,
            'api_msg': "Property %s deleted" % property_name
        })
示例#2
0
def create_property(request):
    if request.method == 'POST':
        model = simplejson.loads(request.data)
        property_obj = ProductProperty(
            title = model['title'],
            units = model['units']
        )
        property_obj.put()
        data = {'api_success': True, 'api_msg': "Property creating"}
        data.update(property_obj.to_json())
        return render_json_response(data)
示例#3
0
def create_value(request, property_key):
    if request.method == 'POST':
        model = simplejson.loads(request.data)
        property_obj = ProductProperty.get_by_id(property_key)
        value = ProductPropertyValue(title=model['title'],
            property=property_obj.key)
        value.put()
        return render_json_response(value.to_json())
示例#4
0
def create(data, is_unique_title=False):
    title = data.get('title', '')
    if not title:
        res = {'api_success':False,
             'api_msg':'"Field title" is required',
             'api_function':create.__name__}
        logging.warning(res)
        return render_json_response(res)
    if is_unique_title and is_property_exist(title):
        res = {'api_success':False,
             'api_msg':'Field "title" must be unique',
             'api_function':create.__name__}
        logging.warning(res)
        return render_json_response(res)

    units = data.get('units', '')
    property = ProductProperty(title=title,
            units=units)
    property.put()
    res = {'api_success': True,
                'api_msg': 'Property "%s" created' % title,
                'property': property.to_json()}
    logging.info(res)
    return render_json_response(res)
示例#5
0
def product(request):
    all_product = Product.available_list()
    all_hide_product = Product.not_available_list()

    available_product_without_properties_count = 0
    for pr in all_product:
        if  not len(pr.properties_):
            available_product_without_properties_count += 1


    unavailable_product_without_properties_count = 0
    for pr in all_hide_product:
        if not len(pr.properties_):
            unavailable_product_without_properties_count += 1

    brand_all_available_product = Product.available_list().filter(Product.brand != None)
    logging.warning(brand_all_available_product.count())
    brand_all_not_available_product = Product.not_available_list().filter(Product.brand != None)

    no_brand_all_available_product_count = Product.available_list().filter(Product.brand == None).count()
    no_brand_all_not_available_product_count = Product.not_available_list().filter(Product.brand == None).count()

    available_brand = {}
    for product_ in brand_all_available_product:
        if not product_.brand in available_brand:
            count = Product.available_list().filter(Product.brand == product_.brand).count()
            available_brand[product_.brand] = count

    not_available_brand = {}
    for product_ in brand_all_not_available_product:
        if not product_.brand in not_available_brand:
            count = Product.not_available_list().filter(Product.brand == product_.brand).count()
            not_available_brand[product_.brand] = count

    categories = Category.query(Category.parent_category == None).order(Category.title)
    properties = ProductProperty.query().order(ProductProperty.title)
    brands = Brand.query().order(Brand.title)

    available_uncategories = all_product
    available_uncategories = available_uncategories.filter(Product.category == None)
    unavailable_uncategories = all_hide_product
    unavailable_uncategories = unavailable_uncategories.filter(Product.category == None)
    return render_to_response('shop/admin/product.html',
        locals()
    )
示例#6
0
文件: value.py 项目: gmist/1businka
def create(data, is_unique_title=False):
    title = data.get('title', '')
    if not title:
        res = {'api_success':False,
             'api_msg':'"Field title" is required',
             'api_function':create.__name__}
        logging.warning(res)
        return render_json_response(res)
    property = ProductProperty.get_by_id(data.get('property', ''))
    if is_unique_title and is_value_exist(title, property.key):
        res = {'api_success':False,
             'api_msg':'Field "title" must be unique',
             'api_function':create.__name__}
        logging.warning(res)
        return render_json_response(res)

    value = ProductPropertyValue(title=title, property=property.key)
    value.put()
    res = {'api_success': True,
                'api_msg': 'Value "%s" created' % title,
                'property': value.to_json()}
    logging.info(res)
    return render_json_response(res)
示例#7
0
def get_values(request, property_key):
    property_obj = ProductProperty.get_by_id(property_key)
    values = ProductPropertyValue.query( ProductPropertyValue.property == property_obj.key )
    values = [value.to_json() for value in values]
    return render_json_response(values)
示例#8
0
def product_property_add_val(request, prop_key):
    prop_obj = ProductProperty.get_by_id(prop_key)
    return render_to_response(
            'shop/admin/property_value.html',
            {'property':prop_obj})
示例#9
0
def get_properties(request):
    properties = ProductProperty.query()
    prs = [prop.to_json() for prop in properties]
    return render_json_response(prs)
示例#10
0
文件: views.py 项目: gmist/1businka
def values_json(request, property_id):
    property_obj = ProductProperty.get_by_id(property_id)
    values = [value.to_json() for value in property_obj.values.order(ProductPropertyValue.title)]
    return render_json_response(values)
示例#11
0
文件: views.py 项目: gmist/1businka
def properties_json(request):
    properties = [prop.to_json() for prop in ProductProperty.query().order(ProductProperty.title)]
    return render_json_response(properties)
示例#12
0
def is_property_exist(title):
    property = ProductProperty.query().filter(ProductProperty.title == title)
    if property.count():
        return True
    return False