diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 193bb079191..c089f54939c 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -1,14 +1,16 @@ # -*- coding: utf-8 -*- +import random +import uuid +import urllib +import simplejson + +import werkzeug.exceptions from openerp import SUPERUSER_ID from openerp.osv import osv from openerp.addons.web import http from openerp.addons.web.http import request from openerp.addons.website.models import website -import random -import uuid -import urllib -import simplejson def get_order(order_id=None): order_obj = request.registry.get('sale.order') @@ -358,9 +360,16 @@ class Ecommerce(http.Controller): @website.route(['/shop/add_product/', '/shop/category//add_product/'], type='http', auth="public", multilang=True) def add_product(self, cat_id=0, **post): - product_id = request.registry.get('product.product').create(request.cr, request.uid, - {'name': 'New Product', 'public_categ_id': cat_id}, request.context) - return request.redirect("/shop/product/%s/?enable_editor=1" % product_id) + if request.httprequest.method != 'POST': + return werkzeug.exceptions.MethodNotAllowed(valid_methods=['POST']) + + Product = request.registry.get('product.product') + product_id = Product.create(request.cr, request.uid, { + 'name': 'New Product', 'public_categ_id': cat_id + }, context=request.context) + product = Product.browse(request.cr, request.uid, product_id, context=request.context) + + return request.redirect("/shop/product/%s/?enable_editor=1" % product.product_tmpl_id.id) def get_pricelist(self): if not request.httprequest.session.get('ecommerce_pricelist'): diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml index 3f0435e2b32..4e3c01fb44b 100644 --- a/addons/website_sale/views/website_sale.xml +++ b/addons/website_sale/views/website_sale.xml @@ -78,7 +78,10 @@
@@ -250,7 +253,7 @@
- +