diff --git a/inventory/forms.py b/inventory/forms.py index be9e8797..70dbc8ff 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -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(), diff --git a/inventory/signals.py b/inventory/signals.py index 24a28a6a..20306bf9 100644 --- a/inventory/signals.py +++ b/inventory/signals.py @@ -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): """ diff --git a/inventory/views.py b/inventory/views.py index 00c71a87..9ddade51 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -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}) diff --git a/templates/inventory/car_list_view.html b/templates/inventory/car_list_view.html index c967a7f3..e639f829 100644 --- a/templates/inventory/car_list_view.html +++ b/templates/inventory/car_list_view.html @@ -179,10 +179,14 @@ {{ car.vin }} + {% if car.id_car_make %}

{{ car.id_car_make.get_local_name|default:car.id_car_make.name }}

+ {% endif %} + {% if car.id_car_model %}

{{ car.id_car_model.get_local_name|default:car.id_car_model.name }}

+ {% endif %}

{{ car.year }}