[trunk] hr and photo.png

Bug #666475 reported by Claude Petit
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Odoo Addons (MOVED TO GITHUB)
Fix Released
Undecided
Unassigned

Bug Description

The hr addon reads a file named "photo.png" from "addons_path" configuration setting. But this setting can have multiple paths, separated by a comma. In this case, the function "_get_photo" crashes the server.

/addons/hr/hr.py

Line 186:

- return open(os.path.join(
- tools.config['addons_path'], 'hr/image', 'photo.png'),
- 'rb') .read().encode('base64')
+ paths = tools.config['addons_path'].split(',')
+ for path in paths:
+ filename = os.path.join(path, 'hr/image', 'photo.png')
+ if os.path.isfile(filename):
+ return open(filename, 'rb').read().encode('base64')
+ return None

NOTE: I have a problem with spaces in the editor

Tags: hr
description: updated
description: updated
tags: added: hr
Revision history for this message
xrg (xrg) wrote : Re: [Bug 666475] [NEW] [trunk] hr and photo.png

On Monday 25 October 2010, you wrote:
> Public bug reported:
>
> The hr addon reads a file named "photo.png" from "addons_path"
> configuration setting. But this setting can have multiple paths,
> separated by a comma. In this case, the function "_get_photo" crashes
> the server.
>
> /addons/hr/hr.py
>
> Line 186:
> + - return open(os.path.join(
> + - tools.config['addons_path'], 'hr/image', 'photo.png'),
> + - 'rb') .read().encode('base64')
> + + paths = tools.config['addons_path'].split(',')
> + + for path in paths:
> + + filename = os.path.join(path, 'hr/image', 'photo.png')
> + + if os.path.isfile(filename):
> + + return open(filename, 'rb').read().encode('base64')
> + + return None
> +

This code is not optimal, either.
There is a "get_module_resource()" that you should use. Never access
config['addons_path'] directly.

Changed in openobject-addons:
status: New → Fix Released
Changed in openobject-addons:
milestone: none → 6.0-rc2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.