247 continue |
247 continue |
248 except Exception: |
248 except Exception: |
249 self.exception('error while trying to list possible %s views for %s', |
249 self.exception('error while trying to list possible %s views for %s', |
250 vid, rset) |
250 vid, rset) |
251 |
251 |
|
252 def view(self, __vid, req, rset=None, __fallback_vid=None, **kwargs): |
|
253 """shortcut to self.vreg.render method avoiding to pass self.req""" |
|
254 try: |
|
255 view = self.select_view(__vid, req, rset, **kwargs) |
|
256 except NoSelectableObject: |
|
257 if __fallback_vid is None: |
|
258 raise |
|
259 view = self.select_view(__fallback_vid, req, rset, **kwargs) |
|
260 return view.render(**kwargs) |
|
261 |
252 def select_box(self, oid, *args, **kwargs): |
262 def select_box(self, oid, *args, **kwargs): |
253 """return the most specific view according to the result set""" |
263 """return the most specific view according to the result set""" |
254 try: |
264 try: |
255 return self.select_object('boxes', oid, *args, **kwargs) |
265 return self.select_object('boxes', oid, *args, **kwargs) |
256 except NoSelectableObject: |
266 except NoSelectableObject: |
268 try: |
278 try: |
269 return self.select_object('components', cid, *args, **kwargs) |
279 return self.select_object('components', cid, *args, **kwargs) |
270 except (NoSelectableObject, ObjectNotFound): |
280 except (NoSelectableObject, ObjectNotFound): |
271 return |
281 return |
272 |
282 |
273 def select_view(self, __vid, req, rset, **kwargs): |
283 def select_view(self, __vid, req, rset=None, **kwargs): |
274 """return the most specific view according to the result set""" |
284 """return the most specific view according to the result set""" |
275 views = self.registry_objects('views', __vid) |
285 views = self.registry_objects('views', __vid) |
276 return self.select(views, req, rset, **kwargs) |
286 return self.select(views, req, rset, **kwargs) |
277 |
|
278 |
287 |
279 # properties handling ##################################################### |
288 # properties handling ##################################################### |
280 |
289 |
281 def user_property_keys(self, withsitewide=False): |
290 def user_property_keys(self, withsitewide=False): |
282 if withsitewide: |
291 if withsitewide: |