equal
deleted
inserted
replaced
460 form = params.pop('formparams', {}) |
460 form = params.pop('formparams', {}) |
461 if entity.has_eid(): |
461 if entity.has_eid(): |
462 eid = entity.eid |
462 eid = entity.eid |
463 else: |
463 else: |
464 eid = None |
464 eid = None |
465 form['etype'] = entity.__regid__ |
465 form['etype'] = entity.cw_etype |
466 form['tempEid'] = entity.eid |
466 form['tempEid'] = entity.eid |
467 args = [json_dumps(x) for x in (registry, oid, eid, params)] |
467 args = [json_dumps(x) for x in (registry, oid, eid, params)] |
468 return self._cw.ajax_replace_url( |
468 return self._cw.ajax_replace_url( |
469 holderid, fname='render', arg=args, **form) |
469 holderid, fname='render', arg=args, **form) |
470 |
470 |
544 row=self.cw_row or 0) |
544 row=self.cw_row or 0) |
545 field = form.field_by_name(self.rtype, role(self), entity.e_schema) |
545 field = form.field_by_name(self.rtype, role(self), entity.e_schema) |
546 for _, eid in field.vocabulary(form): |
546 for _, eid in field.vocabulary(form): |
547 if eid not in skip: |
547 if eid not in skip: |
548 entity = self._cw.entity_from_eid(eid) |
548 entity = self._cw.entity_from_eid(eid) |
549 if filteretype is None or entity.__regid__ == filteretype: |
549 if filteretype is None or entity.cw_etype == filteretype: |
550 entities.append(entity) |
550 entities.append(entity) |
551 return entities |
551 return entities |
552 |
552 |
553 # XXX should be a view usable using uicfg |
553 # XXX should be a view usable using uicfg |
554 class EditRelationCtxComponent(EditRelationMixIn, EntityCtxComponent): |
554 class EditRelationCtxComponent(EditRelationMixIn, EntityCtxComponent): |
560 # to be defined in concrete classes |
560 # to be defined in concrete classes |
561 rtype = None |
561 rtype = None |
562 |
562 |
563 def render_title(self, w): |
563 def render_title(self, w): |
564 w(display_name(self._cw, self.rtype, role(self), |
564 w(display_name(self._cw, self.rtype, role(self), |
565 context=self.entity.__regid__)) |
565 context=self.entity.cw_etype)) |
566 |
566 |
567 def render_body(self, w): |
567 def render_body(self, w): |
568 self._cw.add_js('cubicweb.ajax.js') |
568 self._cw.add_js('cubicweb.ajax.js') |
569 related = self.related_boxitems(self.entity) |
569 related = self.related_boxitems(self.entity) |
570 unrelated = self.unrelated_boxitems(self.entity) |
570 unrelated = self.unrelated_boxitems(self.entity) |
612 super(AjaxEditRelationCtxComponent, self).__init__(*args, **kwargs) |
612 super(AjaxEditRelationCtxComponent, self).__init__(*args, **kwargs) |
613 self.rdef = self.entity.e_schema.rdef(self.rtype, self.role, self.target_etype) |
613 self.rdef = self.entity.e_schema.rdef(self.rtype, self.role, self.target_etype) |
614 |
614 |
615 def render_title(self, w): |
615 def render_title(self, w): |
616 w(self.rdef.rtype.display_name(self._cw, self.role, |
616 w(self.rdef.rtype.display_name(self._cw, self.role, |
617 context=self.entity.__regid__)) |
617 context=self.entity.cw_etype)) |
618 |
618 |
619 def render_body(self, w): |
619 def render_body(self, w): |
620 req = self._cw |
620 req = self._cw |
621 entity = self.entity |
621 entity = self.entity |
622 related = entity.related(self.rtype, self.role) |
622 related = entity.related(self.rtype, self.role) |