web/hdalab/views/ajax.py
changeset 252 a46461f8a74f
parent 250 7c3f54ce68af
child 253 1113c3874dd6
--- a/web/hdalab/views/ajax.py	Thu Oct 11 15:49:57 2012 +0200
+++ b/web/hdalab/views/ajax.py	Thu Oct 11 18:22:45 2012 +0200
@@ -49,21 +49,21 @@
     tags = Tag.objects.filter(wp_categories__wp_category = category).distinct()
     taglabels = [k for k in dict([(t.label,t.label) for t in tags])]
     resobj = {
-          'category': category.label,
-          'tags': [],
+          'label': category.label,
+          'themes': [],
           'contents': []
-          }
+      }
     for label in taglabels:
         if label == catlabel:
             globtags[label] = {'level': level, 'access': resobj }
         else:
             tag_in_list = {'label' : label, 'contents': []}
-            resobj['tags'].append(tag_in_list)
+            resobj['themes'].append(tag_in_list)
             globtags[label] = {'level': (level + 1), 'access': tag_in_list }
             
     if level < max_level:
         subcats = WpCategory.objects.filter(parent_categories__parent_category = category)
-        resobj['sub_categories'] = [subcat(subcats[i], globtags, level + 1, max_level ) for i in range(len(subcats))]
+        resobj['themes'] += [subcat(subcats[i], globtags, level + 1, max_level ) for i in range(len(subcats))]
     return resobj
 
 def cleantags(category):
@@ -71,21 +71,15 @@
         del category['contents']
     if category.has_key('contents'):
         category['contents'] = sorted(category['contents'], key=lambda content: -content['score'])
-    if category.has_key('tags'):
-        category['tags'] = [cleantags(tag) for tag in category['tags'] if len(tag['contents'])]
-        if len(category['tags']) == 0:
-            del category['tags']
-        else:
-            category['tags'] = sorted(category['tags'], key=lambda tag: tag['label'])
-    if category.has_key('sub_categories'):
-        sub_cats = []
-        for sub_cat in category['sub_categories']:
-            cat = cleantags(sub_cat)
-            if cat.has_key('tags') or cat.has_key('sub_categories') or cat.has_key('contents'):
-                sub_cats.append(cat)
-        category['sub_categories'] = sorted(sub_cats, key=lambda cat: cat['category'])
-        if len(category['sub_categories']) == 0:
-            del category['sub_categories']
+    if category.has_key('themes'):
+        themes = []
+        for theme in category['themes']:
+            clean_theme = cleantags(theme)
+            if clean_theme.has_key('themes') or clean_theme.has_key('contents'):
+                themes.append(clean_theme)
+        category['themes'] = sorted(themes, key=lambda cat: cat['label'])
+        if len(category['themes']) == 0:
+            del category['themes']
     return category
 
 def cattree(request):
@@ -434,15 +428,15 @@
     
     contents = sorted(contents, key=lambda e: -e['score'])
     
-    res = { 'category': label }
+    res = { 'label': label }
     
     if len(contents):
         res['contents'] = contents
     
     if len(sub):
         subcats = [subtree(st) for st in sub]
-        subcats = [sc for sc in subcats if len(sc.get('contents',[])) or len(sc.get('sub_categories',[]))]
-        res['sub_categories'] = subcats
+        subcats = [sc for sc in subcats if len(sc.get('contents',[])) or len(sc.get('themes',[]))]
+        res['themes'] = subcats
     
     return res