equal
deleted
inserted
replaced
130 try: |
130 try: |
131 for eid in req.edited_eids(): |
131 for eid in req.edited_eids(): |
132 # __type and eid |
132 # __type and eid |
133 formparams = req.extract_entity_params(eid, minparams=2) |
133 formparams = req.extract_entity_params(eid, minparams=2) |
134 eid = self.edit_entity(formparams) |
134 eid = self.edit_entity(formparams) |
135 except (RequestError, NothingToEdit), ex: |
135 except (RequestError, NothingToEdit) as ex: |
136 if '__linkto' in req.form and 'eid' in req.form: |
136 if '__linkto' in req.form and 'eid' in req.form: |
137 self.execute_linkto() |
137 self.execute_linkto() |
138 elif not ('__delete' in req.form or '__insert' in req.form): |
138 elif not ('__delete' in req.form or '__insert' in req.form): |
139 raise ValidationError(None, {None: unicode(ex)}) |
139 raise ValidationError(None, {None: unicode(ex)}) |
140 # handle relations in newly created entities |
140 # handle relations in newly created entities |
157 def _insert_entity(self, etype, eid, rqlquery): |
157 def _insert_entity(self, etype, eid, rqlquery): |
158 rql = rqlquery.insert_query(etype) |
158 rql = rqlquery.insert_query(etype) |
159 try: |
159 try: |
160 entity = self._cw.execute(rql, rqlquery.kwargs).get_entity(0, 0) |
160 entity = self._cw.execute(rql, rqlquery.kwargs).get_entity(0, 0) |
161 neweid = entity.eid |
161 neweid = entity.eid |
162 except ValidationError, ex: |
162 except ValidationError as ex: |
163 self._to_create[eid] = ex.entity |
163 self._to_create[eid] = ex.entity |
164 if self._cw.ajax_request: # XXX (syt) why? |
164 if self._cw.ajax_request: # XXX (syt) why? |
165 ex.entity = eid |
165 ex.entity = eid |
166 raise |
166 raise |
167 self._to_create[eid] = neweid |
167 self._to_create[eid] = neweid |
247 elif form.edited_entity.has_eid(): |
247 elif form.edited_entity.has_eid(): |
248 self.handle_relation(form, field, value, origvalues) |
248 self.handle_relation(form, field, value, origvalues) |
249 else: |
249 else: |
250 self._pending_fields.add( (form, field) ) |
250 self._pending_fields.add( (form, field) ) |
251 |
251 |
252 except ProcessFormError, exc: |
252 except ProcessFormError as exc: |
253 self.errors.append((field, exc)) |
253 self.errors.append((field, exc)) |
254 |
254 |
255 def handle_inlined_relation(self, form, field, values, origvalues, rqlquery): |
255 def handle_inlined_relation(self, form, field, values, origvalues, rqlquery): |
256 """handle edition for the (rschema, x) relation of the given entity |
256 """handle edition for the (rschema, x) relation of the given entity |
257 """ |
257 """ |