Razmig Sarkissian 1 month ago
commit 2d0dfd1b8f
  1. 6
      biz/admin.py
  2. 6
      biz/filters.py
  3. 10
      sync/signals.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'] '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) list_filter = (ContactAgainFilter, ProspectStatusFilter, ProspectDeclineReasonFilter, ProspectGroupFilter, PhoneFilter, 'creation_date', StaffUserFilter, 'source', ProspectProfileFilter)
search_fields = ('first_name', 'last_name', 'email', 'phone') search_fields = ('first_name', 'last_name', 'email', 'phone')
@ -435,10 +435,10 @@ class ProspectGroupAdmin(SyncedObjectAdmin):
@admin.register(Activity) @admin.register(Activity)
class ActivityAdmin(SyncedObjectAdmin): class ActivityAdmin(SyncedObjectAdmin):
raw_id_fields = ['prospects']
list_display = ('prospect_names', 'last_update', 'status', 'type', 'description', 'attachment_text', ) list_display = ('prospect_names', 'last_update', 'status', 'type', 'description', 'attachment_text', )
list_filter = ('status', 'type') list_filter = ('status', 'type')
search_fields = ('description',) search_fields = ('attachment_text',)
filter_horizontal = ('prospects',)
date_hierarchy = 'last_update' date_hierarchy = 'last_update'
def get_form(self, request, obj=None, **kwargs): def get_form(self, request, obj=None, **kwargs):

@ -147,6 +147,7 @@ class PhoneFilter(admin.SimpleListFilter):
def lookups(self, request, model_admin): def lookups(self, request, model_admin):
return ( return (
('exclude_mobile', 'Exclude mobile (06/07)'), ('exclude_mobile', 'Exclude mobile (06/07)'),
('mobile_only', 'Mobile only (06/07)'),
) )
def queryset(self, request, queryset): def queryset(self, request, queryset):
@ -154,4 +155,9 @@ class PhoneFilter(admin.SimpleListFilter):
return queryset.exclude( return queryset.exclude(
Q(phone__startswith='06') | Q(phone__startswith='07') 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 return queryset

@ -8,7 +8,7 @@ from authentication.models import Device
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from .ws_sender import websocket_sender 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 logging
import traceback import traceback
@ -53,8 +53,10 @@ def synchronization_notifications(sender, instance, created=False, **kwargs):
# some classes are excluded in settings_app.py: SYNC_APPS # some classes are excluded in settings_app.py: SYNC_APPS
if not isinstance(instance, BaseModel) and not isinstance(instance, User): if not isinstance(instance, BaseModel) and not isinstance(instance, User):
return return
# if isinstance(instance, DataAccess):
# return model_name = instance.__class__.__name__
if model_registry.get_model(model_name) is None:
return
try: try:
process_foreign_key_changes(sender, instance, **kwargs) process_foreign_key_changes(sender, instance, **kwargs)
@ -100,7 +102,6 @@ def save_model_log_if_possible(instance, signal, created):
else: else:
operation = ModelOperation.DELETE operation = ModelOperation.DELETE
model_name = instance.__class__.__name__
store_id = None store_id = None
if isinstance(instance, SideStoreModel): if isinstance(instance, SideStoreModel):
store_id = instance.store_id 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] # user_ids = [user.id for user in users]
# # print(f'users to notify: {user_ids}') # # print(f'users to notify: {user_ids}')
# instance._users_to_notify = user_ids # save this for the post_save signal # 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) save_model_log(users, operation, model_name, instance.id, store_id)
else: else:

Loading…
Cancel
Save