web/views/basecontrollers.py
branchtls-sprint
changeset 1560 7dd2a81b8bc8
parent 1527 c8ca1782e252
child 1635 866563e2d0fc
equal deleted inserted replaced
1559:c4d4851bd18b 1560:7dd2a81b8bc8
   393 
   393 
   394     @jsonize
   394     @jsonize
   395     def js_edit_field(self, action, names, values, rtype, eid):
   395     def js_edit_field(self, action, names, values, rtype, eid):
   396         success, args = self.validate_form(action, names, values)
   396         success, args = self.validate_form(action, names, values)
   397         if success:
   397         if success:
       
   398             # Any X,N where we don't seem to use N is an optimisation
       
   399             # printable_value won't need to query N again
   398             rset = self.req.execute('Any X,N WHERE X eid %%(x)s, X %s N' % rtype,
   400             rset = self.req.execute('Any X,N WHERE X eid %%(x)s, X %s N' % rtype,
   399                                     {'x': eid}, 'x')
   401                                     {'x': eid}, 'x')
   400             entity = rset.get_entity(0, 0)
   402             entity = rset.get_entity(0, 0)
   401             return (success, args, entity.printable_value(rtype))
   403             return (success, args, entity.printable_value(rtype))
   402         else:
   404         else:
   403             return (success, args, None)
   405             return (success, args, None)
   404 
   406 
   405 #     def js_rql(self, rql):
   407     @jsonize
   406 #         rset = self._exec(rql)
   408     def js_edit_relation(self, action, names, values,
   407 #         return rset and rset.rows or []
   409                          rtype, eid, role='subject', vid='list'):
       
   410         # XXX validate_form
       
   411         success, args = self.validate_form(action, names, values)
       
   412         if success:
       
   413             entity = self.req.eid_rset(eid).get_entity(0, 0)
       
   414             rset = entity.related('person_in_charge', role)
       
   415             return (success, args, self.view(vid, rset))
       
   416         else:
       
   417             return (success, args, None)
   408 
   418 
   409     @jsonize
   419     @jsonize
   410     def js_i18n(self, msgids):
   420     def js_i18n(self, msgids):
   411         """returns the translation of `msgid`"""
   421         """returns the translation of `msgid`"""
   412         return [self.req._(msgid) for msgid in msgids]
   422         return [self.req._(msgid) for msgid in msgids]