|
|
|
|
@ -27,7 +27,7 @@ class CustomUserAdmin(UserAdmin): |
|
|
|
|
model = CustomUser |
|
|
|
|
search_fields = ['username', 'email', 'phone', 'first_name', 'last_name', 'licence_id'] |
|
|
|
|
filter_horizontal = ('clubs',) |
|
|
|
|
actions = ['convert_to_prospect', 'create_campaign'] |
|
|
|
|
actions = ['convert_to_prospect', 'create_group'] |
|
|
|
|
|
|
|
|
|
list_display = ['email', 'first_name', 'last_name', 'username', 'date_joined', 'latest_event_club_name', 'is_active', 'event_count', 'origin', 'registration_payment_mode', 'licence_id'] |
|
|
|
|
list_filter = ['is_active', 'origin', UserWithEventsFilter, UserWithPurchasesFilter, UserWithProspectFilter] |
|
|
|
|
@ -59,7 +59,7 @@ class CustomUserAdmin(UserAdmin): |
|
|
|
|
obj.last_update = timezone.now() |
|
|
|
|
super().save_model(request, obj, form, change) |
|
|
|
|
|
|
|
|
|
def create_campaign(self, request, queryset): |
|
|
|
|
def create_group(self, request, queryset): |
|
|
|
|
prospects = [] |
|
|
|
|
source_value = f"auto_created_{datetime.now().strftime('%Y-%m-%d_%H:%M')}" |
|
|
|
|
for user in queryset: |
|
|
|
|
@ -76,13 +76,13 @@ class CustomUserAdmin(UserAdmin): |
|
|
|
|
source=source_value |
|
|
|
|
) |
|
|
|
|
prospects.append(prospect) |
|
|
|
|
campaign = Campaign.objects.create( |
|
|
|
|
prospect_group = ProspectGroup.objects.create( |
|
|
|
|
name=f"{datetime.now().strftime('%Y-%m-%d_%H:%M')}", |
|
|
|
|
) |
|
|
|
|
campaign.prospects.add(*prospects) |
|
|
|
|
messages.success(request, f'Created campaign {campaign.name} with {queryset.count()} prospects') |
|
|
|
|
prospect_group.prospects.add(*prospects) |
|
|
|
|
messages.success(request, f'Created campaign {prospect_group.name} with {queryset.count()} prospects') |
|
|
|
|
|
|
|
|
|
create_campaign.short_description = "Create campaign with selection" |
|
|
|
|
create_group.short_description = "Create campaign with selection" |
|
|
|
|
|
|
|
|
|
def convert_to_prospect(self, request, queryset): |
|
|
|
|
created_count = 0 |
|
|
|
|
|