diff --git a/inventory/utils.py b/inventory/utils.py index f0d99e69..cabfb161 100644 --- a/inventory/utils.py +++ b/inventory/utils.py @@ -2417,9 +2417,9 @@ def force_regenerate_car_image(car): class CarImageAPIClient: """Simple client to handle authenticated requests to the car image API""" - BASE_URL = "http://127.0.0.1:8888" - USERNAME = "ismail.mosa.ibrahim@gmail.com" - PASSWORD = "Supremk4!" + BASE_URL = "http://10.10.1.111:8888" + USERNAME = "faheed" + PASSWORD = "Tenhal@123" def __init__(self): self.session = None diff --git a/inventory/views.py b/inventory/views.py index 3808cddc..90d0efe2 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -6328,6 +6328,7 @@ def lead_create(request, dealer_slug): qs = form.fields["id_car_make"].queryset.filter( is_sa_import=True, pk__in=dealer_make_list ) + # print(qs) form.fields["staff"].queryset = ( form.fields["staff"] .queryset.select_related("user") @@ -6346,10 +6347,12 @@ def lead_create(request, dealer_slug): form.fields["staff"].queryset = models.Staff.objects.filter( dealer=dealer, pk=request.staff.pk ) + qs = qs.order_by("name") form.fields["id_car_make"].queryset = qs form.fields["id_car_make"].choices = [ (obj.id_car_make, obj.get_local_name()) for obj in qs - ] + ] + if first_make := qs.first(): form.fields["id_car_model"].queryset = first_make.carmodel_set.all() @@ -8435,7 +8438,7 @@ class FiscalYearIncomeStatementViewBase( """ template_name = "ledger/reports/income_statement.html" - permission_required = ["inventory.view_carfinance"] + permission_required = ["django_ledger.view_ledgermodel"] def get_login_url(self): return reverse("account_login") @@ -8574,7 +8577,7 @@ class FiscalYearCashFlowStatementViewBase( """ template_name = "ledger/reports/cash_flow_statement.html" - permission_required = ["inventory.view_carfinance"] + permission_required = ["django_ledger.view_ledgermodel"] def get_login_url(self): return reverse("account_login") @@ -8763,7 +8766,7 @@ class FiscalYearEntityModelDashboardView( :type permission_required: list """ - permission_required = ["inventory.view_carfinance"] + permission_required = ["django_ledger.view_ledgermodel"] def get_login_url(self): return reverse("account_login") @@ -11433,6 +11436,10 @@ def create_ticket(request,dealer_slug): def ticket_list(request,dealer_slug): dealer= get_object_or_404(models.Dealer, slug=dealer_slug) tickets = models.Ticket.objects.filter(dealer=dealer).order_by('-created_at') + query=request.GET.get('q') + if query: + tickets=tickets.filter(Q(id__icontains=query)| Q(subject__icontains=query)) + return render(request, 'support/ticket_list.html', {'tickets': tickets}) @login_required diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo index eac3fe5e..74dbaf67 100644 Binary files a/locale/ar/LC_MESSAGES/django.mo and b/locale/ar/LC_MESSAGES/django.mo differ diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po index a0951ff0..b96631a0 100644 --- a/locale/ar/LC_MESSAGES/django.po +++ b/locale/ar/LC_MESSAGES/django.po @@ -20,20 +20,7 @@ msgstr "" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: api/models.py:6 inventory/models.py:536 inventory/tables.py:51 -#: templates/inventory/car_detail.html:87 templates/inventory/car_form.html:45 -#: templates/inventory/car_form.html:51 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:30 -#: templates/inventory/car_inventory.html:65 -#: templates/inventory/car_list.html:72 templates/inventory/car_list.html:78 -#: templates/inventory/car_list_view.html:172 -#: templates/inventory/cars_list_api.html:32 -#: templates/inventory/transfer_details.html:89 -#: templates/sales/estimates/estimate_detail.html:234 -#: templates/sales/estimates/sale_order_form.html:123 -#: templates/sales/estimates/sale_or ils.html:503 -msgid "VIN" -msgstr "رقم الهيكل" + #: api/views.py:146 inventory/views.py:726 msgid "Invalid VIN number provided" @@ -560,29 +547,11 @@ msgstr "المعرض" #: templates/bill/tags/bill_table.html:12 #: templates/inventory/car_detail.html:128 #: templates/inventory/car_form.html:155 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:136 -#: templates/ledger/bills/bill_list.html:50 -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:364 -#: venv/lib/python3.11/site-packages/django_ledger/models/vendor.py:191 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_table.html:12 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:10 -msgid "Vendor" -msgstr "المورد" + #: inventory/forms.py:1952 inventory/models.py:563 inventory/tables.py:54 #: templates/inventory/car_form.html:77 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:55 -#: templates/inventory/car_inventory.html:67 -#: templates/inventory/car_list_view.html:124 -#: templates/inventory/car_list_view.html:175 -#: templates/ledger/reports/components/period_navigator.html:21 -#: templates/sales/estimates/estimate_detail.html:193 -#: templates/sales/estimates/sale_order_form.html:128 -#: templates/sales/estimates/sale_order_preview.html:181 -#: templates/sales/invoices/invoice_detail.html:240 -#: templates/sales/orders/order_details.html:198 -msgid "Year" -msgstr "السنة" + #: inventory/forms.py:2050 inventory/tables.py:68 #: templates/inventory/car_inventory.html:70 @@ -594,12 +563,7 @@ msgstr "اللون الخارجي" msgid "Interior Color" msgstr "اللون الداخلي" -#: inventory/forms.py:1969 inventory/models.py:594 -#: templates/inventory/car_detail.html:123 -#: templates/inventory/car_form.html:188 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:168 -msgid "Receiving Date" -msgstr "تاريخ الاستلام" + #: inventory/forms.py:2069 msgid "File is not a CSV file" @@ -698,11 +662,7 @@ msgstr "دراجات الثلج" msgid "logo" msgstr "الشعار" -#: inventory/models.py:301 inventory/models.py:570 inventory/tables.py:55 -#: templates/inventory/car_form.html:111 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:100 -msgid "Series" -msgstr "السلسلة" + #: inventory/models.py:391 msgid "Equipment" @@ -884,30 +844,7 @@ msgstr "الخدمات الإضافية" msgid "Item Model" msgstr "نموذج العنصر" -#: inventory/models.py:590 inventory/tables.py:50 -#: templates/inventory/car_detail.html:115 -#: templates/inventory/car_form.html:166 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:147 -#: templates/inventory/car_list.html:185 -msgid "Stock Type" -msgstr "نوع المخزون" -#: inventory/models.py:592 inventory/models.py:742 -#: templates/inventory/car_detail.html:133 -#: templates/inventory/car_form.html:199 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:181 -#: templates/inventory/car_list.html:211 -msgid "Remarks" -msgstr "ملاحظات" - -#: inventory/models.py:593 inventory/tables.py:57 -#: templates/inventory/car_detail.html:119 -#: templates/inventory/car_form.html:177 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:157 -#: templates/inventory/car_list.html:197 templates/inventory/car_list.html:203 -#: templates/sales/orders/order_details.html:206 -msgid "Mileage" -msgstr "عدد الكيلومترات" #: inventory/models.py:596 msgid "Hash" @@ -1592,12 +1529,7 @@ msgstr "الراتب" msgid "Priority" msgstr "الأولوية" -#: inventory/models.py:1939 -#: templates/crm/opportunities/opportunity_detail.html:179 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:78 -#: templates/crm/opportunities/partials/opportunity_grid.html:81 -msgid "Expected Revenue" -msgstr "الإيرادات المتوقعة" + #: inventory/models.py:2192 msgid "Unique slug for the opportunity." @@ -1609,13 +1541,7 @@ msgstr "المُعرّف الفريد للفرصة (slug)." msgid "Opportunity" msgstr "فرصة" -#: inventory/models.py:2011 templates/crm/leads/lead_detail.html:170 -#: templates/crm/leads/lead_detail.html:254 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:8 -#: templates/crm/opportunities/opportunity_list.html:4 -#: templates/crm/opportunities/opportunity_list.html:8 -msgid "Opportunities" -msgstr "الفرص" + #: inventory/models.py:2276 inventory/models.py:2284 #: templates/account/snippets/already_logged_in.html:7 @@ -2059,10 +1985,6 @@ msgstr "مصروفات الفائدة" msgid "success" msgstr "ناجحة" -#: inventory/utils.py:80 templates/inventory/car_form.html:397 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:381 -msgid "error" -msgstr "خطأ" #: inventory/utils.py:96 templates/account/login.html:68 #: templates/account/password_change.html:38 @@ -3246,17 +3168,7 @@ msgstr "يرجى إدخال رقم هاتف صالح" msgid "Password does not match" msgstr "كلمة المرور غير متطابقة" -#: templates/account/signup-wizard.html:252 -#: templates/inventory/car_form.html:628 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:608 -msgid "Please Wait" -msgstr "الرجاء الإنتظار" -#: templates/account/signup-wizard.html:253 -#: templates/inventory/car_form.html:629 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:609 -msgid "Loading" -msgstr "تحميل" #: templates/account/signup.html:28 msgid "Sign up using a passkey" @@ -3666,65 +3578,6 @@ msgstr "تاريخ الانتهاء" msgid "Confirm Deletion" msgstr "تأكيد الحذف" -#: templates/administration/manage_service.html:12 -#: templates/administration/service_list.html:13 -#: templates/administration/staff_index.html:79 -#: templates/administration/user_profile.html:18 -#: templates/bill/tags/bill_item_formset.html:41 -#: templates/crm/leads/lead_list.html:89 templates/crm/leads/lead_list.html:226 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:28 -#: templates/customers/view_customer.html:23 -#: templates/groups/group_detail.html:109 -#: templates/ledger/bank_accounts/bank_account_detail.html:63 -#: templates/ledger/coa_accounts/account_detail.html:144 -#: templates/ledger/coa_accounts/partials/account_table.html:45 -#: templates/ledger/journal_entry/journal_entry_delete.html:19 -#: templates/ledger/journal_entry/journal_entry_list.html:102 -#: templates/ledger/ledger/ledger_delete.html:19 -#: templates/ledger/ledger/ledger_list.html:110 -#: templates/modal/delete_modal.html:12 templates/modal/delete_modal.html:26 -#: templates/modal/event_details_modal.html:33 -#: templates/organizations/organization_detail.html:19 -#: templates/organizations/organization_list.html:123 -#: templates/plans/billing_info_create_or_update.html:14 -#: templates/purchase_orders/includes/card_po.html:205 -#: templates/purchase_orders/includes/po_item_formset.html:26 -#: templates/purchase_orders/po_delete.html:23 -#: templates/representatives/representative_detail.html:16 -#: templates/sales/estimates/estimate_detail.html:29 -#: templates/users/user_detail.html:60 templates/vendors/vendors_list.html:131 -#: templates/vendors/view_vendor.html:39 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/staff_index.html:325 -#: venv/lib/python3.11/site-packages/appointment/templates/administration/user_profile.html:33 -#: venv/lib/python3.11/site-packages/appointment/templates/modal/event_details_modal.html:31 -#: venv/lib/python3.11/site-packages/django/forms/formsets.py:499 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_delete.html:28 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:25 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_delete.html:19 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/includes/card_closing_entry.html:60 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_table.html:46 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/import_job_delete.html:18 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_list_table.html:50 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/entity/entitiy_list.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/entity/entity_delete.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/tags/ce_item_formset.html:25 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_delete.html:24 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:23 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_delete.html:18 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html:88 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/ledger_delete.html:19 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html:131 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/product_delete.html:20 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/product/tags/product_table.html:44 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:103 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:25 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/po_delete.html:24 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/service_delete.html:20 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/service/tags/services_table.html:44 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/tags/uom_table.html:43 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/uom_delete.html:28 -msgid "Delete" -msgstr "حذف" #: templates/administration/manage_service.html:29 #: templates/administration/service_list.html:23 @@ -3924,12 +3777,7 @@ msgstr "أعضاء الفريق" msgid "Add" msgstr "إضافة" -#: templates/administration/staff_list.html:36 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:71 -#: templates/inventory/car_form.html:246 -#: templates/inventory/inventory_stats.html:63 -msgid "Details" -msgstr "التفاصيل" + #: templates/administration/staff_list.html:37 msgid "View Profile" @@ -4391,23 +4239,6 @@ msgstr "المبلغ المدفوع" msgid "Progress" msgstr "التقدم" -#: templates/bill/includes/card_bill.html:64 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:55 -#: templates/inventory/car_list_view.html:258 -#: templates/ledger/bills/bill_list.html:84 -#: templates/ledger/coa_accounts/partials/account_table.html:42 -#: templates/ledger/journal_entry/includes/card_invoice.html:33 -#: templates/ledger/journal_entry/journal_entry_list.html:99 -#: templates/sales/invoices/invoice_list.html:61 -#: templates/sales/sales_list.html:208 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:44 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/entity/entitiy_list.html:20 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:38 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html:85 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:22 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/unit/unit_list.html:32 -msgid "View" -msgstr "عرض" #: templates/bill/includes/card_bill.html:58 #: templates/bill/includes/card_bill.html:207 @@ -4651,17 +4482,6 @@ msgstr "تحديث الإجراءات" msgid "created by" msgstr "تم الإنشاء بواسطة" -#: templates/crm/leads/lead_detail.html:255 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:11 -#: templates/crm/opportunities/opportunity_list.html:83 -msgid "Add Opportunity" -msgstr "إضافة فرصة" - -#: templates/crm/leads/lead_detail.html:264 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:110 -#: templates/crm/opportunities/partials/opportunity_grid.html:104 -msgid "Probability" -msgstr "الاحتمالية" #: templates/crm/leads/lead_detail.html:452 #: templates/crm/opportunities/opportunity_detail.html:624 @@ -4709,28 +4529,6 @@ msgstr "مُعين إلى" msgid "Are you sure you want to delete this lead?" msgstr "هل أنت متأكد أنك تريد حذف هذا العميل المحتمل؟" -#: templates/crm/leads/lead_list.html:97 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:158 -#: templates/groups/group_detail.html:32 -#: templates/inventory/car_detail.html:543 -#: templates/inventory/transfer_details.html:62 -#: templates/ledger/bank_accounts/bank_account_detail.html:31 -#: templates/ledger/bills/bill_detail.html:24 -#: templates/ledger/bills/bill_detail.html:49 -#: templates/ledger/bills/bill_detail.html:121 -#: templates/ledger/coa_accounts/account_detail.html:22 -#: templates/ledger/coa_accounts/account_list.html:123 -#: templates/ledger/journal_entry/journal_entry_list.html:25 -#: templates/organizations/organization_list.html:96 -#: templates/sales/estimates/estimate_detail.html:37 -#: templates/sales/estimates/estimate_detail.html:64 -#: templates/sales/invoices/invoice_detail.html:31 -#: templates/sales/invoices/invoice_detail.html:56 -#: templates/sales/invoices/invoice_detail.html:142 -#: venv/lib/python3.11/site-packages/appointment/models.py:530 -#: venv/lib/python3.11/site-packages/django/forms/widgets.py:867 -msgid "Yes" -msgstr "نعم" #: templates/crm/leads/lead_list.html:159 msgid "In Progress" @@ -4740,23 +4538,7 @@ msgstr "قيد التنفيذ" msgid "View Schedules" msgstr "عرض الجداول" -#: templates/crm/leads/lead_list.html:214 -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:27 -#: templates/dealers/dealer_detail.html:22 -#: templates/groups/group_detail.html:103 -#: templates/inventory/car_detail.html:218 -#: templates/inventory/car_detail.html:276 -#: templates/inventory/car_detail.html:326 -#: templates/ledger/bank_accounts/bank_account_detail.html:57 -#: templates/ledger/coa_accounts/account_detail.html:140 -#: templates/modal/event_details_modal.html:41 -#: templates/organizations/organization_detail.html:26 -#: templates/organizations/organization_list.html:161 -#: templates/representatives/representative_detail.html:22 -#: templates/users/user_detail.html:81 templates/vendors/vendors_list.html:132 -#: templates/vendors/view_vendor.html:34 -msgid "Edit" -msgstr "تحديث" + #: templates/crm/leads/lead_list.html:253 msgid "Convert to Opportunity" @@ -4799,28 +4581,7 @@ msgstr "اختر الإجراء التالي" msgid "No Action" msgstr "لا يوجد إجراء" -#: templates/crm/leads/partials/update_action.html:47 -#: templates/inventory/car_form.html:250 templates/inventory/car_form.html:269 -#: templates/inventory/car_form.html:287 templates/inventory/car_form.html:304 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:229 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:235 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:252 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:270 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:287 -#: templates/modal/confirm_modal.html:11 templates/modal/confirm_modal.html:20 -#: templates/modal/error_modal.html:17 -#: templates/modal/event_details_modal.html:21 -#: templates/partials/scanner_modal.html:6 -#: templates/partials/specifications_modal.html:8 -#: templates/sales/orders/order_details.html:583 -#: templates/sales/orders/order_details.html:587 -#: templates/sales/orders/order_details.html:621 -#: templates/sales/orders/order_details.html:625 -#: venv/lib/python3.11/site-packages/appointment/templates/modal/confirm_modal.html:18 -#: venv/lib/python3.11/site-packages/appointment/templates/modal/error_modal.html:17 -#: venv/lib/python3.11/site-packages/appointment/templates/modal/event_details_modal.html:19 -msgid "Close" -msgstr "إغلاق" + #: templates/crm/notifications.html:17 #: templates/crm/notifications_history.html:14 @@ -4933,44 +4694,7 @@ msgstr "تحديث المرحلة مع تقدم الصفقة" msgid "Set realistic closing dates" msgstr "تحديد تواريخ إغلاق واقعية" -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:89 -msgid "Contact" -msgstr "جهة الاتصال" -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:100 -#: templates/crm/opportunities/partials/opportunity_grid.html:93 -#: venv/lib/python3.11/site-packages/django_ledger/models/closing_entry.py:75 -msgid "Closing Date" -msgstr "تاريخ الإغلاق" - -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:145 -msgid "Delete Opportunity" -msgstr "حذف الفرصة" - -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:152 -msgid "Are you sure you want to delete this opportunity?" -msgstr "هل أنت متأكد أنك تريد حذف هذه الفرصة؟" - -#: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:155 -#: templates/groups/group_detail.html:27 -#: templates/inventory/car_detail.html:577 -#: templates/inventory/car_list_view.html:260 -#: templates/inventory/transfer_details.html:29 -#: templates/inventory/transfer_details.html:60 -#: templates/ledger/bank_accounts/bank_account_detail.html:26 -#: templates/ledger/bills/bill_detail.html:26 -#: templates/ledger/bills/bill_detail.html:59 -#: templates/ledger/bills/bill_detail.html:184 -#: templates/ledger/coa_accounts/account_detail.html:23 -#: templates/ledger/coa_accounts/account_list.html:189 -#: templates/ledger/journal_entry/journal_entry_list.html:34 -#: templates/organizations/organization_list.html:118 -#: templates/sales/estimates/estimate_detail.html:72 -#: templates/sales/invoices/invoice_detail.html:36 -#: templates/sales/invoices/invoice_detail.html:73 -#: templates/sales/invoices/invoice_detail.html:229 -msgid "No" -msgstr "لا" #: templates/crm/opportunities/opportunity_list.html:20 msgid "Search opportunities..." @@ -5811,39 +5535,7 @@ msgstr "هذه السيارة محجوزة حتى " msgid "year" msgstr "السنة" -#: templates/inventory/car_detail.html:95 templates/inventory/car_form.html:87 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:70 -#: templates/inventory/car_list.html:89 -msgid "make" -msgstr "الصانع" -#: templates/inventory/car_detail.html:99 templates/inventory/car_form.html:98 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:83 -#: templates/inventory/car_list.html:107 -msgid "model" -msgstr "الموديل" - -#: templates/inventory/car_detail.html:108 -#: templates/inventory/car_list.html:141 -msgid "series" -msgstr "السلسلة" - -#: templates/inventory/car_detail.html:107 -#: templates/inventory/car_form.html:121 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:117 -#: templates/inventory/car_list.html:151 -msgid "trim" -msgstr "الفئة" - -#: templates/inventory/car_detail.html:137 -#: templates/inventory/car_detail.html:560 -#: templates/inventory/car_form.html:133 templates/inventory/car_form.html:238 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:196 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:225 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:248 -#: templates/inventory/car_list.html:49 templates/inventory/car_list.html:235 -msgid "specifications" -msgstr "المواصفات" #: templates/inventory/car_detail.html:211 #: templates/inventory/car_inventory.html:125 @@ -5976,77 +5668,7 @@ msgstr "مسح رقم الهيكل" msgid "Decode VIN" msgstr "تحليل رقم الهيكل" -#: templates/inventory/car_form.html:96 templates/inventory/car_form.html:109 -#: templates/inventory/car_form.html:119 templates/inventory/car_form.html:279 -#: templates/inventory/car_form.html:468 templates/inventory/car_form.html:485 -#: templates/inventory/car_form.html:486 templates/inventory/car_form.html:508 -#: templates/inventory/car_form.html:527 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:88 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:104 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:121 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:262 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:451 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:468 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:469 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:489 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:508 -#: templates/plans/plan_table.html:120 -msgid "Select" -msgstr "اختيار" -#: templates/inventory/car_form.html:139 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:202 -#: templates/inventory/car_list.html:26 templates/inventory/car_list.html:229 -msgid "options" -msgstr "الخيارات" - -#: templates/inventory/car_form.html:211 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:206 -msgid "Save and Add Another" -msgstr "حفظ وإضافة آخر" - -#: templates/inventory/car_form.html:217 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:210 -msgid "Save and Go to Inventory" -msgstr "حفظ والانتقال إلى المخزون" - -#: templates/inventory/car_form.html:286 -msgid "Options" -msgstr "الخيارات" - -#: templates/inventory/car_form.html:275 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:258 -#: templates/inventory/car_list.html:162 -msgid "equipment" -msgstr "التجهيزات" - -#: templates/inventory/car_form.html:300 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:283 -msgid "scanner" -msgstr "الماسح الضوئي" - -#: templates/inventory/car_form.html:309 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:292 -#: templates/partials/scanner_modal.html:10 -msgid "VIN will appear here." -msgstr "رقم الهيكل سيظهر هنا." - -#: templates/inventory/car_form.html:310 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:293 -#: templates/partials/scanner_modal.html:11 -msgid "Use OCR Fallback" -msgstr "التعرف الآلي على الحروف" - -#: templates/inventory/car_form.html:379 templates/inventory/car_form.html:380 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:363 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:364 -msgid "Please enter a valid VIN." -msgstr "الرجاء إدخال رقم هيكل صالح مكون من 17 حرفًا." - -#: templates/inventory/car_form.html:402 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:386 -msgid "An error occurred while decoding the VIN." -msgstr "حدث خطأ أثناء فك تشفير الهيكل" #: templates/inventory/car_history.html:24 msgid "History" diff --git a/static/images/car_images/009e22d9248cbe248ebdeec5a9eca611685a010e7231b9d8ff3eed7ef69578c1.png b/static/images/car_images/009e22d9248cbe248ebdeec5a9eca611685a010e7231b9d8ff3eed7ef69578c1.png new file mode 100644 index 00000000..91612667 Binary files /dev/null and b/static/images/car_images/009e22d9248cbe248ebdeec5a9eca611685a010e7231b9d8ff3eed7ef69578c1.png differ diff --git a/static/images/car_images/26ed2a3da637ef1d2311b7d9669ac114e6fb0e3bb6a95ca869ddfbef25d276a8.png b/static/images/car_images/26ed2a3da637ef1d2311b7d9669ac114e6fb0e3bb6a95ca869ddfbef25d276a8.png new file mode 100644 index 00000000..f2027520 Binary files /dev/null and b/static/images/car_images/26ed2a3da637ef1d2311b7d9669ac114e6fb0e3bb6a95ca869ddfbef25d276a8.png differ diff --git a/static/images/car_images/48ddd3296f1d67086048962de55ac90c1d9947366a18043174310b159a0ccdda.png b/static/images/car_images/48ddd3296f1d67086048962de55ac90c1d9947366a18043174310b159a0ccdda.png new file mode 100644 index 00000000..19f4ce00 Binary files /dev/null and b/static/images/car_images/48ddd3296f1d67086048962de55ac90c1d9947366a18043174310b159a0ccdda.png differ diff --git a/static/images/car_images/534ccd6b97e583b70543209caaf576527c919392e734930c122e85abacbd0342.png b/static/images/car_images/534ccd6b97e583b70543209caaf576527c919392e734930c122e85abacbd0342.png new file mode 100644 index 00000000..71b7ad54 Binary files /dev/null and b/static/images/car_images/534ccd6b97e583b70543209caaf576527c919392e734930c122e85abacbd0342.png differ diff --git a/static/images/car_images/f7c768a47ae0e98b0ade3aa5774c1cb5196f843c2f007d1f2596621fb07b9de5.png b/static/images/car_images/f7c768a47ae0e98b0ade3aa5774c1cb5196f843c2f007d1f2596621fb07b9de5.png new file mode 100644 index 00000000..775fce04 Binary files /dev/null and b/static/images/car_images/f7c768a47ae0e98b0ade3aa5774c1cb5196f843c2f007d1f2596621fb07b9de5.png differ diff --git a/static/images/car_images/f7c768a47ae0e98b0ade3aa5774c1cb5196f843c2f007d1f2596621fb07b9de5_8INzwoS.png b/static/images/car_images/f7c768a47ae0e98b0ade3aa5774c1cb5196f843c2f007d1f2596621fb07b9de5_8INzwoS.png new file mode 100644 index 00000000..1dca9f3b Binary files /dev/null and b/static/images/car_images/f7c768a47ae0e98b0ade3aa5774c1cb5196f843c2f007d1f2596621fb07b9de5_8INzwoS.png differ diff --git a/static/images/logos/users/Gemini_Generated_Image_wf3w0uwf3w0uwf3w_pGlJONy.png b/static/images/logos/users/Gemini_Generated_Image_wf3w0uwf3w0uwf3w_pGlJONy.png new file mode 100644 index 00000000..0b4f99a9 Binary files /dev/null and b/static/images/logos/users/Gemini_Generated_Image_wf3w0uwf3w0uwf3w_pGlJONy.png differ diff --git a/templates/account/user_settings.html b/templates/account/user_settings.html index 2ca24266..0700d665 100644 --- a/templates/account/user_settings.html +++ b/templates/account/user_settings.html @@ -3,52 +3,45 @@ {% load i18n static %} {% load allauth account %} {% block title %} - {% trans 'User Settings' %} + {% trans 'Dealer Settings' %} {% endblock %} {% block content %} - - -
- -
-
-
-

- Dealer Settings - -

+
+
+
+
+

+ {% trans "Dealer Settings" %} + +

-
-
- {% csrf_token %} -
-
-
-
-

{% trans 'Default Invoice Accounts' %}

-
{{ form.invoice_cash_account|as_crispy_field }}
-
{{ form.invoice_prepaid_account|as_crispy_field }}
-
{{ form.invoice_unearned_account|as_crispy_field }}
-
-
-
-
-

{% trans 'Default Bill Accounts' %}

-
{{ form.bill_cash_account|as_crispy_field }}
-
{{ form.bill_prepaid_account|as_crispy_field }}
-
{{ form.bill_unearned_account|as_crispy_field }}
-
-
-
-
- -
-
-
-
-
- +
+
+ {% csrf_token %} +
+
+

{% trans 'Default Invoice Accounts' %}

+ {{ form.invoice_cash_account|as_crispy_field }} + {{ form.invoice_prepaid_account|as_crispy_field }} + {{ form.invoice_unearned_account|as_crispy_field }} +
+
+

{% trans 'Default Bill Accounts' %}

+ {{ form.bill_cash_account|as_crispy_field }} + {{ form.bill_prepaid_account|as_crispy_field }} + {{ form.bill_unearned_account|as_crispy_field }} +
+
+
+
+ +
+
-{% endblock %} +
+{% endblock %} \ No newline at end of file diff --git a/templates/bill/bill_create.html b/templates/bill/bill_create.html index 6023dbe2..e86a5929 100644 --- a/templates/bill/bill_create.html +++ b/templates/bill/bill_create.html @@ -8,50 +8,46 @@ {% endblock title %} {% block content %} - - -
- -
-
-
-

- {% trans 'Create Bill' %} -

+
+
+
+
+

+ {% trans 'Create Bill' %} + +

-
- -
-
- - {% csrf_token %} - {% if po_model %} -
-

{% trans 'Bill for' %} {{ po_model.po_number }}

-

{% trans 'Bill for' %} {{ po_model.po_title }}

-
- {% for itemtxs in po_itemtxs_qs %} - {{ itemtxs }} - {% endfor %} -
+
+ + {% csrf_token %} + {% if po_model %} +
+

{% trans 'Bill for' %} {{ po_model.po_number }}

+

{% trans 'Bill for' %} {{ po_model.po_title }}

+
+ {% for itemtxs in po_itemtxs_qs %} + {{ itemtxs }} + {% endfor %}
- {% endif %} - -
- {{ form|crispy }}
-
-
- - {% trans "Cancel" %} -
+ {% endif %} +
+ {{ form|crispy }} +
+
+
+ + + + {% trans "Cancel" %} +
- - -
- -{% endblock %} +
+{% endblock %} \ No newline at end of file diff --git a/templates/chart_of_accounts/coa_create.html b/templates/chart_of_accounts/coa_create.html index f5c9bd26..98dc4f2b 100644 --- a/templates/chart_of_accounts/coa_create.html +++ b/templates/chart_of_accounts/coa_create.html @@ -1,54 +1,59 @@ {% extends 'base.html' %} -{% load i18n %} -{% load static %} +{% load i18n static %} {% load django_ledger %} {% load widget_tweaks %} {% block content %} -
-
-
-

{% trans 'Create Chart of Accounts' %}

+
+
+
+
+

+ {% trans 'Create Chart of Accounts' %} + +

-
-
-
-
- {% csrf_token %} - - {# Bootstrap form rendering #} -
- {{ form.name.label_tag }} - {{ form.name|add_class:"form-control" }} - {% if form.name.help_text %} - {{ form.name.help_text }} - {% endif %} - {% for error in form.name.errors %} -
{{ error }}
- {% endfor %} -
-
- {{ form.description.label_tag }} - {{ form.description|add_class:"form-control" }} - {% if form.description.help_text %} - {{ form.description.help_text }} - {% endif %} - {% for error in form.description.errors %} -
{{ error }}
- {% endfor %} -
- - - -
+
+
+ {% csrf_token %} + + {# Bootstrap form rendering #} +
+ {{ form.name.label_tag }} + {{ form.name|add_class:"form-control" }} + {% if form.name.help_text %} + {{ form.name.help_text }} + {% endif %} + {% for error in form.name.errors %} +
{{ error }}
+ {% endfor %}
-
+
+ {{ form.description.label_tag }} + {{ form.description|add_class:"form-control" }} + {% if form.description.help_text %} + {{ form.description.help_text }} + {% endif %} + {% for error in form.description.errors %} +
{{ error }}
+ {% endfor %} +
+ +
+
+ + + + {% trans 'Cancel' %} + +
+
+
{% endblock %} \ No newline at end of file diff --git a/templates/crm/leads/lead_form.html b/templates/crm/leads/lead_form.html index 81f4c744..156527cc 100644 --- a/templates/crm/leads/lead_form.html +++ b/templates/crm/leads/lead_form.html @@ -1,5 +1,6 @@ {% extends 'base.html' %} {% load i18n static crispy_forms_filters %} + {% block title %} {% if object %} {% trans 'Update Lead' %} @@ -7,6 +8,7 @@ {% trans 'Add New Lead' %} {% endif %} {% endblock %} + {% block customcss %} {% endblock customcss %} + {% block content %} -
-
-
-
-

- {% if object %} - {{ _("Update Lead") }} - {% else %} - {{ _("Create New Lead") }} - {% endif %} -
  • -

    -
    -
    -
    - {% csrf_token %} - {{ form|crispy }} -
    -
    - - - - {% trans "Cancel" %} - -
    -
    -
    +
    +
    +
    +
    +

    + {% if object %} + {% trans "Update Lead" %} + + {% else %} + {% trans "Create New Lead" %} + + {% endif %} +

    +
    +
    +
    + {% csrf_token %} + {{ form|crispy }} + +
    +
    + + + + {% trans "Cancel" %} + +
    +
    - -{% endblock %} +
    +{% endblock %} \ No newline at end of file diff --git a/templates/customers/customer_form.html b/templates/customers/customer_form.html index a39d3a8d..1ac13742 100644 --- a/templates/customers/customer_form.html +++ b/templates/customers/customer_form.html @@ -1,42 +1,60 @@ {% extends "base.html" %} {% load i18n static %} {% load crispy_forms_filters %} + {% block title %} - {# Check if an 'object' exists in the context #} {% if object %} {% trans 'Update Customer' %} {% else %} {% trans 'Add New Customer' %} {% endif %} {% endblock %} + {% block content %} -
    -
    -
    -
    -

    - {% if customer.created %} - {{ _("Edit Customer") }} - {% else %} - {{ _("Add Customer") }} - {% endif %} - -

    -
    -
    -
    - {% csrf_token %} - {{ form|crispy }} -
    -
    - - {% trans "Cancel" %} +
    +
    +
    +
    +

    + {% if object %} + {% trans "Update Customer" %} + + {% else %} + {% trans "Add New Customer" %} + + {% endif %} +

    +
    +
    + + {% csrf_token %} + {{ form|crispy }} + + {% if form.errors %} + - -
    + {% endif %} + +
    +
    + + + + {% trans "Cancel" %} + +
    +
    - {% endblock %} +
    + +{% endblock %} \ No newline at end of file diff --git a/templates/dealers/dealer_form.html b/templates/dealers/dealer_form.html index ee103d98..9c2f36d5 100644 --- a/templates/dealers/dealer_form.html +++ b/templates/dealers/dealer_form.html @@ -5,32 +5,34 @@ {{ _("Update Dealer Information") }} {% endblock title %} {% block content %} - - -
    - -
    -
    -
    -

    - {{ _("Update Dealer Information") }} -

    +
    +
    +
    +
    +

    + {{ _("Update Dealer Information") }} + +

    -
    - +
    - {% csrf_token %} - {{ form|crispy }} -
    + {% csrf_token %} + {{ form|crispy }} +
    - - {% trans "Cancel" %} + + + + {% trans "Cancel" %} +
    - -
    - -{% endblock %} +
    +{% endblock %} \ No newline at end of file diff --git a/templates/groups/group_form.html b/templates/groups/group_form.html index c6b5574d..973268c3 100644 --- a/templates/groups/group_form.html +++ b/templates/groups/group_form.html @@ -2,7 +2,7 @@ {% load i18n %} {% load crispy_forms_filters %} {% block title %} - {# Check if an 'object' exists in the context #} + {# Check if an 'object' exists in the context #} {% if object %} {% trans 'Update Group' %} {% else %} @@ -10,41 +10,49 @@ {% endif %} {% endblock %} {% block content %} - - -
    -
    -
    -
    -

    - {% if staff.created %} - {{ _("Edit Group") }} - {% else %} - {{ _("Create Group") }} - {% endif %} - -

    +
    +
    +
    +
    +

    + {% if object %} + {% trans "Update Group" %} + + {% else %} + {% trans "Create Group" %} + + {% endif %} +

    -
    - -
    +
    + {% csrf_token %} {{ redirect_field }} {{ form|crispy }} - {% for error in form.errors %} -
    {{ error }}
    - {% endfor %} -
    -
    - - {% trans "Cancel" %} + {% if form.errors %} + + {% endif %} + +
    +
    + + + {% trans "Cancel" %} +
    - -
    - -{% endblock %} +
    +{% endblock %} \ No newline at end of file diff --git a/templates/groups/group_list.html b/templates/groups/group_list.html index 85110d8a..519f6d2c 100644 --- a/templates/groups/group_list.html +++ b/templates/groups/group_list.html @@ -6,62 +6,70 @@ {% trans "Groups" %} {% endblock title %} {% block content %} - -{% if groups or request.GET.q%} -
    -
    -
    -
    -
    +
    +
    + {% if groups or request.GET.q %} +
    +
    +
    {% trans "Groups" %}
    +
    {% trans "Add Group" %} + class="btn btn-phoenix-primary"> + + {% trans "Add Group" %} + {% trans "Back to Staffs" %} + class="btn btn-phoenix-secondary"> + {% trans "Back to Staffs" %} +
    -
    -
    - - - - - - - - - - - {% for group in groups %} - - - - - - - {% endfor %} - -
    {% trans 'name'|capfirst %}{% trans 'total Users'|capfirst %}{% trans 'total permission'|capfirst %}{% trans 'actions'|capfirst %}
    {{ group.name }} - {{ group.users.count }} - - {{ group.permissions.count }} - - - - {% trans 'view'|capfirst %} - -
    -
    - {% if page_obj.paginator.num_pages > 1 %} -
    -
    {% include 'partials/pagination.html' %}
    +
    +
    + + + + + + + + + + + {% for group in groups %} + + + + + + + {% endfor %} + +
    {% trans 'name'|capfirst %}{% trans 'total Users'|capfirst %}{% trans 'total permission'|capfirst %}{% trans 'actions'|capfirst %}
    {{ group.name }} + {{ group.users.count }} + + {{ group.permissions.count }} + + + + {% trans 'view'|capfirst %} + +
    +
    - {% endif %} -
    -
    - - {% else %} - {% url "group_create" request.dealer.slug as create_group_url %} - {% include "empty-illustration-page.html" with value="group" url=create_group_url %} - {% endif %} -{% endblock %} + {% if page_obj.paginator.num_pages > 1 %} + + {% endif %} +
    + {% else %} + {% url "group_create" request.dealer.slug as create_group_url %} + {% include "empty-illustration-page.html" with value="group" url=create_group_url %} + {% endif %} +
    + +{% endblock %} \ No newline at end of file diff --git a/templates/header.html b/templates/header.html index 82b8ca99..ac2e446b 100644 --- a/templates/header.html +++ b/templates/header.html @@ -3,10 +3,10 @@