diff --git a/inventory/__pycache__/admin.cpython-311.pyc b/inventory/__pycache__/admin.cpython-311.pyc
index 9d071e16..44e0e8c8 100644
Binary files a/inventory/__pycache__/admin.cpython-311.pyc and b/inventory/__pycache__/admin.cpython-311.pyc differ
diff --git a/inventory/admin.py b/inventory/admin.py
index 2f09adf7..cfbe9a25 100644
--- a/inventory/admin.py
+++ b/inventory/admin.py
@@ -10,7 +10,7 @@ admin.site.register(models.Vendor)
# admin.site.register(models.SaleQuotation)
# admin.site.register(models.SaleQuotationCar)
# admin.site.register(models.SalesOrder)
-admin.site.register(models.Car)
+
admin.site.register(models.CarFinance)
admin.site.register(models.CarColors)
admin.site.register(models.CarRegistration)
@@ -39,6 +39,12 @@ admin.site.register(models.Activity)
admin.site.register(models.Schedule)
admin.site.register(models.Notes)
+
+@admin.register(models.Car)
+class CarAdmin(admin.ModelAdmin):
+ search_fields = ('vin',)
+ actions = [export_to_pdf_landscape, export_to_pdf_portrait]
+
@admin.register(models.CarMake)
class CarMakeAdmin(admin.ModelAdmin):
list_display = ('name', 'arabic_name', 'is_sa_import')
@@ -54,7 +60,7 @@ class CarMakeAdmin(admin.ModelAdmin):
@admin.register(models.CarModel)
class CarModelAdmin(admin.ModelAdmin):
list_display = ('name', 'arabic_name', 'id_car_make', 'get_is_sa_import')
- search_fields = ('name', 'arabic_name')
+ search_fields = ('id_car_model', 'name', 'arabic_name')
list_filter = ('id_car_make__is_sa_import', 'id_car_make')
sortable_by = ['name', 'arabic_name', 'id_car_make']
@@ -71,7 +77,7 @@ class CarModelAdmin(admin.ModelAdmin):
@admin.register(models.CarSerie)
class CarSeriesAdmin(admin.ModelAdmin):
list_display = ('name', 'arabic_name', 'id_car_model', )
- search_fields = ('name', 'id_car_model__name')
+ search_fields = ('id_car_serie', 'name', 'id_car_model__name', 'id_car_model__id_car_make__name')
list_filter = ('id_car_model__id_car_make__is_sa_import',
'id_car_model__id_car_make__name',)
diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po
index 2d731657..8d38d34b 100644
--- a/locale/ar/LC_MESSAGES/django.po
+++ b/locale/ar/LC_MESSAGES/django.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-02-16 12:24+0300\n"
+"POT-Creation-Date: 2025-02-16 12:55+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -395,11 +395,13 @@ msgid "Cancelled"
msgstr "ملغى"
#: inventory/models.py:277 templates/inventory/car_inventory.html:99
+#: templates/inventory/car_list_view.html:85
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:21
msgid "Available"
msgstr "متاح"
#: inventory/models.py:278 templates/inventory/car_inventory.html:101
+#: templates/inventory/car_list_view.html:87
msgid "Sold"
msgstr "تم البيع"
@@ -413,10 +415,12 @@ msgstr "تالف"
#: inventory/models.py:281 templates/index.html:24
#: templates/inventory/car_inventory.html:105
+#: templates/inventory/car_list_view.html:86
msgid "Reserved"
msgstr "محجوزة"
-#: inventory/models.py:282 templates/inventory/car_location_form.html:8
+#: inventory/models.py:282 templates/inventory/car_list_view.html:88
+#: templates/inventory/car_location_form.html:8
#: templates/inventory/transfer_preview.html:213
msgid "Transfer"
msgstr "نقل"
@@ -519,6 +523,7 @@ msgid "Vendor"
msgstr "المورد"
#: inventory/models.py:353 inventory/models.py:1131
+#: templates/inventory/car_list_view.html:63
#: templates/inventory/car_list_view.html:110
#: templates/sales/estimates/estimate_detail.html:125
#: templates/sales/estimates/sale_order_preview.html:239
@@ -528,6 +533,7 @@ msgid "Make"
msgstr "الصانع"
#: inventory/models.py:361 inventory/models.py:1138
+#: templates/inventory/car_list_view.html:72
#: templates/inventory/car_list_view.html:111
#: templates/sales/estimates/estimate_detail.html:126
#: templates/sales/estimates/sale_order_preview.html:240
@@ -540,6 +546,7 @@ msgstr "الموديل"
#: templates/inventory/car_form.html:56
#: templates/inventory/car_form_qabl alfalsafa.html:61
#: templates/inventory/car_inventory.html:54
+#: templates/inventory/car_list_view.html:78
#: templates/inventory/car_list_view.html:112
#: templates/ledger/reports/components/period_navigator.html:21
#: templates/sales/estimates/estimate_detail.html:127
@@ -1308,12 +1315,15 @@ msgstr "ملاحظة"
msgid "Notes"
msgstr "ملاحظات"
+#: inventory/models.py:1359
msgid "From Email"
msgstr "من البريد الإلكتروني"
+#: inventory/models.py:1360
msgid "To Email"
msgstr "إلى البريد الإلكتروني"
+#: inventory/models.py:1361
msgid "Subject"
msgstr "الموضوع"
@@ -1818,24 +1828,37 @@ msgstr "تم إنشاء المنظمة بنجاح."
msgid "Estimate is not ready for review"
msgstr "التقدير غير جاهز للمراجعة."
+#: inventory/views.py:2778
msgid "Estimate is not ready for approval"
msgstr "التقدير غير جاهز للموافقة."
+#: inventory/views.py:2781
msgid "Estimate approved successfully."
msgstr "تمت الموافقة على التقدير بنجاح."
+#: inventory/views.py:2784
msgid "Estimate is not ready for rejection"
msgstr "التقدير غير جاهز للرفض."
+#: inventory/views.py:2787
msgid "Estimate canceled successfully."
msgstr "تم إلغاء التقدير بنجاح."
+#: inventory/views.py:2790
msgid "Estimate is not ready for completion"
msgstr "التقدير غير جاهز للإكمال."
+#: inventory/views.py:3297
+#, fuzzy
+#| msgid "User deleted successfully."
+msgid "Note deleted successfully."
+msgstr "تم حذف المستخدم بنجاح."
+
+#: inventory/views.py:3369
msgid "Email Draft successfully!"
msgstr "تم حفظ مسودة البريد الإلكتروني بنجاح!"
+#: inventory/views.py:3394 inventory/views.py:4007
msgid "Email sent successfully!"
msgstr "تم إرسال البريد الإلكتروني بنجاح!"
@@ -3793,18 +3816,24 @@ msgstr "وضع علامة مقروء"
msgid "Opportunity details"
msgstr "تفاصيل الفرصة"
+#: templates/crm/opportunities/opportunity_detail.html:17
+#: templates/sales/estimates/estimate_detail.html:4
msgid "View Quotation"
msgstr "مشاهدة عرض السعر"
+#: templates/crm/opportunities/opportunity_detail.html:86
msgid "Other Information"
msgstr "معلومات أخرى"
+#: templates/crm/opportunities/opportunity_detail.html:92
msgid "Update Status"
msgstr "تحديث الحالة"
+#: templates/crm/opportunities/opportunity_detail.html:99
msgid "Update Stage"
msgstr "تحديث المرحلة"
+#: templates/crm/opportunities/opportunity_detail.html:117
msgid "Quotation Amount"
msgstr "مبلغ عرض السعر"
@@ -4903,9 +4932,30 @@ msgstr "لا توجد سيارات متاحة."
msgid "Error loading options."
msgstr "خطأ في تحميل الخيارات."
+#: templates/inventory/car_list_view.html:41
msgid "Filter"
msgstr "تصفية"
+#: templates/inventory/car_list_view.html:84
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_list.html:98
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_list.html:110
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_list.html:76
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_list.html:88
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_list.html:98
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_list.html:110
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_list.html:94
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_list.html:106
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_list.html:100
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_list.html:112
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/ledger_list.html:101
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/ledger_list.html:113
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_list.html:99
+#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_list.html:111
+msgid "All"
+msgstr "الكل"
+
+#: templates/inventory/car_list_view.html:157
+#: templates/sales/sales_list.html:230
msgid "Export"
msgstr "تصدير"
@@ -6318,6 +6368,7 @@ msgstr "لم يتم العثور على ممثلين للشركات."
msgid "Quotation"
msgstr "عرض سعر"
+#: templates/sales/estimates/estimate_detail.html:42
msgid "Send Quotation"
msgstr "إرسال عرض السعر"
@@ -6338,12 +6389,16 @@ msgstr "إنشاء أمر بيع"
msgid "Preview"
msgstr "عرض"
+#: templates/sales/estimates/estimate_detail.html:66
+#: templates/sales/estimates/estimate_list.html:14
msgid "Quotation Number"
msgstr "رقم عرض السعر"
+#: templates/sales/estimates/estimate_detail.html:76
msgid "Quotation Date"
msgstr "تاريخ عرض السعر"
+#: templates/sales/estimates/estimate_detail.html:100
msgid "Quotation Status"
msgstr "حالة عرض السعر"
@@ -6558,9 +6613,11 @@ msgstr "عرض المعالملات"
msgid "No Payments Found"
msgstr "لم يتم العثور على عملية دفع"
+#: templates/sales/sales_list.html:135
msgid "Customer Address"
msgstr "عنوان العميل"
+#: templates/sales/sales_list.html:136
msgid "Customer Phone"
msgstr "هاتف العميل"
@@ -11223,23 +11280,6 @@ msgstr "أحدث الفواتير"
msgid "Go to month:"
msgstr "الذهاب إلى الشهر:"
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_list.html:98
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_list.html:110
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_list.html:76
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_list.html:88
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_list.html:98
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_list.html:110
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_list.html:94
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_list.html:106
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_list.html:100
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_list.html:112
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/ledger_list.html:101
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/ledger_list.html:113
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_list.html:99
-#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_list.html:111
-msgid "All"
-msgstr "الكل"
-
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_list.html:107
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_list.html:85
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/estimate_list.html:107
@@ -12353,57 +12393,92 @@ msgstr "إنشاء مورد جديد"
msgid "Vendor Update"
msgstr "تحديث المورد"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:17
+#, python-format
msgid "%(value)s is not a valid hex color. Format should be #RRGGBB or #RGB"
msgstr "%(value)s ليس لون سداسي عشري صالح. يجب أن يكون التنسيق #RRGGBB أو #RGB"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:53
+#, fuzzy
+#| msgid "Invoice Configuration"
+msgid "Name of this configuration"
+msgstr "تكوين الفاتورة"
+
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:57
msgid "Only one configuration can be active at a time"
msgstr "يمكن أن يكون هناك تكوين نشط واحد فقط في كل مرة"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:64
msgid "Number of items to display per page"
msgstr "عدد العناصر التي سيتم عرضها لكل صفحة"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:69
msgid "Page margin in millimeters"
msgstr "هامش الصفحة بالمليمترات"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:77
+#, fuzzy
+#| msgid "Request next available slot"
+msgid "Select font from available system fonts"
+msgstr "طلب الفترة الزمنية المتاحة التالية"
+
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:82
msgid "Font size for headers"
msgstr "حجم الخط للعناوين"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:87
msgid "Font size for table content"
msgstr "حجم الخط لمحتوى الجدول"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:93
msgid "Logo to display on PDF"
msgstr "الشعار المعروض في ملف PDF"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:99
msgid "Header background color (hex format, e.g. #F0F0F0)"
msgstr "لون خلفية العنوان (تنسيق سداسي عشري، مثل #F0F0F0)"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:103
msgid "Grid line color (hex format, e.g. #000000)"
msgstr "لون خطوط الشبكة (تنسيق سداسي عشري، مثل #000000)"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:108
msgid "Grid line width in points"
msgstr "عرض خطوط الشبكة بالنقاط"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:114
msgid "Display the header with model name"
msgstr "عرض العنوان مع اسم النموذج"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:118
msgid "Display the logo in the PDF"
msgstr "عرض الشعار في ملف PDF"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:122
msgid "Display export timestamp"
msgstr "عرض الطابع الزمني للتصدير"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:126
msgid "Display page numbers"
msgstr "عرض أرقام الصفحات"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:133
msgid "Spacing between table cells in millimeters"
msgstr "المسافة بين خلايا الجدول بالمليمترات"
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:138
msgid "Maximum characters per line before wrapping"
msgstr "الحد الأقصى لعدد الأحرف في السطر قبل الانتقال إلى سطر جديد"
-msgid "There can only be one active configuration. Please deactivate the current active configuration first."
-msgstr "يمكن أن يكون هناك تكوين نشط واحد فقط. يرجى إلغاء تنشيط التكوين الحالي أولاً."
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:152
+msgid ""
+"There can only be one active configuration. Please deactivate the current "
+"active configuration first."
+msgstr ""
+"يمكن أن يكون هناك تكوين نشط واحد فقط. يرجى إلغاء تنشيط التكوين الحالي أولاً."
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:156
+#: venv/lib/python3.11/site-packages/django_pdf_actions/models.py:157
msgid "Export PDF Settings"
msgstr "إعدادات تصدير PDF"
diff --git a/templates/inventory/car_list_view.html b/templates/inventory/car_list_view.html
index 3cd5674c..2b1051f3 100644
--- a/templates/inventory/car_list_view.html
+++ b/templates/inventory/car_list_view.html
@@ -60,32 +60,32 @@
- {{car.id_car_trim.get_local_name|default:car.id_ca_trim.name }}
+ {{car.id_car_trim }}
|
{{car.vin}}
|