first commit
This commit is contained in:
parent
6b3367fa29
commit
5371042919
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -161,3 +161,7 @@ class CarRegistrationForm(forms.ModelForm):
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class VendorForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = Vendor
|
||||||
|
exclude = ['dealer']
|
||||||
|
|||||||
@ -376,72 +376,72 @@ class Customer(models.Model):
|
|||||||
return f"{self.first_name}{middle} {self.last_name}"
|
return f"{self.first_name}{middle} {self.last_name}"
|
||||||
|
|
||||||
|
|
||||||
# # Create Entity
|
# Create Entity
|
||||||
# @receiver(post_save, sender=Dealer)
|
@receiver(post_save, sender=Dealer)
|
||||||
# def create_ledger_entity(sender, instance, created, **kwargs):
|
def create_ledger_entity(sender, instance, created, **kwargs):
|
||||||
# if created:
|
if created:
|
||||||
# entity = EntityModel.objects.create(
|
entity = EntityModel.objects.create(
|
||||||
# name=instance.name,
|
name=instance.name,
|
||||||
# admin=instance.user,
|
admin=instance.user,
|
||||||
# address_1=instance.address,
|
address_1=instance.address,
|
||||||
# fy_start_month=1,
|
fy_start_month=1,
|
||||||
# accrual_method=True,
|
accrual_method=True,
|
||||||
# depth=0,
|
depth=0,
|
||||||
# )
|
)
|
||||||
#
|
|
||||||
# default_coa = entity.create_chart_of_accounts(assign_as_default=True,
|
default_coa = entity.create_chart_of_accounts(assign_as_default=True,
|
||||||
# commit=True,
|
commit=True,
|
||||||
# coa_name=_("Chart of Accounts"))
|
coa_name=_("Chart of Accounts"))
|
||||||
# if default_coa:
|
if default_coa:
|
||||||
# entity.populate_default_coa(activate_accounts=True, coa_model=default_coa)
|
entity.populate_default_coa(activate_accounts=True, coa_model=default_coa)
|
||||||
# print(f"Ledger entity created for Dealer: {instance.name}")
|
print(f"Ledger entity created for Dealer: {instance.name}")
|
||||||
#
|
|
||||||
#
|
|
||||||
# # # Create Vendor
|
# # Create Vendor
|
||||||
# @receiver(post_save, sender=Vendor)
|
@receiver(post_save, sender=Vendor)
|
||||||
# def create_ledger_vendor(sender, instance, created, **kwargs):
|
def create_ledger_vendor(sender, instance, created, **kwargs):
|
||||||
#
|
|
||||||
# if created:
|
if created:
|
||||||
# entity = EntityModel.objects.filter(name=instance.dealer.name).first()
|
entity = EntityModel.objects.filter(name=instance.dealer.name).first()
|
||||||
#
|
|
||||||
# vendor = VendorModel.objects.create(
|
vendor = VendorModel.objects.update_or_create(
|
||||||
# entity_model=entity,
|
entity_model=entity,
|
||||||
# vendor_name=instance.name,
|
vendor_name=instance.name,
|
||||||
# vendor_number=instance.crn,
|
vendor_number=instance.crn,
|
||||||
# address_1=instance.address,
|
address_1=instance.address,
|
||||||
# phone=instance.phone_number,
|
phone=instance.phone_number,
|
||||||
# tax_id_number=instance.vrn,
|
tax_id_number=instance.vrn,
|
||||||
# active=True,
|
active=True,
|
||||||
# hidden=False,
|
hidden=False,
|
||||||
# additional_info={
|
additional_info={
|
||||||
# "arabic_name": instance.arabic_name,
|
"arabic_name": instance.arabic_name,
|
||||||
# "contact_person": instance.contact_person,
|
"contact_person": instance.contact_person,
|
||||||
# },
|
},
|
||||||
# )
|
)
|
||||||
#
|
|
||||||
# print(f"VendorModel created for Vendor: {instance.name}")
|
print(f"VendorModel created for Vendor: {instance.name}")
|
||||||
#
|
|
||||||
#
|
|
||||||
# @receiver(post_save, sender=Customer)
|
@receiver(post_save, sender=Customer)
|
||||||
# def create_customer(sender, instance, created, **kwargs):
|
def create_customer(sender, instance, created, **kwargs):
|
||||||
#
|
|
||||||
# if created:
|
if created:
|
||||||
# entity = EntityModel.objects.filter(name=instance.dealer.name).first()
|
entity = EntityModel.objects.filter(name=instance.dealer.name).first()
|
||||||
# name = f"{instance.first_name} {instance.middle_name} {instance.last_name}"
|
name = f"{instance.first_name} {instance.middle_name} {instance.last_name}"
|
||||||
#
|
|
||||||
# customer = CustomerModel.objects.create(
|
customer = CustomerModel.objects.create(
|
||||||
# entity_model=entity,
|
entity_model=entity,
|
||||||
# customer_name=name,
|
customer_name=name,
|
||||||
# customer_number=instance.national_id,
|
customer_number=instance.national_id,
|
||||||
# address_1=instance.address,
|
address_1=instance.address,
|
||||||
# phone=instance.phone_number,
|
phone=instance.phone_number,
|
||||||
# email=instance.email,
|
email=instance.email,
|
||||||
# sales_tax_rate=0.15,
|
sales_tax_rate=0.15,
|
||||||
# )
|
)
|
||||||
#
|
|
||||||
# print(f"Customer created: {name}")
|
print(f"Customer created: {name}")
|
||||||
#
|
|
||||||
#
|
|
||||||
# # Create Item
|
# # Create Item
|
||||||
# @receiver(post_save, sender=Car)
|
# @receiver(post_save, sender=Car)
|
||||||
# def create_item_model(sender, instance, created, **kwargs):
|
# def create_item_model(sender, instance, created, **kwargs):
|
||||||
|
|||||||
@ -35,6 +35,13 @@ urlpatterns = [
|
|||||||
path('customers/create/', views.CustomerCreateView.as_view(), name='customer_create'),
|
path('customers/create/', views.CustomerCreateView.as_view(), name='customer_create'),
|
||||||
path('customers/<int:pk>/update/', views.CustomerUpdateView.as_view(), name='customer_update'),
|
path('customers/<int:pk>/update/', views.CustomerUpdateView.as_view(), name='customer_update'),
|
||||||
path('customers/<int:pk>/delete/', views.delete_customer, name='customer_delete'),
|
path('customers/<int:pk>/delete/', views.delete_customer, name='customer_delete'),
|
||||||
|
# Vendor URLs
|
||||||
|
path('vendors', views.VendorListView.as_view(), name='vendor_list'),
|
||||||
|
path('vendors/<int:pk>/', views.VendorDetailView.as_view(), name='vendor_detail'),
|
||||||
|
path('vendors/create/', views.VendorCreateView.as_view(), name='vendor_create'),
|
||||||
|
path('vendors/<int:pk>/update/', views.VendorUpdateView.as_view(), name='vendor_update'),
|
||||||
|
path('vendors/<int:pk>/delete/', views.delete_vendor, name='vendor_delete'),
|
||||||
|
|
||||||
|
|
||||||
# Car URLs
|
# Car URLs
|
||||||
path('cars/inventory/<int:make_id>/<int:model_id>/<int:trim_id>/',
|
path('cars/inventory/<int:make_id>/<int:model_id>/<int:trim_id>/',
|
||||||
|
|||||||
@ -724,3 +724,57 @@ def delete_customer(request, pk):
|
|||||||
messages.success(request, _('Customer deleted successfully.'))
|
messages.success(request, _('Customer deleted successfully.'))
|
||||||
return redirect('customer_list')
|
return redirect('customer_list')
|
||||||
|
|
||||||
|
|
||||||
|
class VendorListView(LoginRequiredMixin, ListView):
|
||||||
|
model = models.Vendor
|
||||||
|
context_object_name = 'vendors'
|
||||||
|
paginate_by = 10
|
||||||
|
template_name = "vendors/vendors_list.html"
|
||||||
|
|
||||||
|
|
||||||
|
class VendorDetailView(LoginRequiredMixin, DetailView):
|
||||||
|
model = models.Vendor
|
||||||
|
template_name = "vendors/view_vendor.html"
|
||||||
|
|
||||||
|
|
||||||
|
class VendorCreateView(LoginRequiredMixin, CreateView):
|
||||||
|
model = models.Vendor
|
||||||
|
form_class = forms.VendorForm
|
||||||
|
template_name = 'vendors/vendor_form.html'
|
||||||
|
success_url = reverse_lazy('vendor_list')
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
if form.is_valid():
|
||||||
|
form.instance.dealer = self.request.user.dealer
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Vendor created successfully.'))
|
||||||
|
return super().form_valid(form)
|
||||||
|
else:
|
||||||
|
return form.errors
|
||||||
|
|
||||||
|
|
||||||
|
class VendorUpdateView(LoginRequiredMixin, UpdateView):
|
||||||
|
model = models.Vendor
|
||||||
|
form_class = forms.VendorForm
|
||||||
|
template_name = 'vendors/vendor_form.html'
|
||||||
|
success_url = reverse_lazy('vendor_list')
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
if form.is_valid():
|
||||||
|
form.instance.dealer = self.request.user.dealer
|
||||||
|
form.save()
|
||||||
|
messages.success(self.request, _('Vendor updated successfully.'))
|
||||||
|
return super().form_valid(form)
|
||||||
|
else:
|
||||||
|
return form.errors
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def delete_vendor(request, pk):
|
||||||
|
vendor = get_object_or_404(models.Vendor, pk=pk)
|
||||||
|
vendor.delete()
|
||||||
|
messages.success(request, _('Vendor deleted successfully.'))
|
||||||
|
return redirect('vendor_list')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-12-06 19:45+0300\n"
|
"POT-Creation-Date: 2024-12-08 16:18+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -20,7 +20,7 @@ msgstr ""
|
|||||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||||
|
|
||||||
#: api/models.py:6 inventory/models.py:122
|
#: api/models.py:6 inventory/models.py:122
|
||||||
#: templates/inventory/car_detail.html:44 templates/inventory/car_form.html:83
|
#: templates/inventory/car_detail.html:61 templates/inventory/car_form.html:83
|
||||||
#: templates/inventory/car_inventory.html:40
|
#: templates/inventory/car_inventory.html:40
|
||||||
#: templates/inventory/car_list.html:67 templates/inventory/car_list.html:69
|
#: templates/inventory/car_list.html:67 templates/inventory/car_list.html:69
|
||||||
msgid "VIN"
|
msgid "VIN"
|
||||||
@ -34,7 +34,12 @@ msgstr "الإنجليزية"
|
|||||||
msgid "Arabic"
|
msgid "Arabic"
|
||||||
msgstr "العربية"
|
msgstr "العربية"
|
||||||
|
|
||||||
#: inventory/models.py:30 templates/vendors/vendors_list.html:30
|
#: inventory/forms.py:147 inventory/models.py:284
|
||||||
|
#: templates/inventory/car_detail.html:135
|
||||||
|
msgid "Custom Date"
|
||||||
|
msgstr "تاريخ البطاقة الجمركية"
|
||||||
|
|
||||||
|
#: inventory/models.py:30 templates/vendors/vendors_list.html:44
|
||||||
msgid "logo"
|
msgid "logo"
|
||||||
msgstr "الشعار"
|
msgstr "الشعار"
|
||||||
|
|
||||||
@ -68,7 +73,8 @@ msgid "Dealer"
|
|||||||
msgstr "المعرض"
|
msgstr "المعرض"
|
||||||
|
|
||||||
#: inventory/models.py:136 inventory/models.py:351
|
#: inventory/models.py:136 inventory/models.py:351
|
||||||
#: templates/inventory/car_detail.html:91 templates/inventory/car_form.html:225
|
#: templates/inventory/car_detail.html:108
|
||||||
|
#: templates/inventory/car_form.html:225
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:359
|
#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:359
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/vendor.py:191
|
#: 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/bills/tags/bill_table.html:12
|
||||||
@ -97,7 +103,7 @@ msgstr "السلسلة"
|
|||||||
msgid "Trim"
|
msgid "Trim"
|
||||||
msgstr "الفئة"
|
msgstr "الفئة"
|
||||||
|
|
||||||
#: inventory/models.py:175 templates/inventory/car_detail.html:69
|
#: inventory/models.py:175 templates/inventory/car_detail.html:86
|
||||||
#: templates/inventory/car_list.html:163
|
#: templates/inventory/car_list.html:163
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_table.html:10
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_table.html:10
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:12
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:12
|
||||||
@ -108,23 +114,23 @@ msgstr "الفئة"
|
|||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "الحالة"
|
msgstr "الحالة"
|
||||||
|
|
||||||
#: inventory/models.py:181 templates/inventory/car_detail.html:73
|
#: inventory/models.py:181 templates/inventory/car_detail.html:90
|
||||||
#: templates/inventory/car_form.html:243 templates/inventory/car_list.html:177
|
#: templates/inventory/car_form.html:243 templates/inventory/car_list.html:177
|
||||||
msgid "Stock Type"
|
msgid "Stock Type"
|
||||||
msgstr "نوع المخزون"
|
msgstr "نوع المخزون"
|
||||||
|
|
||||||
#: inventory/models.py:183 templates/inventory/car_detail.html:96
|
#: inventory/models.py:183 templates/inventory/car_detail.html:113
|
||||||
#: templates/inventory/car_form.html:296 templates/inventory/car_list.html:200
|
#: templates/inventory/car_form.html:296 templates/inventory/car_list.html:200
|
||||||
msgid "Remarks"
|
msgid "Remarks"
|
||||||
msgstr "ملاحظات"
|
msgstr "ملاحظات"
|
||||||
|
|
||||||
#: inventory/models.py:184 templates/inventory/car_detail.html:77
|
#: inventory/models.py:184 templates/inventory/car_detail.html:94
|
||||||
#: templates/inventory/car_form.html:260 templates/inventory/car_list.html:191
|
#: templates/inventory/car_form.html:260 templates/inventory/car_list.html:191
|
||||||
#: templates/inventory/car_list.html:192
|
#: templates/inventory/car_list.html:192
|
||||||
msgid "Mileage"
|
msgid "Mileage"
|
||||||
msgstr "عدد الكيلومترات"
|
msgstr "عدد الكيلومترات"
|
||||||
|
|
||||||
#: inventory/models.py:185 templates/inventory/car_detail.html:81
|
#: inventory/models.py:185 templates/inventory/car_detail.html:98
|
||||||
#: templates/inventory/car_form.html:278
|
#: templates/inventory/car_form.html:278
|
||||||
msgid "Receiving Date"
|
msgid "Receiving Date"
|
||||||
msgstr "تاريخ الاستلام"
|
msgstr "تاريخ الاستلام"
|
||||||
@ -137,32 +143,32 @@ msgstr "السيارة"
|
|||||||
msgid "Cars"
|
msgid "Cars"
|
||||||
msgstr "السيارات"
|
msgstr "السيارات"
|
||||||
|
|
||||||
#: inventory/models.py:234 templates/inventory/car_detail.html:123
|
#: inventory/models.py:234 templates/inventory/car_detail.html:160
|
||||||
#: templates/inventory/car_finance_form.html:38
|
#: templates/inventory/car_finance_form.html:33
|
||||||
msgid "Cost Price"
|
msgid "Cost Price"
|
||||||
msgstr "سعر التكلفة"
|
msgstr "سعر التكلفة"
|
||||||
|
|
||||||
#: inventory/models.py:235 templates/inventory/car_detail.html:127
|
#: inventory/models.py:235 templates/inventory/car_detail.html:164
|
||||||
#: templates/inventory/car_finance_form.html:46
|
#: templates/inventory/car_finance_form.html:40
|
||||||
msgid "Profit Margin"
|
msgid "Profit Margin"
|
||||||
msgstr "هامش الربح"
|
msgstr "هامش الربح"
|
||||||
|
|
||||||
#: inventory/models.py:236 templates/inventory/car_detail.html:131
|
#: inventory/models.py:236 templates/inventory/car_detail.html:168
|
||||||
#: templates/inventory/car_finance_form.html:62
|
#: templates/inventory/car_finance_form.html:54
|
||||||
msgid "Selling Price"
|
msgid "Selling Price"
|
||||||
msgstr "سعر البيع"
|
msgstr "سعر البيع"
|
||||||
|
|
||||||
#: inventory/models.py:237 templates/inventory/car_detail.html:135
|
#: inventory/models.py:237 templates/inventory/car_detail.html:172
|
||||||
#: templates/inventory/car_finance_form.html:54
|
#: templates/inventory/car_finance_form.html:47
|
||||||
msgid "VAT Rate"
|
msgid "VAT Rate"
|
||||||
msgstr "نسبة ضريبة القيمة المضافة"
|
msgstr "نسبة ضريبة القيمة المضافة"
|
||||||
|
|
||||||
#: inventory/models.py:238 templates/inventory/car_detail.html:139
|
#: inventory/models.py:238 templates/inventory/car_detail.html:176
|
||||||
#: templates/inventory/car_finance_form.html:66
|
#: templates/inventory/car_finance_form.html:58
|
||||||
msgid "VAT Amount"
|
msgid "VAT Amount"
|
||||||
msgstr "مبلغ ضريبة القيمة المضافة"
|
msgstr "مبلغ ضريبة القيمة المضافة"
|
||||||
|
|
||||||
#: inventory/models.py:239 templates/inventory/car_finance_form.html:70
|
#: inventory/models.py:239 templates/inventory/car_finance_form.html:62
|
||||||
msgid "Total Amount"
|
msgid "Total Amount"
|
||||||
msgstr "المبلغ الإجمالي"
|
msgstr "المبلغ الإجمالي"
|
||||||
|
|
||||||
@ -179,7 +185,7 @@ msgid "Interior"
|
|||||||
msgstr "الداخلي"
|
msgstr "الداخلي"
|
||||||
|
|
||||||
#: inventory/models.py:262 templates/dealers/dealer_detail.html:26
|
#: inventory/models.py:262 templates/dealers/dealer_detail.html:26
|
||||||
#: templates/vendors/view_vendor.html:8
|
#: templates/vendors/view_vendor.html:39
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:16
|
#: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:16
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:37
|
#: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:37
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
@ -193,7 +199,7 @@ msgstr "الاسم بالعربية"
|
|||||||
msgid "RGB"
|
msgid "RGB"
|
||||||
msgstr "آر جي بي"
|
msgstr "آر جي بي"
|
||||||
|
|
||||||
#: inventory/models.py:269 templates/inventory/color_palette.html:66
|
#: inventory/models.py:269 templates/inventory/color_palette.html:83
|
||||||
msgid "Color Type"
|
msgid "Color Type"
|
||||||
msgstr "نوع اللون"
|
msgstr "نوع اللون"
|
||||||
|
|
||||||
@ -205,15 +211,12 @@ msgstr "اللون"
|
|||||||
msgid "Colors"
|
msgid "Colors"
|
||||||
msgstr "الألوان"
|
msgstr "الألوان"
|
||||||
|
|
||||||
#: inventory/models.py:283
|
#: inventory/models.py:283 templates/inventory/car_detail.html:131
|
||||||
msgid "Custom Number"
|
msgid "Custom Number"
|
||||||
msgstr "رقم البطاقة الجمركية"
|
msgstr "رقم البطاقة الجمركية"
|
||||||
|
|
||||||
#: inventory/models.py:284
|
#: inventory/models.py:287 templates/inventory/car_detail.html:16
|
||||||
msgid "Custom Date"
|
#: templates/inventory/car_detail.html:141
|
||||||
msgstr "تاريخ البطاقة الجمركية"
|
|
||||||
|
|
||||||
#: inventory/models.py:287
|
|
||||||
msgid "Custom Card"
|
msgid "Custom Card"
|
||||||
msgstr "البطاقة الجمركية"
|
msgstr "البطاقة الجمركية"
|
||||||
|
|
||||||
@ -278,7 +281,7 @@ msgstr "الاسم بالإنجليزية"
|
|||||||
#: inventory/models.py:327 inventory/models.py:347 inventory/models.py:366
|
#: inventory/models.py:327 inventory/models.py:347 inventory/models.py:366
|
||||||
#: templates/customers/view_customer.html:53
|
#: templates/customers/view_customer.html:53
|
||||||
#: templates/dealers/dealer_detail.html:38
|
#: templates/dealers/dealer_detail.html:38
|
||||||
#: templates/vendors/view_vendor.html:17
|
#: templates/vendors/view_vendor.html:44
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:113
|
#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:113
|
||||||
msgid "Phone Number"
|
msgid "Phone Number"
|
||||||
msgstr "رقم الهاتف"
|
msgstr "رقم الهاتف"
|
||||||
@ -286,7 +289,7 @@ msgstr "رقم الهاتف"
|
|||||||
#: inventory/models.py:328 inventory/models.py:348 inventory/models.py:367
|
#: inventory/models.py:328 inventory/models.py:348 inventory/models.py:367
|
||||||
#: templates/customers/view_customer.html:54
|
#: templates/customers/view_customer.html:54
|
||||||
#: templates/dealers/dealer_detail.html:42
|
#: templates/dealers/dealer_detail.html:42
|
||||||
#: templates/vendors/view_vendor.html:19
|
#: templates/vendors/view_vendor.html:46
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:10
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:10
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:11
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:11
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
@ -300,11 +303,13 @@ msgstr "الشعار"
|
|||||||
msgid "Dealers"
|
msgid "Dealers"
|
||||||
msgstr "المعارض"
|
msgstr "المعارض"
|
||||||
|
|
||||||
#: inventory/models.py:346 templates/vendors/view_vendor.html:16
|
#: inventory/models.py:346 templates/vendors/view_vendor.html:43
|
||||||
msgid "Contact Person"
|
msgid "Contact Person"
|
||||||
msgstr "الشخص المسؤول"
|
msgstr "الشخص المسؤول"
|
||||||
|
|
||||||
#: inventory/models.py:352
|
#: inventory/models.py:352 templates/header.html:85 templates/header.html:100
|
||||||
|
#: templates/vendors/vendor_form.html:4 templates/vendors/vendors_list.html:4
|
||||||
|
#: templates/vendors/vendors_list.html:5
|
||||||
msgid "Vendors"
|
msgid "Vendors"
|
||||||
msgstr "الموردين"
|
msgstr "الموردين"
|
||||||
|
|
||||||
@ -321,7 +326,7 @@ msgid "Last Name"
|
|||||||
msgstr "اسم العائلة"
|
msgstr "اسم العائلة"
|
||||||
|
|
||||||
#: inventory/models.py:364 templates/customers/view_customer.html:51
|
#: inventory/models.py:364 templates/customers/view_customer.html:51
|
||||||
#: templates/vendors/view_vendor.html:18
|
#: templates/vendors/view_vendor.html:45
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:111
|
#: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:111
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr "البريد الإلكتروني"
|
msgstr "البريد الإلكتروني"
|
||||||
@ -343,6 +348,12 @@ msgstr "العميل"
|
|||||||
msgid "Customers"
|
msgid "Customers"
|
||||||
msgstr "العملاء"
|
msgstr "العملاء"
|
||||||
|
|
||||||
|
#: inventory/models.py:394
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:436
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/models/coa.py:152
|
||||||
|
msgid "Chart of Accounts"
|
||||||
|
msgstr "قائمة الحسابات"
|
||||||
|
|
||||||
#: inventory/utils.py:25
|
#: inventory/utils.py:25
|
||||||
msgid "success"
|
msgid "success"
|
||||||
msgstr "ناجحة"
|
msgstr "ناجحة"
|
||||||
@ -355,109 +366,125 @@ msgstr "خطأ"
|
|||||||
msgid "Forgot Password?"
|
msgid "Forgot Password?"
|
||||||
msgstr "نسيت كلمة المرور؟"
|
msgstr "نسيت كلمة المرور؟"
|
||||||
|
|
||||||
#: inventory/views.py:69
|
#: inventory/views.py:68
|
||||||
msgid "You are not associated with any dealer."
|
msgid "You are not associated with any dealer."
|
||||||
msgstr "أنت غير مرتبط بأي معرض."
|
msgstr "أنت غير مرتبط بأي معرض."
|
||||||
|
|
||||||
#: inventory/views.py:251 templates/header.html:33 templates/index.html:20
|
#: inventory/views.py:248 templates/header.html:33 templates/index.html:20
|
||||||
#: templates/inventory/car_inventory.html:5
|
#: templates/inventory/car_inventory.html:5
|
||||||
#: templates/inventory/car_inventory.html:7
|
#: templates/inventory/car_inventory.html:7
|
||||||
msgid "inventory"
|
msgid "inventory"
|
||||||
msgstr "المخزون"
|
msgstr "المخزون"
|
||||||
|
|
||||||
#: inventory/views.py:373
|
#: inventory/views.py:370
|
||||||
msgid "Car finance details saved successfully."
|
msgid "Car finance details saved successfully."
|
||||||
msgstr "تم حفظ تفاصيل المالية للسيارة بنجاح."
|
msgstr "تم حفظ تفاصيل المالية للسيارة بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:391
|
#: inventory/views.py:388
|
||||||
msgid "Car finance updated successfully."
|
msgid "Car finance updated successfully."
|
||||||
msgstr "تم تحديث التفاصيل المالية للسيارة بنجاح."
|
msgstr "تم تحديث التفاصيل المالية للسيارة بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:404
|
#: inventory/views.py:401
|
||||||
msgid "Car updated successfully."
|
msgid "Car updated successfully."
|
||||||
msgstr "تم تحديث السيارة بنجاح"
|
msgstr "تم تحديث السيارة بنجاح"
|
||||||
|
|
||||||
#: inventory/views.py:417
|
#: inventory/views.py:414
|
||||||
msgid "Car deleted successfully."
|
msgid "Car deleted successfully."
|
||||||
msgstr "تم حذف السيارة بنجاح."
|
msgstr "تم حذف السيارة بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:435 inventory/views.py:504
|
#: inventory/views.py:434
|
||||||
|
msgid "Custom Card added successfully."
|
||||||
|
msgstr "تم إضافة البطاقة الجمركية بنجاح."
|
||||||
|
|
||||||
|
#: inventory/views.py:452 inventory/views.py:521
|
||||||
msgid "Select a Color"
|
msgid "Select a Color"
|
||||||
msgstr "اختر اللون"
|
msgstr "اختر اللون"
|
||||||
|
|
||||||
#: inventory/views.py:440
|
#: inventory/views.py:457
|
||||||
msgid "Select Color Type"
|
msgid "Select Color Type"
|
||||||
msgstr "حدد نوع اللون"
|
msgstr "حدد نوع اللون"
|
||||||
|
|
||||||
#: inventory/views.py:468 inventory/views.py:532
|
#: inventory/views.py:485 inventory/views.py:548
|
||||||
msgid "Invalid color selection."
|
msgid "Invalid color selection."
|
||||||
msgstr "تحديد اللون غير صالح."
|
msgstr "تحديد اللون غير صالح."
|
||||||
|
|
||||||
#: inventory/views.py:478
|
#: inventory/views.py:495
|
||||||
msgid "Color added successfully."
|
msgid "Color added successfully."
|
||||||
msgstr "تمت إضافة اللون بنجاح."
|
msgstr "تمت إضافة اللون بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:539
|
#: inventory/views.py:555
|
||||||
msgid "Exterior color updated successfully."
|
msgid "Exterior color updated successfully."
|
||||||
msgstr "تم تحديث اللون الخارجي بنجاح."
|
msgstr "تم تحديث اللون الخارجي بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:556
|
#: inventory/views.py:572
|
||||||
msgid "This car is already reserved."
|
msgid "This car is already reserved."
|
||||||
msgstr "هذه السيارة محجوزة بالفعل."
|
msgstr "هذه السيارة محجوزة بالفعل."
|
||||||
|
|
||||||
#: inventory/views.py:566
|
#: inventory/views.py:582
|
||||||
msgid "Car reserved successfully."
|
msgid "Car reserved successfully."
|
||||||
msgstr "تم حجز السيارة بنجاح."
|
msgstr "تم حجز السيارة بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:583
|
#: inventory/views.py:599
|
||||||
msgid "Reservation renewed successfully."
|
msgid "Reservation renewed successfully."
|
||||||
msgstr "تم تجديد الحجز بنجاح"
|
msgstr "تم تجديد الحجز بنجاح"
|
||||||
|
|
||||||
#: inventory/views.py:588
|
#: inventory/views.py:604
|
||||||
msgid "Reservation canceled successfully."
|
msgid "Reservation canceled successfully."
|
||||||
msgstr "تم إلغاء الحجز بنجاح."
|
msgstr "تم إلغاء الحجز بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:592
|
#: inventory/views.py:608
|
||||||
msgid "Invalid action."
|
msgid "Invalid action."
|
||||||
msgstr "إجراء غير صالح."
|
msgstr "إجراء غير صالح."
|
||||||
|
|
||||||
#: inventory/views.py:594
|
#: inventory/views.py:610
|
||||||
msgid "Invalid request method."
|
msgid "Invalid request method."
|
||||||
msgstr "طريقة الطلب غير صالحة"
|
msgstr "طريقة الطلب غير صالحة"
|
||||||
|
|
||||||
#: inventory/views.py:616
|
#: inventory/views.py:632
|
||||||
msgid "Dealer created successfully."
|
msgid "Dealer created successfully."
|
||||||
msgstr "تم إنشاء المعرض بنجاح."
|
msgstr "تم إنشاء المعرض بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:627
|
#: inventory/views.py:643
|
||||||
msgid "Dealer updated successfully."
|
msgid "Dealer updated successfully."
|
||||||
msgstr "تم تحديث المعرض بنجاح."
|
msgstr "تم تحديث المعرض بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:637
|
#: inventory/views.py:653
|
||||||
msgid "Dealer deleted successfully."
|
msgid "Dealer deleted successfully."
|
||||||
msgstr "تم حذف المعرض بنجاح."
|
msgstr "تم حذف المعرض بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:643 templates/customers/customer_form.html:4
|
#: inventory/views.py:659 templates/customers/customer_form.html:4
|
||||||
#: templates/customers/customer_list.html:5
|
#: templates/customers/customer_list.html:5
|
||||||
#: templates/customers/customer_list.html:6 templates/header.html:59
|
#: templates/customers/customer_list.html:6 templates/header.html:59
|
||||||
#: templates/header.html:74
|
#: templates/header.html:74
|
||||||
msgid "customers"
|
msgid "customers"
|
||||||
msgstr "العملاء"
|
msgstr "العملاء"
|
||||||
|
|
||||||
#: inventory/views.py:682
|
#: inventory/views.py:698
|
||||||
msgid "Customer created successfully."
|
msgid "Customer created successfully."
|
||||||
msgstr "تم إنشاء العميل بنجاح."
|
msgstr "تم إنشاء العميل بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:698
|
#: inventory/views.py:714
|
||||||
msgid "Customer updated successfully."
|
msgid "Customer updated successfully."
|
||||||
msgstr "تم تحديث العميل بنجاح."
|
msgstr "تم تحديث العميل بنجاح."
|
||||||
|
|
||||||
#: inventory/views.py:708
|
#: inventory/views.py:724
|
||||||
msgid "Customer deleted successfully."
|
msgid "Customer deleted successfully."
|
||||||
msgstr "تم حذف العميل بنجاح."
|
msgstr "تم حذف العميل بنجاح."
|
||||||
|
|
||||||
|
#: inventory/views.py:750
|
||||||
|
msgid "Vendor created successfully."
|
||||||
|
msgstr "تم إنشاء المورد بنجاح."
|
||||||
|
|
||||||
|
#: inventory/views.py:766
|
||||||
|
msgid "Vendor updated successfully."
|
||||||
|
msgstr "تم تحديث المورد بنجاح"
|
||||||
|
|
||||||
|
#: inventory/views.py:776
|
||||||
|
msgid "Vendor deleted successfully."
|
||||||
|
msgstr "تم حذف المورد بنجاح."
|
||||||
|
|
||||||
#: templates/accounts/login.html:6 templates/accounts/login.html:14
|
#: templates/accounts/login.html:6 templates/accounts/login.html:14
|
||||||
#: templates/accounts/login.html:31 templates/header.html:105
|
#: templates/accounts/login.html:31 templates/header.html:131
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "تسجيل الدخول"
|
msgstr "تسجيل الدخول"
|
||||||
|
|
||||||
@ -480,7 +507,7 @@ msgstr "أرسل لي رمز تسجيل الدخول عبر البريد الإ
|
|||||||
|
|
||||||
#: templates/accounts/logout.html:3 templates/accounts/logout.html:11
|
#: templates/accounts/logout.html:3 templates/accounts/logout.html:11
|
||||||
#: templates/accounts/logout.html:21 templates/dealers/dealer_detail.html:63
|
#: templates/accounts/logout.html:21 templates/dealers/dealer_detail.html:63
|
||||||
#: templates/header.html:99
|
#: templates/header.html:125
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "تسجيل الخروج"
|
msgstr "تسجيل الخروج"
|
||||||
|
|
||||||
@ -547,19 +574,19 @@ msgstr "إنشاء حساب باستخدام مفتاح المرور"
|
|||||||
msgid "HAIKAL"
|
msgid "HAIKAL"
|
||||||
msgstr "هيكل"
|
msgstr "هيكل"
|
||||||
|
|
||||||
#: templates/customers/customer_form.html:15
|
#: templates/customers/customer_form.html:14
|
||||||
msgid "Edit Customer"
|
msgid "Edit Customer"
|
||||||
msgstr "تحديث العميل"
|
msgstr "تحديث العميل"
|
||||||
|
|
||||||
#: templates/customers/customer_form.html:18
|
#: templates/customers/customer_form.html:17
|
||||||
msgid "Add Customer"
|
msgid "Add Customer"
|
||||||
msgstr "إضافة عميل"
|
msgstr "إضافة عميل"
|
||||||
|
|
||||||
#: templates/customers/customer_form.html:32
|
#: templates/customers/customer_form.html:31
|
||||||
#: templates/inventory/car_edit.html:43 templates/inventory/car_form.html:320
|
#: templates/inventory/add_custom_card.html:7
|
||||||
#: templates/inventory/color_palette.html:85
|
#: templates/inventory/car_edit.html:41 templates/inventory/car_form.html:320
|
||||||
#: templates/inventory/color_palette_update.html:78
|
#: templates/inventory/color_palette.html:106
|
||||||
#: templates/vendors/edit_vendor.html:10
|
#: templates/vendors/vendor_form.html:31
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:81
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:81
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_update.html:19
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_update.html:19
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html:78
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html:78
|
||||||
@ -570,16 +597,27 @@ msgstr "إضافة عميل"
|
|||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "حفظ"
|
msgstr "حفظ"
|
||||||
|
|
||||||
#: templates/customers/customer_form.html:37
|
#: templates/customers/customer_form.html:33
|
||||||
#: templates/customers/view_customer.html:72
|
#: templates/inventory/add_custom_card.html:8
|
||||||
#: templates/inventory/car_detail.html:248
|
#: templates/inventory/car_confirm_delete.html:14
|
||||||
msgid "Back to List"
|
#: templates/inventory/car_detail.html:266
|
||||||
msgstr "العودة إلى القائمة"
|
#: templates/inventory/car_finance_form.html:68
|
||||||
|
#: templates/inventory/color_palette.html:107
|
||||||
|
#: templates/inventory/reserve_car.html:30
|
||||||
|
#: templates/vendors/vendor_form.html:33
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_create.html:37
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:205
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/modals.html:11
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/modals_v2.html:9
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:188
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_create.html:42
|
||||||
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:121
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "إلغاء"
|
||||||
|
|
||||||
#: templates/customers/customer_list.html:20
|
#: templates/customers/customer_list.html:20
|
||||||
#: templates/inventory/car_inventory.html:29
|
#: templates/inventory/car_inventory.html:29
|
||||||
#: templates/inventory/car_list.html:70 templates/vendors/vendors_list.html:19
|
#: templates/inventory/car_list.html:70 templates/vendors/vendors_list.html:21
|
||||||
#: templates/vendors/vendors_list.html:21
|
|
||||||
msgid "search"
|
msgid "search"
|
||||||
msgstr "بحث"
|
msgstr "بحث"
|
||||||
|
|
||||||
@ -600,14 +638,14 @@ msgid "national ID"
|
|||||||
msgstr "رقم الهوية الوطنية"
|
msgstr "رقم الهوية الوطنية"
|
||||||
|
|
||||||
#: templates/customers/customer_list.html:46
|
#: templates/customers/customer_list.html:46
|
||||||
#: templates/vendors/vendors_list.html:32
|
#: templates/vendors/vendors_list.html:46
|
||||||
msgid "actions"
|
msgid "actions"
|
||||||
msgstr "الإجراءات"
|
msgstr "الإجراءات"
|
||||||
|
|
||||||
#: templates/customers/customer_list.html:59
|
#: templates/customers/customer_list.html:59
|
||||||
#: templates/inventory/car_detail.html:107
|
#: templates/inventory/car_detail.html:124
|
||||||
#: templates/inventory/car_inventory.html:62
|
#: templates/inventory/car_inventory.html:62
|
||||||
#: templates/vendors/vendors_list.html:55
|
#: templates/vendors/vendors_list.html:65
|
||||||
msgid "view"
|
msgid "view"
|
||||||
msgstr "عرض"
|
msgstr "عرض"
|
||||||
|
|
||||||
@ -620,11 +658,13 @@ msgid "Are you sure you want to delete this customer?"
|
|||||||
msgstr "هل أنت متأكد أنك تريد حذف هذا العميل؟"
|
msgstr "هل أنت متأكد أنك تريد حذف هذا العميل؟"
|
||||||
|
|
||||||
#: templates/customers/view_customer.html:26
|
#: templates/customers/view_customer.html:26
|
||||||
|
#: templates/vendors/view_vendor.html:25
|
||||||
#: venv/lib/python3.11/site-packages/django/forms/widgets.py:802
|
#: venv/lib/python3.11/site-packages/django/forms/widgets.py:802
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "لا"
|
msgstr "لا"
|
||||||
|
|
||||||
#: templates/customers/view_customer.html:31
|
#: templates/customers/view_customer.html:31
|
||||||
|
#: templates/vendors/view_vendor.html:30
|
||||||
#: venv/lib/python3.11/site-packages/django/forms/widgets.py:801
|
#: venv/lib/python3.11/site-packages/django/forms/widgets.py:801
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "نعم"
|
msgstr "نعم"
|
||||||
@ -634,9 +674,9 @@ msgid "Customer Details"
|
|||||||
msgstr "تفاصيل العميل"
|
msgstr "تفاصيل العميل"
|
||||||
|
|
||||||
#: templates/customers/view_customer.html:61
|
#: templates/customers/view_customer.html:61
|
||||||
#: templates/inventory/car_detail.html:115
|
#: templates/inventory/car_detail.html:217
|
||||||
#: templates/inventory/car_detail.html:178
|
#: templates/inventory/car_detail.html:291
|
||||||
#: templates/vendors/view_vendor.html:21
|
#: templates/vendors/view_vendor.html:48
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/includes/card_customer.html:28
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/includes/card_customer.html:28
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html:83
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html:83
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html:101
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html:101
|
||||||
@ -645,8 +685,7 @@ msgid "Edit"
|
|||||||
msgstr "تحديث"
|
msgstr "تحديث"
|
||||||
|
|
||||||
#: templates/customers/view_customer.html:67
|
#: templates/customers/view_customer.html:67
|
||||||
#: templates/vendors/delete_vendor.html:11
|
#: templates/vendors/view_vendor.html:53
|
||||||
#: templates/vendors/view_vendor.html:22
|
|
||||||
#: venv/lib/python3.11/site-packages/django/forms/formsets.py:499
|
#: 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/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/bills/tags/bill_item_formset.html:25
|
||||||
@ -677,6 +716,11 @@ msgstr "تحديث"
|
|||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "حذف"
|
msgstr "حذف"
|
||||||
|
|
||||||
|
#: templates/customers/view_customer.html:72
|
||||||
|
#: templates/inventory/car_detail.html:293
|
||||||
|
msgid "Back to List"
|
||||||
|
msgstr "العودة إلى القائمة"
|
||||||
|
|
||||||
#: templates/dealers/dealer_detail.html:5
|
#: templates/dealers/dealer_detail.html:5
|
||||||
#: templates/dealers/dealer_detail.html:14
|
#: templates/dealers/dealer_detail.html:14
|
||||||
msgid "Dealer Details"
|
msgid "Dealer Details"
|
||||||
@ -734,7 +778,7 @@ msgstr "تحديث معلومات المعرض"
|
|||||||
msgid "Save Changes"
|
msgid "Save Changes"
|
||||||
msgstr "حفظ تغيير"
|
msgstr "حفظ تغيير"
|
||||||
|
|
||||||
#: templates/dealers/dealer_form.html:36 templates/inventory/car_edit.html:40
|
#: templates/dealers/dealer_form.html:36 templates/inventory/car_edit.html:39
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_create.html:25
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_create.html:25
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:26
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:26
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/data_import_job_list.html:13
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/data_import/data_import_job_list.html:13
|
||||||
@ -764,7 +808,7 @@ msgstr "جميع الحقوق محفوظة"
|
|||||||
msgid "Tenhal"
|
msgid "Tenhal"
|
||||||
msgstr "تنحل"
|
msgstr "تنحل"
|
||||||
|
|
||||||
#: templates/header.html:25 templates/header.html:82 templates/index.html:5
|
#: templates/header.html:25 templates/header.html:108 templates/index.html:5
|
||||||
msgid "home"
|
msgid "home"
|
||||||
msgstr "الرئيسية"
|
msgstr "الرئيسية"
|
||||||
|
|
||||||
@ -784,11 +828,15 @@ msgstr "المخزون"
|
|||||||
msgid "add customer"
|
msgid "add customer"
|
||||||
msgstr "إضافة عميل"
|
msgstr "إضافة عميل"
|
||||||
|
|
||||||
#: templates/header.html:96
|
#: templates/header.html:92 templates/vendors/vendor_form.html:17
|
||||||
|
msgid "Add Vendor"
|
||||||
|
msgstr "المورد"
|
||||||
|
|
||||||
|
#: templates/header.html:122
|
||||||
msgid "profile"
|
msgid "profile"
|
||||||
msgstr "الملف الشخصي"
|
msgstr "الملف الشخصي"
|
||||||
|
|
||||||
#: templates/header.html:128
|
#: templates/header.html:154
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr "السمة"
|
msgstr "السمة"
|
||||||
|
|
||||||
@ -892,7 +940,7 @@ msgstr "أفضل السيارات مبيعاً"
|
|||||||
msgid "View your best-selling cars."
|
msgid "View your best-selling cars."
|
||||||
msgstr "عرض السيارات الأكثر مبيعاً."
|
msgstr "عرض السيارات الأكثر مبيعاً."
|
||||||
|
|
||||||
#: templates/index.html:151 templates/inventory/car_detail.html:57
|
#: templates/index.html:151 templates/inventory/car_detail.html:74
|
||||||
#: templates/inventory/car_form.html:155 templates/inventory/car_list.html:97
|
#: templates/inventory/car_form.html:155 templates/inventory/car_list.html:97
|
||||||
msgid "model"
|
msgid "model"
|
||||||
msgstr "الموديل"
|
msgstr "الموديل"
|
||||||
@ -952,65 +1000,48 @@ msgstr "الجمعة"
|
|||||||
msgid "Sat"
|
msgid "Sat"
|
||||||
msgstr "السبت"
|
msgstr "السبت"
|
||||||
|
|
||||||
#: templates/inventory/car_confirm_delete.html:14
|
#: templates/inventory/car_detail.html:6 templates/inventory/car_detail.html:58
|
||||||
#: templates/inventory/car_detail.html:230
|
|
||||||
#: templates/inventory/color_palette.html:86
|
|
||||||
#: templates/inventory/color_palette_update.html:79
|
|
||||||
#: templates/inventory/reserve_car.html:30
|
|
||||||
#: templates/vendors/delete_vendor.html:12
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_create.html:37
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:205
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/modals.html:11
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/modals_v2.html:9
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:188
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_create.html:42
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:121
|
|
||||||
msgid "Cancel"
|
|
||||||
msgstr "إلغاء"
|
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:6 templates/inventory/car_detail.html:41
|
|
||||||
msgid "Car Details"
|
msgid "Car Details"
|
||||||
msgstr "تفاصيل السيارة"
|
msgstr "تفاصيل السيارة"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:21
|
#: templates/inventory/car_detail.html:37
|
||||||
#: templates/inventory/car_detail.html:100 templates/inventory/car_form.html:37
|
#: templates/inventory/car_detail.html:117 templates/inventory/car_form.html:37
|
||||||
#: templates/inventory/car_form.html:316 templates/inventory/car_list.html:47
|
#: templates/inventory/car_form.html:316 templates/inventory/car_list.html:47
|
||||||
#: templates/inventory/car_list.html:221
|
#: templates/inventory/car_list.html:221
|
||||||
msgid "specifications"
|
msgid "specifications"
|
||||||
msgstr "المواصفات"
|
msgstr "المواصفات"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:48 templates/inventory/car_list.html:119
|
#: templates/inventory/car_detail.html:65 templates/inventory/car_list.html:119
|
||||||
msgid "year"
|
msgid "year"
|
||||||
msgstr "السنة"
|
msgstr "السنة"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:52 templates/inventory/car_form.html:137
|
#: templates/inventory/car_detail.html:69 templates/inventory/car_form.html:137
|
||||||
#: templates/inventory/car_list.html:79
|
#: templates/inventory/car_list.html:79
|
||||||
msgid "make"
|
msgid "make"
|
||||||
msgstr "الصانع"
|
msgstr "الصانع"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:61 templates/inventory/car_list.html:130
|
#: templates/inventory/car_detail.html:78 templates/inventory/car_list.html:130
|
||||||
msgid "series"
|
msgid "series"
|
||||||
msgstr "السلسلة"
|
msgstr "السلسلة"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:65 templates/inventory/car_form.html:199
|
#: templates/inventory/car_detail.html:82 templates/inventory/car_form.html:199
|
||||||
#: templates/inventory/car_list.html:141
|
#: templates/inventory/car_list.html:141
|
||||||
msgid "trim"
|
msgid "trim"
|
||||||
msgstr "الفئة"
|
msgstr "الفئة"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:86
|
#: templates/inventory/car_detail.html:103
|
||||||
msgid "Branch"
|
msgid "Branch"
|
||||||
msgstr "الفرع"
|
msgstr "الفرع"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:113
|
#: templates/inventory/car_detail.html:147
|
||||||
#: templates/inventory/transfer_car.html:23
|
msgid "Add"
|
||||||
msgid "transfer"
|
msgstr "إضافة"
|
||||||
msgstr "نقل"
|
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:119
|
#: templates/inventory/car_detail.html:156
|
||||||
msgid "Financial Details"
|
msgid "Financial Details"
|
||||||
msgstr "التفاصيل المالية"
|
msgstr "التفاصيل المالية"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:143
|
#: templates/inventory/car_detail.html:180
|
||||||
#: templates/inventory/inventory_stats.html:61
|
#: templates/inventory/inventory_stats.html:61
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:98
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:98
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:127
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:127
|
||||||
@ -1029,43 +1060,43 @@ msgstr "التفاصيل المالية"
|
|||||||
msgid "Total"
|
msgid "Total"
|
||||||
msgstr "الإجمالي"
|
msgstr "الإجمالي"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:149
|
#: templates/inventory/car_detail.html:187
|
||||||
msgid "Edit Finance Details"
|
msgid "Edit Finance Details"
|
||||||
msgstr "تعديل التفاصيل المالية"
|
msgstr "تعديل التفاصيل المالية"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:153
|
#: templates/inventory/car_detail.html:191
|
||||||
msgid "No finance details available."
|
msgid "No finance details available."
|
||||||
msgstr "لا توجد تفاصيل مالية متاحة."
|
msgstr "لا توجد تفاصيل مالية متاحة."
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:156
|
#: templates/inventory/car_detail.html:194
|
||||||
msgid "Add Finance Details"
|
msgid "Add Finance Details"
|
||||||
msgstr "إضافة التفاصيل المالية"
|
msgstr "إضافة التفاصيل المالية"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:159
|
#: templates/inventory/car_detail.html:200
|
||||||
msgid "Colors Details"
|
msgid "Colors Details"
|
||||||
msgstr "تفاصيل الألوان"
|
msgstr "تفاصيل الألوان"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:185
|
#: templates/inventory/car_detail.html:224
|
||||||
msgid "No colors available for this car."
|
msgid "No colors available for this car."
|
||||||
msgstr "لا تتوفر ألوان لهذه السيارة."
|
msgstr "لا تتوفر ألوان لهذه السيارة."
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:192
|
#: templates/inventory/car_detail.html:231
|
||||||
msgid "Get Colors"
|
msgid "Get Colors"
|
||||||
msgstr "الحصول على الألوان"
|
msgstr "الحصول على الألوان"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:199
|
#: templates/inventory/car_detail.html:238
|
||||||
msgid "Reservations Details"
|
msgid "Reservations Details"
|
||||||
msgstr "تفاصيل الحجز"
|
msgstr "تفاصيل الحجز"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:206
|
#: templates/inventory/car_detail.html:243
|
||||||
msgid "Reserved By"
|
msgid "Reserved By"
|
||||||
msgstr "محجوز بواسطة"
|
msgstr "محجوز بواسطة"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:207
|
#: templates/inventory/car_detail.html:244
|
||||||
msgid "Expires At"
|
msgid "Expires At"
|
||||||
msgstr "ينتهي في"
|
msgstr "ينتهي في"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:208
|
#: templates/inventory/car_detail.html:245
|
||||||
#: templates/inventory/car_inventory.html:44
|
#: templates/inventory/car_inventory.html:44
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/account_txs_table.html:29
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/account_txs_table.html:29
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:29
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:29
|
||||||
@ -1093,22 +1124,27 @@ msgstr "ينتهي في"
|
|||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "الإجراءات"
|
msgstr "الإجراءات"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:224
|
#: templates/inventory/car_detail.html:260
|
||||||
msgid "renew"
|
msgid "renew"
|
||||||
msgstr "تجديد"
|
msgstr "تجديد"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:239
|
#: templates/inventory/car_detail.html:277
|
||||||
#: templates/inventory/reserve_car.html:29
|
#: templates/inventory/reserve_car.html:29
|
||||||
msgid "Reserve"
|
msgid "Reserve"
|
||||||
msgstr "حجز"
|
msgstr "حجز"
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:305
|
#: templates/inventory/car_detail.html:289
|
||||||
|
#: templates/inventory/transfer_car.html:23
|
||||||
|
msgid "transfer"
|
||||||
|
msgstr "نقل"
|
||||||
|
|
||||||
|
#: templates/inventory/car_detail.html:378
|
||||||
#: templates/inventory/car_list.html:542
|
#: templates/inventory/car_list.html:542
|
||||||
#: templates/partials/specifications_modal.html:11
|
#: templates/partials/specifications_modal.html:11
|
||||||
msgid "No specifications available."
|
msgid "No specifications available."
|
||||||
msgstr "لا توجد مواصفات متاحة."
|
msgstr "لا توجد مواصفات متاحة."
|
||||||
|
|
||||||
#: templates/inventory/car_detail.html:309
|
#: templates/inventory/car_detail.html:382
|
||||||
#: templates/inventory/car_list.html:546
|
#: templates/inventory/car_list.html:546
|
||||||
msgid "Error loading specifications."
|
msgid "Error loading specifications."
|
||||||
msgstr "حدث خطأ أثناء تحميل المواصفات."
|
msgstr "حدث خطأ أثناء تحميل المواصفات."
|
||||||
@ -1125,19 +1161,19 @@ msgstr "التفاصيل المالية السيارة"
|
|||||||
msgid "Finance Details for"
|
msgid "Finance Details for"
|
||||||
msgstr "التفاصيل المالية لـ"
|
msgstr "التفاصيل المالية لـ"
|
||||||
|
|
||||||
#: templates/inventory/car_finance_form.html:41
|
#: templates/inventory/car_finance_form.html:36
|
||||||
msgid "Please provide a valid cost price."
|
msgid "Please provide a valid cost price."
|
||||||
msgstr "يرجى تقديم سعر تكلفة صالح."
|
msgstr "يرجى تقديم سعر تكلفة صالح."
|
||||||
|
|
||||||
#: templates/inventory/car_finance_form.html:49
|
#: templates/inventory/car_finance_form.html:43
|
||||||
msgid "Please provide a profit margin between 0 and 100."
|
msgid "Please provide a profit margin between 0 and 100."
|
||||||
msgstr "يجب أن يكون هامش الربح بين 0 و 100"
|
msgstr "يجب أن يكون هامش الربح بين 0 و 100"
|
||||||
|
|
||||||
#: templates/inventory/car_finance_form.html:57
|
#: templates/inventory/car_finance_form.html:50
|
||||||
msgid "Please provide a valid VAT rate."
|
msgid "Please provide a valid VAT rate."
|
||||||
msgstr "يرجى تقديم معدل صالح لضريبة القيمة المضافة."
|
msgstr "يرجى تقديم معدل صالح لضريبة القيمة المضافة."
|
||||||
|
|
||||||
#: templates/inventory/car_finance_form.html:77
|
#: templates/inventory/car_finance_form.html:67
|
||||||
msgid "Save Finance Details"
|
msgid "Save Finance Details"
|
||||||
msgstr "حفظ التفاصيل المالية"
|
msgstr "حفظ التفاصيل المالية"
|
||||||
|
|
||||||
@ -1250,18 +1286,13 @@ msgstr "لا توجد سيارات متاحة."
|
|||||||
msgid "Error loading options."
|
msgid "Error loading options."
|
||||||
msgstr "خطأ في تحميل الخيارات."
|
msgstr "خطأ في تحميل الخيارات."
|
||||||
|
|
||||||
#: templates/inventory/color_palette.html:55
|
#: templates/inventory/color_palette.html:74
|
||||||
msgid "Add Color for"
|
|
||||||
msgstr "إضافة لون الى"
|
|
||||||
|
|
||||||
#: templates/inventory/color_palette_update.html:4
|
|
||||||
#: templates/inventory/color_palette_update.html:54
|
|
||||||
msgid "Update Color"
|
msgid "Update Color"
|
||||||
msgstr "تحديث اللون"
|
msgstr "تحديث اللون"
|
||||||
|
|
||||||
#: templates/inventory/color_palette_update.html:86
|
#: templates/inventory/color_palette.html:77
|
||||||
msgid "Select Color"
|
msgid "Add Color for"
|
||||||
msgstr "اختر اللون"
|
msgstr "إضافة لون الى"
|
||||||
|
|
||||||
#: templates/inventory/inventory_stats.html:5
|
#: templates/inventory/inventory_stats.html:5
|
||||||
msgid "Inventory Statistics"
|
msgid "Inventory Statistics"
|
||||||
@ -1325,69 +1356,48 @@ msgstr "الماسح الضوئي"
|
|||||||
msgid "Specifications"
|
msgid "Specifications"
|
||||||
msgstr "المواصفات"
|
msgstr "المواصفات"
|
||||||
|
|
||||||
#: templates/vendors/add_vendor.html:3 templates/vendors/add_vendor.html:6
|
#: templates/vendors/vendor_form.html:14
|
||||||
msgid "Add Supplier"
|
msgid "Edit Vendor"
|
||||||
msgstr "إضافة مورد"
|
msgstr "تحديث المورد"
|
||||||
|
|
||||||
#: templates/vendors/add_vendor.html:16
|
#: templates/vendors/vendors_list.html:42
|
||||||
msgid "Add"
|
|
||||||
msgstr "إضافة"
|
|
||||||
|
|
||||||
#: templates/vendors/delete_vendor.html:3
|
|
||||||
#: templates/vendors/delete_vendor.html:6
|
|
||||||
msgid "Delete Supplier"
|
|
||||||
msgstr "حذف المورد"
|
|
||||||
|
|
||||||
#: templates/vendors/delete_vendor.html:7
|
|
||||||
msgid "Are you sure you want to delete this supplier?"
|
|
||||||
msgstr "هل أنت متأكد أنك تريد حذف هذا المورد؟"
|
|
||||||
|
|
||||||
#: templates/vendors/edit_vendor.html:3 templates/vendors/edit_vendor.html:6
|
|
||||||
msgid "Edit Supplier"
|
|
||||||
msgstr "تعديل المورد"
|
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:4 templates/vendors/vendors_list.html:5
|
|
||||||
msgid "suppliers"
|
|
||||||
msgstr "الموردون"
|
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:15
|
|
||||||
msgid "add supplier"
|
|
||||||
msgstr "إضافة مورد"
|
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:28
|
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "الاسم"
|
msgstr "الاسم"
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:31
|
#: templates/vendors/vendors_list.html:45
|
||||||
msgid "address"
|
msgid "address"
|
||||||
msgstr "العنوان"
|
msgstr "العنوان"
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:63
|
#: templates/vendors/vendors_list.html:72
|
||||||
msgid "no suppliers found"
|
msgid "no vendors found"
|
||||||
msgstr "لم يتم العثور على موردين"
|
msgstr "لم يتم العثور على موردين"
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:73
|
#: templates/vendors/vendors_list.html:82
|
||||||
msgid "first"
|
msgid "first"
|
||||||
msgstr "الأول"
|
msgstr "الأول"
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:78
|
#: templates/vendors/vendors_list.html:87
|
||||||
msgid "previous"
|
msgid "previous"
|
||||||
msgstr "السابق"
|
msgstr "السابق"
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:103
|
#: templates/vendors/vendors_list.html:112
|
||||||
msgid "next"
|
msgid "next"
|
||||||
msgstr "التالي"
|
msgstr "التالي"
|
||||||
|
|
||||||
#: templates/vendors/vendors_list.html:108
|
#: templates/vendors/vendors_list.html:117
|
||||||
msgid "last"
|
msgid "last"
|
||||||
msgstr "الأخير"
|
msgstr "الأخير"
|
||||||
|
|
||||||
#: templates/vendors/view_vendor.html:3
|
#: templates/vendors/view_vendor.html:3
|
||||||
msgid "View Supplier"
|
msgid "View Vendor"
|
||||||
msgstr "عرض المورد"
|
msgstr "عرض المورد"
|
||||||
|
|
||||||
#: templates/vendors/view_vendor.html:6
|
#: templates/vendors/view_vendor.html:18
|
||||||
msgid "Supplier Details"
|
msgid "Are you sure you want to delete this vendor?"
|
||||||
|
msgstr "هل أنت متأكد أنك تريد حذف هذا المورد؟"
|
||||||
|
|
||||||
|
#: templates/vendors/view_vendor.html:37
|
||||||
|
msgid "Vendor Details"
|
||||||
msgstr "تفاصيل المورد"
|
msgstr "تفاصيل المورد"
|
||||||
|
|
||||||
#: templates/welcome.html:4
|
#: templates/welcome.html:4
|
||||||
@ -3554,11 +3564,6 @@ msgstr "مقفل"
|
|||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "نشط"
|
msgstr "نشط"
|
||||||
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:436
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/coa.py:152
|
|
||||||
msgid "Chart of Accounts"
|
|
||||||
msgstr "قائمة الحسابات"
|
|
||||||
|
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:443
|
#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:443
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/models/transactions.py:485
|
#: venv/lib/python3.11/site-packages/django_ledger/models/transactions.py:485
|
||||||
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:13
|
#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:13
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
{% block title %}{{ _("View Customer") }}{% endblock title %}
|
{% block title %}{{ _("View Customer") }}{% endblock title %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<!-- Specification Modal -->
|
<!-- Delete Modal -->
|
||||||
<div class="modal fade" id="deleteModal"
|
<div class="modal fade" id="deleteModal"
|
||||||
data-bs-backdrop="static"
|
data-bs-backdrop="static"
|
||||||
data-bs-keyboard="false"
|
data-bs-keyboard="false"
|
||||||
|
|||||||
@ -76,6 +76,32 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle"
|
||||||
|
href="#" id="vendorsDropdown"
|
||||||
|
role="button" data-bs-toggle="dropdown"
|
||||||
|
aria-expanded="false">
|
||||||
|
{% trans 'Vendors' %}
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="vendorsDropdown">
|
||||||
|
<li>
|
||||||
|
<a href="{% url 'vendor_create' %}"
|
||||||
|
class="dropdown-item fw-lighter">
|
||||||
|
<small>
|
||||||
|
{% trans "Add Vendor" %}
|
||||||
|
</small>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{% url 'vendor_list' %}"
|
||||||
|
class="dropdown-item fw-lighter">
|
||||||
|
<small>
|
||||||
|
{% trans "Vendors" %}
|
||||||
|
</small>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
|
|||||||
19
templates/vendors/add_vendor.html
vendored
19
templates/vendors/add_vendor.html
vendored
@ -1,19 +0,0 @@
|
|||||||
{% extends 'base.html' %}
|
|
||||||
{% load i18n %}
|
|
||||||
{% block title %}{% trans "Add Supplier" %}{% endblock title %}
|
|
||||||
{% block content %}
|
|
||||||
<div class="container">
|
|
||||||
<h1>{% trans "Add Supplier" %}</h1>
|
|
||||||
<form method="post" class="form">
|
|
||||||
{% csrf_token %}
|
|
||||||
{% for field in form %}
|
|
||||||
<div class="form-floating mb-3">
|
|
||||||
{{ field }}
|
|
||||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
<button class="btn btn-sm btn-success mt-3" type="submit">{% trans "Add" %}</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
15
templates/vendors/delete_vendor.html
vendored
15
templates/vendors/delete_vendor.html
vendored
@ -1,15 +0,0 @@
|
|||||||
{% extends 'base.html' %}
|
|
||||||
{% load i18n %}
|
|
||||||
{% block title %}{% trans "Delete Supplier" %}{% endblock title %}
|
|
||||||
{% block content %}
|
|
||||||
<div class="container">
|
|
||||||
<h1>{% trans "Delete Supplier" %}</h1>
|
|
||||||
<p>{% trans "Are you sure you want to delete this supplier?" %}</p>
|
|
||||||
|
|
||||||
<form method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
<button class="btn btn-sm btn-danger" type="submit">{% trans "Delete" %}</button>
|
|
||||||
<a class="btn btn-sm btn-secondary" href="{% url 'supplier_list' %}">{% trans "Cancel" %}</a>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
14
templates/vendors/edit_vendor.html
vendored
14
templates/vendors/edit_vendor.html
vendored
@ -1,14 +0,0 @@
|
|||||||
{% extends 'base.html' %}
|
|
||||||
{% load crispy_forms_filters %}
|
|
||||||
{% load i18n %}
|
|
||||||
{% block title %}{% trans "Edit Supplier" %}{% endblock title %}
|
|
||||||
{% block content %}
|
|
||||||
<div class="container">
|
|
||||||
<h1>{% trans "Edit Supplier" %}</h1>
|
|
||||||
<form method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
{{ form|crispy }}
|
|
||||||
<button class="btn btn-primary" type="submit">{% trans "Save" %}</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
39
templates/vendors/vendor_form.html
vendored
Normal file
39
templates/vendors/vendor_form.html
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load crispy_forms_filters %}
|
||||||
|
{% block title %}{% trans "Vendors" %}{% endblock title %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="container my-5">
|
||||||
|
<!-- Display Form Errors -->
|
||||||
|
<div class="card shadow rounded">
|
||||||
|
<div class="card-header bg-primary text-white">
|
||||||
|
<p class="mb-0">
|
||||||
|
{% if customer.created %}
|
||||||
|
<!--<i class="bi bi-pencil-square"></i>-->
|
||||||
|
{{ _("Edit Vendor") }}
|
||||||
|
{% else %}
|
||||||
|
<!--<i class="bi bi-person-plus"></i> -->
|
||||||
|
{{ _("Add Vendor") }}
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form method="post" class="form" novalidate>
|
||||||
|
{% csrf_token %}
|
||||||
|
{{ form|crispy }}
|
||||||
|
{% for error in form.errors %}
|
||||||
|
<div class="text-danger">{{ error }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
<div class="d-flex justify-content-end">
|
||||||
|
<button class="btn btn-sm btn-success me-1" type="submit">
|
||||||
|
<!--<i class="bi bi-save"></i> -->
|
||||||
|
{{ _("Save") }}
|
||||||
|
</button>
|
||||||
|
<a href="{{request.META.HTTP_REFERER}}" class="btn btn-sm btn-danger">{% trans "Cancel" %}</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
45
templates/vendors/vendors_list.html
vendored
45
templates/vendors/vendors_list.html
vendored
@ -1,8 +1,8 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
{% block title %}{% trans 'suppliers'|capfirst %}{% endblock title %}
|
{% block title %}{% trans 'Vendors'|capfirst %}{% endblock title %}
|
||||||
{% block suppliers %}<a class="nav-link active">{% trans "suppliers"|capfirst %}</a>{% endblock suppliers %}
|
{% block vendors %}<a class="nav-link active">{% trans "Vendors"|capfirst %}</a>{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
@ -12,16 +12,30 @@
|
|||||||
{% include 'breadcrumbs.html' %}
|
{% include 'breadcrumbs.html' %}
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<a class="btn btn-sm btn-success mb-3" href="{% url 'add_supplier' %}">{% trans "add supplier"|capfirst %}</a>
|
|
||||||
|
|
||||||
<form method="get" action="{% url 'supplier_list' %}">
|
<div class="container-fluid p-2">
|
||||||
<div class="input-group mb-3">
|
<form method="get">
|
||||||
<input type="text" name="q" class="form-control form-control-sm" placeholder="{% trans 'search'|capfirst %}" value="{{ request.GET.q }}">
|
<div class="input-group input-group-sm">
|
||||||
<div class="input-group-append">
|
<button id="inputGroup-sizing-sm"
|
||||||
<button class="btn btn-sm btn-primary" type="submit">{% trans 'search'|capfirst %}</button>
|
class="btn btn-sm btn-secondary rounded-start" type="submit">
|
||||||
</div>
|
{% trans 'search'|capfirst %}
|
||||||
|
</button>
|
||||||
|
<input type="text"
|
||||||
|
name="q"
|
||||||
|
class="form-control form-control-sm rounded-end"
|
||||||
|
value="{{ request.GET.q }}"
|
||||||
|
aria-describedby="inputGroup-sizing-sm"/>
|
||||||
|
<!-- Clear Button -->
|
||||||
|
{% if request.GET.q %}
|
||||||
|
<a href="{% url request.resolver_match.view_name %}"
|
||||||
|
class="btn btn-sm btn-outline-danger ms-1 rounded">
|
||||||
|
<i class="bi bi-x-lg"></i>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
<table class="table table-hover table-responsive-sm">
|
<table class="table table-hover table-responsive-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -37,11 +51,7 @@
|
|||||||
{% for vendor in page_obj.object_list %}
|
{% for vendor in page_obj.object_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{% if request.LANGUAGE_CODE == 'ar' %}
|
{{ vendor.get_local_name }}
|
||||||
{{ vendor.name }}
|
|
||||||
{% else %}
|
|
||||||
{{ vendor.english_name }}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if vendor.logo %}
|
{% if vendor.logo %}
|
||||||
@ -52,15 +62,14 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>{{ vendor.address }}</td>
|
<td>{{ vendor.address }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-sm btn-warning" href="{% url 'view_supplier' vendor.id %}">{% trans 'view'|capfirst %}</a>
|
<a class="btn btn-sm btn-warning" href="{% url 'vendor_detail' vendor.id %}">{% trans 'view'|capfirst %}</a>
|
||||||
{# <a class="btn btn-sm btn-outline-success" href="{% url 'edit_supplier' supplier.id %}">{% trans 'Edit' %}</a>#}
|
|
||||||
{# <a class="btn btn-sm btn-outline-danger" href="{% url 'delete_supplier' supplier.id %}" onclick="return confirm('{% trans "Are you sure you want to delete this supplier?" %}');">{% trans 'Delete' %}</a>#}
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="border-0" colspan="6">{% trans 'no suppliers found'|capfirst %}</td>
|
<td class="border-0" colspan="6">{% trans 'no vendors found'|capfirst %}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
50
templates/vendors/view_vendor.html
vendored
50
templates/vendors/view_vendor.html
vendored
@ -1,24 +1,56 @@
|
|||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% block title %}{% trans "View Supplier" %}{% endblock title %}
|
{% block title %}{% trans "View Vendor" %}{% endblock title %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
|
<!-- Delete Modal -->
|
||||||
|
<div class="modal fade" id="deleteModal"
|
||||||
|
data-bs-backdrop="static"
|
||||||
|
data-bs-keyboard="false"
|
||||||
|
tabindex="-1"
|
||||||
|
aria-labelledby="deleteModalLabel"
|
||||||
|
aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-sm ">
|
||||||
|
<div class="modal-content rounded">
|
||||||
|
<div class="modal-body d-flex justify-content-center">
|
||||||
|
<h1 class="text-danger me-2"><i class="bi bi-exclamation-diamond-fill"></i></h1>
|
||||||
|
<span class="text-danger">
|
||||||
|
{% trans "Are you sure you want to delete this vendor?" %}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button"
|
||||||
|
class="btn btn-secondary"
|
||||||
|
data-bs-dismiss="modal">
|
||||||
|
{% trans 'No' %}
|
||||||
|
</button>
|
||||||
|
<a type="button"
|
||||||
|
class="btn btn-danger"
|
||||||
|
href="{% url 'vendor_delete' vendor.id %}">
|
||||||
|
{% trans 'Yes' %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Supplier Details" %}</h1>
|
<h1>{% trans "Vendor Details" %}</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>{% trans "Name" %}:</strong>
|
<li><strong>{% trans "Name" %}:</strong>
|
||||||
|
|
||||||
{% if request.LANGUAGE_CODE == 'ar' %}
|
{{ vendor.get_local_name }}
|
||||||
{{ vendor.name }}
|
|
||||||
{% else %}
|
|
||||||
{{ vendor.english_name }}
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
</li>
|
||||||
<li><strong>{% trans "Contact Person" %}:</strong> {{ vendor.contact_person }}</li>
|
<li><strong>{% trans "Contact Person" %}:</strong> {{ vendor.contact_person }}</li>
|
||||||
<li><strong>{% trans "Phone Number" %}:</strong> {{ vendor.phone_number }}</li>
|
<li><strong>{% trans "Phone Number" %}:</strong> {{ vendor.phone_number }}</li>
|
||||||
<li><strong>{% trans "Email" %}:</strong> {{ vendor.email }}</li>
|
<li><strong>{% trans "Email" %}:</strong> {{ vendor.email }}</li>
|
||||||
<li><strong>{% trans "Address" %}:</strong> {{ vendor.address }}</li>
|
<li><strong>{% trans "Address" %}:</strong> {{ vendor.address }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
<a class="btn btn-sm btn-primary" href="{% url 'edit_supplier' vendor.id %}">{% trans "Edit" %}</a>
|
<a class="btn btn-sm btn-primary" href="{% url 'vendor_update' vendor.id %}">{% trans "Edit" %}</a>
|
||||||
<a class="btn btn-sm btn-danger" href="{% url 'delete_supplier' vendor.id %}">{% trans "Delete" %}</a>
|
<a class="btn btn-sm btn-danger me-1"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#deleteModal">
|
||||||
|
<!--<i class="bi bi-trash-fill"></i>-->
|
||||||
|
{{ _("Delete") }}
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user