[forms] fix multiple edit bug introduced by changeset cebdf8ee5ad7
Changeset cebdf8ee5ad7 assumed that edited entity was either explicitly
passed to the form or found in first row / first col of the resultset
because of the one_line_rset() selector.
But one_line_rset() is actually trickier : the selector returns 1
if the resultset has more than one row **if** an explicit row is
specified during selection process. This is exactly what is done
in the 'muledit' form :
for row in xrange(len(self.rset)):
form = self.vreg['forms'].select('edition', self.req,
rset=self.rset, row=row, #...
This changeset thus takes row in consideration to find edited entity
if 'row' was explcitly specified.
# some entities have been added before schema entities, fix the 'is' and
# 'is_instance_of' relations
for rtype in ('is', 'is_instance_of'):
sql('INSERT INTO %s_relation '
'SELECT X.eid, ET.cw_eid FROM entities as X, cw_CWEType as ET '
'WHERE X.type=ET.cw_name AND NOT EXISTS('
' SELECT 1 from is_relation '
' WHERE eid_from=X.eid AND eid_to=ET.cw_eid)' % rtype)