[IMP] website_contract: published

bzr revid: chm@openerp.com-20130819152436-y0tlyxsbinskd61m
This commit is contained in:
Christophe Matthieu
2013-08-19 17:24:36 +02:00
parent 84208fd7ae
commit a8ea1f8cb4
3 changed files with 16 additions and 7 deletions
+7 -5
View File
@@ -69,11 +69,12 @@ class website(osv.osv):
return values
def render(self, template, values={}):
view = request.registry.get("ir.ui.view")
context = {
'inherit_branding': values.get('editable', False),
}
try:
return request.registry.get("ir.ui.view").render(request.cr, request.uid, template, values, context=context)
return view.render(request.cr, request.uid, template, values, context=context)
except (osv.except_osv, orm.except_orm), err:
logger.error(err)
values['error'] = err[1]
@@ -82,12 +83,13 @@ class website(osv.osv):
# logger.error("Website Rendering Error.\n\n%s" % (traceback.format_exc()))
# return self.render('website.404', values)
except Exception:
logger.error("Website Rendering Error.\n\n%s" % (traceback.format_exc()))
trace = traceback.format_exc()
logger.error("Website Rendering Error.\n\n%s" % trace)
if values['editable']:
values['traceback'] = traceback.format_exc()
return self.render('website.500', values)
values['traceback'] = trace
return view.render(request.cr, request.uid, 'website.500', values, context=context)
else:
return self.render('website.404', values)
return view.render(request.cr, request.uid, 'website.404', values, context=context)
def pager(self, url, total, page=1, step=30, scope=5, url_args=None):
# Compute Pager
+1 -1
View File
@@ -9,7 +9,7 @@ OpenERP Blog
""",
'author': 'OpenERP SA',
'depends': ['website', 'project'],
'depends': ['website', 'sale'],
'data': [
'views/website_contract.xml',
],
+8 -1
View File
@@ -10,10 +10,17 @@ class website_contract(http.Controller):
def blog(self, **post):
website = request.registry['website']
partner_obj = request.registry['res.partner']
account_obj = request.registry['account.analytic.account']
project_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('website_testimonial', "!=", False), ('website_published', '=', True)])
if request.uid != website.get_public_user().id:
project_ids += partner_obj.search(request.cr, request.uid, [(1, "=", 1)])
contract_ids = account_obj.search(request.cr, openerp.SUPERUSER_ID, [(1, "=", 1)])
for contract in account_obj.browse(request.cr, openerp.SUPERUSER_ID, contract_ids):
if contract.partner_id:
project_ids.append(contract.partner_id.id)
project_ids = list(set(project_ids))
values = website.get_rendering_context({
'partner_ids': partner_obj.browse(request.cr, openerp.SUPERUSER_ID, project_ids)
})