equal
deleted
inserted
replaced
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 |