update
This commit is contained in:
parent
f17975540a
commit
32cf1a63f8
@ -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"}),
|
||||
}
|
||||
|
||||
Binary file not shown.
18
inventory/migrations/0002_alter_saleorder_payment_method.py
Normal file
18
inventory/migrations/0002_alter_saleorder_payment_method.py
Normal 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),
|
||||
),
|
||||
]
|
||||
@ -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):
|
||||
|
||||
@ -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})
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user