equal
deleted
inserted
replaced
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() |