create car dealer make when new car is added

This commit is contained in:
ismail 2025-05-27 17:18:09 +03:00
parent 18c8c09d6c
commit fb0d7f0f20
4 changed files with 37 additions and 2 deletions

View File

@ -1018,6 +1018,21 @@ class LeadForm(forms.ModelForm):
"""
phone_number = SaudiPhoneNumberField(label=_('Phone Number'))
# email = forms.EmailField(
# label=_("Email"),
# widget=forms.EmailInput(
# attrs={
# "hx-post": "",
# "hx-include": "#id_email",
# "hx-select": "#div_id_email",
# "hx-target": "#div_id_email",
# "hx-trigger":"blur delay:1s, focusout",
# "hx-swap": "outerHTML",
# "hx-indicator": "#spinner",
# }
# ),
# required=True,
# )
id_car_make = forms.ModelChoiceField(
label=_("Make"),
queryset=CarMake.objects.all(),

View File

@ -56,6 +56,11 @@ User = get_user_model()
# check with marwan
@receiver(post_save, sender=models.Car)
def create_dealers_make(sender, instance, created, **kwargs):
if created:
models.DealersMake.objects.get_or_create(dealer=instance.dealer, car_make=instance.id_car_make)
@receiver(post_save, sender=models.Car)
def create_car_location(sender, instance, created, **kwargs):
"""

View File

@ -4864,7 +4864,13 @@ def lead_create(request):
messages.error(
request, f"Lead was not created ... : {str(form.errors)}"
)
print(form.errors)
# if email:= request.POST.get("email"):
# if models.Customer.objects.filter(email=email).exists():
# form.errors['email'] = form.error_class([
# _("Email already exists")
# ])
return render(request, "crm/leads/lead_form.html", {"form": form})
except Exception as e:
messages.error(request, f"Lead was not created ... : {str(e)}")
@ -4879,13 +4885,18 @@ def lead_create(request):
else:
dealer_make_list = models.DealersMake.objects.filter(dealer=dealer).values_list("car_make",flat=True)
qs = form.fields["id_car_make"].queryset.filter(is_sa_import=True,pk__in=dealer_make_list)
form.fields["staff"].queryset = form.fields["staff"].queryset.filter(dealer=dealer,staff_type="sales")
print(form.fields["staff"].queryset)
if hasattr(request.user.staffmember,"staff"):
form.initial["staff"] = request.user.staffmember.staff
form.fields["staff"].widget.attrs["disabled"] = True
form.fields["id_car_make"].queryset = qs
form.fields["id_car_make"].choices = [
(obj.id_car_make, obj.get_local_name()) for obj in qs
]
if first_make := qs.first():
form.fields["id_car_model"].queryset = first_make.carmodel_set.all()
return render(request, "crm/leads/lead_form.html", {"form": form})

View File

@ -179,10 +179,14 @@
<a class="fw-bold" href="{% url 'car_detail' car.slug %}">{{ car.vin }}</a>
</td>
<td class="align-middle white-space-nowrap">
{% if car.id_car_make %}
<p class="text-body mb-0">{{ car.id_car_make.get_local_name|default:car.id_car_make.name }}</p>
{% endif %}
</td>
<td class="align-middle white-space-nowrap">
{% if car.id_car_model %}
<p class="text-body mb-0">{{ car.id_car_model.get_local_name|default:car.id_car_model.name }}</p>
{% endif %}
</td>
<td class="align-middle white-space-nowrap">
<p class="text-body mb-0">{{ car.year }}</p>