web/box.py
changeset 2710 40789c3044f3
parent 2381 caad2367d940
child 2757 c8e28e1754f0
equal deleted inserted replaced
2709:6ee816eb9f25 2710:40789c3044f3
     9 _ = unicode
     9 _ = unicode
    10 
    10 
    11 from logilab.mtconverter import xml_escape
    11 from logilab.mtconverter import xml_escape
    12 
    12 
    13 from cubicweb import Unauthorized, role as get_role, target as get_target
    13 from cubicweb import Unauthorized, role as get_role, target as get_target
       
    14 from cubicweb.schema import display_name
    14 from cubicweb.selectors import (one_line_rset,  primary_view,
    15 from cubicweb.selectors import (one_line_rset,  primary_view,
    15                                 match_context_prop, partial_has_related_entities,
    16                                 match_context_prop, partial_has_related_entities,
    16                                 accepts_compat, has_relation_compat,
    17                                 accepts_compat, has_relation_compat,
    17                                 condition_compat, require_group_compat)
    18                                 condition_compat, require_group_compat)
    18 from cubicweb.view import View, ReloadableMixIn
    19 from cubicweb.view import View, ReloadableMixIn
   217         # use entity.unrelated if we've been asked for a particular etype
   218         # use entity.unrelated if we've been asked for a particular etype
   218         if hasattr(self, 'etype'):
   219         if hasattr(self, 'etype'):
   219             return entity.unrelated(self.rtype, self.etype, get_role(self)).entities()
   220             return entity.unrelated(self.rtype, self.etype, get_role(self)).entities()
   220         # in other cases, use vocabulary functions
   221         # in other cases, use vocabulary functions
   221         entities = []
   222         entities = []
   222         form = self.vreg.select('forms', 'edition', self.req, rset=self.rset,
   223         form = self.vreg['forms'].select('edition', self.req, rset=self.rset,
   223                                 row=self.row or 0)
   224                                          row=self.row or 0)
   224         field = form.field_by_name(self.rtype, get_role(self), entity.e_schema)
   225         field = form.field_by_name(self.rtype, get_role(self), entity.e_schema)
   225         for _, eid in form.form_field_vocabulary(field):
   226         for _, eid in form.form_field_vocabulary(field):
   226             if eid is not None:
   227             if eid is not None:
   227                 rset = self.req.eid_rset(eid)
   228                 rset = self.req.eid_rset(eid)
   228                 entities.append(rset.get_entity(0, 0))
   229                 entities.append(rset.get_entity(0, 0))