web/views/basecontrollers.py
changeset 1827 93840d187f26
parent 1798 cc86fe8efaaa
child 1889 874a055c373b
equal deleted inserted replaced
1825:0edb3b469eff 1827:93840d187f26
   112         if rset and rset.rowcount == 1 and '__method' in req.form:
   112         if rset and rset.rowcount == 1 and '__method' in req.form:
   113             entity = rset.get_entity(0, 0)
   113             entity = rset.get_entity(0, 0)
   114             try:
   114             try:
   115                 method = getattr(entity, req.form.pop('__method'))
   115                 method = getattr(entity, req.form.pop('__method'))
   116                 method()
   116                 method()
       
   117             except Redirect: # propagate redirect that might occur in method()
       
   118                 raise
   117             except Exception, ex:
   119             except Exception, ex:
   118                 self.exception('while handling __method')
   120                 self.exception('while handling __method')
   119                 req.set_message(req._("error while handling __method: %s") % req._(ex))
   121                 req.set_message(req._("error while handling __method: %s") % req._(ex))
   120         vid = req.form.get('vid') or vid_from_rset(req, rset, self.schema)
   122         vid = req.form.get('vid') or vid_from_rset(req, rset, self.schema)
   121         try:
   123         try: