[ADD] slug() helper to rendering context
bzr revid: fme@openerp.com-20131202125652-5e30xd3ym6nww44o
This commit is contained in:
parent
de0401e043
commit
a5ed3f8b42
|
@ -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(
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue