I have a wizard to modify data from a model (pretty similar to 

so we have a method default_start:

 def default_start(self, fields):
        batch = self.get_batch()
        defaults = {}

        for fieldname in fields:
            value = getattr(batch, fieldname)
            if isinstance(value, Model):
                if getattr(batch.__class__, fieldname)._type == 'reference':
                    value = str(value)
                    value = value.id
            elif isinstance(value, (list, tuple)):
                value = [r.id for r in value]
            defaults[fieldname] = value

        defaults['state'] = 'draft'
        return defaults

On write method I check that the batch is on draft state so it should fail but 
as I put the state to 'draft' on the default_start method now I can write 
without any problem. That is to say, I have mimiced a draft mode so I can 
modify the model using the write method. And so it happens and it works using 
Tryton client.

Now if I do this on proteus:
    >>> edit_batch = Wizard('agro.farm.batch.edit', [batch])
    >>> edit_batch.execute('modify')

The test fails because of domain (the check I said I had on the write method). 
So it is like the draft is not considered on proteus or something weird happens

You received this message because you are subscribed to the Google Groups 
"tryton" group.
To view this discussion on the web visit 

Reply via email to