[ADD] Added website osv object + refactoring
bzr revid: fme@openerp.com-20130805161600-abms35e0vk47f3i1
This commit is contained in:
parent
81d707978e
commit
af08367290
|
@ -17,30 +17,6 @@ import werkzeug.wrappers
|
|||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def template_values():
|
||||
script = "\n".join(['<script type="text/javascript" src="%s"></script>' % i for i in manifest_list('js', db=request.db)])
|
||||
css = "\n".join('<link rel="stylesheet" href="%s">' % i for i in manifest_list('css', db=request.db))
|
||||
try:
|
||||
request.session.check_security()
|
||||
loggued = True
|
||||
uid = request.session._uid
|
||||
except http.SessionExpiredException:
|
||||
loggued = False
|
||||
uid = openerp.SUPERUSER_ID
|
||||
|
||||
values = {
|
||||
'loggued': loggued,
|
||||
'editable': loggued,
|
||||
'request': request,
|
||||
'registry': request.registry,
|
||||
'cr': request.cr,
|
||||
'uid': uid,
|
||||
'script': script,
|
||||
'css': css,
|
||||
'host_url': request.httprequest.host_url,
|
||||
}
|
||||
return values
|
||||
|
||||
class Website(openerp.addons.web.controllers.main.Home):
|
||||
@http.route('/', type='http', auth="admin")
|
||||
def index(self, **kw):
|
||||
|
@ -52,13 +28,11 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
|
||||
@http.route('/pagenew/<path:path>', type='http', auth="admin")
|
||||
def pagenew(self, path):
|
||||
values = template_values()
|
||||
uid = values['uid']
|
||||
imd = request.registry['ir.model.data']
|
||||
view = request.registry['ir.ui.view']
|
||||
view_model, view_id = imd.get_object_reference(request.cr, uid, 'website', 'default_page')
|
||||
newview_id = view.copy(request.cr, uid, view_id)
|
||||
newview = view.browse(request.cr, uid, newview_id, context={})
|
||||
view_model, view_id = imd.get_object_reference(request.cr, request.uid, 'website', 'default_page')
|
||||
newview_id = view.copy(request.cr, request.uid, view_id)
|
||||
newview = view.browse(request.cr, request.uid, newview_id, context={})
|
||||
newview.write({
|
||||
'arch': newview.arch.replace("website.default_page", path),
|
||||
'name': "page/%s" % path
|
||||
|
@ -68,7 +42,7 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
else:
|
||||
module = False
|
||||
idname = path
|
||||
imd.create(request.cr, uid, {
|
||||
imd.create(request.cr, request.uid, {
|
||||
'name': idname,
|
||||
'module': module,
|
||||
'model': 'ir.ui.view',
|
||||
|
@ -79,29 +53,14 @@ class Website(openerp.addons.web.controllers.main.Home):
|
|||
|
||||
@http.route('/page/<path:path>', type='http', auth="admin")
|
||||
def page(self, path):
|
||||
#def get_html_head():
|
||||
# head += ['<link rel="stylesheet" href="%s">' % i for i in manifest_list('css', db=request.db)]
|
||||
#modules = request.registry.get("ir.module.module").search_read(request.cr, openerp.SUPERUSER_ID, fields=['id', 'shortdesc', 'summary', 'icon_image'], limit=50)
|
||||
values = template_values()
|
||||
uid = values['uid']
|
||||
context = {
|
||||
'inherit_branding': values['editable'],
|
||||
}
|
||||
company = request.registry['res.company'].browse(request.cr, uid, 1, context=context)
|
||||
values.update(
|
||||
res_company=company,
|
||||
path=path,
|
||||
google_map_url="http://maps.googleapis.com/maps/api/staticmap?" + urllib.urlencode({
|
||||
'center': '%s, %s %s, %s' % (company.street, company.city, company.zip, company.country_id and company.country_id.name_get()[0][1] or ''),
|
||||
'sensor': 'false',
|
||||
'zoom': '8',
|
||||
'size': '298x298',
|
||||
}),
|
||||
)
|
||||
website = request.registry.get("website")
|
||||
values = website.get_rendering_context({
|
||||
'path': path
|
||||
})
|
||||
try:
|
||||
html = request.registry.get("ir.ui.view").render(request.cr, uid, path, values, context)
|
||||
except ValueError, e:
|
||||
html = request.registry.get("ir.ui.view").render(request.cr, uid, 'website.404', values, context)
|
||||
html = website.render(path, values)
|
||||
except ValueError:
|
||||
html = website.render('website.404', values)
|
||||
return html
|
||||
|
||||
@http.route('/website/attach', type='http', auth='admin') # FIXME: auth
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import openerp
|
||||
from openerp.osv import osv
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.controllers import main
|
||||
from openerp.addons.web.http import request
|
||||
|
@ -18,22 +19,36 @@ def auth_method_public():
|
|||
http.auth_methods['public'] = auth_method_public
|
||||
|
||||
|
||||
class website(object):
|
||||
def render(self, template, add_values={}):
|
||||
class website(osv.osv):
|
||||
_name = "website" # Avoid website.website convention for conciseness (for new api). Got a special authorization from xmo and rco
|
||||
_description = "Website"
|
||||
|
||||
def get_rendering_context(self, additional_values=None):
|
||||
debug = 'debug' in request.params
|
||||
script = "\n".join(['<script type="text/javascript" src="%s"></script>' % i for i in main.manifest_list('js', db=request.db, debug=debug)])
|
||||
css = "\n".join('<link rel="stylesheet" href="%s">' % i for i in main.manifest_list('css', db=request.db, debug=debug))
|
||||
_values = {
|
||||
'editable': request.uid != request.public_uid,
|
||||
editable = False
|
||||
if request.uid or (request.public_uid and request.uid != request.public_uid):
|
||||
editable = True
|
||||
values = {
|
||||
'debug': debug,
|
||||
'editable': editable,
|
||||
'request': request,
|
||||
'registry': request.registry,
|
||||
'cr': request.cr,
|
||||
'uid': request.uid,
|
||||
'script': script,
|
||||
'css': css,
|
||||
'host_url': request.httprequest.host_url,
|
||||
'res_company': request.registry['res.company'].browse(request.cr, openerp.SUPERUSER_ID, 1),
|
||||
}
|
||||
_values.update(add_values)
|
||||
return request.registry.get("ir.ui.view").render(request.cr, request.uid, template, _values)
|
||||
website = website()
|
||||
if editable:
|
||||
values.update({
|
||||
'script': "\n".join(['<script type="text/javascript" src="%s"></script>' % i for i in main.manifest_list('js', db=request.db, debug=debug)]),
|
||||
'css': "\n".join('<link rel="stylesheet" href="%s">' % i for i in main.manifest_list('css', db=request.db, debug=debug))
|
||||
})
|
||||
if additional_values:
|
||||
values.update(additional_values)
|
||||
return values
|
||||
|
||||
def render(self, template, values={}):
|
||||
# context = {
|
||||
# 'inherit_branding': values['editable'],
|
||||
# }
|
||||
return request.registry.get("ir.ui.view").render(request.cr, request.uid, template, values)
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import openerp
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website.controllers.main import template_values
|
||||
|
||||
from urllib import quote_plus
|
||||
|
||||
|
@ -11,16 +9,14 @@ class contactus(http.Controller):
|
|||
|
||||
@http.route(['/crm/contactus'], type='http', auth="admin")
|
||||
def contactus(self, *arg, **post):
|
||||
website = request.registry['website']
|
||||
post['user_id'] = False
|
||||
request.registry['crm.lead'].create(request.cr, request.uid, post)
|
||||
values = template_values()
|
||||
company = request.registry['res.company'].browse(request.cr, request.uid, 1)
|
||||
values = website.get_rendering_context()
|
||||
company = values['res_company']
|
||||
values.update({
|
||||
'res_company': company,
|
||||
'google_map_url': "http://maps.googleapis.com/maps/api/staticmap?center=%s&sensor=false&zoom=8&size=298x298" % quote_plus('%s, %s %s, %s' % (company.street, company.city, company.zip, company.country_id and company.country_id.name_get()[0][1] or ''))
|
||||
})
|
||||
html = request.registry.get("ir.ui.view").render(request.cr, request.uid, "website_crm.thanks", values)
|
||||
return html
|
||||
|
||||
return website.render("website_crm.thanks", values)
|
||||
|
||||
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website import website
|
||||
from openerp.tools.translate import _
|
||||
|
||||
from datetime import datetime
|
||||
|
@ -13,10 +11,11 @@ import urllib
|
|||
import werkzeug
|
||||
|
||||
|
||||
class website_hr(http.Controller):
|
||||
class website_event(http.Controller):
|
||||
|
||||
@http.route(['/event'], type='http', auth="public")
|
||||
def events(self, **searches):
|
||||
website = request.registry['website']
|
||||
event_obj = request.registry['event.event']
|
||||
|
||||
searches.setdefault('date', 'all')
|
||||
|
@ -83,27 +82,26 @@ class website_hr(http.Controller):
|
|||
|
||||
|
||||
obj_ids = event_obj.search(request.cr, request.uid, dom_without("none"), order="date_begin DESC")
|
||||
values = {
|
||||
values = website.get_rendering_context({
|
||||
'event_ids': event_obj.browse(request.cr, request.uid, obj_ids),
|
||||
'dates': dates,
|
||||
'types': types,
|
||||
'countries': countries,
|
||||
'searches': searches,
|
||||
'search_path': "?%s" % urllib.urlencode(searches),
|
||||
}
|
||||
})
|
||||
|
||||
html = website.render("website_event.index", values)
|
||||
return html
|
||||
return website.render("website_event.index", values)
|
||||
|
||||
@http.route(['/event/<int:event_id>'], type='http', auth="public")
|
||||
def event(self, event_id=None, **post):
|
||||
website = request.registry['website']
|
||||
event = request.registry['event.event'].browse(request.cr, request.uid, event_id)
|
||||
values = {
|
||||
values = website.get_rendering_context({
|
||||
'event_id': event,
|
||||
'google_map_url': "http://maps.googleapis.com/maps/api/staticmap?center=%s&sensor=false&zoom=12&size=298x298" % urllib.quote_plus('%s, %s %s, %s' % (event.street, event.city, event.zip, event.country_id and event.country_id.name_get()[0][1] or ''))
|
||||
}
|
||||
html = website.render("website_event.detail", values)
|
||||
return html
|
||||
})
|
||||
return website.render("website_event.detail", values)
|
||||
|
||||
@http.route(['/event/<int:event_id>/add_cart'], type='http', auth="public")
|
||||
def add_cart(self, event_id=None, **post):
|
||||
|
|
|
@ -2,21 +2,18 @@
|
|||
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website import website
|
||||
|
||||
class website_hr(http.Controller):
|
||||
|
||||
@http.route(['/hr'], type='http', auth="public")
|
||||
def blog(self, **post):
|
||||
website = request.registry['website']
|
||||
hr_obj = request.registry['hr.employee']
|
||||
|
||||
employee_ids = hr_obj.search(request.cr, request.uid, [(1, "=", 1)])
|
||||
values = {
|
||||
'employee_ids': hr_obj.browse(request.cr, request.uid, employee_ids),
|
||||
}
|
||||
|
||||
html = website.render("website_hr.index", values)
|
||||
return html
|
||||
values = website.get_rendering_context({
|
||||
'employee_ids': hr_obj.browse(request.cr, request.uid, employee_ids)
|
||||
})
|
||||
return website.render("website_hr.index", values)
|
||||
|
||||
@http.route(['/hr/publish'], type='http', auth="public")
|
||||
def publish(self, **post):
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website import website
|
||||
import werkzeug
|
||||
from openerp.tools.translate import _
|
||||
from openerp.tools.safe_eval import safe_eval
|
||||
|
@ -15,17 +14,18 @@ class website_mail(http.Controller):
|
|||
|
||||
@http.route(['/blog', '/blog/<int:mail_group_id>', '/blog/<int:mail_group_id>/<int:blog_id>'], type='http', auth="public")
|
||||
def blog(self, mail_group_id=None, blog_id=None, **post):
|
||||
website = request.registry['website']
|
||||
group_obj = request.registry['mail.group']
|
||||
message_obj = request.registry['mail.message']
|
||||
|
||||
values = {
|
||||
values = website.get_rendering_context({
|
||||
'blog_ids': None,
|
||||
'blog_id': None,
|
||||
'nav_list': dict(),
|
||||
'prev_date': None,
|
||||
'next_date': None,
|
||||
'mail_group_id': mail_group_id,
|
||||
}
|
||||
})
|
||||
domain = mail_group_id and [("res_id", "=", mail_group_id)] or []
|
||||
|
||||
for group in message_obj.read_group(request.cr, request.uid, domain + group_obj.get_public_blog(request.cr, request.uid), ['subject', 'date'], groupby="date", orderby="create_date asc"):
|
||||
|
@ -50,8 +50,7 @@ class website_mail(http.Controller):
|
|||
if blog_id:
|
||||
values['blog_id'] = message_obj.browse(request.cr, request.uid, blog_id)
|
||||
|
||||
html = website.render("website_mail.index", values)
|
||||
return html
|
||||
return website.render("website_mail.index", values)
|
||||
|
||||
@http.route(['/blog/nav'], type='http', auth="public")
|
||||
def nav(self, **post):
|
||||
|
|
|
@ -2,54 +2,57 @@
|
|||
|
||||
import openerp
|
||||
import simplejson
|
||||
from openerp.osv import osv
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.website import website
|
||||
from openerp.addons.web.http import request
|
||||
|
||||
def get_order(order_id=None):
|
||||
order_obj = request.registry.get('sale.order')
|
||||
# check if order allready exists
|
||||
if order_id:
|
||||
try:
|
||||
order_obj.browse(request.cr, openerp.SUPERUSER_ID, order_id).pricelist_id
|
||||
except:
|
||||
order_id = None
|
||||
if not order_id:
|
||||
fields = [k for k, v in order_obj._columns.items()]
|
||||
order_value = order_obj.default_get(request.cr, openerp.SUPERUSER_ID, fields)
|
||||
order_value['partner_id'] = openerp.SUPERUSER_ID != request.public_uid and \
|
||||
request.registry.get('res.users').browse(request.cr, openerp.SUPERUSER_ID, request.uid).partner_id.id or \
|
||||
None
|
||||
order_value.update(order_obj.onchange_partner_id(request.cr, openerp.SUPERUSER_ID, [], request.uid, context={})['value'])
|
||||
order_id = order_obj.create(request.cr, openerp.SUPERUSER_ID, order_value)
|
||||
return order_obj.browse(request.cr, openerp.SUPERUSER_ID, order_id)
|
||||
|
||||
def get_current_order():
|
||||
order = get_order(request.httprequest.session.get('ecommerce_order_id'))
|
||||
request.httprequest.session['ecommerce_order_id'] = order.id
|
||||
return order
|
||||
|
||||
def get_categories():
|
||||
category_obj = request.registry.get('pos.category')
|
||||
category_ids = category_obj.search(request.cr, openerp.SUPERUSER_ID, [('parent_id', '=', False)])
|
||||
return category_obj.browse(request.cr, openerp.SUPERUSER_ID, category_ids)
|
||||
|
||||
|
||||
class website(osv.osv):
|
||||
_inherit = "website"
|
||||
def get_rendering_context(self, additional_values=None):
|
||||
values = {
|
||||
'website_sale_get_categories': get_categories,
|
||||
'order': get_current_order(),
|
||||
# 'website_sale_get_current_order': get_current_order, # TODO: replace 'order' key in templates
|
||||
}
|
||||
if additional_values:
|
||||
values.update(additional_values)
|
||||
return super(website, self).get_rendering_context(values)
|
||||
|
||||
class Ecommerce(http.Controller):
|
||||
|
||||
def get_categories(self):
|
||||
category_obj = request.registry.get('pos.category')
|
||||
category_ids = category_obj.search(request.cr, openerp.SUPERUSER_ID, [('parent_id', '=', False)])
|
||||
return category_obj.browse(request.cr, openerp.SUPERUSER_ID, category_ids)
|
||||
|
||||
def get_current_order(self):
|
||||
order = self.get_order(request.httprequest.session.get('ecommerce_order_id'))
|
||||
request.httprequest.session['ecommerce_order_id'] = order.id
|
||||
return order
|
||||
|
||||
def get_order(self, order_id=None):
|
||||
|
||||
order_obj = request.registry.get('sale.order')
|
||||
# check if order allready exists
|
||||
if order_id:
|
||||
try:
|
||||
order_obj.browse(request.cr, openerp.SUPERUSER_ID, order_id).pricelist_id
|
||||
except:
|
||||
order_id = None
|
||||
if not order_id:
|
||||
fields = [k for k, v in order_obj._columns.items()]
|
||||
order_value = order_obj.default_get(request.cr, openerp.SUPERUSER_ID, fields)
|
||||
order_value['partner_id'] = openerp.SUPERUSER_ID != request.public_uid and \
|
||||
request.registry.get('res.users').browse(request.cr, openerp.SUPERUSER_ID, request.uid).partner_id.id or \
|
||||
None
|
||||
order_value.update(order_obj.onchange_partner_id(request.cr, openerp.SUPERUSER_ID, [], request.uid, context={})['value'])
|
||||
order_id = order_obj.create(request.cr, openerp.SUPERUSER_ID, order_value)
|
||||
return order_obj.browse(request.cr, openerp.SUPERUSER_ID, order_id)
|
||||
|
||||
def render(self, template, values={}):
|
||||
_values = {
|
||||
'order': self.get_current_order(),
|
||||
'categories': self.get_categories(),
|
||||
}
|
||||
_values.update(values)
|
||||
return website.render(template, _values)
|
||||
|
||||
def recommended_product(self, my_pids):
|
||||
if not my_pids:
|
||||
return []
|
||||
|
||||
|
||||
my_pids = str(my_pids)[1:-1]
|
||||
product_ids = []
|
||||
query = """
|
||||
|
@ -70,6 +73,7 @@ class Ecommerce(http.Controller):
|
|||
|
||||
@http.route(['/shop', '/shop/category/<cat_id>'], type='http', auth="public")
|
||||
def category(self, cat_id=0, offset=0, **post):
|
||||
website = request.registry['website']
|
||||
|
||||
domain = [("sale_ok", "=", True)]
|
||||
if post.get("search"):
|
||||
|
@ -81,17 +85,17 @@ class Ecommerce(http.Controller):
|
|||
product_obj = request.registry.get('product.product')
|
||||
product_ids = product_obj.search(request.cr, request.uid, domain, limit=20, offset=offset)
|
||||
|
||||
values = {
|
||||
values = website.get_rendering_context({
|
||||
'current_category': cat_id,
|
||||
'products': product_obj.browse(request.cr, request.uid, product_ids),
|
||||
'search': post.get("search"),
|
||||
}
|
||||
html = self.render("website_sale.products", values)
|
||||
return html
|
||||
})
|
||||
return website.render("website_sale.products", values)
|
||||
|
||||
@http.route(['/shop/product/<product_id>'], type='http', auth="public")
|
||||
def product(self, cat_id=0, product_id=0):
|
||||
order = self.get_current_order()
|
||||
website = request.registry['website']
|
||||
order = get_current_order()
|
||||
|
||||
product_id = product_id and int(product_id) or 0
|
||||
product_obj = request.registry.get('product.product')
|
||||
|
@ -99,17 +103,17 @@ class Ecommerce(http.Controller):
|
|||
line = [line for line in order.order_line if line.product_id.id == product_id]
|
||||
quantity = line and int(line[0].product_uom_qty) or 0
|
||||
|
||||
values = {
|
||||
values = website.get_rendering_context({
|
||||
'product': product_obj.browse(request.cr, request.uid, product_id),
|
||||
'quantity': quantity,
|
||||
'recommended_products': self.recommended_product([product_id]),
|
||||
}
|
||||
html = self.render("website_sale.product", values)
|
||||
return html
|
||||
})
|
||||
return website.render("website_sale.product", values)
|
||||
|
||||
@http.route(['/shop/mycart'], type='http', auth="public")
|
||||
def mycart(self, **post):
|
||||
order = self.get_current_order()
|
||||
website = request.registry['website']
|
||||
order = get_current_order()
|
||||
|
||||
if post.get('code'):
|
||||
pricelist_obj = request.registry.get('product.pricelist')
|
||||
|
@ -118,14 +122,16 @@ class Ecommerce(http.Controller):
|
|||
order.write({'pricelist_id': pricelist_ids[0]})
|
||||
|
||||
my_pids = [line.product_id.id for line in order.order_line]
|
||||
values= {"recommended_products": self.recommended_product(my_pids)}
|
||||
values = website.get_rendering_context({
|
||||
"recommended_products": self.recommended_product(my_pids)
|
||||
})
|
||||
|
||||
html = self.render("website_sale.mycart", values)
|
||||
return html
|
||||
return website.render("website_sale.mycart", values)
|
||||
|
||||
@http.route(['/shop/add_cart'], type='http', auth="public")
|
||||
def add_cart(self, product_id=0, remove=False):
|
||||
|
||||
website = request.registry['website']
|
||||
values = website.get_rendering_context()
|
||||
context = {}
|
||||
|
||||
order_obj = request.registry.get('sale.order')
|
||||
|
@ -133,13 +139,12 @@ class Ecommerce(http.Controller):
|
|||
user_obj = request.registry.get('res.users')
|
||||
|
||||
product_id = product_id and int(product_id) or 0
|
||||
order = self.get_current_order()
|
||||
order = get_current_order()
|
||||
|
||||
quantity = 0
|
||||
|
||||
# values initialisation
|
||||
order_line_ids = order_line_obj.search(request.cr, openerp.SUPERUSER_ID, [('order_id', '=', order.id), ('product_id', '=', product_id)], context=context)
|
||||
values = {}
|
||||
if order_line_ids:
|
||||
order_line = order_line_obj.read(request.cr, openerp.SUPERUSER_ID, order_line_ids, [], context=context)[0]
|
||||
quantity = order_line['product_uom_qty'] + (remove and -1 or 1)
|
||||
|
@ -165,8 +170,7 @@ class Ecommerce(http.Controller):
|
|||
order_line_id = order_line_obj.create(request.cr, openerp.SUPERUSER_ID, values, context=context)
|
||||
order.write({'order_line': [(4, order_line_id)]}, context=context)
|
||||
|
||||
html = self.render("website_sale.total")
|
||||
|
||||
html = website.render("website_sale.total", values)
|
||||
return simplejson.dumps({"quantity": quantity, "totalHTML": html})
|
||||
|
||||
@http.route(['/shop/remove_cart'], type='http', auth="public")
|
||||
|
@ -175,7 +179,11 @@ class Ecommerce(http.Controller):
|
|||
|
||||
@http.route(['/shop/checkout'], type='http', auth="public")
|
||||
def checkout(self, **post):
|
||||
order = self.get_current_order()
|
||||
website = request.registry['website']
|
||||
values = website.get_rendering_context({
|
||||
'partner': False
|
||||
})
|
||||
order = get_current_order()
|
||||
|
||||
if order.state != 'draft':
|
||||
return self.confirmed(**post)
|
||||
|
@ -188,7 +196,6 @@ class Ecommerce(http.Controller):
|
|||
country_state_obj = request.registry.get('res.country.state')
|
||||
payment_obj = request.registry.get('portal.payment.acquirer')
|
||||
|
||||
values = {'partner': False}
|
||||
|
||||
if request.uid != request.public_uid:
|
||||
values['partner'] = user_obj.browse(request.cr, request.uid, request.uid).partner_id
|
||||
|
@ -206,12 +213,12 @@ class Ecommerce(http.Controller):
|
|||
content = payment_obj.render(request.cr, openerp.SUPERUSER_ID, payment.id, order, order.name, order.pricelist_id.currency_id, order.amount_total)
|
||||
payment._content = content
|
||||
|
||||
return self.render("website_sale.checkout", values)
|
||||
return website.render("website_sale.checkout", values)
|
||||
|
||||
@http.route(['/shop/confirm_order'], type='http', auth="public")
|
||||
def confirm_order(self, **post):
|
||||
order = self.get_current_order()
|
||||
|
||||
order = get_current_order()
|
||||
|
||||
json = {'error': [], 'validation': False}
|
||||
partner_obj = request.registry.get('res.partner')
|
||||
user_obj = request.registry.get('res.users')
|
||||
|
@ -296,23 +303,23 @@ class Ecommerce(http.Controller):
|
|||
|
||||
@http.route(['/shop/confirmed'], type='http', auth="public")
|
||||
def confirmed(self, **post):
|
||||
website = request.registry['website']
|
||||
|
||||
if request.httprequest.session.get('ecommerce_order_id'):
|
||||
order = self.get_current_order()
|
||||
order = get_current_order()
|
||||
if order.state != 'draft':
|
||||
request.httprequest.session['ecommerce_order_id_old'] = order.id
|
||||
request.httprequest.session['ecommerce_order_id'] = None
|
||||
|
||||
order_old = self.get_order(request.httprequest.session.get('ecommerce_order_id_old'))
|
||||
order_old = get_order(request.httprequest.session.get('ecommerce_order_id_old'))
|
||||
if not order_old.order_line:
|
||||
return self.mycart(**post)
|
||||
|
||||
values = {
|
||||
values = website.get_rendering_context({
|
||||
'temp': 0,
|
||||
'order': order_old,
|
||||
'categories': self.get_categories(),
|
||||
}
|
||||
return self.render("website_sale.confirmed", values)
|
||||
})
|
||||
return website.render("website_sale.confirmed", values)
|
||||
|
||||
@http.route(['/shop/publish'], type='http', auth="public")
|
||||
def publish(self, **post):
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<div class="row">
|
||||
<div class="span4 css_noprint">
|
||||
<ul class="nav nav-list">
|
||||
<t t-foreach="categories" t-as="category">
|
||||
<t t-foreach="website_sale_get_categories()" t-as="category">
|
||||
<t t-call="website_sale.categories_recursive"/>
|
||||
</t>
|
||||
</ul>
|
||||
|
|
Loading…
Reference in New Issue