src/cm/views/__init__.py
changeset 24 c8a95e540b79
parent 0 40c8f766c9b8
child 149 0f2c5744b39b
--- a/src/cm/views/__init__.py	Fri Dec 04 14:05:05 2009 +0100
+++ b/src/cm/views/__init__.py	Tue Dec 08 16:51:48 2009 +0100
@@ -17,12 +17,25 @@
 import simplejson
 import sys
 
+def get_textversion_by_keys_or_404(textversion_key, adminkey=None, key=None):
+    try:
+        if not adminkey:
+            textversion = TextVersion.objects.get(key=textversion_key)
+        else:
+            textversion = TextVersion.objects.get(key=textversion_key, adminkey=adminkey)
+        if textversion.text.key == key:
+            return textversion
+        else :
+            raise Http404('Mismatch keys Text / TextVersion')
+    except TextVersion.DoesNotExist:
+        raise Http404('No TextVersion with such keys')
+
 def get_text_by_keys_or_404(key, adminkey=None):
     try:
         if not adminkey:
             return Text.objects.get(key=key)
         else:
-            return Text.objects.get(key = key, adminkey = adminkey)
+            return Text.objects.get(key=key, adminkey=adminkey)
     except Text.DoesNotExist:
         raise Http404('No Text with such keys')