diff --git a/inventory/forms.py b/inventory/forms.py index 65dc6595..99ce9d4e 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -142,10 +142,11 @@ class StaffForm(forms.ModelForm): queryset=CustomGroup.objects.all(), required=True, ) - + name = forms.CharField( + label=_("Full Name")) class Meta: model = Staff - fields = ["name", "arabic_name", "phone_number", "address", "logo", "group"] + fields = ["first_name","last_name","name", "arabic_name", "phone_number", "address", "logo", "group"] # Dealer Form diff --git a/inventory/models.py b/inventory/models.py index 9813cd11..ae2a59ee 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -223,7 +223,7 @@ class CarMake(models.Model, LocalizedNameMixin): name = models.CharField(max_length=255, blank=True, null=True) slug = models.SlugField(max_length=255, unique=True, blank=True, null=True) arabic_name = models.CharField(max_length=255, blank=True, null=True) - logo = models.ImageField(_("logo"), upload_to="car_make", blank=True, null=True,default="user-logo.jpg") + logo = models.ImageField(_("logo"), upload_to="car_make", blank=True, null=True,default="user-logo.jpg") is_sa_import = models.BooleanField(default=False) car_type = models.SmallIntegerField(choices=CarType.choices, blank=True, null=True) @@ -1278,6 +1278,8 @@ class Staff(models.Model, LocalizedNameMixin): StaffMember, on_delete=models.CASCADE, related_name="staff" ) dealer = models.ForeignKey(Dealer, on_delete=models.CASCADE, related_name="staff") + first_name = models.CharField(max_length=255, verbose_name=_("First Name")) + last_name = models.CharField(max_length=255, verbose_name=_("Last Name")) name = models.CharField(max_length=255, verbose_name=_("Name")) arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name")) phone_number = PhoneNumberField(region="SA", verbose_name=_("Phone Number")) @@ -2000,6 +2002,8 @@ class Lead(models.Model): .order_by("-updated") .first() ) + def get_absolute_url(self): + return reverse("lead_detail", args=[self.slug]) def save(self, *args, **kwargs): if not self.slug: diff --git a/inventory/views.py b/inventory/views.py index 080adc2e..672e5b6a 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -914,7 +914,7 @@ class SearchCodeView(LoginRequiredMixin, View): ) car = get_object_or_404(models.Car, vin=code) logger.info( - f"Successfully found car (VIN: {code}, ID: {car.id}) based on scanned code for user: {request.user.username}." + f"Successfully found car (VIN: {code}, ID: {car.pk}) based on scanned code for user: {request.user.username}." ) return JsonResponse( { @@ -3405,6 +3405,7 @@ class UserCreateView( return form def form_valid(self, form): + staff = form.save(commit=False) dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"]) if dealer.is_staff_exceed_quota_limit: messages.error( @@ -3426,14 +3427,13 @@ class UserCreateView( return redirect("user_create", dealer_slug=dealer.slug) password = "Tenhal@123" - user = User.objects.create_user(username=email, email=email, password=password) + user = User.objects.create_user(first_name=staff.first_name, last_name=staff.last_name, username=email, email=email, password=password) user.is_staff = True user.save() staff_member = StaffMember.objects.create(user=user) for service in form.cleaned_data["service_offered"]: staff_member.services_offered.add(service) - staff = form.save(commit=False) staff.staff_member = staff_member staff.dealer = dealer staff.save() diff --git a/static/images/CACHE/images/default-image/user/cee30baf4aa2dd157df9788045f59f21.webp b/static/images/CACHE/images/default-image/user/cee30baf4aa2dd157df9788045f59f21.webp new file mode 100644 index 00000000..4c38a19e Binary files /dev/null and b/static/images/CACHE/images/default-image/user/cee30baf4aa2dd157df9788045f59f21.webp differ diff --git a/static/images/logos/users/customer2.jpg b/static/images/logos/users/customer2.jpg new file mode 100644 index 00000000..10c5ecb6 Binary files /dev/null and b/static/images/logos/users/customer2.jpg differ diff --git a/templates/dealers/dealer_form.html b/templates/dealers/dealer_form.html index 3c83ca60..ee103d98 100644 --- a/templates/dealers/dealer_form.html +++ b/templates/dealers/dealer_form.html @@ -17,8 +17,8 @@
- -
+ + {% csrf_token %} {{ form|crispy }}
@@ -27,7 +27,7 @@ {% trans "Cancel" %}
- + diff --git a/templates/empty-illustration-page.html b/templates/empty-illustration-page.html index 432c7fc8..f6e687be 100644 --- a/templates/empty-illustration-page.html +++ b/templates/empty-illustration-page.html @@ -39,7 +39,6 @@
- {% if image %} {% static image as final_image_path %} diff --git a/templates/header.html b/templates/header.html index 3aa40d5d..27ff03c5 100644 --- a/templates/header.html +++ b/templates/header.html @@ -504,7 +504,7 @@ {% else %} {% endif %} {% if request.is_dealer %} diff --git a/templates/inventory/car_form.html b/templates/inventory/car_form.html index 56084531..6a32eee9 100644 --- a/templates/inventory/car_form.html +++ b/templates/inventory/car_form.html @@ -19,8 +19,8 @@ {% if not vendor_exists %} - {% url "vendor_create" request.dealer.slug as create_vendor_url %} - {% include "message-illustration.html" with value1="Please Add A Vendor, Before Adding A Car." value2="Create Vendor" message_image="images/empty/vendor2.png" url=create_vendor_url %} + {% url "user_create" request.dealer.slug as create_vendor_url %} + {% include "empty-illustration-page.html" with value="Vendor" url=create_vendor_url %} {% endif %}
@@ -332,16 +332,17 @@ {% block customJS %}