Now that the server uses the objects passed to the report to determine the company, these reports were failing, due to the peculiar way they pass
IDs between the wizard and report. Hopefully there are no other reports that need the same fix.
bzr revid: odo@openerp.com-20101210003557-pbaj9s1607zuof3j
Nnormally, binary fields should be 7-bit ASCII base64-encoded data, but sometimes
it's not the case, so we do additional sanity checks to make sure the binary values
can pass safely via xmlrpc as strings.
As a last resort we coerce the binary values to unicode to make sure they can
be safely serialized as utf-8-encoded values, always valid XML characters.
When this happens, decoding on the other endpoint is not likely to produce
the expected output, but this isjust a safety mechanism(in these cases base64
data or xmlrpc. Binary values should be returned instead by the function field.
In a future version we should probably switch to using XMLRPC Binary types always for
passing fields.binary values, but this requires more refactoring.
lp bug: https://launchpad.net/bugs/670778 fixed
bzr revid: odo@openerp.com-20101209230742-gwf8e4zvmk43k6ln
Content indexer spawns the *nix "file" command in an attempt to determine
the type of arbitrary files. The way we have fetched the stdout of the
child process had been flawed, leaving a zombie process for every file
scanned. It was not a matter of closing the file descriptors, rather an
issue of cleaning up the child process.
bzr revid: p_christ@hol.gr-20101209112607-psu98d0h2e7xqwu7
Original report:
> From: Dr. Ferdinand Gasauer
> Date: 29-11-2010
> Subject: webdav - create folder duplicates existing attachments
> to reproduce
> add attachment to partner using webdav (konqueror 4.5.3)
> create new folder in webdav directory
> the attachment will be displayed ALSO in the newly created folder
Well, this /did/ work as the code intended, but not as a user would
expect.
As of commit e549808c0e90, the resource directories would list _all_
attachments referencing some record, by default. This meant that a
newly created folder with files [and subfolders with files..] would
have all the files listed at the root folder, too
eg. /Dirs/Products/Product-A/ + [ /dir2/a.txt, /dir2/b.txt ]
would list a.txt, b.txt under ../Product-A/ , too.
Now, the algorithm is improved to handle such a case and turn off the
"find all" flag[1] so that child files will be contained in their
folders[2].
[1] I'm now glad I had left that option there.
[2] still, files may all appear at the root folder, too, if this has
the "find-all" flag set.
bzr revid: p_christ@hol.gr-20101209100121-6kaq1zcqfewwl25b
Since forward slashes would confuse all protocols like DAV, FTP, we
have to convert them to underscores, and also match them in search.
bzr revid: p_christ@hol.gr-20101209100117-6dibokskybf47610
Please use this way to translate other strings like that. A callable
lambda for a _default wouldn't evaluate right, we do have to define
a proper function for _() to work.
bzr revid: p_christ@hol.gr-20101209100053-fjkoxjayaiqf8vj0
Yes, I have been subclassing the DAV module and improving on the existing
code, regarding that we couldn't ship our own version of the whole
python-webdav library (as in v5.x).
At commit b2a2c3f95416788, on 2010-04-06, we explicitly deleted our custom
copies of the DAV module and linked to the upstream project, in fact.
bzr revid: p_christ@hol.gr-20101209095950-qf2ppgdxw8y2lake