web/views/basecontrollers.py
branchstable
changeset 2330 8c70ca715fe9
parent 2312 af4d8f75c5db
child 2345 16e3d0e47ee6
equal deleted inserted replaced
2329:8b5a1af6dc35 2330:8c70ca715fe9
   386     def validate_form(self, action, names, values):
   386     def validate_form(self, action, names, values):
   387         self.req.form = self._rebuild_posted_form(names, values, action)
   387         self.req.form = self._rebuild_posted_form(names, values, action)
   388         return _validate_form(self.req, self.vreg)
   388         return _validate_form(self.req, self.vreg)
   389 
   389 
   390     @jsonize
   390     @jsonize
   391     def js_edit_field(self, action, names, values, rtype, eid, default):
   391     def js_edit_field(self, action, names, values, rtype, eid, default, lzone):
   392         success, args = self.validate_form(action, names, values)
   392         success, args = self.validate_form(action, names, values)
   393         if success:
   393         if success:
   394             # Any X,N where we don't seem to use N is an optimisation
   394             # Any X,N where we don't seem to use N is an optimisation
   395             # printable_value won't need to query N again
   395             # printable_value won't need to query N again
   396             rset = self.req.execute('Any X,N WHERE X eid %%(x)s, X %s N' % rtype,
   396             rset = self.req.execute('Any X,N WHERE X eid %%(x)s, X %s N' % rtype,
   397                                     {'x': eid}, 'x')
   397                                     {'x': eid}, 'x')
   398             entity = rset.get_entity(0, 0)
   398             entity = rset.get_entity(0, 0)
   399             value = entity.printable_value(rtype)
   399             value = entity.printable_value(rtype) or default
   400             return (success, args, value or default)
   400             return (success, args, lzone + value)
   401         else:
   401         else:
   402             return (success, args, None)
   402             return (success, args, None)
   403 
   403 
   404     @jsonize
   404     @jsonize
   405     def js_edit_relation(self, action, names, values,
   405     def js_edit_relation(self, action, names, values, rtype,
   406                          rtype, role, eid, vid, default):
   406                          role, eid, vid, default, escape, lzone):
   407         success, args = self.validate_form(action, names, values)
   407         success, args = self.validate_form(action, names, values)
   408         if success:
   408         if success:
   409             entity = self.req.eid_rset(eid).get_entity(0, 0)
   409             entity = self.req.eid_rset(eid).get_entity(0, 0)
   410             rset = entity.related(rtype, role)
   410             rset = entity.related(rtype, role)
   411             if rset:
   411             if rset:
   412                 output = self.view(vid, rset)
   412                 output = self.view(vid, rset)
   413                 if vid == 'textoutofcontext':
   413                 if escape == 'True':
   414                     output = xml_escape(output)
   414                     output = xml_escape(output)
   415             else:
   415             else:
   416                 output = default
   416                 output = default
   417             return (success, args, output)
   417             return (success, args, lzone + output)
   418         else:
   418         else:
   419             return (success, args, None)
   419             return (success, args, None)
   420 
   420 
   421     @jsonize
   421     @jsonize
   422     def js_i18n(self, msgids):
   422     def js_i18n(self, msgids):