diff --git a/bda/models.py b/bda/models.py index d60c3c94..04b6d877 100644 --- a/bda/models.py +++ b/bda/models.py @@ -79,6 +79,15 @@ class Spectacle(models.Model): self.price ) + def getImgUrl(self): + """ + Cette fonction permet d'obtenir l'URL de l'image, si elle existe + """ + try: + return self.image.url + except: + return None + def send_rappel(self): """ Envoie un mail de rappel à toutes les personnes qui ont une place pour diff --git a/bda/views.py b/bda/views.py index 95429a25..486de3f2 100644 --- a/bda/views.py +++ b/bda/views.py @@ -658,8 +658,8 @@ def catalogue(request, request_type): try: tirage_id = request.GET.get('id', '') tirage = get_object_or_404(Tirage, id=tirage_id) - except: - return HttpResponseBadRequest() + except ValueError: + return HttpResponseBadRequest("Pas de tirage pour cet id") categories = list( CategorieSpectacle.objects.filter( spectacle__in=tirage.spectacle_set.all()) @@ -688,19 +688,11 @@ def catalogue(request, request_type): if location_name: shows_qs = shows_qs.filter( location__id=locations[location_name]) - except: + except ValueError: return HttpResponseBadRequest( "Impossible de trouver des résultats correspondant \ à ces caractéristiques") - def getImgUrl(obj): - """ - Cette fonction permet de gérer les cas où il n'y a pas d'image - """ - try: - return obj.image.url - except: - return '' # On convertit les descriptions à envoyer en une liste facilement # JSONifiable (il devrait y avoir un moyen plus efficace en @@ -717,7 +709,7 @@ def catalogue(request, request_type): 'slots_description': spectacle.slots_description, 'quotes': list(Quote.objects.filter(spectacle=spectacle).values( 'author', 'text')), - 'image': getImgUrl(spectacle), + 'image': spectacle.getImgUrl(), 'ext_link': spectacle.ext_link, 'price': spectacle.price, 'slots': spectacle.slots