diff --git a/biz/admin.py b/biz/admin.py index 1abad08..f35bd94 100644 --- a/biz/admin.py +++ b/biz/admin.py @@ -121,7 +121,7 @@ class ProspectAdmin(SyncedObjectAdmin): 'fields': ['related_activities', 'id', 'entity_names', 'first_name', 'last_name', 'email', 'phone', 'contact_again', 'official_user', 'name_unsure', 'entities', 'related_user'] }), ] - list_display = ('first_name', 'last_name', 'entity_names', 'last_update_date', 'current_status', 'current_text', 'contact_again') + list_display = ('first_name', 'last_name', 'entity_names', 'phone', 'last_update_date', 'current_status', 'contact_again') list_filter = (ContactAgainFilter, ProspectStatusFilter, ProspectDeclineReasonFilter, ProspectGroupFilter, PhoneFilter, 'creation_date', StaffUserFilter, 'source', ProspectProfileFilter) search_fields = ('first_name', 'last_name', 'email', 'phone') @@ -435,10 +435,10 @@ class ProspectGroupAdmin(SyncedObjectAdmin): @admin.register(Activity) class ActivityAdmin(SyncedObjectAdmin): + raw_id_fields = ['prospects'] list_display = ('prospect_names', 'last_update', 'status', 'type', 'description', 'attachment_text', ) list_filter = ('status', 'type') - search_fields = ('description',) - filter_horizontal = ('prospects',) + search_fields = ('attachment_text',) date_hierarchy = 'last_update' def get_form(self, request, obj=None, **kwargs): diff --git a/biz/filters.py b/biz/filters.py index 848d376..5714c53 100644 --- a/biz/filters.py +++ b/biz/filters.py @@ -147,6 +147,7 @@ class PhoneFilter(admin.SimpleListFilter): def lookups(self, request, model_admin): return ( ('exclude_mobile', 'Exclude mobile (06/07)'), + ('mobile_only', 'Mobile only (06/07)'), ) def queryset(self, request, queryset): @@ -154,4 +155,9 @@ class PhoneFilter(admin.SimpleListFilter): return queryset.exclude( Q(phone__startswith='06') | Q(phone__startswith='07') ) + elif self.value() == 'mobile_only': + return queryset.filter( + Q(phone__startswith='06') | Q(phone__startswith='07') + ) + return queryset diff --git a/sync/signals.py b/sync/signals.py index f8559e0..d11cdf2 100644 --- a/sync/signals.py +++ b/sync/signals.py @@ -8,7 +8,7 @@ from authentication.models import Device from django.contrib.auth import get_user_model from .ws_sender import websocket_sender -from .registry import device_registry, related_users_registry +from .registry import device_registry, related_users_registry, model_registry import logging import traceback @@ -53,8 +53,10 @@ def synchronization_notifications(sender, instance, created=False, **kwargs): # some classes are excluded in settings_app.py: SYNC_APPS if not isinstance(instance, BaseModel) and not isinstance(instance, User): return - # if isinstance(instance, DataAccess): - # return + + model_name = instance.__class__.__name__ + if model_registry.get_model(model_name) is None: + return try: process_foreign_key_changes(sender, instance, **kwargs) @@ -100,7 +102,6 @@ def save_model_log_if_possible(instance, signal, created): else: operation = ModelOperation.DELETE - model_name = instance.__class__.__name__ store_id = None if isinstance(instance, SideStoreModel): store_id = instance.store_id @@ -111,6 +112,7 @@ def save_model_log_if_possible(instance, signal, created): # user_ids = [user.id for user in users] # # print(f'users to notify: {user_ids}') # instance._users_to_notify = user_ids # save this for the post_save signal + model_name = instance.__class__.__name__ save_model_log(users, operation, model_name, instance.id, store_id) else: