web/views/autoform.py
changeset 7894 ad0eeb0f7a8d
parent 7845 2172978be237
parent 7879 9aae456abab5
child 7990 a673d1d9a738
equal deleted inserted replaced
7889:6cebeb1f386a 7894:ad0eeb0f7a8d
   196     __select__ = non_final_entity() & match_kwargs('peid', 'rtype')
   196     __select__ = non_final_entity() & match_kwargs('peid', 'rtype')
   197 
   197 
   198     _select_attrs = ('peid', 'rtype', 'role', 'pform', 'etype')
   198     _select_attrs = ('peid', 'rtype', 'role', 'pform', 'etype')
   199     removejs = "removeInlinedEntity('%s', '%s', '%s')"
   199     removejs = "removeInlinedEntity('%s', '%s', '%s')"
   200 
   200 
       
   201     # make pylint happy
       
   202     peid = rtype = role = pform = etype = None
       
   203 
   201     def __init__(self, *args, **kwargs):
   204     def __init__(self, *args, **kwargs):
   202         for attr in self._select_attrs:
   205         for attr in self._select_attrs:
   203             # don't pop attributes from kwargs, so the end-up in
   206             # don't pop attributes from kwargs, so the end-up in
   204             # self.cw_extra_kwargs which is then passed to the edition form (see
   207             # self.cw_extra_kwargs which is then passed to the edition form (see
   205             # the .form method)
   208             # the .form method)
   302     __regid__ = 'inline-creation'
   305     __regid__ = 'inline-creation'
   303     __select__ = (match_kwargs('peid', 'petype', 'rtype')
   306     __select__ = (match_kwargs('peid', 'petype', 'rtype')
   304                   & specified_etype_implements('Any'))
   307                   & specified_etype_implements('Any'))
   305     _select_attrs = InlineEntityEditionFormView._select_attrs + ('petype',)
   308     _select_attrs = InlineEntityEditionFormView._select_attrs + ('petype',)
   306 
   309 
       
   310     # make pylint happy
       
   311     petype = None
       
   312 
   307     @property
   313     @property
   308     def removejs(self):
   314     def removejs(self):
   309         entity = self._entity()
   315         entity = self._entity()
   310         rdef = entity.e_schema.rdef(self.rtype, neg_role(self.role), self.petype)
   316         rdef = entity.e_schema.rdef(self.rtype, neg_role(self.role), self.petype)
   311         card= rdef.role_cardinality(self.role)
   317         card= rdef.role_cardinality(self.role)
   343     __regid__ = 'inline-addnew-link'
   349     __regid__ = 'inline-addnew-link'
   344     __select__ = (match_kwargs('peid', 'petype', 'rtype')
   350     __select__ = (match_kwargs('peid', 'petype', 'rtype')
   345                   & specified_etype_implements('Any'))
   351                   & specified_etype_implements('Any'))
   346 
   352 
   347     _select_attrs = InlineEntityCreationFormView._select_attrs + ('card',)
   353     _select_attrs = InlineEntityCreationFormView._select_attrs + ('card',)
       
   354     card = None # make pylint happy
   348     form = None # no actual form wrapped
   355     form = None # no actual form wrapped
   349 
   356 
   350     def call(self, i18nctx, **kwargs):
   357     def call(self, i18nctx, **kwargs):
   351         self._cw.set_varmaker()
   358         self._cw.set_varmaker()
   352         divid = "addNew%s%s%s:%s" % (self.etype, self.rtype, self.role, self.peid)
   359         divid = "addNew%s%s%s:%s" % (self.etype, self.rtype, self.role, self.peid)
   750 
   757 
   751     # autoform specific fields #################################################
   758     # autoform specific fields #################################################
   752 
   759 
   753     def _generic_relations_field(self):
   760     def _generic_relations_field(self):
   754         try:
   761         try:
       
   762             # pylint: disable=E1101
   755             srels_by_cat = self.srelations_by_category('generic', 'add', strict=True)
   763             srels_by_cat = self.srelations_by_category('generic', 'add', strict=True)
   756             warn('[3.6] %s: srelations_by_category is deprecated, use uicfg or '
   764             warn('[3.6] %s: srelations_by_category is deprecated, use uicfg or '
   757                  'override editable_relations instead' % classid(self),
   765                  'override editable_relations instead' % classid(self),
   758                  DeprecationWarning)
   766                  DeprecationWarning)
   759         except AttributeError:
   767         except AttributeError: