web/hdalab/views/ajax.py
changeset 232 eb02eed5f7d1
parent 212 3e1193c6dce3
child 235 b41f0b200940
equal deleted inserted replaced
231:73123394bc53 232:eb02eed5f7d1
   127             del category['sub_categories']
   127             del category['sub_categories']
   128     return category
   128     return category
   129 
   129 
   130 def cattree(request):
   130 def cattree(request):
   131     # Gets the category tree from a label
   131     # Gets the category tree from a label
   132     ROOT_MAX_TAG_ORDER = 5
   132     ROOT_MAX_TAG_ORDER = 8
   133     MAX_TAG_ORDER = 5
   133     MAX_TAG_ORDER = 8
   134     MAX_LEVEL = 3
   134     MAX_LEVEL = 3
   135     LEVEL_COEFF = 5
   135     LEVEL_COEFF = 5
   136     label = request.GET.get('label', None)
   136     label = request.GET.get('label', None)
   137     lowerlabel = label.lower()
   137     lowerlabel = label.lower()
   138     globtags = {}
   138     globtags = {}
   144 #    tag_list = [k for k in globtags]
   144 #    tag_list = [k for k in globtags]
   145     
   145     
   146 #    if len(tag_list):
   146 #    if len(tag_list):
   147     contents = []
   147     contents = []
   148 #    datasheets = Datasheet.objects.filter(validated = True, taggedsheet__tag__label__in = tag_list, taggedsheet__order__lte = MAX_TAG_ORDER).distinct()
   148 #    datasheets = Datasheet.objects.filter(validated = True, taggedsheet__tag__label__in = tag_list, taggedsheet__order__lte = MAX_TAG_ORDER).distinct()
   149     datasheets = Datasheet.objects.filter(validated = True, taggedsheet__tag__label__iexact = label, taggedsheet__order__lte = ROOT_MAX_TAG_ORDER).distinct()
   149     datasheets = Datasheet.objects.filter(validated = True, taggedsheet__tag__label__iexact = label, taggedsheet__order__lte = ROOT_MAX_TAG_ORDER).select_related('organisation').distinct()
   150     for datasheet in datasheets:
   150     for datasheet in datasheets:
   151         # Calculating where we add the datasheet in the tree
   151         # Calculating where we add the datasheet in the tree
   152         maintag = None
   152         maintag = None
   153         maintagscore = -5
   153         maintagscore = -5
   154         dsscore = 0
   154         dsscore = 0
   168                 'id': datasheet.id,
   168                 'id': datasheet.id,
   169                 'title': datasheet.title,
   169                 'title': datasheet.title,
   170                 'url': datasheet.url,
   170                 'url': datasheet.url,
   171                 'description': datasheet.description,
   171                 'description': datasheet.description,
   172                 'hda_id': datasheet.hda_id,
   172                 'hda_id': datasheet.hda_id,
   173                 'score': (dsscore + rootscore)
   173                 'organization': datasheet.organisation.name,
       
   174                 'score': max(dsscore, rootscore)
   174             })
   175             })
   175     cleantags(resobj)
   176     cleantags(resobj)
   176                     
   177                     
   177 #        resobj['contents'] = [{'id': d.id, 'title': d.title, 'tags': [t.label for t in d.tags.filter(taggedsheet__order__lte=5)]} for d in datasheets]
   178 #        resobj['contents'] = [{'id': d.id, 'title': d.title, 'tags': [t.label for t in d.tags.filter(taggedsheet__order__lte=5)]} for d in datasheets]
   178     
   179