leads-db/leads/views.py
Lord_Devi f713483abf feat: Add IDSData model and data source pages
chore: Update main menu with "Data" dropdown

docs: Add CSV header information
2024-09-16 23:02:28 -04:00

56 lines
1.8 KiB
Python

from django.shortcuts import render, redirect, get_object_or_404
from django.db.models import Q
from .models import Lead, IDSData
from .forms import LeadForm
def lead_list(request):
query = request.GET.get('q')
if query:
leads = Lead.objects.filter(
Q(name__icontains=query) |
Q(email__icontains=query) |
Q(company__icontains=query)
).order_by('-score')
else:
leads = Lead.objects.all().order_by('-score')
return render(request, 'leads/lead_list.html', {'leads': leads})
def lead_detail(request, pk):
lead = get_object_or_404(Lead, pk=pk)
return render(request, 'leads/lead_detail.html', {'lead': lead})
def lead_create(request):
if request.method == 'POST':
form = LeadForm(request.POST)
if form.is_valid():
form.save()
return redirect('lead_list')
else:
form = LeadForm()
return render(request, 'leads/lead_form.html', {'form': form})
def lead_update(request, pk):
lead = get_object_or_404(Lead, pk=pk)
if request.method == 'POST':
form = LeadForm(request.POST, instance=lead)
if form.is_valid():
form.save()
return redirect('lead_list')
else:
form = LeadForm(instance=lead)
return render(request, 'leads/lead_form.html', {'form': form})
def lead_delete(request, pk):
lead = get_object_or_404(Lead, pk=pk)
if request.method == 'POST':
lead.delete()
return redirect('lead_list')
return render(request, 'leads/lead_confirm_delete.html', {'lead': lead})
def data_sources(request):
return render(request, 'leads/data_sources.html')
def ids_data(request):
ids_data = IDSData.objects.all()
return render(request, 'leads/ids_data.html', {'ids_data': ids_data})