From b9b020d6ba397b44bda2d900df9dd59241ea9697 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@bioforsk.no>
Date: Tue, 25 Feb 2014 10:52:08 +0100
Subject: [PATCH] Added fallback for message if requested locale version is not
 present

---
 messages/models.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/messages/models.py b/messages/models.py
index 982a94b0..2f325fe7 100644
--- a/messages/models.py
+++ b/messages/models.py
@@ -125,9 +125,9 @@ class Message:
         return Message(
                        the_dict["messageId"],
                        the_dict["organizationId"],
-                       message_locale["heading"],
-                       message_locale["leadParagraph"],
-                       message_locale["body"],
+                       message_locale.get("heading","MISSING HEADING FOR LOCALE '%s'" % settings.VIPSLOGIC_LANGUAGE_CODE),
+                       message_locale.get("leadParagraph","MISSING LEAD PARAGRAPH FOR LOCALE '%s'" % settings.VIPSLOGIC_LANGUAGE_CODE),
+                       message_locale.get("body","MISSING BODY TEXT FOR LOCALE '%s'" % settings.VIPSLOGIC_LANGUAGE_CODE),
                        the_dict["datePub"],
                        the_dict["dateValidTo"],
                        message_illustration.get("file_name", None),
@@ -139,6 +139,11 @@ class Message:
         for message_locale in message_locale_set:
             if message_locale["messageLocalePK"]["locale"] == language:
                 return message_locale
+        # Fallback: Return the first locale in the set
+        if len(message_locale_set) > 0:
+            return message_locale_set[0]
+        else:
+            return {}
     
     @staticmethod
     def get_illustration(message_illustration_set, language):
-- 
GitLab