update
This commit is contained in:
parent
482fa0b3f3
commit
1aff58a708
Binary file not shown.
@ -782,9 +782,7 @@ class CarFinanceUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView):
|
|||||||
def get_form(self, form_class=None):
|
def get_form(self, form_class=None):
|
||||||
form = super().get_form(form_class)
|
form = super().get_form(form_class)
|
||||||
dealer = get_user_type(self.request)
|
dealer = get_user_type(self.request)
|
||||||
form.fields[
|
form.fields["additional_finances"].queryset = models.AdditionalServices.objects.filter(dealer=dealer)
|
||||||
"additional_finances"
|
|
||||||
].queryset = models.AdditionalServices.objects.filter(dealer=dealer)
|
|
||||||
return form
|
return form
|
||||||
|
|
||||||
|
|
||||||
@ -866,13 +864,13 @@ class CarTransferCreateView(CreateView):
|
|||||||
# transfer = get_object_or_404(models.CarTransfer, pk=pk)
|
# transfer = get_object_or_404(models.CarTransfer, pk=pk)
|
||||||
# context = {"transfer": transfer}
|
# context = {"transfer": transfer}
|
||||||
# return render(request, "inventory/transfer_details.html", context)
|
# return render(request, "inventory/transfer_details.html", context)
|
||||||
|
|
||||||
class CarTransferDetailView(LoginRequiredMixin, SuccessMessageMixin, DetailView):
|
class CarTransferDetailView(LoginRequiredMixin, SuccessMessageMixin, DetailView):
|
||||||
model = models.CarTransfer
|
model = models.CarTransfer
|
||||||
template_name = "inventory/transfer_details.html"
|
template_name = "inventory/transfer_details.html"
|
||||||
context_object_name = "transfer"
|
context_object_name = "transfer"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def car_transfer_approve(request, car_pk, transfer_pk):
|
def car_transfer_approve(request, car_pk, transfer_pk):
|
||||||
car = get_object_or_404(models.Car, pk=car_pk)
|
car = get_object_or_404(models.Car, pk=car_pk)
|
||||||
transfer = get_object_or_404(models.CarTransfer, pk=transfer_pk)
|
transfer = get_object_or_404(models.CarTransfer, pk=transfer_pk)
|
||||||
@ -1862,9 +1860,7 @@ def OrganizationUpdateView(request,pk):
|
|||||||
instance.phone = organization_dict["phone_number"]
|
instance.phone = organization_dict["phone_number"]
|
||||||
instance.email = organization_dict["email"]
|
instance.email = organization_dict["email"]
|
||||||
|
|
||||||
organization_dict["logo"] = organization.additional_info["organization_info"][
|
organization_dict["logo"] = organization.additional_info["organization_info"]["logo"]
|
||||||
"logo"
|
|
||||||
]
|
|
||||||
organization_dict["pk"] = str(instance.pk)
|
organization_dict["pk"] = str(instance.pk)
|
||||||
instance.additional_info["organization_info"] = organization_dict
|
instance.additional_info["organization_info"] = organization_dict
|
||||||
instance.additional_info["type"] = "organization"
|
instance.additional_info["type"] = "organization"
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{% load i18n static%}
|
{% load i18n static custom_filters%}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
@ -222,7 +222,8 @@
|
|||||||
|
|
||||||
<!-- Additional Charges (VAT and Services) -->
|
<!-- Additional Charges (VAT and Services) -->
|
||||||
<div class="additional-charges">
|
<div class="additional-charges">
|
||||||
<p><strong>VAT/ضريبة القيمة المضافة ({{vat}}%):</strong> <span class="highlight">{{data.vat}} {{ _("SAR") }}</span></p>
|
|
||||||
|
<p><strong>VAT/ضريبة القيمة المضافة ({{vat}}%):</strong> <span class="highlight">{{data.vat|percentage}} {{ _("SAR") }}</span></p>
|
||||||
<p><strong>Additional Services/ الخدمات الإضافية</strong>
|
<p><strong>Additional Services/ الخدمات الإضافية</strong>
|
||||||
<br>
|
<br>
|
||||||
{% for service in data.additional_services %}
|
{% for service in data.additional_services %}
|
||||||
@ -246,30 +247,26 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Bootstrap JS (Optional) -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||||
<!-- jsPDF Library -->
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
document.getElementById('download-pdf').addEventListener('click', function () {
|
document.getElementById('download-pdf').addEventListener('click', function () {
|
||||||
const element = document.getElementById('invoice-content');
|
const element = document.getElementById('invoice-content');
|
||||||
|
|
||||||
// Options for html2pdf.js
|
|
||||||
const options = {
|
const options = {
|
||||||
margin: 0, // No margin
|
margin: 0,
|
||||||
filename: '{{invoice.invoice_number}}.pdf', // Name of the downloaded file
|
filename: '{{invoice.invoice_number}}.pdf',
|
||||||
image: { type: 'jpeg', quality: 0.98 }, // Image quality
|
image: { type: 'jpeg', quality: 0.98 },
|
||||||
html2canvas: {
|
html2canvas: {
|
||||||
scale: 2, // Increase scale for better quality
|
scale: 2,
|
||||||
scrollX: 0, // Ensure no horizontal scroll offset
|
scrollX: 0,
|
||||||
scrollY: 0, // Ensure no vertical scroll offset
|
scrollY: 0,
|
||||||
useCORS: true, // Enable CORS for external resources
|
useCORS: true,
|
||||||
},
|
},
|
||||||
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' } // PDF settings
|
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Generate and download the PDF
|
|
||||||
html2pdf().from(element).set(options).save();
|
html2pdf().from(element).set(options).save();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user