This commit is contained in:
Marwan Alwali 2025-03-16 23:58:01 +03:00
parent f17975540a
commit 32cf1a63f8
5 changed files with 47 additions and 3 deletions

View File

@ -288,7 +288,7 @@ class CarFinanceForm(forms.ModelForm):
class CarLocationForm(forms.ModelForm):
class Meta:
model = CarLocation
fields = ["showroom", "description"]
fields = ["car", "showroom", "description"]
widgets = {
"description": forms.Textarea(attrs={"rows": 2, "class": "form-control"}),
}

View File

@ -0,0 +1,18 @@
# Generated by Django 5.1.7 on 2025-03-16 19:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('inventory', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='saleorder',
name='payment_method',
field=models.CharField(choices=[('cash', 'Cash'), ('finance', 'Finance'), ('lease', 'Lease'), ('credit_card', 'Credit Card'), ('bank_transfer', 'Bank Transfer'), ('SADAD', 'SADAD')], max_length=20),
),
]

View File

@ -53,8 +53,16 @@ class DealerUserManager(UserManager):
return user
# class DealerMakes(models.Model):
# car_make = models.ManyToManyField(CarMake, verbose_name=_("Car Make"), related_name="dealers")
class DealersMake(models.Model):
dealer = models.ForeignKey("Dealer", on_delete=models.CASCADE, related_name="dealer_makes")
car_make = models.ForeignKey("CarMake", on_delete=models.CASCADE, related_name="car_dealers")
added_at = models.DateTimeField(auto_now_add=True)
class Meta:
unique_together = ("dealer", "car_make") # Prevents duplicate entries
def __str__(self):
return f"{self.dealer.name} - {self.car_make.name}"
class StaffUserManager(UserManager):

View File

@ -1029,6 +1029,24 @@ class CarLocationUpdateView(LoginRequiredMixin,UpdateView):
form_class = forms.CarLocationForm
template_name = "inventory/car_location_form.html"
def get_form(self, form_class=None):
form = super().get_form(form_class)
form.fields["showroom"].queryset = models.Dealer.objects.all()
form.fields["car"].queryset = models.Car.objects.filter(pk=self.kwargs["car_pk"])
return form
def get_initial(self):
initial = super().get_initial()
initial["car"] = get_object_or_404(models.Car, pk=self.kwargs["car_pk"])
initial["showroom"] = get_object_or_404(models.CarLocation, pk=self.kwargs["pk"])
return initial
def form_valid(self, form):
form.instance.from_dealer = get_user_type(self.request)
form.instance.car.status = "transfer"
form.instance.car.save()
return super().form_valid(form)
def get_success_url(self):
return reverse_lazy("car_detail", kwargs={"pk": self.object.car.pk})