diff options
| author | P. Christeas <p_christ@hol.gr> | 2010-11-03 13:26:04 +0200 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2010-11-03 13:26:04 +0200 |
| commit | 5d6eb5dea1d9a9c912b71ba14680f89d39b1cc38 (patch) | |
| tree | dcae8086f71bed869ebf088c017ab6ba3687373e /addons/document/nodes.py | |
| parent | 21847b3864632e5e2f99f33b9ea516fa93d00134 (diff) | |
document: more reasonable Unix permission bits
For display purposes only, but helps us understand group-write logic.
bzr revid: p_christ@hol.gr-20101103112604-vi0wy1duifni2clv
Diffstat (limited to 'addons/document/nodes.py')
| -rw-r--r-- | addons/document/nodes.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/addons/document/nodes.py b/addons/document/nodes.py index a1ed691cc6f..f025b56698e 100644 --- a/addons/document/nodes.py +++ b/addons/document/nodes.py @@ -491,9 +491,15 @@ def _uid2unixperms(perms, has_owner): """ Convert the uidperms and the owner flag to full unix bits """ res = 0 - res |= (perms & 0x07) << 6 - res |= (perms & 0x05) << 3 - if not has_owner: + if has_owner: + res |= (perms & 0x07) << 6 + res |= (perms & 0x05) << 3 + elif perms & 0x02: + res |= (perms & 0x07) << 6 + res |= (perms & 0x07) << 3 + else: + res |= (perms & 0x07) << 6 + res |= (perms & 0x05) << 3 res |= 0x05 return res |
