def category(key_id, page): view_type = util.param('product_view_type', int) session_view_type = flask.session.get('product_view_type', None) if session_view_type is None or session_view_type not in PRODUCT_VIEW_TYPES.itervalues( ): if view_type in PRODUCT_VIEW_TYPES.itervalues(): flask.session['product_view_type'] = view_type else: flask.session['product_view_type'] = PRODUCT_VIEW_TYPES['tile'] else: if view_type in PRODUCT_VIEW_TYPES.itervalues(): flask.session['product_view_type'] = view_type category_obj = Category.retrieve_by_id(key_id) if not category_obj: return flask.redirect(flask.url_for('pages.index')) products = Product\ .query(Product.category == category_obj.name)\ .order(-Product.leftovers_on_way)\ .order(-Product.leftovers) products = get_paginator(products, page) return flask.render_template('pages/category.html', title=u'{} "{}"'.format( u'Категория', category_obj.name), category=category_obj, products=products, key_id=key_id)
def category(key_id, page): view_type = util.param('product_view_type', int) session_view_type = flask.session.get('product_view_type', None) if session_view_type is None or session_view_type not in PRODUCT_VIEW_TYPES.itervalues(): if view_type in PRODUCT_VIEW_TYPES.itervalues(): flask.session['product_view_type'] = view_type else: flask.session['product_view_type'] = PRODUCT_VIEW_TYPES['tile'] else: if view_type in PRODUCT_VIEW_TYPES.itervalues(): flask.session['product_view_type'] = view_type category_obj = Category.retrieve_by_id(key_id) if not category_obj: return flask.redirect(flask.url_for( 'pages.index' )) products = Product\ .query(Product.category == category_obj.name)\ .order(-Product.leftovers_on_way)\ .order(-Product.leftovers) products = get_paginator(products, page) return flask.render_template( 'pages/category.html', title=u'{} "{}"'.format(u'Категория', category_obj.name), category=category_obj, products=products, key_id=key_id )
def category_json(): key_id = param('id') if not key_id: raise ApiException('Invalid request: category "id" not found.') category = Category.retrieve_by_id(key_id) if not category: raise ApiException( 'Invalid request: Category with "id" == %s not found' % key_id) id_1c = param('id_1c') if id_1c is not None: category._PROPERTIES = category._PROPERTIES.union( ['products_by_id_1c']) return jsonify_model_db(category) return jsonify_model_db(category)
def category_edit(key_id): category = Category.retrieve_by_id(key_id) if not category: return redirect(url_for('admin.product.categories')) form = CategoryForm(obj=category) if request.method == 'POST' and 'delete_category' in request.form: category.key.delete() return redirect(url_for('admin.product.categories')) if form.is_submitted() and form.validate(is_edit=True): form.populate_obj(category) category.put() return redirect(url_for('admin.product.categories')) return render_template('product/admin/category/edit.html', category=category, form=form)
def category_edit(key_id): category = Category.retrieve_by_id(key_id) if not category: return redirect(url_for('admin.product.categories')) form = CategoryForm(obj=category) if request.method == 'POST' and 'delete_category' in request.form: category.key.delete() return redirect(url_for('admin.product.categories')) if form.is_submitted() and form.validate(is_edit=True): form.populate_obj(category) category.put() return redirect(url_for('admin.product.categories')) return render_template( 'product/admin/category/edit.html', category=category, form=form )