# HG changeset patch # User Sylvain Thénault # Date 1280476951 -7200 # Node ID 6e84db1b3e44dbc42df4979d3249009ee66c07d8 # Parent 09db6f4619c97c042da5736fd31fa6269f6a2f10 [view] deprecate create_url in favor of a cw_create_url class method on entity classes also kill view's output_url_builder method, unused anywhere... diff -r 09db6f4619c9 -r 6e84db1b3e44 entities/__init__.py --- a/entities/__init__.py Wed Jul 28 16:31:32 2010 +0200 +++ b/entities/__init__.py Fri Jul 30 10:02:31 2010 +0200 @@ -35,6 +35,11 @@ __regid__ = 'Any' __implements__ = () + @classmethod + def cw_create_url(cls, req, **kwargs): + """ return the url of the entity creation form for this entity type""" + return req.build_url('add/%s' % cls.__regid__, **kwargs) + # meta data api ########################################################### def dc_title(self): diff -r 09db6f4619c9 -r 6e84db1b3e44 view.py --- a/view.py Wed Jul 28 16:31:32 2010 +0200 +++ b/view.py Fri Jul 30 10:02:31 2010 +0200 @@ -319,21 +319,11 @@ clabel = vtitle return u'%s (%s)' % (clabel, self._cw.property_value('ui.site-title')) - def output_url_builder( self, name, url, args ): - self.w(u'\n') - + @deprecated('[3.10] use vreg["etypes"].etype_class(etype).cw_create_url(req)') def create_url(self, etype, **kwargs): """ return the url of the entity creation form for a given entity type""" - return self._cw.build_url('add/%s' % etype, **kwargs) + return self._cw.vreg["etypes"].etype_class(etype).cw_create_url( + self._cw, **kwargs) def field(self, label, value, row=True, show_label=True, w=None, tr=True, table=False): """read-only field""" diff -r 09db6f4619c9 -r 6e84db1b3e44 web/views/bookmark.py --- a/web/views/bookmark.py Wed Jul 28 16:31:32 2010 +0200 +++ b/web/views/bookmark.py Fri Jul 30 10:02:31 2010 +0200 @@ -115,7 +115,8 @@ path = req.relative_path() # XXX if vtitle specified in params, extract it and use it as default value # for bookmark's title - url = self.create_url(self.etype, __linkto=linkto, path=path) + url = req.vreg['etypes'].etype_class('Bookmark').cw_create_url( + req, __linkto=linkto, path=path) boxmenu.append(self.mk_action(req._('bookmark this page'), url, category='manage', id='bookmark')) if rset: diff -r 09db6f4619c9 -r 6e84db1b3e44 web/views/editforms.py --- a/web/views/editforms.py Wed Jul 28 16:31:32 2010 +0200 +++ b/web/views/editforms.py Fri Jul 30 10:02:31 2010 +0200 @@ -169,7 +169,9 @@ def url(self): """return the url associated with this view""" - return self.create_url(self._cw.form.get('etype')) + req = self._cw + return req.vreg["etypes"].etype_class(req.form['etype']).cw_create_url( + req) def submited_message(self): """return the message that will be displayed on successful edition"""