equal
deleted
inserted
replaced
344 # set this to a stored procedure name if you want to sort on the result of |
344 # set this to a stored procedure name if you want to sort on the result of |
345 # this function's result instead of direct value |
345 # this function's result instead of direct value |
346 sortfunc = None |
346 sortfunc = None |
347 # ascendant/descendant sorting |
347 # ascendant/descendant sorting |
348 sortasc = True |
348 sortasc = True |
|
349 # if you want to call a view on the entity instead of using `target_attr` |
|
350 label_vid = None |
349 |
351 |
350 @property |
352 @property |
351 def title(self): |
353 def title(self): |
352 return display_name(self.req, self.rtype, form=self.role) |
354 return display_name(self.req, self.rtype, form=self.role) |
353 |
355 |
382 return [str(x) for x, in self.rqlexec(rqlst.as_string())] |
384 return [str(x) for x, in self.rqlexec(rqlst.as_string())] |
383 finally: |
385 finally: |
384 rqlst.recover() |
386 rqlst.recover() |
385 |
387 |
386 def rset_vocabulary(self, rset): |
388 def rset_vocabulary(self, rset): |
387 _ = self.req._ |
389 if self.label_vid is None: |
388 return [(_(label), eid) for eid, label in rset] |
390 _ = self.req._ |
|
391 return [(_(label), eid) for eid, label in rset] |
|
392 if self.sortfunc is None: |
|
393 return sorted((entity.view(self.label_vid), entity.eid) |
|
394 for entity in rset.entities()) |
|
395 return [(entity.view(self.label_vid), entity.eid) |
|
396 for entity in rset.entities()] |
389 |
397 |
390 @cached |
398 @cached |
391 def support_and(self): |
399 def support_and(self): |
392 rschema = self.schema.rschema(self.rtype) |
400 rschema = self.schema.rschema(self.rtype) |
393 if self.role == 'subject': |
401 if self.role == 'subject': |