feat: Add "Duplicate Business Name" filter button and functionality

This commit is contained in:
Lord_Devi 2024-09-19 20:35:17 -04:00
parent 611e46d8f4
commit e989741e68
2 changed files with 4 additions and 0 deletions

View file

@ -159,6 +159,7 @@
</form>
</div>
</div>
<a href="?duplicate_business_name=true" class="btn btn-secondary">Duplicate Business Name</a>
<a href="?duplicate_business_uuid=true" class="btn btn-secondary">Duplicate Business UUID</a>
<a href="?duplicate_location_uuid=true" class="btn btn-secondary">Duplicate Location UUID</a>
</div>

View file

@ -69,6 +69,7 @@ def ids_data(request):
states = request.GET.getlist('state')
business_uuid = request.GET.get('business_uuid')
location_uuid = request.GET.get('location_uuid')
duplicate_business_name = request.GET.get('duplicate_business_name')
duplicate_business_uuid = request.GET.get('duplicate_business_uuid')
duplicate_location_uuid = request.GET.get('duplicate_location_uuid')
columns = request.GET.get('columns', 'gbp_business_category,gbp_location_municipality,gbp_location_state').split(',')
@ -83,6 +84,8 @@ def ids_data(request):
ids_data_list = ids_data_list.filter(business_uuid=business_uuid)
if location_uuid:
ids_data_list = ids_data_list.filter(location_uuid=location_uuid)
if duplicate_business_name:
ids_data_list = ids_data_list.filter(business_name__in=IDSData.objects.values('business_name').annotate(count=Count('business_name')).filter(count__gt=1).values('business_name'))
if duplicate_business_uuid:
ids_data_list = ids_data_list.filter(business_uuid__in=IDSData.objects.values('business_uuid').annotate(count=Count('business_uuid')).filter(count__gt=1).values('business_uuid'))
if duplicate_location_uuid: