Let search_core return tags as real lists.
This lets search.html deal with real objects instead of playing with dumed-down strings.
This commit is contained in:
		
							parent
							
								
									d585fe92a9
								
							
						
					
					
						commit
						6d5cd11612
					
				
					 2 changed files with 11 additions and 13 deletions
				
			
		|  | @ -382,13 +382,6 @@ def get_search_core(): | ||||||
|     search_kwargs = next(search_generator) |     search_kwargs = next(search_generator) | ||||||
|     # print(search_kwargs) |     # print(search_kwargs) | ||||||
| 
 | 
 | ||||||
|     # The search has converted many arguments into sets or other types. |  | ||||||
|     # Convert them back into something that will display nicely on the search form. |  | ||||||
|     tagname_helper = lambda tags: [tag.name for tag in tags] if tags else None |  | ||||||
|     search_kwargs['tag_musts'] = tagname_helper(search_kwargs['tag_musts']) |  | ||||||
|     search_kwargs['tag_mays'] = tagname_helper(search_kwargs['tag_mays']) |  | ||||||
|     search_kwargs['tag_forbids'] = tagname_helper(search_kwargs['tag_forbids']) |  | ||||||
| 
 |  | ||||||
|     warnings = set() |     warnings = set() | ||||||
|     search_results = [] |     search_results = [] | ||||||
|     for item in search_generator: |     for item in search_generator: | ||||||
|  | @ -474,6 +467,11 @@ def get_search_json(): | ||||||
|     author_helper = lambda users: ', '.join(user.username for user in users) if users else None |     author_helper = lambda users: ', '.join(user.username for user in users) if users else None | ||||||
|     search_kwargs['author'] = author_helper(search_kwargs['author']) |     search_kwargs['author'] = author_helper(search_kwargs['author']) | ||||||
| 
 | 
 | ||||||
|  |     tagname_helper = lambda tags: [tag.name for tag in tags] if tags else None | ||||||
|  |     search_kwargs['tag_musts'] = tagname_helper(search_kwargs['tag_musts']) | ||||||
|  |     search_kwargs['tag_mays'] = tagname_helper(search_kwargs['tag_mays']) | ||||||
|  |     search_kwargs['tag_forbids'] = tagname_helper(search_kwargs['tag_forbids']) | ||||||
|  | 
 | ||||||
|     search_results['results'] = [ |     search_results['results'] = [ | ||||||
|         etiquette.jsonify.photo(result, include_albums=False) |         etiquette.jsonify.photo(result, include_albums=False) | ||||||
|         if isinstance(result, etiquette.objects.Photo) else |         if isinstance(result, etiquette.objects.Photo) else | ||||||
|  |  | ||||||
|  | @ -185,11 +185,11 @@ | ||||||
|             <ul class="search_builder_tagger"> |             <ul class="search_builder_tagger"> | ||||||
|                 {% set key="tag_" + tagtype %} |                 {% set key="tag_" + tagtype %} | ||||||
|                 {% if search_kwargs[key] %} |                 {% if search_kwargs[key] %} | ||||||
|                     {% for tagname in search_kwargs[key] %} |                     {% for tag in search_kwargs[key] %} | ||||||
|                         <li class="search_builder_{{tagtype}}_inputted"> |                         <li class="search_builder_{{tagtype}}_inputted"> | ||||||
|                             <span class="tag_object">{{tagname}}</span>{{-''-}} |                             {{tag_object.tag_object(tag, link='info', with_alt_description=True)}}<!-- | ||||||
|                             <button class="remove_tag_button red_button" |                             --><button class="remove_tag_button red_button" | ||||||
|                             onclick="return remove_searchtag(ul_{{tagtype}}, '{{tagname}}', inputted_{{tagtype}});"></button> |                             onclick="return remove_searchtag(ul_{{tagtype}}, '{{tag.name}}', inputted_{{tagtype}});"></button> | ||||||
|                         </li> |                         </li> | ||||||
|                     {% endfor %} |                     {% endfor %} | ||||||
|                 {% endif %} |                 {% endif %} | ||||||
|  | @ -664,8 +664,8 @@ var inputted_forbids = []; | ||||||
| {% for tagtype in ["musts", "mays", "forbids"] %} | {% for tagtype in ["musts", "mays", "forbids"] %} | ||||||
|     {% set key="tag_" + tagtype %} |     {% set key="tag_" + tagtype %} | ||||||
|     {% if search_kwargs[key] %} |     {% if search_kwargs[key] %} | ||||||
|     {% for tagname in search_kwargs[key] %} |     {% for tag in search_kwargs[key] %} | ||||||
|         inputted_{{tagtype}}.push("{{tagname}}"); |         inputted_{{tagtype}}.push("{{tag.name}}"); | ||||||
|     {% endfor %} |     {% endfor %} | ||||||
|     {% endif %} |     {% endif %} | ||||||
| {% endfor %} | {% endfor %} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue