import rh.models as rh
+PATH_PHOTOS = settings.PRIVE_MEDIA_ROOT + '/employe/photos/'
+PATH_DEFAUT = settings.MEDIA_ROOT + '/images/'
+FILE_DEFAUT_HOMME = 'homme.png'
+FILE_DEFAUT_FEMME = 'femme.png'
+
#@
def photo(request, id):
- """Vérifier les droits d'accès à la photo de l'employé.
+ """Retourne la photo de l'employé si elle existe (sinon default fonction du genre).
Input : id = id de l'employé
Output : Photo via HTTP (avec bon mime-type) ou Erreur 550 HTTP : Permission denied.
- """
- path_dir = settings.PRIVE_MEDIA_ROOT + '/employe/photos/'
- path_default = settings.MEDIA_ROOT + '/images/'
- filename_default_m = 'homme.png'
- filename_default_f = 'femme.png'
-
+ """
default = False
employe = get_object_or_404(rh.Employe, pk=id)
- # TODO : chercher n'importe quelle image (peu importe extension)
- path = "%s%d%s" % (path_dir, employe.id, '.jpg')
# image
+ # TODO : chercher n'importe quelle image (peu importe extension)
+ path = "%s%d%s" % (PATH_PHOTOS, employe.id, '.jpg')
image = get_image(path)
if not image :
- default = True
- filename = filename_default_m
+ default = True
+ filename = FILE_DEFAUT_HOMME
if employe.genre.lower() == 'f':
- filename = filename_default_f
- path = path_default + filename
+ filename = FILE_DEFAUT_FEMME
+ path = PATH_DEFAUT + filename
image = get_image(path)
- # content_type
- # TODO : rendre variable, fonction du type
- content_type = 'image/jpeg'
- if default:
- content_type = 'image/png'
-
# status
status = 404 # 550, Permission denied géré dans décorateur
if image:
status = 200
- return HttpResponse(content=image, status=status, content_type=content_type)
+ return HttpResponse(content=image, status=status)
# helper
def get_image(path):