web/views/editcontroller.py
branchstable
changeset 2255 c346af0727ca
parent 1977 606923dff11b
child 2256 0b915d6f4264
equal deleted inserted replaced
2254:f632b06058c4 2255:c346af0727ca
    23     """
    23     """
    24 
    24 
    25 class EditController(ViewController):
    25 class EditController(ViewController):
    26     id = 'edit'
    26     id = 'edit'
    27 
    27 
    28     def publish(self, rset=None, fromjson=False):
    28     def publish(self, rset=None):
    29         """edit / create / copy / delete entity / relations"""
    29         """edit / create / copy / delete entity / relations"""
    30         self.fromjson = fromjson
       
    31         for key in self.req.form:
    30         for key in self.req.form:
    32             # There should be 0 or 1 action
    31             # There should be 0 or 1 action
    33             if key.startswith('__action_'):
    32             if key.startswith('__action_'):
    34                 cbname = key[1:]
    33                 cbname = key[1:]
    35                 try:
    34                 try:
   113                 entity = execute(rql, formparams).get_entity(0, 0)
   112                 entity = execute(rql, formparams).get_entity(0, 0)
   114                 eid = entity.eid
   113                 eid = entity.eid
   115             except ValidationError, ex:
   114             except ValidationError, ex:
   116                 # ex.entity may be an int or an entity instance
   115                 # ex.entity may be an int or an entity instance
   117                 self._to_create[formparams['eid']] = ex.entity
   116                 self._to_create[formparams['eid']] = ex.entity
   118                 if self.fromjson:
   117                 if self.req.json_request: # XXX (syt) why?
   119                     ex.entity = formparams['eid']
   118                     ex.entity = formparams['eid']
   120                 raise
   119                 raise
   121             self._to_create[formparams['eid']] = eid
   120             self._to_create[formparams['eid']] = eid
   122         elif self.relations: # edition of an existant entity
   121         elif self.relations: # edition of an existant entity
   123             varmaker = rqlvar_maker()
   122             varmaker = rqlvar_maker()