add internal rentals with zero deposit
This commit is contained in:
@@ -42,7 +42,7 @@ class RentalAdmin(admin.ModelAdmin):
|
||||
("date_start", "date_end"),
|
||||
"reason",
|
||||
"rentalitems",
|
||||
"total_disposit",
|
||||
("total_disposit", "intern"),
|
||||
),
|
||||
},
|
||||
),
|
||||
@@ -96,8 +96,10 @@ class RentalAdmin(admin.ModelAdmin):
|
||||
@admin.display(description="Kaution (EUR)")
|
||||
def total_disposit(self, obj):
|
||||
total_disposit = 0
|
||||
for elem in obj.rentalitems.all():
|
||||
total_disposit += elem.deposit
|
||||
|
||||
if not obj.intern:
|
||||
for elem in obj.rentalitems.all():
|
||||
total_disposit += elem.deposit
|
||||
|
||||
return f"{total_disposit}"
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ class Rental(models.Model):
|
||||
)
|
||||
|
||||
organization = models.CharField(verbose_name="Organisation", max_length=128)
|
||||
intern = models.BooleanField(verbose_name="Interner Verleih", default=False)
|
||||
|
||||
date_start = models.DateField(verbose_name="Abholdatum")
|
||||
date_end = models.DateField(verbose_name="Rückgabedatum")
|
||||
|
||||
@@ -30,20 +30,18 @@ def generate_rental_pdf(rental: Rental) -> bool:
|
||||
total_deposit = 0
|
||||
|
||||
for i, item in enumerate(rental.rentalitems.all(), start=1):
|
||||
total_deposit += item.deposit
|
||||
if not rental.intern:
|
||||
total_deposit += item.deposit
|
||||
|
||||
data.update(
|
||||
{
|
||||
f"Produkt Row{i}": item.name,
|
||||
f"Menge Row{i}": "1",
|
||||
f"Kaution Row{i}": item.deposit,
|
||||
f"Kaution Row{i}": (str(item.deposit) if not rental.intern else "0"),
|
||||
},
|
||||
)
|
||||
|
||||
data.update(
|
||||
{
|
||||
"Gesamtkaution": total_deposit,
|
||||
},
|
||||
)
|
||||
data.update({"Gesamtkaution": str(total_deposit)})
|
||||
|
||||
# Write data in pdf
|
||||
pdf_path_str = finders.find("rental/Verleihformular.pdf")
|
||||
|
||||
Reference in New Issue
Block a user