# """Search indexes app signals.""" # from django.db.models.signals import post_save # from django.dispatch import receiver # from django_elasticsearch_dsl.registries import registry # # # @receiver(post_save) # def update_document(sender, **kwargs): # from establishment.models import Establishment # app_label = sender._meta.app_label # model_name = sender._meta.model_name # instance = kwargs['instance'] # # if app_label == 'location': # if model_name == 'country': # establishments = Establishment.objects.filter( # address__city__country=instance) # for establishment in establishments: # registry.update(establishment) # if model_name == 'city': # establishments = Establishment.objects.filter( # address__city=instance) # for establishment in establishments: # registry.update(establishment) # if model_name == 'address': # establishments = Establishment.objects.filter( # address=instance) # for establishment in establishments: # registry.update(establishment) # # if app_label == 'establishment': # # todo: remove after migration # from establishment import models as establishment_models # if model_name == 'establishmenttype': # if isinstance(instance, establishment_models.EstablishmentType): # establishments = Establishment.objects.filter( # establishment_type=instance) # for establishment in establishments: # registry.update(establishment) # if model_name == 'establishmentsubtype': # if isinstance(instance, establishment_models.EstablishmentSubType): # establishments = Establishment.objects.filter( # establishment_subtypes=instance) # for establishment in establishments: # registry.update(establishment) # # if app_label == 'tag': # if model_name == 'tag': # establishments = Establishment.objects.filter(tags=instance) # for establishment in establishments: # registry.update(establishment) # # # @receiver(post_save) # def update_news(sender, **kwargs): # from news.models import News # app_label = sender._meta.app_label # model_name = sender._meta.model_name # instance = kwargs['instance'] # # if app_label == 'location': # if model_name == 'country': # qs = News.objects.filter(country=instance) # for news in qs: # registry.update(news) # # if app_label == 'news': # if model_name == 'newstype': # qs = News.objects.filter(news_type=instance) # for news in qs: # registry.update(news) # # if app_label == 'tag': # if model_name == 'tag': # qs = News.objects.filter(tags=instance) # for news in qs: # registry.update(news)