equal
deleted
inserted
replaced
11 |
11 |
12 from logilab.mtconverter import html_escape |
12 from logilab.mtconverter import html_escape |
13 |
13 |
14 from cubicweb import NotAnEntity, NoSelectableObject |
14 from cubicweb import NotAnEntity, NoSelectableObject |
15 from cubicweb.common.registerers import accepts_registerer, priority_registerer |
15 from cubicweb.common.registerers import accepts_registerer, priority_registerer |
16 from cubicweb.common.selectors import (in_group_selector, nonempty_rset, |
16 from cubicweb.common.selectors import (chainfirst, match_user_group, accept, |
17 empty_rset, accept_selector, |
17 nonempty_rset, empty_rset, none_rset) |
18 none_rset, chainfirst) |
|
19 from cubicweb.common.appobject import AppRsetObject, ComponentMixIn |
18 from cubicweb.common.appobject import AppRsetObject, ComponentMixIn |
20 from cubicweb.common.utils import UStringIO, HTMLStream |
19 from cubicweb.common.utils import UStringIO, HTMLStream |
21 |
20 |
22 _ = unicode |
21 _ = unicode |
23 |
22 |
298 |
297 |
299 class EntityView(View): |
298 class EntityView(View): |
300 """base class for views applying on an entity (i.e. uniform result set) |
299 """base class for views applying on an entity (i.e. uniform result set) |
301 """ |
300 """ |
302 __registerer__ = accepts_registerer |
301 __registerer__ = accepts_registerer |
303 __selectors__ = (accept_selector,) |
302 __selectors__ = (accept,) |
304 category = 'entityview' |
303 category = 'entityview' |
305 |
304 |
306 def field(self, label, value, row=True, show_label=True, w=None, tr=True): |
305 def field(self, label, value, row=True, show_label=True, w=None, tr=True): |
307 """ read-only field """ |
306 """ read-only field """ |
308 if w is None: |
307 if w is None: |
321 class StartupView(View): |
320 class StartupView(View): |
322 """base class for views which doesn't need a particular result set |
321 """base class for views which doesn't need a particular result set |
323 to be displayed (so they can always be displayed !) |
322 to be displayed (so they can always be displayed !) |
324 """ |
323 """ |
325 __registerer__ = priority_registerer |
324 __registerer__ = priority_registerer |
326 __selectors__ = (in_group_selector, none_rset) |
325 __selectors__ = (match_user_group, none_rset) |
327 require_groups = () |
326 require_groups = () |
328 category = 'startupview' |
327 category = 'startupview' |
329 |
328 |
330 def url(self): |
329 def url(self): |
331 """return the url associated with this view. We can omit rql here""" |
330 """return the url associated with this view. We can omit rql here""" |
343 class EntityStartupView(EntityView): |
342 class EntityStartupView(EntityView): |
344 """base class for entity views which may also be applied to None |
343 """base class for entity views which may also be applied to None |
345 result set (usually a default rql is provided by the view class) |
344 result set (usually a default rql is provided by the view class) |
346 """ |
345 """ |
347 __registerer__ = accepts_registerer |
346 __registerer__ = accepts_registerer |
348 __selectors__ = (chainfirst(none_rset, accept_selector),) |
347 __selectors__ = (chainfirst(none_rset, accept),) |
349 |
348 |
350 default_rql = None |
349 default_rql = None |
351 |
350 |
352 def __init__(self, req, rset): |
351 def __init__(self, req, rset): |
353 super(EntityStartupView, self).__init__(req, rset) |
352 super(EntityStartupView, self).__init__(req, rset) |
398 """a template is almost like a view, except that by default a template |
397 """a template is almost like a view, except that by default a template |
399 is only used globally (i.e. no result set adaptation) |
398 is only used globally (i.e. no result set adaptation) |
400 """ |
399 """ |
401 __registry__ = 'templates' |
400 __registry__ = 'templates' |
402 __registerer__ = priority_registerer |
401 __registerer__ = priority_registerer |
403 __selectors__ = (in_group_selector,) |
402 __selectors__ = (match_user_group,) |
404 |
403 |
405 require_groups = () |
404 require_groups = () |
406 |
405 |
407 def template(self, oid, **kwargs): |
406 def template(self, oid, **kwargs): |
408 """shortcut to self.registry.render method on the templates registry""" |
407 """shortcut to self.registry.render method on the templates registry""" |