[ADD] slug() helper to rendering context

bzr revid: fme@openerp.com-20131202125652-5e30xd3ym6nww44o
This commit is contained in:
Fabien Meghazi 2013-12-02 13:56:52 +01:00
parent de0401e043
commit a5ed3f8b42
2 changed files with 13 additions and 9 deletions

View File

@ -5,11 +5,10 @@ import werkzeug.routing
import openerp
from openerp.addons.base import ir
from openerp.addons.website.models.website import slug
from openerp.http import request
from openerp.osv import orm
from ..utils import slugify
class ir_http(orm.AbstractModel):
_inherit = 'ir.http'
@ -112,12 +111,7 @@ class ModelConverter(ir.ir_http.ModelConverter):
self.regex = r'(?:[A-Za-z0-9-_]+?-)?(\d+)(?=$|/)'
def to_url(self, value):
if isinstance(value, orm.browse_record):
[(id, name)] = value.name_get()
else:
# assume name_search result tuple
id, name = value
return "%s-%d" % (slugify(name), id)
return slug(value)
def generate(self, cr, uid, query=None, context=None):
return request.registry[self.model].name_search(

View File

@ -14,7 +14,7 @@ import werkzeug.exceptions
import werkzeug.wrappers
import openerp
from openerp.osv import osv, fields
from openerp.osv import orm, osv, fields
from openerp.tools.safe_eval import safe_eval
from openerp.addons.web import http
@ -58,6 +58,15 @@ def url_for(path_or_uri, lang=None, keep_query=None):
return location
def slug(value):
if isinstance(value, orm.browse_record):
# [(id, name)] = value.name_get()
id, name = value.id, value[value._rec_name]
else:
# assume name_search result tuple
id, name = value
return "%s-%d" % (slugify(name), id)
def urlplus(url, params):
if not params:
return url
@ -198,6 +207,7 @@ class website(osv.osv):
json=simplejson,
website=request.website,
url_for=url_for,
slug=slug,
res_company=request.website.company_id,
user_id=user.browse(cr, uid, uid),
)