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