diff --git a/.gitignore b/.gitignore index cb4e692d..01824c55 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,10 @@ dev_venv *.bak play.sh git-sync.sh +deploy* +git-sync.sh +update.sh +rollback.sh # If you are using PyCharm # # User-specific stuff .idea/**/workspace.xml diff --git a/inventory/admin.py b/inventory/admin.py index 31e59ca1..d952714d 100644 --- a/inventory/admin.py +++ b/inventory/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin from . import models from django_ledger import models as ledger_models - +from django.contrib import messages # from django_pdf_actions.actions import export_to_pdf_landscape, export_to_pdf_portrait # from appointment import models as appointment_models from import_export.admin import ExportMixin @@ -72,6 +72,7 @@ admin.site.register(models.UserActivityLog) admin.site.register(models.DealersMake) admin.site.register(models.ExtraInfo) admin.site.register(models.Ticket) +# admin.site.register(models.UserRegistration) @admin.register(models.Car) @@ -174,3 +175,93 @@ class CarOptionAdmin(admin.ModelAdmin): # class ItemTransactionModelAdmin(admin.ModelAdmin): # actions = [export_to_pdf_landscape, export_to_pdf_portrait] + + + +@admin.register(models.UserRegistration) +class UserRegistrationAdmin(admin.ModelAdmin): + # Fields to display in the list view + list_display = [ + 'name', + 'arabic_name', + 'email', + 'crn', + 'vrn', + 'phone_number', + 'is_created', + 'created_at', + ] + + # Filters in the right sidebar + list_filter = [ + 'is_created', + 'created_at', + ] + + # Searchable fields + search_fields = [ + 'name', 'arabic_name', 'email', 'crn', 'vrn', 'phone_number' + ] + + # Read-only fields in detail view + readonly_fields = [ + 'created_at', 'updated_at', 'is_created', 'password' + ] + + # Organize form layout + fieldsets = [ + ('Account Information', { + 'fields': ('name', 'arabic_name', 'email', 'phone_number') + }), + ('Business Details', { + 'fields': ('crn', 'vrn', 'address') + }), + ('Status', { + 'fields': ('is_created', 'password', 'created_at', 'updated_at'), + 'classes': ('collapse',) + }), + ] + + # Custom action to create accounts + actions = ['create_dealer_accounts'] + + @admin.action(description='Create dealer account(s) for selected registrations') + def create_dealer_accounts(self, request, queryset): + created_count = 0 + already_created_count = 0 + failed_count = 0 + + for registration in queryset: + try: + if not registration.is_created: + registration.create_account() # Your existing method + created_count += 1 + else: + already_created_count += 1 + except Exception as e: + self.message_user( + request, + f"Error creating account for {registration.name}: {str(e)}", + level=messages.ERROR + ) + failed_count += 1 + + # Show summary message + if created_count > 0: + self.message_user( + request, + f"Successfully created {created_count} account(s).", + level=messages.SUCCESS + ) + if already_created_count > 0: + self.message_user( + request, + f"{already_created_count} registration(s) were already created.", + level=messages.INFO + ) + if failed_count > 0: + self.message_user( + request, + f"Failed to create {failed_count} account(s). Check logs.", + level=messages.ERROR + ) \ No newline at end of file diff --git a/inventory/forms.py b/inventory/forms.py index cd1fa83d..e4861464 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -57,6 +57,7 @@ from .models import ( Tasks, Recall, Ticket, + UserRegistration ) from django_ledger import models as ledger_models from django.forms import ( @@ -363,6 +364,7 @@ class CarForm( "receiving_date", "vendor", ] + required_fields = ["vin","id_car_make", "id_car_model", "id_car_serie", "id_car_trim", "vendor"] widgets = { "id_car_make": forms.Select(attrs={"class": "form-select form-select-sm"}), "receiving_date": forms.DateTimeInput(attrs={"type": "datetime-local"}), @@ -1259,19 +1261,8 @@ class OpportunityForm(forms.ModelForm): label=_("Expected Closing Date"), widget=forms.DateInput(attrs={"type": "date"}) ) - probability = forms.IntegerField( - label=_("Probability (%)"), - widget=forms.NumberInput( - attrs={ - "type": "range", - "min": "0", - "max": "100", - "step": "1", - "class": "form-range", - "oninput": "this.nextElementSibling.value = this.value", - } - ), - initial=50, # Default value + car = forms.ModelChoiceField( + queryset=Car.objects.all(), label=_("Car"), required=True ) class Meta: @@ -1280,23 +1271,17 @@ class OpportunityForm(forms.ModelForm): "lead", "car", "stage", - "probability", - "amount", - "expected_revenue", "expected_close_date", ] - widgets = { - "expected_revenue": forms.NumberInput(attrs={"readonly": "readonly"}), - } - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - # Add a visible number input to display the current value - self.fields["probability"].widget.attrs["class"] = ( - "d-none" # Hide the default input - ) - if self.instance and self.instance.pk: - self.fields["probability"].initial = self.instance.probability + # def __init__(self, *args, **kwargs): + # super().__init__(*args, **kwargs) + # # Add a visible number input to display the current value + # self.fields["probability"].widget.attrs["class"] = ( + # "d-none" # Hide the default input + # ) + # if self.instance and self.instance.pk: + # self.fields["probability"].initial = self.instance.probability class OpportunityStageForm(forms.ModelForm): @@ -2255,3 +2240,12 @@ class TicketResolutionForm(forms.ModelForm): super().__init__(*args, **kwargs) # Limit status choices to resolution options self.fields["status"].choices = [("resolved", "Resolved"), ("closed", "Closed")] + + + +class CarDealershipRegistrationForm(forms.ModelForm): + # Add additional fields for the registration form + + class Meta: + model = UserRegistration + fields = ("name","arabic_name", "email","phone_number", "crn", "vrn", "address") \ No newline at end of file diff --git a/inventory/models.py b/inventory/models.py index 0237332c..9568609d 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -49,7 +49,11 @@ from plans.models import UserPlan from django.db.models import Q from imagekit.models import ImageSpecField from imagekit.processors import ResizeToFill - +from encrypted_model_fields.fields import ( + EncryptedCharField, + EncryptedDateField, + EncryptedEmailField, +) # from plans.models import AbstractPlan # from simple_history.models import HistoricalRecords from plans.models import Invoice @@ -1339,7 +1343,7 @@ class Dealer(models.Model, LocalizedNameMixin): ) arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name")) name = models.CharField(max_length=255, verbose_name=_("English Name")) - phone_number = models.CharField( + phone_number = EncryptedCharField( max_length=255, verbose_name=_("Phone Number"), validators=[SaudiPhoneNumberValidator()], @@ -1707,18 +1711,18 @@ class Customer(models.Model): max_length=1, verbose_name=_("Gender"), ) - dob = models.DateField(verbose_name=_("Date of Birth"), null=True, blank=True) - email = models.EmailField(verbose_name=_("Email")) - national_id = models.CharField( + dob = EncryptedDateField(verbose_name=_("Date of Birth"), null=True, blank=True) + email = EncryptedEmailField(verbose_name=_("Email")) + national_id = EncryptedCharField( max_length=10, unique=True, verbose_name=_("National ID"), null=True, blank=True ) - phone_number = models.CharField( + phone_number = EncryptedCharField( max_length=255, verbose_name=_("Phone Number"), validators=[SaudiPhoneNumberValidator()], ) - address = models.CharField( + address = EncryptedCharField( max_length=200, blank=True, null=True, verbose_name=_("Address") ) active = models.BooleanField(default=True, verbose_name=_("Active")) @@ -2294,22 +2298,48 @@ class Schedule(models.Model): related_name="schedules", null=True, blank=True, + verbose_name=_("Customer"), ) scheduled_by = models.ForeignKey(User, on_delete=models.CASCADE) - purpose = models.CharField(max_length=200, choices=PURPOSE_CHOICES) - scheduled_at = models.DateTimeField() - start_time = models.TimeField(verbose_name=_("Start Time"), null=True, blank=True) - end_time = models.TimeField(verbose_name=_("End Time"), null=True, blank=True) + purpose = models.CharField( + max_length=200, + choices=PURPOSE_CHOICES, + verbose_name=_("Purpose"), + help_text=_("What is the purpose of this schedule?"), + ) + scheduled_at = models.DateTimeField(verbose_name=_("Scheduled Date")) + start_time = models.TimeField( + verbose_name=_("Start Time"), null=True, blank=True, help_text=_("HH:MM") + ) + end_time = models.TimeField( + verbose_name=_("End Time"), null=True, blank=True, help_text=_("HH:MM") + ) scheduled_type = models.CharField( - max_length=200, choices=ScheduledType, default="Call" + max_length=200, + choices=ScheduledType, + default="Call", + verbose_name=_("Scheduled Type"), + help_text=_("What type of schedule is this?"), ) - completed = models.BooleanField(default=False, verbose_name=_("Completed")) - notes = models.TextField(blank=True, null=True) + completed = models.BooleanField( + default=False, + verbose_name=_("Completed"), + help_text=_("Has this schedule been completed?"), + ) + notes = models.TextField(blank=True, null=True, verbose_name=_("Notes")) status = models.CharField( - max_length=200, choices=ScheduleStatusChoices, default="Scheduled" + max_length=200, + choices=ScheduleStatusChoices, + default="Scheduled", + verbose_name=_("Status"), + help_text=_("What is the status of this schedule?"), + ) + created_at = models.DateTimeField( + auto_now_add=True, verbose_name=_("Created Date"), help_text=_("When was this schedule created?") + ) + updated_at = models.DateTimeField( + auto_now=True, verbose_name=_("Updated Date"), help_text=_("When was this schedule last updated?") ) - created_at = models.DateTimeField(auto_now_add=True) - updated_at = models.DateTimeField(auto_now=True) def __str__(self): return f"Scheduled {self.purpose} on {self.scheduled_at}" @@ -2414,10 +2444,11 @@ class Opportunity(models.Model): "Lead", related_name="opportunity", on_delete=models.CASCADE, + verbose_name=_("Lead"), null=True, blank=True, ) - probability = models.PositiveIntegerField(validators=[validate_probability]) + probability = models.PositiveIntegerField(validators=[validate_probability],null=True, blank=True) amount = models.DecimalField( max_digits=10, decimal_places=2, @@ -3858,3 +3889,63 @@ class CarImage(models.Model): self.id, task_name=f"generate_car_image_{self.car.vin}", ) + + + +class UserRegistration(models.Model): + name = models.CharField(_("Name"), max_length=255) + arabic_name = models.CharField(_("Arabic Name"), max_length=255) + email = models.EmailField(_("email address"), unique=True) + phone_number = models.CharField( + max_length=255, + verbose_name=_("Phone Number"), + validators=[SaudiPhoneNumberValidator()], + ) + crn = models.CharField(_("Commercial Registration Number"), max_length=10, unique=True) + vrn = models.CharField(_("Vehicle Registration Number"), max_length=15, unique=True) + address = models.TextField(_("Address")) + password = models.CharField(_("Password"), max_length=255,null=True,blank=True) + is_created = models.BooleanField(default=False) + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + REQUIRED_FIELDS = ["username", "arabic_name", "crn", "vrn", "address", "phone_number"] + + def __str__(self): + return self.email + + def create_account(self): + from .tasks import create_user_dealer + + if self.is_created or User.objects.filter(email=self.email).exists(): + logger.info(f"Account already created or exists: {self.email}") + return False + + password = make_random_password() + + try: + logger.info(f"Creating user account {self.email}") + dealer = create_user_dealer( + email=self.email, + password=password, + name=self.name, + arabic_name=self.arabic_name, + phone=self.phone_number, + crn=self.crn, + vrn=self.vrn, + address=self.address + ) + + if dealer: + self.is_created = True + self.password = password + self.save() + logger.info(f"User account created successfully: {self.email}") + return True + else: + logger.error(f"Failed to create dealer account: {self.email}") + return False + + except Exception as e: + logger.error(f"Error creating account for {self.email}: {e}") + return False \ No newline at end of file diff --git a/inventory/signals.py b/inventory/signals.py index 8c34c395..b4b33875 100644 --- a/inventory/signals.py +++ b/inventory/signals.py @@ -72,12 +72,12 @@ User = get_user_model() # check with marwan -@receiver(post_save, sender=models.Car) -def create_dealers_make(sender, instance, created, **kwargs): - if created: - models.DealersMake.objects.get_or_create( - dealer=instance.dealer, car_make=instance.id_car_make - ) +# @receiver(post_save, sender=models.Car) +# def create_dealers_make(sender, instance, created, **kwargs): +# if created: +# models.DealersMake.objects.get_or_create( +# dealer=instance.dealer, car_make=instance.id_car_make +# ) @receiver(post_save, sender=models.Car) @@ -310,21 +310,24 @@ def create_item_model(sender, instance, created, **kwargs): """ entity = instance.dealer.entity - if created: - coa = entity.get_default_coa() - uom = entity.get_uom_all().get(name="Unit") + coa = entity.get_default_coa() + uom = entity.get_uom_all().filter(name="Unit").first() + if not uom: + uom = entity.create_uom(name="Unit", unit_abbr="unit") - if not instance.item_model: - inventory = entity.create_item_product( - name=instance.vin, - item_type=ItemModel.ITEM_TYPE_MATERIAL, - uom_model=uom, - coa_model=coa, - ) - instance.item_model = inventory - inventory.save() - else: + if not instance.item_model: + inventory = entity.create_item_product( + name=instance.vin, + item_type=ItemModel.ITEM_TYPE_MATERIAL, + uom_model=uom, + coa_model=coa, + ) + instance.item_model = inventory + instance.save() + + if instance.marked_price: instance.item_model.default_amount = instance.marked_price + instance.item_model.save() # inventory = entity.create_item_inventory( # name=instance.vin, @@ -1386,3 +1389,39 @@ def handle_car_image(sender, instance, created, **kwargs): except Exception as e: logger.error(f"Error handling car image for {car.vin}: {e}") + + +@receiver(post_save, sender=models.UserRegistration) +def handle_user_registration(sender, instance, created, **kwargs): + if created: + send_email( + settings.DEFAULT_FROM_EMAIL, + instance.email, + "Account Registration", + """ + Thank you for registering with us. We will contact you shortly to complete your application. + شكرا لمراسلتنا. سوف نتصل بك قريبا لاستكمال طلبك. + """ + ) + + if instance.is_created: + logger.info(f"User account created: {instance.email}, sending email") + send_email( + settings.DEFAULT_FROM_EMAIL, + instance.email, + "Account Created", + f""" + Dear {instance.name}, + + Your account has been created and you can login with your email {instance.email} and password: {instance.password}. + Please login to the website to complete your profile and start using our services. + + Thank you for choosing us. + + عزيزي {instance.name}, + + لقد تم إنشاء حسابك والآن يمكنك تسجيل الدخول باستخدام بريدك الإلكتروني {instance.email} وكلمة المرور: {instance.password}. + يرجى تسجيل الدخول إلى الموقع لاستكمال الملف الشخصي والبدء في استخدام خدماتنا. + + شكرا لاختيارك لنا. + """) diff --git a/inventory/tasks.py b/inventory/tasks.py index 7fca2852..3cd79b94 100644 --- a/inventory/tasks.py +++ b/inventory/tasks.py @@ -1,3 +1,4 @@ +import time import base64 import logging import requests @@ -123,7 +124,7 @@ def retry_entity_creation(dealer_id, retry_count=0): Retry entity creation if initial attempt failed """ from .models import Dealer - from yourapp.models import EntityModel + from django_ledger.models import EntityModel max_retries = 3 diff --git a/inventory/urls.py b/inventory/urls.py index 3e2f6ee8..440ce88a 100644 --- a/inventory/urls.py +++ b/inventory/urls.py @@ -2,16 +2,18 @@ from inventory.utils import get_user_type from . import views from django.urls import path from django.urls import reverse_lazy -from django.views.generic import RedirectView +from django.views.generic import RedirectView,TemplateView from django_tables2.export.export import TableExport from django.conf.urls import handler403, handler400, handler404, handler500 urlpatterns = [ # main URLs path("", views.WelcomeView, name="welcome"), - path("signup/", views.dealer_signup, name="account_signup"), + # path("signup/", views.dealer_signup, name="account_signup"), + path('signup/', views.CarDealershipSignUpView.as_view(), name='account_signup'), + path('success/', TemplateView.as_view(template_name='account/success.html'), name='registration_success'), path("", views.HomeView, name="home"), - path('refund-policy/',views.refund_policy,name='refund_policy'), + # path('refund-policy/',views.refund_policy,name='refund_policy'), path("/", views.HomeView, name="home"), # Tasks path("legal/", views.terms_and_privacy, name="terms_and_privacy"), diff --git a/inventory/validators.py b/inventory/validators.py index f5fc43c7..777a8391 100644 --- a/inventory/validators.py +++ b/inventory/validators.py @@ -6,7 +6,7 @@ import re class SaudiPhoneNumberValidator(RegexValidator): def __init__(self, *args, **kwargs): super().__init__( - regex=r"^(\+9665|05)[0-9]{8}$", + regex=r"^(\+9665|05|9665)[0-9]{8}$", message=_("Enter a valid Saudi phone number (05XXXXXXXX or +9665XXXXXXXX)"), ) diff --git a/inventory/views.py b/inventory/views.py index 679d47ca..bad2e90c 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1440,13 +1440,13 @@ class CarListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): qs = super().get_queryset() qs = qs.filter(dealer=dealer) # status = self.request.GET.get("status") + # status = self.request.GET.get("status") search = self.request.GET.get("search") make = self.request.GET.get("make", None) model = self.request.GET.get("model", None) year = self.request.GET.get("year", None) car_status = self.request.GET.get("car_status", None) - print("ALLLLLLLLL:::",make,model) - + print(car_status) if car_status: qs = qs.filter(status=car_status) if search: @@ -5125,7 +5125,8 @@ def create_sale_order(request, dealer_slug, pk): f"KeyError: 'car_info' or 'status' key missing when attempting to update status to 'sold' for item.item_model PK: {getattr(item.item_model, 'pk', 'N/A')}." ) pass - + item.item_model.car.sold_date=timezone.now() # to be checked added by faheed + item.item_model.car.save()# to be checked added byfaheed item.item_model.car.mark_as_sold() messages.success(request, "Sale Order created successfully") @@ -6330,9 +6331,14 @@ def lead_create(request, dealer_slug): form.filter_qs(dealer=dealer) if make := request.GET.get("id_car_make", None): - form.fields["id_car_model"].queryset = models.CarModel.objects.filter( + qs = models.CarModel.objects.filter( id_car_make=int(make) ) + form.fields["id_car_model"].queryset = qs + form.fields["id_car_model"].choices = [ + (obj.id_car_model, obj.get_local_name()) for obj in qs + ] + else: dealer_make_list = models.DealersMake.objects.filter(dealer=dealer).values_list( "car_make", flat=True @@ -6366,7 +6372,11 @@ def lead_create(request, dealer_slug): ] if first_make := qs.first(): - form.fields["id_car_model"].queryset = first_make.carmodel_set.all() + qs = first_make.carmodel_set.all() + form.fields["id_car_model"].queryset = qs + form.fields["id_car_model"].choices = [ + (obj.id_car_model, obj.get_local_name()) for obj in qs + ] return render(request, "crm/leads/lead_form.html", {"form": form}) @@ -7539,17 +7549,17 @@ class NotificationListView(LoginRequiredMixin, ListView): def get_queryset(self): return models.Notification.objects.filter(user=self.request.user) - + def get_context_data(self, **kwargs): - + context = super().get_context_data(**kwargs) user_notifications = self.get_queryset() - + # Calculate the number of total, read and unread notifications context['total_count'] = user_notifications.count() context['read_count'] = user_notifications.filter(is_read=True).count() context['unread_count'] = user_notifications.filter(is_read=False).count() - + return context @@ -11078,7 +11088,7 @@ def purchase_report_view(request, dealer_slug): bills = po.get_po_bill_queryset() vendors = set([bill.vendor.vendor_name for bill in bills]) vendors_str = ", ".join(sorted(list(vendors))) if vendors else "N/A" - + data.append({ "po_number": po.po_number, "po_created": po.created, @@ -11194,7 +11204,7 @@ def car_sale_report_view(request, dealer_slug): cars_sold = cars_sold.filter(year=selected_year) if selected_stock_type: cars_sold = cars_sold.filter(stock_type=selected_stock_type) - + # Corrected: Apply date filters using the 'sold_date' field if start_date_str: try: @@ -11202,7 +11212,7 @@ def car_sale_report_view(request, dealer_slug): cars_sold = cars_sold.filter(sold_date__gte=start_date) except (ValueError, TypeError): pass - + if end_date_str: try: end_date = datetime.strptime(end_date_str, '%Y-%m-%d').date() @@ -11224,7 +11234,7 @@ def car_sale_report_view(request, dealer_slug): total_vat_from_additonals = sum([car.get_additional_services()['services_vat'] for car in cars_sold]) total_vat_collected = total_vat_on_cars + total_vat_from_additonals total_revenue_collected = total_revenue_from_cars + total_revenue_from_additonals - + total_discount = cars_sold.aggregate(total=Sum('discount_amount'))['total'] or 0 current_time = timezone.now().strftime("%Y-%m-%d %H:%M:%S") @@ -11263,7 +11273,7 @@ def car_sale_report_view(request, dealer_slug): @login_required def get_filtered_choices(request, dealer_slug): dealer = get_object_or_404(models.Dealer, slug=dealer_slug) - + # Get all filter parameters from the request selected_make = request.GET.get('make') selected_model = request.GET.get('model') @@ -11277,10 +11287,10 @@ def get_filtered_choices(request, dealer_slug): # Apply filters based on what is selected if selected_make: queryset = queryset.filter(id_car_make__name=selected_make) - + if selected_model: queryset = queryset.filter(id_car_model__name=selected_model) - + if selected_serie: queryset = queryset.filter(id_car_serie__name=selected_serie) @@ -11351,7 +11361,7 @@ def car_sale_report_csv_export(request, dealer_slug): cars_sold = cars_sold.filter(year=selected_year) if selected_stock_type: cars_sold = cars_sold.filter(stock_type=selected_stock_type) - + # Corrected: Apply date filters for CSV export if start_date_str: try: @@ -11669,6 +11679,18 @@ class CharOfAccountModelActionView(CharOfAccountModelActionViewBase): -#for refund policy -def refund_policy(request): - return render(request,'haikal_policy/refund_policy.html') +class CarDealershipSignUpView(CreateView): + model = models.UserRegistration + form_class = forms.CarDealershipRegistrationForm + template_name = 'account/signup-wizard.html' + success_url = reverse_lazy('registration_success') + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context['title'] = _('Car Dealership Registration') + return context + + def form_valid(self, form): + response = super().form_valid(form) + messages.success(self.request, _('Your request has been submitted. We will contact you soon.')) + return response \ No newline at end of file diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo index 155f3b64..5655e7d5 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 8810f382..e4ecbcdd 100644 --- a/locale/ar/LC_MESSAGES/django.po +++ b/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-31 19:05+0300\n" +"POT-Creation-Date: 2025-09-03 20:13+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,7 +27,7 @@ msgstr "" #: templates/inventory/car_list.html:71 templates/inventory/car_list.html:77 #: templates/inventory/cars_list_api.html:32 #: templates/inventory/transfer_details.html:89 -#: templates/ledger/reports/car_sale_report.html:226 +#: templates/ledger/reports/car_sale_report.html:225 #: templates/recalls/partials/recall_cars_table.html:6 #: templates/sales/estimates/estimate_detail.html:239 #: templates/sales/estimates/sale_order_preview.html:203 @@ -37,7 +37,7 @@ msgstr "" msgid "VIN" msgstr "رقم الهيكل" -#: api/views.py:146 inventory/views.py:976 +#: api/views.py:146 inventory/views.py:978 msgid "Invalid VIN number provided" msgstr "تم تقديم رقم تعريف مركبة (VIN) غير صالح" @@ -45,24 +45,19 @@ msgstr "تم تقديم رقم تعريف مركبة (VIN) غير صالح" msgid "VIN not found in any source" msgstr "لم يتم العثور على رقم الهيكل (VIN) في أي مصدر" -#: car_inventory/settings.py:292 +#: car_inventory/settings.py:297 #: dev_venv/lib/python3.13/site-packages/appointments/settings.py:136 msgid "English" msgstr "الإنجليزية" -#: car_inventory/settings.py:293 +#: car_inventory/settings.py:298 msgid "Arabic" msgstr "العربية" -#: car_inventory/settings.py:406 +#: car_inventory/settings.py:411 msgid "SAR" msgstr "ريال" -#: car_inventory/settings.py:447 templates/header.html:489 -#: templates/welcome-temp.html:89 templates/welcome_header.html:15 -msgid "Haikal" -msgstr "هيكل" - #: dev_venv/lib/python3.13/site-packages/appointment/forms.py:99 msgid "This email is already taken." msgstr "هذا البريد الإلكتروني مستخدم بالفعل." @@ -273,7 +268,7 @@ msgstr "لا يلزم أن تكون التفاصيل دقيقة، فقط الم #: templates/crm/leads/lead_list.html:141 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:209 #: templates/groups/group_detail.html:30 -#: templates/inventory/car_detail.html:553 +#: templates/inventory/car_detail.html:558 #: templates/inventory/car_list_view.html:244 #: templates/inventory/transfer_details.html:64 #: templates/ledger/bank_accounts/bank_account_detail.html:36 @@ -298,7 +293,7 @@ msgstr "نعم" #: dev_venv/lib/python3.13/site-packages/django/forms/widgets.py:868 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:206 #: templates/groups/group_detail.html:27 -#: templates/inventory/car_detail.html:548 +#: templates/inventory/car_detail.html:553 #: templates/inventory/car_list_view.html:249 #: templates/inventory/transfer_details.html:29 #: templates/inventory/transfer_details.html:60 @@ -486,16 +481,16 @@ msgstr "هنا يمكنك إضافة/إزالة الخدمات التي تقدم #: templates/bill/tags/bill_table.html:47 #: templates/chart_of_accounts/coa_update.html:35 #: templates/chart_of_accounts/includes/coa_card.html:84 -#: templates/crm/leads/lead_detail.html:488 -#: templates/crm/leads/lead_detail.html:490 +#: templates/crm/leads/lead_detail.html:489 +#: templates/crm/leads/lead_detail.html:491 #: templates/crm/leads/schedule_lead.html:6 templates/crm/note_form.html:14 -#: templates/crm/opportunities/opportunity_detail.html:674 #: templates/crm/opportunities/opportunity_detail.html:675 +#: templates/crm/opportunities/opportunity_detail.html:676 #: templates/crm/opportunities/opportunity_form.html:128 #: templates/crm/opportunities/partials/opportunity_grid.html:142 #: templates/inventory/car_list_view.html:94 #: templates/items/expenses/expenses_list.html:52 -#: templates/items/service/service_list.html:55 +#: templates/items/service/service_list.html:53 #: templates/ledger/bank_accounts/bank_account_list.html:53 #: templates/ledger/journal_entry/includes/card_invoice.html:42 #: templates/purchase_orders/includes/card_po.html:102 @@ -509,7 +504,7 @@ msgstr "تحديث" #: templates/customers/note_form.html:7 templates/inventory/car_detail.html:174 #: templates/inventory/car_detail.html:201 #: templates/inventory/car_detail.html:226 -#: templates/inventory/car_detail.html:284 +#: templates/inventory/car_detail.html:288 #: templates/purchase_orders/po_update.html:95 #: templates/sales/estimates/estimate_detail.html:299 msgid "Add" @@ -596,13 +591,13 @@ msgstr "تذكير للإدارة: موعد قادم" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html:15 #: templates/administration/display_appointment.html:17 #: templates/crm/employee_calendar.html:11 -#: templates/crm/opportunities/opportunity_detail.html:757 +#: templates/crm/opportunities/opportunity_detail.html:758 #: templates/crm/opportunities/opportunity_logs.html:13 #: templates/customers/view_customer.html:116 #: templates/email_sender/reminder_email.html:83 #: templates/email_sender/reschedule_email.html:63 #: templates/email_sender/reschedule_email.html:70 -#: templates/inventory/car_detail.html:433 +#: templates/inventory/car_detail.html:438 #: templates/inventory/transfer_details.html:75 #: templates/inventory/transfer_preview.html:275 #: templates/ledger/coa_accounts/account_detail.html:75 @@ -658,11 +653,10 @@ msgstr "العميل" #: dev_venv/lib/python3.13/site-packages/appointment/templates/administration/user_profile.html:40 #: dev_venv/lib/python3.13/site-packages/appointment/templates/appointment/appointment_client_information.html:50 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/mixins.py:112 -#: inventory/forms.py:120 inventory/forms.py:1906 inventory/models.py:1613 -#: inventory/models.py:1641 inventory/models.py:1710 inventory/models.py:1883 -#: inventory/models.py:2049 inventory/models.py:2276 inventory/models.py:2638 +#: inventory/forms.py:121 inventory/forms.py:1908 inventory/models.py:1613 +#: inventory/models.py:1641 inventory/models.py:1710 inventory/models.py:1886 +#: inventory/models.py:2052 inventory/models.py:2279 inventory/models.py:2641 #: templates/account/login.html:36 templates/account/login.html:42 -#: templates/account/signup-wizard.html:103 #: templates/admin_management/user_management.html:27 #: templates/admin_management/user_management.html:104 #: templates/admin_management/user_management.html:181 @@ -678,7 +672,8 @@ msgstr "العميل" #: templates/crm/opportunities/opportunity_detail.html:374 #: templates/customers/view_customer.html:82 #: templates/dealers/dealer_detail.html:269 -#: templates/groups/group_detail.html:67 templates/pricing_page.html:307 +#: templates/groups/group_detail.html:67 templates/pricing_page.html:310 +#: templates/registration/signup.html:103 #: templates/sales/estimates/estimate_detail.html:204 #: templates/sales/estimates/sale_order_preview.html:192 #: templates/sales/saleorder_detail.html:28 templates/users/user_list.html:35 @@ -694,7 +689,7 @@ msgstr "البريد الإلكتروني" #: templates/dealers/dealer_detail.html:276 #: templates/organizations/organization_detail.html:37 #: templates/organizations/organization_list.html:72 -#: templates/pricing_page.html:313 +#: templates/pricing_page.html:316 #: templates/representatives/representative_detail.html:14 #: templates/representatives/representative_list.html:26 #: templates/vendors/vendors_list.html:53 @@ -768,7 +763,6 @@ msgstr "الكود" #: dev_venv/lib/python3.13/site-packages/appointment/templates/administration/manage_day_off.html:69 #: dev_venv/lib/python3.13/site-packages/appointment/templates/appointment/enter_verification_code.html:24 #: dev_venv/lib/python3.13/site-packages/appointment/templates/modal/event_details_modal.html:27 -#: templates/account/signup-wizard.html:256 #: templates/administration/email_change_verification_code.html:28 #: templates/administration/manage_day_off.html:73 #: templates/appointment/enter_verification_code.html:28 @@ -818,8 +812,8 @@ msgstr "تاريخ الانتهاء" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:49 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/transactions/tags/txs_table.html:14 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/transactions/tags/txs_table.html:49 -#: inventory/models.py:568 inventory/models.py:1274 inventory/models.py:2576 -#: inventory/models.py:3698 inventory/models.py:3769 +#: inventory/models.py:568 inventory/models.py:1274 inventory/models.py:2579 +#: inventory/models.py:3704 inventory/models.py:3775 #: templates/administration/manage_day_off.html:67 #: templates/administration/manage_service.html:23 #: templates/administration/user_profile.html:92 @@ -879,7 +873,7 @@ msgstr "" #: templates/components/task_modal.html:35 #: templates/crm/leads/lead_form.html:54 #: templates/crm/leads/schedule_lead.html:17 -#: templates/crm/opportunities/opportunity_detail.html:903 +#: templates/crm/opportunities/opportunity_detail.html:904 #: templates/customers/customer_form.html:47 #: templates/dealers/assign_car_makes.html:87 #: templates/dealers/dealer_form.html:29 templates/groups/group_form.html:48 @@ -955,10 +949,9 @@ msgstr "قائمة الخدمات" #: dev_venv/lib/python3.13/site-packages/appointment/templates/administration/user_profile.html:234 #: dev_venv/lib/python3.13/site-packages/django_ledger/forms/chart_of_accounts.py:35 #: dev_venv/lib/python3.13/site-packages/django_ledger/forms/chart_of_accounts.py:72 -#: inventory/forms.py:845 inventory/models.py:566 inventory/models.py:1177 -#: inventory/models.py:1194 inventory/models.py:1877 inventory/models.py:2021 -#: templates/account/signup-wizard.html:160 -#: templates/admin_management/user_management.html:98 +#: inventory/forms.py:847 inventory/models.py:566 inventory/models.py:1177 +#: inventory/models.py:1194 inventory/models.py:1880 inventory/models.py:2024 +#: inventory/models.py:3864 templates/admin_management/user_management.html:98 #: templates/admin_management/user_management.html:175 #: templates/admin_management/user_management.html:252 #: templates/administration/manage_service.html:17 @@ -972,9 +965,9 @@ msgstr "قائمة الخدمات" #: templates/ledger/bank_accounts/bank_account_list.html:24 #: templates/organizations/organization_list.html:40 #: templates/plans/order_detail_table.html:7 templates/plans/order_list.html:19 -#: templates/pricing_page.html:304 +#: templates/pricing_page.html:307 #: templates/purchase_orders/inventory_item_form.html:8 -#: templates/purchase_orders/po_upload_cars.html:30 +#: templates/purchase_orders/po_upload_cars.html:31 #: templates/representatives/representative_list.html:24 #: templates/sales/saleorder_detail.html:23 templates/users/user_list.html:34 #: templates/vendors/vendors_list.html:32 templates/vendors/view_vendor.html:41 @@ -1000,7 +993,7 @@ msgstr "المدة" #: templates/administration/service_list.html:24 #: templates/administration/user_profile.html:240 #: templates/inventory/car_list_view.html:90 -#: templates/inventory/transfer_details.html:91 templates/pricing_page.html:291 +#: templates/inventory/transfer_details.html:91 templates/pricing_page.html:294 #: templates/sales/orders/purchase_order.html:62 msgid "Price" msgstr "السعر" @@ -1017,9 +1010,9 @@ msgstr "السعر" #: templates/crm/leads/lead_list.html:110 #: templates/crm/opportunities/opportunity_logs.html:8 #: templates/groups/group_detail.html:89 -#: templates/inventory/car_detail.html:429 +#: templates/inventory/car_detail.html:434 #: templates/items/expenses/expenses_list.html:28 -#: templates/items/service/service_list.html:29 +#: templates/items/service/service_list.html:28 #: templates/ledger/bank_accounts/bank_account_list.html:27 #: templates/ledger/bills/bill_list.html:34 #: templates/ledger/journal_entry/journal_entry_list.html:67 @@ -1088,16 +1081,13 @@ msgstr "هل أنت متأكد أنك تريد حذف هذا الموعد؟" #: templates/administration/service_list.html:12 #: templates/administration/staff_index.html:78 #: templates/administration/user_profile.html:11 -#: templates/bill/tags/bill_item_formset.html:50 +#: templates/bill/tags/bill_item_formset.html:40 #: templates/crm/leads/lead_list.html:126 #: templates/crm/leads/lead_list.html:236 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:41 #: templates/customers/view_customer.html:29 #: templates/groups/group_detail.html:116 -#: templates/items/expenses/expenses_list.html:55 -#: templates/items/service/service_list.html:58 #: templates/ledger/bank_accounts/bank_account_detail.html:74 -#: templates/ledger/bank_accounts/bank_account_list.html:56 #: templates/ledger/coa_accounts/account_detail.html:147 #: templates/ledger/journal_entry/journal_entry_delete.html:18 #: templates/ledger/journal_entry/journal_entry_list.html:114 @@ -1194,17 +1184,17 @@ msgstr "البريد الإلكتروني للعميل" #: dev_venv/lib/python3.13/site-packages/appointment/templates/administration/staff_index.html:369 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/mixins.py:114 -#: inventory/forms.py:315 inventory/forms.py:886 inventory/forms.py:1911 -#: inventory/models.py:1343 inventory/models.py:1473 inventory/models.py:1715 -#: inventory/models.py:1886 inventory/models.py:2028 inventory/models.py:2052 -#: inventory/models.py:2747 templates/account/signup-wizard.html:178 +#: inventory/forms.py:316 inventory/forms.py:888 inventory/forms.py:1913 +#: inventory/models.py:1343 inventory/models.py:1473 inventory/models.py:1717 +#: inventory/models.py:1889 inventory/models.py:2031 inventory/models.py:2055 +#: inventory/models.py:2750 inventory/models.py:3869 #: templates/administration/staff_index.html:120 #: templates/crm/leads/lead_list.html:68 #: templates/crm/opportunities/opportunity_detail.html:354 #: templates/customers/customer_list.html:60 #: templates/customers/view_customer.html:87 templates/pricing_page.html:174 -#: templates/pricing_page.html:182 templates/staff/staff_detail.html:74 -#: templates/vendors/view_vendor.html:47 +#: templates/pricing_page.html:185 templates/registration/signup.html:178 +#: templates/staff/staff_detail.html:74 templates/vendors/view_vendor.html:47 msgid "Phone Number" msgstr "رقم الهاتف" @@ -1478,8 +1468,8 @@ msgstr "تفاصيل الدفع" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/transactions/tags/txs_table.html:62 #: templates/appointment/appointment_client_information.html:97 #: templates/bill/bill_detail.html:92 templates/bill/bill_detail.html:137 -#: templates/bill/tags/bill_item_formset.html:49 -#: templates/bill/tags/bill_item_formset.html:110 +#: templates/bill/tags/bill_item_formset.html:39 +#: templates/bill/tags/bill_item_formset.html:100 #: templates/bill/transactions/tags/txs_table.html:39 #: templates/bill/transactions/tags/txs_table.html:78 #: templates/inventory/inventory_stats.html:105 @@ -1493,7 +1483,7 @@ msgstr "تفاصيل الدفع" #: templates/ledger/reports/tags/cash_flow_statement.html:9 #: templates/plans/invoices/layout.html:128 #: templates/plans/invoices/layout.html:170 -#: templates/plans/order_detail_table.html:11 templates/pricing_page.html:297 +#: templates/plans/order_detail_table.html:11 templates/pricing_page.html:300 #: templates/purchase_orders/includes/po_item_formset.html:90 #: templates/sales/estimates/estimate_detail.html:242 #: templates/sales/estimates/sale_order_preview.html:209 @@ -1546,9 +1536,8 @@ msgid "Please select a staff member" msgstr "يرجى اختيار أحد أعضاء الفريق" #: dev_venv/lib/python3.13/site-packages/appointment/templates/appointment/appointments.html:85 -#: templates/account/signup-wizard.html:276 -#: templates/appointment/appointments.html:86 templates/pricing_page.html:338 -#: templates/recalls/recall_list.html:78 +#: templates/appointment/appointments.html:86 templates/pricing_page.html:341 +#: templates/recalls/recall_list.html:78 templates/registration/signup.html:277 #: templates/two_factor/_wizard_actions.html:13 msgid "Next" msgstr "التالي" @@ -2095,15 +2084,15 @@ msgstr "اذهب" #: templates/crm/leads/lead_form.html:59 #: templates/crm/leads/schedule_lead.html:19 #: templates/crm/opportunities/opportunity_confirm_delete.html:8 -#: templates/crm/opportunities/opportunity_detail.html:906 +#: templates/crm/opportunities/opportunity_detail.html:907 #: templates/csv_upload.html:185 templates/customers/customer_form.html:52 #: templates/dealers/dealer_form.html:34 templates/groups/group_form.html:52 #: templates/groups/group_permission_form-copy.html:31 #: templates/inventory/add_colors.html:62 #: templates/inventory/add_custom_card.html:13 #: templates/inventory/car_confirm_delete.html:27 -#: templates/inventory/car_detail.html:388 -#: templates/inventory/car_detail.html:460 templates/inventory/car_edit.html:31 +#: templates/inventory/car_detail.html:393 +#: templates/inventory/car_detail.html:465 templates/inventory/car_edit.html:31 #: templates/inventory/car_finance_form.html:50 #: templates/inventory/car_registration_form.html:14 #: templates/inventory/color_palette.html:108 @@ -2154,8 +2143,8 @@ msgstr "إلغاء" #: templates/customers/view_customer.html:20 #: templates/groups/group_detail.html:110 #: templates/inventory/car_detail.html:238 -#: templates/inventory/car_detail.html:275 -#: templates/inventory/car_detail.html:327 +#: templates/inventory/car_detail.html:277 +#: templates/inventory/car_detail.html:332 #: templates/inventory/car_list_view.html:272 #: templates/ledger/bank_accounts/bank_account_detail.html:69 #: templates/ledger/coa_accounts/account_detail.html:139 @@ -2423,7 +2412,7 @@ msgstr "تم التحقق من البريد الإلكتروني بنجاح." #: dev_venv/lib/python3.13/site-packages/appointment/views.py:424 #: dev_venv/lib/python3.13/site-packages/django/db/models/fields/__init__.py:1920 -#: inventory/forms.py:745 +#: inventory/forms.py:747 msgid "Email address" msgstr "عنوان البريد الإلكتروني" @@ -3375,7 +3364,7 @@ msgid "File" msgstr "الملف" #: dev_venv/lib/python3.13/site-packages/django/db/models/fields/files.py:420 -#: inventory/models.py:1486 inventory/models.py:1725 +#: inventory/models.py:1486 inventory/models.py:1728 #: templates/administration/manage_service.html:46 msgid "Image" msgstr "الصورة" @@ -3423,8 +3412,8 @@ msgid ":?.!" msgstr ":؟.!" #: dev_venv/lib/python3.13/site-packages/django/forms/fields.py:95 -#: inventory/forms.py:768 inventory/forms.py:785 inventory/forms.py:922 -#: inventory/forms.py:940 inventory/forms.py:955 +#: inventory/forms.py:770 inventory/forms.py:787 inventory/forms.py:924 +#: inventory/forms.py:942 inventory/forms.py:957 msgid "This field is required." msgstr "هذا الحقل مطلوب." @@ -3746,7 +3735,7 @@ msgstr "أبريل" #: dev_venv/lib/python3.13/site-packages/django/utils/dates.py:29 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/entity.py:753 -#: templates/dashboards/general_dashboard.html:81 +#: templates/dashboards/general_dashboard.html:89 msgid "May" msgstr "مايو" @@ -4228,9 +4217,9 @@ msgid "Relative to" msgstr "نسبياً إلى" #: dev_venv/lib/python3.13/site-packages/django_ledger/forms/auth.py:15 -#: inventory/forms.py:757 inventory/forms.py:761 +#: inventory/forms.py:759 inventory/forms.py:763 inventory/models.py:3875 #: templates/account/login.html:48 templates/account/login.html:54 -#: templates/account/signup-wizard.html:118 +#: templates/registration/signup.html:118 msgid "Password" msgstr "كلمة المرور" @@ -4341,13 +4330,13 @@ msgstr "هل ستتراكم هذه الفاتورة؟" #: dev_venv/lib/python3.13/site-packages/django_ledger/forms/bill.py:154 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/includes/card_markdown.html:9 -#: inventory/models.py:2549 inventory/models.py:2668 +#: inventory/models.py:2552 inventory/models.py:2671 #: templates/crm/leads/lead_detail.html:244 -#: templates/crm/leads/lead_detail.html:442 +#: templates/crm/leads/lead_detail.html:443 #: templates/crm/leads/partials/update_action.html:53 #: templates/crm/opportunities/opportunity_detail.html:510 -#: templates/crm/opportunities/opportunity_detail.html:580 -#: templates/crm/opportunities/opportunity_detail.html:628 +#: templates/crm/opportunities/opportunity_detail.html:581 +#: templates/crm/opportunities/opportunity_detail.html:629 #: templates/customers/view_customer.html:101 #: templates/emails/schedule_reminder.html:30 #: templates/emails/schedule_reminder.txt:9 @@ -4998,8 +4987,8 @@ msgstr "مقفل" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:11 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/uom/tags/uom_table.html:10 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:12 -#: inventory/models.py:1495 inventory/models.py:1720 inventory/models.py:1905 -#: inventory/models.py:2765 templates/admin_management/user_management.html:45 +#: inventory/models.py:1495 inventory/models.py:1723 inventory/models.py:1908 +#: inventory/models.py:2768 templates/admin_management/user_management.html:45 #: templates/admin_management/user_management.html:122 #: templates/admin_management/user_management.html:199 #: templates/admin_management/user_management.html:276 @@ -5026,13 +5015,12 @@ msgstr "قائمة الحسابات" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:45 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/transactions/tags/txs_table.html:9 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/transactions/tags/txs_table.html:45 -#: templates/account/signup-wizard.html:53 #: templates/bill/transactions/tags/txs_table.html:9 -#: templates/items/service/service_list.html:28 #: templates/ledger/journal_entry/journal_entry_txs.html:26 #: templates/plans/current.html:16 #: templates/purchase_orders/includes/inventory_item_form.html:12 #: templates/purchase_orders/inventory_item_form.html:12 +#: templates/registration/signup.html:53 msgid "Account" msgstr "الحساب" @@ -5147,7 +5135,7 @@ msgstr "مدفوع" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/invoice.py:305 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/items.py:1042 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/purchase_order.py:196 -#: inventory/models.py:2281 templates/crm/leads/lead_list.html:167 +#: inventory/models.py:2284 templates/crm/leads/lead_list.html:167 #: templates/sales/estimates/estimate_detail.html:103 #: templates/sales/estimates/estimate_detail.html:222 #: templates/sales/estimates/estimate_list.html:48 @@ -5189,13 +5177,13 @@ msgstr "رقم المرجع الخارجي" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/vendor.py:191 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_table.html:12 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:10 -#: inventory/forms.py:2065 inventory/models.py:638 inventory/models.py:2792 +#: inventory/forms.py:2067 inventory/models.py:638 inventory/models.py:2795 #: templates/bill/tags/bill_table.html:10 #: templates/inventory/car_detail.html:134 #: templates/inventory/car_form.html:159 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:136 #: templates/ledger/bills/bill_list.html:33 -#: templates/ledger/reports/purchase_report.html:103 +#: templates/ledger/reports/purchase_report.html:122 msgid "Vendor" msgstr "المورد" @@ -5207,7 +5195,7 @@ msgstr "معلومات إضافية عن الفاتورة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:85 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:8 #: templates/bill/bill_detail.html:80 -#: templates/bill/tags/bill_item_formset.html:24 +#: templates/bill/tags/bill_item_formset.html:14 msgid "Bill Items" msgstr "بنود الفاتورة" @@ -5256,7 +5244,7 @@ msgstr "تاريخ الإلغاء" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/entity.py:3171 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:11 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:61 -#: inventory/forms.py:1012 templates/bill/includes/card_bill.html:11 +#: inventory/forms.py:1014 templates/bill/includes/card_bill.html:11 #: templates/bill/includes/card_bill.html:78 #: templates/ledger/bills/bill_detail.html:77 #: templates/ledger/bills/bill_update_form.html:5 @@ -5383,10 +5371,10 @@ msgstr "نموذج الحساب" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_txs_table.html:10 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html:33 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html:10 -#: inventory/models.py:2676 templates/components/activity_modal.html:11 -#: templates/crm/leads/lead_detail.html:263 -#: templates/crm/opportunities/opportunity_detail.html:535 -#: templates/crm/opportunities/opportunity_detail.html:814 +#: inventory/models.py:2679 templates/components/activity_modal.html:11 +#: templates/crm/leads/lead_detail.html:264 +#: templates/crm/opportunities/opportunity_detail.html:536 +#: templates/crm/opportunities/opportunity_detail.html:815 #: templates/dealers/activity_log.html:4 templates/dealers/activity_log.html:17 #: templates/ledger/journal_entry/includes/card_journal_entry.html:30 #: templates/ledger/journal_entry/journal_entry_list.html:62 @@ -5420,7 +5408,7 @@ msgstr "كيان العميل" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/invoice.py:319 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:9 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:10 -#: inventory/models.py:1761 inventory/models.py:2060 inventory/models.py:2979 +#: inventory/models.py:1764 inventory/models.py:2063 inventory/models.py:2982 #: templates/crm/employee_calendar.html:9 #: templates/emails/schedule_reminder.html:26 #: templates/emails/schedule_reminder.txt:8 @@ -5552,7 +5540,7 @@ msgstr "أمر شراء" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/entity.py:3172 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/invoice.py:361 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:10 -#: inventory/forms.py:1008 inventory/models.py:2971 +#: inventory/forms.py:1010 inventory/models.py:2974 #: templates/crm/opportunities/opportunity_detail.html:190 #: templates/ledger/journal_entry/includes/card_invoice.html:9 #: templates/plans/create_order.html:25 templates/plans/invoices/layout.html:15 @@ -5568,7 +5556,7 @@ msgstr "فاتورة" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/entity.py:3173 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:9 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:9 -#: inventory/models.py:2963 +#: inventory/models.py:2966 #: templates/crm/opportunities/opportunity_detail.html:179 msgid "Estimate" msgstr "تقدير" @@ -5605,8 +5593,8 @@ msgid "Permission Level" msgstr "مستوى الأذونات" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/estimate.py:226 -#: inventory/models.py:2280 inventory/models.py:2302 inventory/models.py:2580 -#: templates/crm/opportunities/opportunity_detail.html:593 +#: inventory/models.py:2283 inventory/models.py:2305 inventory/models.py:2583 +#: templates/crm/opportunities/opportunity_detail.html:594 #: templates/sales/estimates/estimate_detail.html:101 #: templates/sales/estimates/estimate_detail.html:220 #: templates/sales/estimates/estimate_list.html:50 @@ -5627,7 +5615,7 @@ msgstr "الوقت والمواد" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/estimate.py:240 #: dev_venv/lib/python3.13/site-packages/django_ledger/models/items.py:511 -#: inventory/models.py:2271 +#: inventory/models.py:2274 msgid "Other" msgstr "أخرى" @@ -5757,7 +5745,7 @@ msgid "Cannot compute gross margin, total cost is zero." msgstr "لا يمكن حساب هامش الربح الإجمالي، التكلفة الإجمالية صفر." #: dev_venv/lib/python3.13/site-packages/django_ledger/models/invoice.py:314 -#: templates/ledger/reports/car_sale_report.html:244 +#: templates/ledger/reports/car_sale_report.html:243 #: templates/sales/invoices/invoice_detail.html:269 #: templates/sales/invoices/invoice_list.html:25 #: templates/sales/journals/journal_list.html:13 @@ -6054,9 +6042,9 @@ msgstr "نموذج الفاتورة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:19 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:20 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/po_update.html:51 -#: inventory/forms.py:982 inventory/models.py:1017 +#: inventory/forms.py:984 inventory/models.py:1017 #: templates/bill/bill_detail.html:91 -#: templates/bill/tags/bill_item_formset.html:46 +#: templates/bill/tags/bill_item_formset.html:36 #: templates/inventory/tags/inventory_table.html:9 #: templates/inventory/transfer_preview.html:290 #: templates/ledger/bills/bill_detail.html:278 @@ -6065,6 +6053,7 @@ msgstr "نموذج الفاتورة" #: templates/purchase_orders/includes/inventory_item_form.html:18 #: templates/purchase_orders/includes/po_item_formset.html:36 #: templates/purchase_orders/po_update.html:44 +#: templates/purchase_orders/po_upload_cars.html:32 #: templates/sales/estimates/estimate_detail.html:240 #: templates/sales/estimates/sale_order_preview.html:207 #: templates/sales/invoices/invoice_detail.html:323 @@ -6350,7 +6339,7 @@ msgid "Progress Amount" msgstr "مبلغ التقدم" #: dev_venv/lib/python3.13/site-packages/django_ledger/models/mixins.py:975 -#: templates/header.html:662 templates/ledger/bills/bill_detail.html:154 +#: templates/header.html:661 templates/ledger/bills/bill_detail.html:154 #: templates/sales/estimates/sale_order_preview.html:195 #: templates/sales/invoices/invoice_detail.html:201 msgid "Terms" @@ -6363,10 +6352,10 @@ msgstr "الشروط" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:63 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:80 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:101 -#: inventory/models.py:2577 templates/bill/includes/card_bill.html:98 +#: inventory/models.py:2580 templates/bill/includes/card_bill.html:98 #: templates/bill/includes/card_bill.html:122 #: templates/bill/includes/card_bill.html:149 -#: templates/crm/opportunities/opportunity_detail.html:589 +#: templates/crm/opportunities/opportunity_detail.html:590 #: templates/ledger/journal_entry/includes/card_invoice.html:64 #: templates/ledger/journal_entry/includes/card_invoice.html:80 #: templates/ledger/journal_entry/includes/card_invoice.html:99 @@ -6506,7 +6495,7 @@ msgstr "الحساب من مخطط الحسابات المرتبط بهذه ال #: dev_venv/lib/python3.13/site-packages/django_ledger/models/transactions.py:471 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:22 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html:11 -#: inventory/forms.py:1014 inventory/models.py:2420 +#: inventory/forms.py:1016 inventory/models.py:2423 #: templates/crm/opportunities/opportunity_detail.html:263 #: templates/ledger/bank_accounts/bank_account_detail.html:56 #: templates/ledger/journal_entry/journal_entry_txs.html:28 @@ -6623,7 +6612,7 @@ msgstr "العودة إلى قائمة مخطط الحسابات" #: templates/admin_management/user_management.html:188 #: templates/admin_management/user_management.html:265 #: templates/bill/tags/bill_table.html:14 -#: templates/inventory/car_detail.html:363 +#: templates/inventory/car_detail.html:368 #: templates/ledger/coa_accounts/account_detail.html:79 #: templates/purchase_orders/includes/po_table.html:12 #: templates/purchase_orders/po_list.html:44 @@ -6754,7 +6743,7 @@ msgstr "إلغاء التنشيط" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/bill_create.html:11 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:27 #: dev_venv/lib/python3.13/site-packages/django_ledger/views/bill.py:52 -#: inventory/views.py:7862 templates/bill/bill_create.html:7 +#: inventory/views.py:7872 templates/bill/bill_create.html:7 #: templates/bill/bill_create.html:15 #: templates/ledger/bills/bill_form-copy.html:5 #: templates/ledger/bills/bill_form-copy.html:9 @@ -6829,9 +6818,9 @@ msgstr "ما زلت مديناً" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/po_update.html:50 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html:8 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/service/tags/services_table.html:10 -#: inventory/forms.py:978 inventory/models.py:584 +#: inventory/forms.py:980 inventory/models.py:584 #: templates/bill/bill_detail.html:88 -#: templates/bill/tags/bill_item_formset.html:43 +#: templates/bill/tags/bill_item_formset.html:33 #: templates/inventory/tags/inventory_table.html:7 #: templates/inventory/transfer_preview.html:289 #: templates/ledger/bills/bill_detail.html:277 @@ -6853,10 +6842,10 @@ msgstr "العنصر" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:19 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html:9 #: templates/bill/bill_detail.html:90 -#: templates/bill/tags/bill_item_formset.html:47 +#: templates/bill/tags/bill_item_formset.html:37 #: templates/ledger/ledger/ledger_detail.html:70 #: templates/purchase_orders/includes/po_item_formset.html:35 -#: templates/purchase_orders/po_upload_cars.html:32 +#: templates/purchase_orders/po_upload_cars.html:33 #: templates/purchase_orders/tags/po_item_table.html:8 #: templates/sales/tags/invoice_item_formset.html:19 msgid "Unit Cost" @@ -6870,7 +6859,7 @@ msgstr "أمر الشراء" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:115 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:45 #: templates/bill/bill_detail.html:125 -#: templates/bill/tags/bill_item_formset.html:77 +#: templates/bill/tags/bill_item_formset.html:67 msgid "View PO" msgstr "عرض أمر الشراء" @@ -7159,15 +7148,15 @@ msgstr "فاتورة جديدة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:19 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html:10 -#: templates/bill/tags/bill_item_formset.html:44 +#: templates/bill/tags/bill_item_formset.html:34 #: templates/purchase_orders/tags/po_item_table.html:9 msgid "PO Qty" msgstr "كمية أمر الشراء" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:20 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/po_detail.html:31 -#: templates/bill/tags/bill_item_formset.html:45 -#: templates/ledger/reports/purchase_report.html:99 +#: templates/bill/tags/bill_item_formset.html:35 +#: templates/ledger/reports/purchase_report.html:119 #: templates/purchase_orders/includes/card_po.html:81 #: templates/purchase_orders/includes/po_table.html:11 msgid "PO Amount" @@ -7184,7 +7173,7 @@ msgstr "مبلغ أمر الشراء" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:11 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:21 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/transactions/tags/txs_table.html:11 -#: templates/bill/tags/bill_item_formset.html:48 +#: templates/bill/tags/bill_item_formset.html:38 #: templates/bill/transactions/tags/txs_table.html:11 #: templates/ledger/reports/balance_sheet.html:37 #: templates/ledger/reports/cash_flow_statement.html:34 @@ -7200,7 +7189,6 @@ msgstr "الوحدة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/tags/ce_item_formset.html:74 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:69 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:101 -#: templates/bill/tags/bill_item_formset.html:132 #: templates/sales/tags/invoice_item_formset.html:64 msgid "New Item" msgstr "عنصر جديد" @@ -7216,8 +7204,8 @@ msgstr "الرقم" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:15 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:23 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html:12 -#: inventory/forms.py:1515 inventory/models.py:677 inventory/models.py:2110 -#: inventory/models.py:2628 inventory/models.py:3777 inventory/tables.py:74 +#: inventory/forms.py:1517 inventory/models.py:677 inventory/models.py:2113 +#: inventory/models.py:2631 inventory/models.py:3783 inventory/tables.py:74 #: templates/admin_management/user_management.html:30 #: templates/admin_management/user_management.html:107 #: templates/admin_management/user_management.html:184 @@ -7225,14 +7213,14 @@ msgstr "الرقم" #: templates/bill/tags/bill_table.html:8 #: templates/crm/employee_calendar.html:15 #: templates/crm/leads/lead_detail.html:58 -#: templates/crm/opportunities/opportunity_detail.html:762 +#: templates/crm/opportunities/opportunity_detail.html:763 #: templates/inventory/car_detail.html:117 -#: templates/inventory/car_detail.html:430 +#: templates/inventory/car_detail.html:435 #: templates/inventory/car_inventory.html:78 #: templates/inventory/car_list.html:174 #: templates/inventory/cars_list_api.html:19 #: templates/inventory/cars_list_api.html:35 -#: templates/ledger/reports/purchase_report.html:98 +#: templates/ledger/reports/purchase_report.html:118 #: templates/plans/current.html:22 #: templates/purchase_orders/includes/po_item_formset.html:39 #: templates/purchase_orders/po_list.html:38 @@ -7321,10 +7309,10 @@ msgstr "الحسابات المقفلة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:38 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_table.html:12 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html:17 -#: inventory/models.py:1321 inventory/models.py:1496 inventory/models.py:1734 -#: inventory/models.py:1906 inventory/models.py:2124 inventory/models.py:2432 -#: inventory/models.py:2544 inventory/models.py:2591 inventory/models.py:2634 -#: inventory/models.py:2672 inventory/models.py:2702 +#: inventory/models.py:1321 inventory/models.py:1496 inventory/models.py:1737 +#: inventory/models.py:1909 inventory/models.py:2127 inventory/models.py:2435 +#: inventory/models.py:2547 inventory/models.py:2594 inventory/models.py:2637 +#: inventory/models.py:2675 inventory/models.py:2705 #: templates/chart_of_accounts/includes/coa_card.html:67 #: templates/crm/leads/lead_detail.html:156 #: templates/sales/estimates/estimate_list.html:29 @@ -7335,10 +7323,10 @@ msgid "Created" msgstr "تاريخ الإنشاء" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:41 -#: inventory/models.py:1322 inventory/models.py:1497 inventory/models.py:1735 -#: inventory/models.py:1907 inventory/models.py:2126 inventory/models.py:2433 -#: inventory/models.py:2545 inventory/models.py:2592 inventory/models.py:2635 -#: inventory/models.py:2673 +#: inventory/models.py:1322 inventory/models.py:1497 inventory/models.py:1738 +#: inventory/models.py:1910 inventory/models.py:2129 inventory/models.py:2436 +#: inventory/models.py:2548 inventory/models.py:2595 inventory/models.py:2638 +#: inventory/models.py:2676 #: templates/chart_of_accounts/includes/coa_card.html:74 msgid "Updated" msgstr "تم التحديث" @@ -7505,7 +7493,7 @@ msgstr "وضع كمدفوع" #: templates/ledger/bills/bill_detail.html:15 #: templates/ledger/bills/bill_detail.html:48 #: templates/ledger/journal_entry/journal_entry_list.html:18 -#: templates/plans/billing_info_delete.html:11 templates/pricing_page.html:341 +#: templates/plans/billing_info_delete.html:11 templates/pricing_page.html:344 #: templates/sales/estimates/estimate_detail.html:52 #: templates/sales/invoices/invoice_detail.html:24 #: templates/sales/invoices/invoice_detail.html:61 @@ -7551,10 +7539,9 @@ msgstr "معلومات العميل" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:10 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:11 -#: inventory/forms.py:946 inventory/models.py:1347 inventory/models.py:1480 -#: inventory/models.py:1718 inventory/models.py:1890 inventory/models.py:2033 -#: inventory/models.py:2056 inventory/models.py:2751 -#: templates/account/signup-wizard.html:220 +#: inventory/forms.py:948 inventory/models.py:1347 inventory/models.py:1480 +#: inventory/models.py:1721 inventory/models.py:1893 inventory/models.py:2036 +#: inventory/models.py:2059 inventory/models.py:2754 inventory/models.py:3874 #: templates/crm/leads/lead_detail.html:200 #: templates/customers/customer_list.html:82 #: templates/customers/view_customer.html:78 @@ -7736,7 +7723,7 @@ msgstr "تقدم الاستلام" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:80 #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:161 -#: templates/inventory/car_detail.html:455 +#: templates/inventory/car_detail.html:460 #: templates/inventory/transfer_details.html:132 #: templates/ledger/journal_entry/includes/card_invoice.html:150 msgid "Approve" @@ -7755,8 +7742,8 @@ msgid "Total Revenue Estimate" msgstr "الإيرادات الإجمالية المقدرة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:11 -#: inventory/models.py:1697 inventory/models.py:2575 -#: templates/crm/opportunities/opportunity_detail.html:575 +#: inventory/models.py:1697 inventory/models.py:2578 +#: templates/crm/opportunities/opportunity_detail.html:576 #: templates/recalls/recall_list.html:16 msgid "Title" msgstr "العنوان" @@ -7779,7 +7766,7 @@ msgid "Business Unit" msgstr "وحدة الأعمال" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/estimate/tags/ce_item_formset.html:24 -#: templates/ledger/reports/car_sale_report.html:146 +#: templates/ledger/reports/car_sale_report.html:145 msgid "Total Revenue" msgstr "إجمالي الإيرادات" @@ -7909,7 +7896,7 @@ msgid "Net COGS" msgstr "صافي تكلفة البضائع المباعة" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html:148 -#: templates/dashboards/partials/financial_data_cards.html:304 +#: templates/dashboards/partials/financial_data_cards.html:305 #: templates/ledger/reports/tags/income_statement.html:111 msgid "Gross Profit" msgstr "الربح الإجمالي" @@ -8158,8 +8145,8 @@ msgid "Ledger List" msgstr "قائمة دفاتر الأستاذ" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail_txs.html:59 -#: templates/account/signup-wizard.html:82 #: templates/ledger/journal_entry/journal_entry_txs.html:55 +#: templates/registration/signup.html:82 msgid "Done" msgstr "تم" @@ -8345,7 +8332,7 @@ msgstr "بادئة مستند إدخال اليومية" #: dev_venv/lib/python3.13/site-packages/django_ledger/templates/django_ledger/unit/unit_detail.html:23 #: dev_venv/lib/python3.13/site-packages/django_ledger/views/entity.py:210 -#: inventory/views.py:8762 +#: inventory/views.py:8772 msgid "Dashboard" msgstr "لوحة القيادة" @@ -8693,175 +8680,171 @@ msgstr "الإدخال مطلوب." msgid "An error occurred while processing your request." msgstr "حدث خطأ أثناء معالجة طلبك." -#: inventory/forms.py:125 -msgid "Services Offered" -msgstr "الخدمات المقدمة" - -#: inventory/forms.py:142 inventory/models.py:3111 +#: inventory/forms.py:143 inventory/models.py:3114 #: templates/users/user_group_form.html:5 msgid "Group" msgstr "مجموعة" -#: inventory/forms.py:524 inventory/models.py:1243 +#: inventory/forms.py:526 inventory/models.py:1243 #: templates/inventory/car_detail.html:160 msgid "Custom Date" msgstr "تاريخ البطاقة الجمركية" -#: inventory/forms.py:576 inventory/models.py:2744 +#: inventory/forms.py:578 inventory/models.py:2747 #: templates/vendors/view_vendor.html:44 msgid "Contact Person" msgstr "الشخص المسؤول" -#: inventory/forms.py:642 +#: inventory/forms.py:644 msgid "Both exterior and interior colors must be selected." msgstr "يجب اختيار اللونين الخارجي والداخلي." -#: inventory/forms.py:741 inventory/forms.py:1908 inventory/models.py:2031 -#: inventory/models.py:2750 templates/account/email_change.html:5 +#: inventory/forms.py:743 inventory/forms.py:1910 inventory/models.py:2034 +#: inventory/models.py:2753 templates/account/email_change.html:5 #: templates/account/email_change.html:9 templates/pricing_page.html:163 #: templates/staff/staff_detail.html:63 msgid "Email Address" msgstr "عنوان البريد الإلكتروني" -#: inventory/forms.py:746 templates/crm/leads/lead_list.html:58 +#: inventory/forms.py:748 templates/crm/leads/lead_list.html:58 #: templates/customers/customer_list.html:48 #: templates/vendors/vendors_list.html:41 msgid "email" msgstr "البريد الإلكتروني" -#: inventory/forms.py:752 +#: inventory/forms.py:754 msgid "You must add an email." msgstr "يجب إضافة بريد إلكتروني." -#: inventory/forms.py:774 inventory/forms.py:778 -#: templates/account/signup-wizard.html:133 +#: inventory/forms.py:776 inventory/forms.py:780 +#: templates/registration/signup.html:133 msgid "Confirm Password" msgstr "تأكيد كلمة المرور" -#: inventory/forms.py:791 +#: inventory/forms.py:793 msgid "I accept the Terms and Privacy Policy" msgstr "أوافق على الشروط وسياسة الخصوصية" -#: inventory/forms.py:800 +#: inventory/forms.py:802 msgid "You must accept the terms and privacy policy." msgstr "يجب أن تقبل الشروط وسياسة الخصوصية." -#: inventory/forms.py:809 +#: inventory/forms.py:811 msgid "An account with this email already exists." msgstr "يوجد بالفعل حساب بهذا البريد الإلكتروني." -#: inventory/forms.py:817 +#: inventory/forms.py:819 msgid "Passwords do not match." msgstr "كلمات المرور غير متطابقة." -#: inventory/forms.py:849 inventory/models.py:1340 inventory/models.py:2743 +#: inventory/forms.py:851 inventory/models.py:1340 inventory/models.py:2746 msgid "English Name" msgstr "الاسم بالإنجليزية" -#: inventory/forms.py:854 +#: inventory/forms.py:856 msgid "Please enter an English Name." msgstr "يرجى إدخال اسم باللغة الإنجليزية." -#: inventory/forms.py:859 inventory/forms.py:863 inventory/models.py:567 +#: inventory/forms.py:861 inventory/forms.py:865 inventory/models.py:567 #: inventory/models.py:1178 inventory/models.py:1195 inventory/models.py:1339 -#: inventory/models.py:1470 inventory/models.py:1878 inventory/models.py:2022 -#: inventory/models.py:2742 templates/account/signup-wizard.html:169 +#: inventory/models.py:1470 inventory/models.py:1881 inventory/models.py:2025 +#: inventory/models.py:2745 inventory/models.py:3865 #: templates/admin_management/user_management.html:101 #: templates/admin_management/user_management.html:178 #: templates/admin_management/user_management.html:255 +#: templates/registration/signup.html:169 msgid "Arabic Name" msgstr "الاسم بالعربية" -#: inventory/forms.py:868 +#: inventory/forms.py:870 msgid "Please enter an Arabic name." msgstr "يرجى إدخال اسم باللغة العربية." -#: inventory/forms.py:911 inventory/models.py:2388 -#: templates/account/signup-wizard.html:202 +#: inventory/forms.py:913 inventory/models.py:2391 #: templates/organizations/organization_detail.html:23 #: templates/organizations/organization_list.html:49 msgid "CRN" msgstr "رقم السجل التجاري" -#: inventory/forms.py:915 inventory/models.py:1332 inventory/models.py:1880 -#: inventory/models.py:2730 +#: inventory/forms.py:917 inventory/models.py:1332 inventory/models.py:1883 +#: inventory/models.py:2733 inventory/models.py:3872 msgid "Commercial Registration Number" msgstr "رقم السجل التجاري" -#: inventory/forms.py:923 +#: inventory/forms.py:925 msgid "Commercial Registration Number must be 10 characters" msgstr "رقم السجل التجاري يجب أن يتكون من 10 أرقام" -#: inventory/forms.py:929 inventory/models.py:2389 -#: templates/account/signup-wizard.html:211 +#: inventory/forms.py:931 inventory/models.py:2392 #: templates/organizations/organization_detail.html:30 #: templates/organizations/organization_list.html:61 msgid "VRN" msgstr "الرقم الضريبي" -#: inventory/forms.py:933 inventory/models.py:1337 inventory/models.py:1882 -#: inventory/models.py:2733 +#: inventory/forms.py:935 inventory/models.py:1337 inventory/models.py:1885 +#: inventory/models.py:2736 msgid "VAT Registration Number" msgstr "رقم التسجيل في ضريبة القيمة المضافة" -#: inventory/forms.py:941 +#: inventory/forms.py:943 msgid "VAT Registration Number must be 15 characters." msgstr "يجب أن يكون رقم التسجيل الضريبي مكونًا من 15 حرفًا." -#: inventory/forms.py:1017 inventory/models.py:2879 +#: inventory/forms.py:1019 inventory/models.py:2882 msgid "cash" msgstr "نقداً" -#: inventory/forms.py:1018 inventory/models.py:2880 +#: inventory/forms.py:1020 inventory/models.py:2883 msgid "credit" msgstr "دائن" -#: inventory/forms.py:1019 inventory/models.py:2881 +#: inventory/forms.py:1021 inventory/models.py:2884 #: templates/inventory/car_detail.html:219 #: templates/inventory/transfer_car.html:18 msgid "transfer" msgstr "نقل" -#: inventory/forms.py:1020 inventory/models.py:2882 +#: inventory/forms.py:1022 inventory/models.py:2885 msgid "debit" msgstr "مدين" -#: inventory/forms.py:1021 inventory/models.py:2883 +#: inventory/forms.py:1023 inventory/models.py:2886 msgid "SADAD" msgstr "سداد" -#: inventory/forms.py:1023 templates/sales/orders/order_details.html:115 +#: inventory/forms.py:1025 templates/sales/orders/order_details.html:115 msgid "Payment Method" msgstr "طريقة الدفع" -#: inventory/forms.py:1027 +#: inventory/forms.py:1029 msgid "Payment Date" msgstr "تاريخ الدفع" -#: inventory/forms.py:1036 inventory/forms.py:1042 +#: inventory/forms.py:1038 inventory/forms.py:1044 msgid "Payment amount is greater than amount due" msgstr "مبلغ الدفع أكبر من المبلغ المستحق" -#: inventory/forms.py:1038 +#: inventory/forms.py:1040 msgid "Payment amount must be greater than 0" msgstr "يجب أن يكون مبلغ الدفع أكبر من 0" -#: inventory/forms.py:1040 +#: inventory/forms.py:1042 msgid "Invoice is already paid" msgstr "تم دفع الفاتورة بالفعل" -#: inventory/forms.py:1069 templates/inventory/transfer_details.html:81 +#: inventory/forms.py:1071 templates/inventory/transfer_details.html:81 #: templates/inventory/transfer_preview.html:281 msgid "To" msgstr "إلى" -#: inventory/forms.py:1107 inventory/forms.py:2037 inventory/forms.py:2163 -#: inventory/models.py:259 inventory/models.py:646 inventory/models.py:2083 -#: inventory/models.py:3700 inventory/tables.py:58 +#: inventory/forms.py:1109 inventory/forms.py:2039 inventory/forms.py:2165 +#: inventory/models.py:259 inventory/models.py:646 inventory/models.py:2086 +#: inventory/models.py:3706 inventory/tables.py:58 #: templates/inventory/car_list_view.html:136 #: templates/inventory/cars_list_api.html:33 -#: templates/ledger/reports/car_sale_report.html:56 -#: templates/ledger/reports/car_sale_report.html:227 +#: templates/ledger/reports/car_sale_report.html:62 +#: templates/ledger/reports/car_sale_report.html:226 +#: templates/purchase_orders/partials/po-select.html:5 #: templates/recalls/partials/recall_cars_table.html:7 #: templates/recalls/partials/recall_filter_form.html:5 #: templates/recalls/recall_list.html:18 @@ -8874,14 +8857,15 @@ msgstr "إلى" msgid "Make" msgstr "الصانع" -#: inventory/forms.py:1124 inventory/forms.py:2042 inventory/forms.py:2169 -#: inventory/models.py:293 inventory/models.py:654 inventory/models.py:2090 -#: inventory/models.py:3703 inventory/tables.py:59 +#: inventory/forms.py:1126 inventory/forms.py:2044 inventory/forms.py:2171 +#: inventory/models.py:293 inventory/models.py:654 inventory/models.py:2093 +#: inventory/models.py:3709 inventory/tables.py:59 #: templates/admin_management/model_logs.html:33 #: templates/inventory/car_list_view.html:150 #: templates/inventory/cars_list_api.html:34 -#: templates/ledger/reports/car_sale_report.html:64 -#: templates/ledger/reports/car_sale_report.html:228 +#: templates/ledger/reports/car_sale_report.html:71 +#: templates/ledger/reports/car_sale_report.html:227 +#: templates/purchase_orders/partials/po-select.html:7 #: templates/recalls/partials/recall_cars_table.html:8 #: templates/recalls/partials/recall_filter_form.html:23 #: templates/recalls/recall_list.html:19 @@ -8893,128 +8877,130 @@ msgstr "الصانع" msgid "Model" msgstr "الموديل" -#: inventory/forms.py:1180 +#: inventory/forms.py:1182 #, fuzzy #| msgid "Wants reminder" msgid "Send a reminder?" msgstr "يريد تذكيرًا" -#: inventory/forms.py:1259 +#: inventory/forms.py:1261 #: templates/crm/opportunities/opportunity_detail.html:477 msgid "Expected Closing Date" msgstr "تاريخ الإغلاق المتوقع" -#: inventory/forms.py:1263 +#: inventory/forms.py:1265 msgid "Probability (%)" msgstr "الاحتمالية (%)" -#: inventory/forms.py:1409 +#: inventory/forms.py:1411 #, fuzzy #| msgid "Expected Delivery" msgid "Expected Delivery Date" msgstr "موعد التسليم المتوقع" -#: inventory/forms.py:1531 inventory/models.py:2400 +#: inventory/forms.py:1533 inventory/models.py:2403 msgid "Stage" msgstr "المرحلة" -#: inventory/forms.py:1754 +#: inventory/forms.py:1756 msgid "Select Car Makes" msgstr "اختر ماركات السيارات" -#: inventory/forms.py:1816 +#: inventory/forms.py:1818 msgid "Please enter a valid credit card number" msgstr "يرجى إدخال رقم بطاقة ائتمان صالح" -#: inventory/forms.py:1848 +#: inventory/forms.py:1850 msgid "Please enter a valid month (01-12)" msgstr "يرجى إدخال شهر صالح (01-12)" -#: inventory/forms.py:1857 +#: inventory/forms.py:1859 msgid "This card appears to be expired" msgstr "يبدو أن هذه البطاقة منتهية الصلاحية" -#: inventory/forms.py:1861 +#: inventory/forms.py:1863 msgid "Please enter a valid expiry date in MM/YY format" msgstr "يرجى إدخال تاريخ انتهاء صلاحية صحيح بصيغة MM/YY" -#: inventory/forms.py:1872 +#: inventory/forms.py:1874 msgid "CVV must contain only digits" msgstr "يجب أن يحتوي رمز التحقق (CVV) على أرقام فقط" -#: inventory/forms.py:1874 +#: inventory/forms.py:1876 msgid "CVV must be 3 or 4 digits" msgstr "يجب أن يكون رمز التحقق (CVV) مكونًا من 3 أو 4 أرقام" -#: inventory/forms.py:1885 inventory/forms.py:1889 inventory/models.py:1467 -#: inventory/models.py:1699 inventory/models.py:2047 +#: inventory/forms.py:1887 inventory/forms.py:1891 inventory/models.py:1467 +#: inventory/models.py:1699 inventory/models.py:2050 #: templates/admin_management/user_management.html:21 #: templates/administration/manage_staff_personal_info.html:13 #: templates/pricing_page.html:141 templates/pricing_page.html:149 msgid "First Name" msgstr "الاسم الأول" -#: inventory/forms.py:1897 inventory/forms.py:1901 inventory/models.py:1468 -#: inventory/models.py:1703 inventory/models.py:2048 +#: inventory/forms.py:1899 inventory/forms.py:1903 inventory/models.py:1468 +#: inventory/models.py:1703 inventory/models.py:2051 #: templates/admin_management/user_management.html:24 #: templates/administration/manage_staff_personal_info.html:17 #: templates/pricing_page.html:152 templates/pricing_page.html:160 msgid "Last Name" msgstr "اسم العائلة" -#: inventory/forms.py:1923 templates/pricing_page.html:221 -#: templates/pricing_page.html:228 templates/pricing_page.html:323 +#: inventory/forms.py:1925 templates/pricing_page.html:224 +#: templates/pricing_page.html:231 templates/pricing_page.html:326 msgid "Card Number" msgstr "رقم البطاقة" -#: inventory/forms.py:1935 +#: inventory/forms.py:1937 msgid "Expiration Date" msgstr "تاريخ الانتهاء" -#: inventory/forms.py:1947 +#: inventory/forms.py:1949 msgid "Security Code (CVV)" msgstr "رمز الأمان (CVV)" -#: inventory/forms.py:1960 +#: inventory/forms.py:1962 msgid "Name on Card" msgstr "الاسم على البطاقة" -#: inventory/forms.py:1967 +#: inventory/forms.py:1969 msgid "I agree to the Terms and Conditions" msgstr "أوافق على الشروط وسياسة الخصوصية" -#: inventory/forms.py:1968 +#: inventory/forms.py:1970 msgid "You must accept the terms and conditions" msgstr "يجب أن تقبل الشروط وسياسة الخصوصية." -#: inventory/forms.py:2047 templates/ledger/reports/car_sale_report.html:74 -#: templates/ledger/reports/car_sale_report.html:230 +#: inventory/forms.py:2049 templates/ledger/reports/car_sale_report.html:80 +#: templates/ledger/reports/car_sale_report.html:229 +#: templates/purchase_orders/partials/po-select.html:9 msgid "Serie" msgstr "السلسلة" -#: inventory/forms.py:2052 inventory/forms.py:2181 inventory/models.py:373 -#: inventory/models.py:671 inventory/models.py:3709 inventory/tables.py:62 -#: templates/ledger/reports/car_sale_report.html:231 +#: inventory/forms.py:2054 inventory/forms.py:2183 inventory/models.py:373 +#: inventory/models.py:671 inventory/models.py:3715 inventory/tables.py:62 +#: templates/ledger/reports/car_sale_report.html:230 +#: templates/purchase_orders/partials/po-select.html:11 #: templates/recalls/partials/recall_cars_table.html:10 #: templates/recalls/partials/recall_filter_form.html:61 msgid "Trim" msgstr "الفئة" -#: inventory/forms.py:2061 inventory/models.py:579 inventory/models.py:631 -#: inventory/models.py:1436 inventory/models.py:3764 +#: inventory/forms.py:2063 inventory/models.py:579 inventory/models.py:631 +#: inventory/models.py:1436 inventory/models.py:3770 #: templates/recalls/partials/recall_cars_table.html:12 #: templates/recalls/recall_detail.html:53 #: templates/sales/saleorder_detail.html:37 msgid "Dealer" msgstr "المعرض" -#: inventory/forms.py:2070 inventory/models.py:656 inventory/tables.py:60 +#: inventory/forms.py:2072 inventory/models.py:656 inventory/tables.py:60 #: templates/inventory/car_form.html:83 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:55 #: templates/inventory/car_inventory.html:67 #: templates/inventory/car_list_view.html:156 -#: templates/ledger/reports/car_sale_report.html:84 -#: templates/ledger/reports/car_sale_report.html:229 +#: templates/ledger/reports/car_sale_report.html:89 +#: templates/ledger/reports/car_sale_report.html:228 #: templates/ledger/reports/components/period_navigator.html:18 #: templates/recalls/partials/recall_cars_table.html:11 #: templates/recalls/partials/recall_filter_form.html:77 @@ -9027,39 +9013,39 @@ msgstr "المعرض" msgid "Year" msgstr "السنة" -#: inventory/forms.py:2086 inventory/tables.py:68 +#: inventory/forms.py:2088 inventory/tables.py:68 #: templates/inventory/car_inventory.html:70 msgid "Exterior Color" msgstr "اللون الخارجي" -#: inventory/forms.py:2092 inventory/tables.py:71 +#: inventory/forms.py:2094 inventory/tables.py:71 #: templates/inventory/car_inventory.html:73 msgid "Interior Color" msgstr "اللون الداخلي" -#: inventory/forms.py:2097 inventory/models.py:717 +#: inventory/forms.py:2099 inventory/models.py:717 #: templates/inventory/car_detail.html:129 #: templates/inventory/car_form.html:192 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:168 msgid "Receiving Date" msgstr "تاريخ الاستلام" -#: inventory/forms.py:2105 +#: inventory/forms.py:2107 msgid "File is not a CSV file" msgstr "الملف ليس ملف CSV" -#: inventory/forms.py:2116 +#: inventory/forms.py:2118 #, python-format msgid "CSV is missing required columns: %(missing)s" msgstr "ملف CSV يفتقد الأعمدة المطلوبة: %(missing)s" -#: inventory/forms.py:2121 +#: inventory/forms.py:2123 #, python-format msgid "Error reading CSV file: %(error)s" msgstr "حدث خطأ أثناء قراءة ملف CSV: %(error)s" -#: inventory/forms.py:2175 inventory/models.py:334 inventory/models.py:663 -#: inventory/models.py:3706 inventory/tables.py:61 +#: inventory/forms.py:2177 inventory/models.py:334 inventory/models.py:663 +#: inventory/models.py:3712 inventory/tables.py:61 #: templates/inventory/car_form.html:116 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:100 #: templates/recalls/partials/recall_cars_table.html:9 @@ -9068,13 +9054,13 @@ msgstr "حدث خطأ أثناء قراءة ملف CSV: %(error)s" msgid "Series" msgstr "السلسلة" -#: inventory/forms.py:2186 inventory/models.py:3711 +#: inventory/forms.py:2188 inventory/models.py:3717 #, fuzzy #| msgid "From Dealer" msgid "From Year" msgstr "من معرض" -#: inventory/forms.py:2191 inventory/models.py:3712 +#: inventory/forms.py:2193 inventory/models.py:3718 #, fuzzy #| msgid "Year" msgid "To Year" @@ -9101,13 +9087,13 @@ msgstr "" #: inventory/management/commands/run.py:9 msgid "Populates COA with basic accounts." -msgstr "" +msgstr "يملأ دليل الحسابات بالحسابات الأساسية." #: inventory/models.py:67 msgid "Primary Key" msgstr "المفتاح الأساسي" -#: inventory/models.py:73 inventory/models.py:2445 inventory/models.py:2768 +#: inventory/models.py:73 inventory/models.py:2448 inventory/models.py:2771 msgid "Slug" msgstr "المُعرّف الفريد (Slug)" @@ -9117,20 +9103,20 @@ msgid "" msgstr "المُعرّف الفريد للكائن. إذا لم يتم توفيره، فسيتم إنشاؤه تلقائيًا." #: inventory/models.py:78 inventory/models.py:1026 inventory/models.py:1277 -#: inventory/models.py:2766 inventory/models.py:3713 inventory/models.py:3785 +#: inventory/models.py:2769 inventory/models.py:3719 inventory/models.py:3791 #: templates/purchase_orders/po_list.html:41 msgid "Created At" msgstr "تاريخ الإنشاء" #: inventory/models.py:79 inventory/models.py:1027 inventory/models.py:1366 -#: inventory/models.py:3786 +#: inventory/models.py:3792 msgid "Updated At" msgstr "تم التحديث" #: inventory/models.py:214 inventory/models.py:735 inventory/models.py:1000 #: inventory/models.py:1046 inventory/models.py:1240 inventory/models.py:1255 -#: inventory/models.py:1299 inventory/models.py:2386 -#: templates/crm/leads/lead_detail.html:410 +#: inventory/models.py:1299 inventory/models.py:2389 +#: templates/crm/leads/lead_detail.html:411 #: templates/crm/leads/lead_list.html:48 #: templates/inventory/transfer_details.html:90 msgid "Car" @@ -9246,7 +9232,7 @@ msgid "Reserved" msgstr "محجوزة" #: inventory/models.py:557 inventory/models.py:1651 -#: templates/inventory/car_detail.html:440 +#: templates/inventory/car_detail.html:445 #: templates/inventory/car_list_view.html:64 #: templates/inventory/car_list_view.html:166 #: templates/inventory/car_list_view.html:233 @@ -9290,25 +9276,25 @@ msgstr "الخدمات الإضافية" #: templates/inventory/car_form.html:170 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:147 #: templates/inventory/car_list.html:186 -#: templates/ledger/reports/car_sale_report.html:233 +#: templates/ledger/reports/car_sale_report.html:232 msgid "Stock Type" msgstr "نوع المخزون" -#: inventory/models.py:693 templates/inventory/car_detail.html:263 -#: templates/ledger/reports/car_sale_report.html:236 +#: inventory/models.py:693 templates/inventory/car_detail.html:264 +#: templates/ledger/reports/car_sale_report.html:235 msgid "Cost Price" msgstr "سعر التكلفة" -#: inventory/models.py:699 templates/ledger/reports/car_sale_report.html:239 +#: inventory/models.py:699 templates/ledger/reports/car_sale_report.html:238 msgid "Selling Price" msgstr "سعر البيع" -#: inventory/models.py:705 templates/inventory/car_detail.html:267 -#: templates/ledger/reports/car_sale_report.html:237 +#: inventory/models.py:705 templates/inventory/car_detail.html:268 +#: templates/ledger/reports/car_sale_report.html:236 msgid "Marked Price" msgstr "سعر العرض" -#: inventory/models.py:711 templates/ledger/reports/car_sale_report.html:238 +#: inventory/models.py:711 templates/ledger/reports/car_sale_report.html:237 #: templates/sales/estimates/estimate_detail.html:259 #: templates/sales/invoices/invoice_detail.html:343 msgid "Discount Amount" @@ -9327,12 +9313,12 @@ msgstr "ملاحظات" #: templates/inventory/car_form.html:181 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:157 #: templates/inventory/car_list.html:198 templates/inventory/car_list.html:204 -#: templates/ledger/reports/car_sale_report.html:232 +#: templates/ledger/reports/car_sale_report.html:231 #: templates/sales/orders/order_details.html:194 msgid "Mileage" msgstr "عدد الكيلومترات" -#: inventory/models.py:718 templates/ledger/reports/car_sale_report.html:235 +#: inventory/models.py:718 templates/ledger/reports/car_sale_report.html:234 #, fuzzy #| msgid "Void Date" msgid "Sold Date" @@ -9367,7 +9353,7 @@ msgstr "سجل نقل السيارة" msgid "Car Transfer Logs" msgstr "سجلات نقل السيارات" -#: inventory/models.py:1052 templates/inventory/car_detail.html:361 +#: inventory/models.py:1052 templates/inventory/car_detail.html:366 msgid "Reserved By" msgstr "محجوز بواسطة" @@ -9379,7 +9365,7 @@ msgstr "تاريخ الحجز" msgid "Reserved Until" msgstr "محجوز حتى" -#: inventory/models.py:1070 templates/inventory/car_detail.html:531 +#: inventory/models.py:1070 templates/inventory/car_detail.html:536 msgid "Car Reservation" msgstr "حجز السيارة" @@ -9416,7 +9402,7 @@ msgid "Custom Number" msgstr "رقم البطاقة الجمركية" #: inventory/models.py:1246 templates/inventory/car_detail.html:165 -#: templates/inventory/car_detail.html:489 +#: templates/inventory/car_detail.html:494 msgid "Custom Card" msgstr "البطاقة الجمركية" @@ -9424,7 +9410,7 @@ msgstr "البطاقة الجمركية" msgid "Custom Cards" msgstr "البطاقات الجمركية" -#: inventory/models.py:1261 inventory/models.py:2407 +#: inventory/models.py:1261 inventory/models.py:2410 msgid "Owner" msgstr "المالك" @@ -9444,9 +9430,9 @@ msgstr "التاجر الذي تُعرض السيارة في صالته (يمك msgid "Optional description about the showroom placement." msgstr "وصف اختياري حول وضع السيارة في صالة العرض." -#: inventory/models.py:1278 templates/crm/leads/lead_detail.html:467 +#: inventory/models.py:1278 templates/crm/leads/lead_detail.html:468 #: templates/crm/opportunities/opportunity_detail.html:221 -#: templates/crm/opportunities/opportunity_detail.html:653 +#: templates/crm/opportunities/opportunity_detail.html:654 #: templates/sales/orders/order_details.html:135 msgid "Last Updated" msgstr "آخر تحديث" @@ -9481,7 +9467,7 @@ msgstr "تاريخ التسجيل" #: inventory/models.py:1312 templates/inventory/car_detail.html:181 #: templates/inventory/car_detail.html:192 -#: templates/inventory/car_detail.html:510 +#: templates/inventory/car_detail.html:515 msgid "Registration" msgstr "التسجيل" @@ -9489,7 +9475,7 @@ msgstr "التسجيل" msgid "Registrations" msgstr "تسجيل السيارات" -#: inventory/models.py:1353 inventory/models.py:1896 inventory/models.py:2756 +#: inventory/models.py:1353 inventory/models.py:1899 inventory/models.py:2759 msgid "Logo" msgstr "الشعار" @@ -9626,8 +9612,8 @@ msgstr "الأمير" msgid "Princess" msgstr "الأميرة" -#: inventory/models.py:1634 templates/pricing_page.html:186 -#: templates/pricing_page.html:193 templates/pricing_page.html:310 +#: inventory/models.py:1634 templates/pricing_page.html:189 +#: templates/pricing_page.html:196 templates/pricing_page.html:313 msgid "Company" msgstr "الشركة" @@ -9637,7 +9623,7 @@ msgstr "الشركة" msgid "N/A" msgstr "غير متوفر" -#: inventory/models.py:1639 inventory/models.py:2274 +#: inventory/models.py:1639 inventory/models.py:2277 #: templates/components/activity_modal.html:25 #: templates/crm/leads/partials/update_action.html:40 msgid "Call" @@ -9647,7 +9633,7 @@ msgstr "مكالمة" msgid "SMS" msgstr "رسالة نصية" -#: inventory/models.py:1642 inventory/models.py:2275 +#: inventory/models.py:1642 inventory/models.py:2278 #: templates/components/activity_modal.html:27 #: templates/crm/leads/partials/update_action.html:41 msgid "Meeting" @@ -9673,7 +9659,7 @@ msgstr "تم الفوز" msgid "Lost" msgstr "تم الفقد" -#: inventory/models.py:1649 inventory/models.py:3753 +#: inventory/models.py:1649 inventory/models.py:3759 msgid "Closed" msgstr "مغلقة" @@ -9752,15 +9738,15 @@ msgstr "مغلقة - خسارة" msgid "On Hold" msgstr "في الانتظار" -#: inventory/models.py:1677 inventory/models.py:3757 +#: inventory/models.py:1677 inventory/models.py:3763 msgid "Low" msgstr "منخفض" -#: inventory/models.py:1678 inventory/models.py:3758 +#: inventory/models.py:1678 inventory/models.py:3764 msgid "Medium" msgstr "متوسط" -#: inventory/models.py:1679 inventory/models.py:3759 +#: inventory/models.py:1679 inventory/models.py:3765 msgid "High" msgstr "مرتفع" @@ -9784,180 +9770,180 @@ msgstr "تاريخ الميلاد" msgid "National ID" msgstr "رقم الهوية الوطنية" -#: inventory/models.py:1762 templates/admin_management/user_management.html:14 +#: inventory/models.py:1765 templates/admin_management/user_management.html:14 #: templates/customers/customer_list.html:5 #: templates/customers/customer_list.html:7 #: templates/customers/customer_list.html:12 msgid "Customers" msgstr "العملاء" -#: inventory/models.py:1928 inventory/models.py:2060 inventory/models.py:2383 +#: inventory/models.py:1931 inventory/models.py:2063 inventory/models.py:2386 #: templates/crm/opportunities/opportunity_detail.html:101 msgid "Organization" msgstr "شركة" -#: inventory/models.py:1929 templates/admin_management/user_management.html:91 +#: inventory/models.py:1932 templates/admin_management/user_management.html:91 #: templates/header.html:161 templates/organizations/organization_list.html:5 #: templates/organizations/organization_list.html:8 #: templates/organizations/organization_list.html:15 msgid "Organizations" msgstr "الشركات" -#: inventory/models.py:2024 +#: inventory/models.py:2027 #: templates/representatives/representative_detail.html:11 #: templates/representatives/representative_list.html:25 msgid "ID Number" msgstr "رقم الهوية" -#: inventory/models.py:2038 +#: inventory/models.py:2041 msgid "Representative" msgstr "ممثل شركة" -#: inventory/models.py:2039 +#: inventory/models.py:2042 #: templates/representatives/representative_list.html:4 #: templates/representatives/representative_list.html:8 msgid "Representatives" msgstr "ممثلي الشركات" -#: inventory/models.py:2061 +#: inventory/models.py:2064 msgid "Lead Type" msgstr "نوع العميل المتوقع" -#: inventory/models.py:2094 +#: inventory/models.py:2097 msgid "Source" msgstr "المصدر" -#: inventory/models.py:2097 +#: inventory/models.py:2100 msgid "Channel" msgstr "القناة" -#: inventory/models.py:2105 templates/groups/group_permission_form.html:104 +#: inventory/models.py:2108 templates/groups/group_permission_form.html:104 msgid "Assigned" msgstr "مُعين" -#: inventory/models.py:2115 templates/crm/leads/lead_detail.html:220 +#: inventory/models.py:2118 templates/crm/leads/lead_detail.html:220 #: templates/crm/leads/lead_list.html:78 #: templates/crm/leads/partials/update_action.html:36 msgid "Next Action" msgstr "الإجراء التالي" -#: inventory/models.py:2118 templates/crm/leads/partials/update_action.html:46 +#: inventory/models.py:2121 templates/crm/leads/partials/update_action.html:46 msgid "Next Action Date" msgstr "تاريخ الإجراء التالي" -#: inventory/models.py:2130 +#: inventory/models.py:2133 msgid "Lead" msgstr "فرصة" -#: inventory/models.py:2131 templates/crm/leads/lead_list.html:4 +#: inventory/models.py:2134 templates/crm/leads/lead_list.html:4 #: templates/crm/leads/lead_list.html:10 templates/crm/leads/lead_send.html:5 #: templates/customers/view_customer.html:153 #: templates/dashboards/sales_dashboard.html:123 test.txt:21 msgid "Leads" msgstr "الفرص" -#: inventory/models.py:2266 +#: inventory/models.py:2269 msgid "Product Demo" msgstr "عرض توضيحي للمنتج" -#: inventory/models.py:2267 +#: inventory/models.py:2270 msgid "Follow-Up Call" msgstr "مكالمة متابعة" -#: inventory/models.py:2268 +#: inventory/models.py:2271 msgid "Contract Discussion" msgstr "مناقشة العقد" -#: inventory/models.py:2269 +#: inventory/models.py:2272 msgid "Sales Meeting" msgstr "اجتماع مبيعات" -#: inventory/models.py:2270 +#: inventory/models.py:2273 msgid "Support Call" msgstr "مكالمة دعم" -#: inventory/models.py:2279 +#: inventory/models.py:2282 msgid "Scheduled" msgstr "مجدول" -#: inventory/models.py:2297 inventory/models.py:2578 +#: inventory/models.py:2300 inventory/models.py:2581 #: templates/crm/employee_calendar.html:12 #, fuzzy #| msgid "Start time" msgid "Start Time" msgstr "وقت البدء" -#: inventory/models.py:2298 inventory/models.py:2579 +#: inventory/models.py:2301 inventory/models.py:2582 #: templates/crm/employee_calendar.html:13 #, fuzzy #| msgid "End time" msgid "End Time" msgstr "وقت الانتهاء" -#: inventory/models.py:2329 templates/components/schedule_modal.html:10 +#: inventory/models.py:2332 templates/components/schedule_modal.html:10 msgid "Schedule" msgstr "الجدولة" -#: inventory/models.py:2330 +#: inventory/models.py:2333 #, fuzzy #| msgid "Schedule" msgid "Schedules" msgstr "الجدولة" -#: inventory/models.py:2344 +#: inventory/models.py:2347 msgid "Old Status" msgstr "الحالة القديمة" -#: inventory/models.py:2347 +#: inventory/models.py:2350 #: templates/crm/opportunities/opportunity_logs.html:11 msgid "New Status" msgstr "الحالة الجديدة" -#: inventory/models.py:2352 +#: inventory/models.py:2355 msgid "Changed At" msgstr "تم التغيير في" -#: inventory/models.py:2355 +#: inventory/models.py:2358 msgid "Lead Status History" msgstr "تاريخ حالة العميل المحتمل" -#: inventory/models.py:2356 +#: inventory/models.py:2359 msgid "Lead Status Histories" msgstr "تواريخ حالات العملاء المحتملين" -#: inventory/models.py:2364 +#: inventory/models.py:2367 msgid "Probability must be between 0 and 100." msgstr "يجب أن تكون الاحتمالية بين 0 و 100." -#: inventory/models.py:2391 +#: inventory/models.py:2394 msgid "Salary" msgstr "الراتب" -#: inventory/models.py:2396 inventory/models.py:3783 -#: templates/crm/leads/lead_detail.html:416 +#: inventory/models.py:2399 inventory/models.py:3789 +#: templates/crm/leads/lead_detail.html:417 #: templates/support/ticket_list.html:59 msgid "Priority" msgstr "الأولوية" -#: inventory/models.py:2425 +#: inventory/models.py:2428 #: templates/crm/opportunities/opportunity_detail.html:278 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:105 #: templates/crm/opportunities/partials/opportunity_grid.html:78 msgid "Expected Revenue" msgstr "الإيرادات المتوقعة" -#: inventory/models.py:2446 +#: inventory/models.py:2449 msgid "Unique slug for the opportunity." msgstr "المُعرّف الفريد للفرصة (slug)." -#: inventory/models.py:2516 inventory/models.py:2987 +#: inventory/models.py:2519 inventory/models.py:2990 #: templates/crm/leads/lead_detail.html:126 templates/header.html:142 #: templates/sales/orders/order_details.html:448 msgid "Opportunity" msgstr "فرصة" -#: inventory/models.py:2517 templates/crm/leads/lead_detail.html:273 -#: templates/crm/leads/lead_detail.html:394 +#: inventory/models.py:2520 templates/crm/leads/lead_detail.html:274 +#: templates/crm/leads/lead_detail.html:395 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:5 #: templates/crm/opportunities/opportunity_list.html:5 #: templates/crm/opportunities/opportunity_list.html:14 @@ -9965,227 +9951,236 @@ msgstr "فرصة" msgid "Opportunities" msgstr "الفرص" -#: inventory/models.py:2540 inventory/models.py:2548 +#: inventory/models.py:2543 inventory/models.py:2551 #: templates/account/snippets/already_logged_in.html:7 #: templates/components/note_modal.html:10 -#: templates/crm/leads/lead_detail.html:461 -#: templates/crm/opportunities/opportunity_detail.html:647 +#: templates/crm/leads/lead_detail.html:462 +#: templates/crm/opportunities/opportunity_detail.html:648 #: templates/customers/view_customer.html:115 msgid "Note" msgstr "ملاحظة" -#: inventory/models.py:2595 templates/components/task_modal.html:17 +#: inventory/models.py:2598 templates/components/task_modal.html:17 msgid "Task" msgstr "مهمة" -#: inventory/models.py:2596 templates/crm/leads/lead_detail.html:234 -#: templates/crm/leads/lead_detail.html:749 +#: inventory/models.py:2599 templates/crm/leads/lead_detail.html:234 +#: templates/crm/leads/lead_detail.html:750 #: templates/crm/opportunities/opportunity_detail.html:500 -#: templates/crm/opportunities/opportunity_detail.html:546 +#: templates/crm/opportunities/opportunity_detail.html:547 msgid "Tasks" msgstr "مهام" -#: inventory/models.py:2621 +#: inventory/models.py:2624 msgid "From Email" msgstr "من البريد الإلكتروني" -#: inventory/models.py:2622 +#: inventory/models.py:2625 msgid "To Email" msgstr "إلى البريد الإلكتروني" -#: inventory/models.py:2623 inventory/models.py:3767 -#: templates/crm/opportunities/opportunity_detail.html:748 +#: inventory/models.py:2626 inventory/models.py:3773 +#: templates/crm/opportunities/opportunity_detail.html:749 #: templates/support/ticket_list.html:57 msgid "Subject" msgstr "الموضوع" -#: inventory/models.py:2624 inventory/models.py:2700 +#: inventory/models.py:2627 inventory/models.py:2703 msgid "Message" msgstr "رسالة" -#: inventory/models.py:2639 templates/crm/leads/lead_detail.html:253 -#: templates/crm/leads/lead_detail.html:513 -#: templates/crm/opportunities/opportunity_detail.html:525 +#: inventory/models.py:2642 templates/crm/leads/lead_detail.html:514 msgid "Emails" msgstr "رسائل البريد الإلكتروني" -#: inventory/models.py:2666 +#: inventory/models.py:2669 msgid "Activity Type" msgstr "نوع النشاط" -#: inventory/models.py:2677 templates/crm/leads/lead_detail.html:333 +#: inventory/models.py:2680 templates/crm/leads/lead_detail.html:334 msgid "Activities" msgstr "الأنشطة" -#: inventory/models.py:2701 +#: inventory/models.py:2704 msgid "Is Read" msgstr "تمت قراءته" -#: inventory/models.py:2705 +#: inventory/models.py:2708 msgid "Notification" msgstr "إشعار" -#: inventory/models.py:2706 templates/crm/notifications.html:8 +#: inventory/models.py:2709 templates/crm/notifications.html:8 #: templates/crm/notifications_history.html:4 #: templates/notifications-copy.html:35 templates/notifications.html:56 msgid "Notifications" msgstr "الإشعارات" -#: inventory/models.py:2738 +#: inventory/models.py:2741 msgid "Vendor Model" msgstr "نموذج المورد" -#: inventory/models.py:2793 templates/admin_management/user_management.html:168 +#: inventory/models.py:2796 templates/admin_management/user_management.html:168 #: templates/vendors/vendors_list.html:5 templates/vendors/vendors_list.html:7 #: templates/vendors/vendors_list.html:13 msgid "Vendors" msgstr "الموردين" -#: inventory/models.py:2887 inventory/models.py:2918 +#: inventory/models.py:2890 inventory/models.py:2921 msgid "amount" msgstr "المبلغ" -#: inventory/models.py:2890 +#: inventory/models.py:2893 msgid "method" msgstr "طريقة" -#: inventory/models.py:2893 +#: inventory/models.py:2896 msgid "reference number" msgstr "رقم المرجع" -#: inventory/models.py:2895 +#: inventory/models.py:2898 msgid "date" msgstr "التاريخ" -#: inventory/models.py:2900 +#: inventory/models.py:2903 #, fuzzy #| msgid "invoices" msgid "invoice" msgstr "الفواتير" -#: inventory/models.py:2906 +#: inventory/models.py:2909 msgid "payment" msgstr "الدفعة" -#: inventory/models.py:2907 templates/header.html:339 +#: inventory/models.py:2910 templates/header.html:339 msgid "payments" msgstr "المدفوعات" -#: inventory/models.py:2920 +#: inventory/models.py:2923 msgid "reason" msgstr "السبب" -#: inventory/models.py:2921 +#: inventory/models.py:2924 msgid "refund date" msgstr "تاريخ الاسترداد" -#: inventory/models.py:2924 +#: inventory/models.py:2927 msgid "refund" msgstr "استرداد" -#: inventory/models.py:2925 +#: inventory/models.py:2928 msgid "refunds" msgstr "استردادات" -#: inventory/models.py:2937 +#: inventory/models.py:2940 msgid "User Activity Log" msgstr "سجل نشاط المستخدم" -#: inventory/models.py:2938 +#: inventory/models.py:2941 msgid "User Activity Logs" msgstr "سجلات نشاط المستخدم" -#: inventory/models.py:3041 templates/sales/saleorder_detail.html:11 +#: inventory/models.py:3044 templates/sales/saleorder_detail.html:11 #, fuzzy #| msgid "Sale Order" msgid "Sales Order" msgstr "أمر بيع" -#: inventory/models.py:3042 +#: inventory/models.py:3045 #, fuzzy #| msgid "Sale Order" msgid "Sales Orders" msgstr "أمر بيع" -#: inventory/models.py:3115 +#: inventory/models.py:3118 #, fuzzy #| msgid "Customer" msgid "Custom Group" msgstr "العميل" -#: inventory/models.py:3116 +#: inventory/models.py:3119 #, fuzzy #| msgid "Customers" msgid "Custom Groups" msgstr "العملاء" -#: inventory/models.py:3505 +#: inventory/models.py:3511 msgid "Payment History" msgstr "سجل المدفوعات" -#: inventory/models.py:3506 +#: inventory/models.py:3512 msgid "Payment Histories" msgstr "سجلات المدفوعات" -#: inventory/models.py:3546 inventory/models.py:3547 +#: inventory/models.py:3552 inventory/models.py:3553 msgid "PO Items" msgstr "عناصر أمر الشراء" -#: inventory/models.py:3604 inventory/models.py:3605 +#: inventory/models.py:3610 inventory/models.py:3611 msgid "Extra Info" msgstr "معلومات إضافية" -#: inventory/models.py:3697 +#: inventory/models.py:3703 msgid "Recall Title" msgstr "عنوان الاستدعاء" -#: inventory/models.py:3719 templates/ledger/reports/purchase_report.html:101 -#: templates/sales/orders/order_details.html:119 +#: inventory/models.py:3725 templates/sales/orders/order_details.html:119 #: templates/sales/saleorder_detail.html:39 msgid "Created By" msgstr "تم الإنشاء بواسطة" -#: inventory/models.py:3723 templates/recalls/recall_filter.html:5 +#: inventory/models.py:3729 templates/recalls/recall_filter.html:5 msgid "Recall" msgstr "استدعاء" -#: inventory/models.py:3724 +#: inventory/models.py:3730 msgid "Recalls" msgstr "استدعاءات" -#: inventory/models.py:3741 +#: inventory/models.py:3747 msgid "Recall Notification" msgstr "إشعار استدعاء" -#: inventory/models.py:3742 +#: inventory/models.py:3748 msgid "Recall Notifications" msgstr "إشعارات الاستدعاءات" -#: inventory/models.py:3750 +#: inventory/models.py:3756 msgid "Open" -msgstr "" +msgstr "مفتوح" -#: inventory/models.py:3751 templates/crm/leads/lead_list.html:161 +#: inventory/models.py:3757 templates/crm/leads/lead_list.html:161 msgid "In Progress" msgstr "قيد التنفيذ" -#: inventory/models.py:3752 +#: inventory/models.py:3758 msgid "Resolved" -msgstr "" +msgstr "تم الحل" -#: inventory/models.py:3760 +#: inventory/models.py:3766 msgid "Critical" -msgstr "" +msgstr "حرج" -#: inventory/models.py:3767 +#: inventory/models.py:3773 msgid "Short description" msgstr "وصف قصير" -#: inventory/models.py:3771 templates/support/ticket_detail.html:53 +#: inventory/models.py:3777 templates/support/ticket_detail.html:53 msgid "Resolution Notes" msgstr "ملاحظات" -#: inventory/signals.py:1014 +#: inventory/models.py:3866 +#, fuzzy +#| msgid "Email address" +msgid "email address" +msgstr "عنوان البريد الإلكتروني" + +#: inventory/models.py:3873 +#, fuzzy +#| msgid "VAT Registration Number" +msgid "Vehicle Registration Number" +msgstr "رقم التسجيل في ضريبة القيمة المضافة" + +#: inventory/signals.py:1074 #, python-brace-format msgid "" "\n" @@ -10195,7 +10190,7 @@ msgid "" " " msgstr "" -#: inventory/signals.py:1040 +#: inventory/signals.py:1100 #, fuzzy, python-brace-format #| msgid "" #| "\n" @@ -10214,7 +10209,7 @@ msgstr "" " حاول تفعيل حسابك.\n" " " -#: inventory/signals.py:1070 +#: inventory/signals.py:1130 #, python-brace-format msgid "" "\n" @@ -10223,7 +10218,7 @@ msgid "" " " msgstr "" -#: inventory/signals.py:1091 +#: inventory/signals.py:1151 #, fuzzy, python-brace-format #| msgid "" #| "\n" @@ -10243,7 +10238,7 @@ msgstr "" " حاول تفعيل حسابك.\n" " " -#: inventory/signals.py:1115 +#: inventory/signals.py:1175 #, fuzzy, python-brace-format #| msgid "" #| "\n" @@ -10262,7 +10257,7 @@ msgstr "" " حاول تفعيل حسابك.\n" " " -#: inventory/signals.py:1137 +#: inventory/signals.py:1197 #, python-brace-format msgid "" "\n" @@ -10273,7 +10268,7 @@ msgid "" " " msgstr "" -#: inventory/signals.py:1167 +#: inventory/signals.py:1227 #, python-brace-format msgid "" "\n" @@ -10282,7 +10277,7 @@ msgid "" " " msgstr "" -#: inventory/signals.py:1196 +#: inventory/signals.py:1256 #, fuzzy, python-brace-format #| msgid "" #| "\n" @@ -10302,7 +10297,7 @@ msgstr "" " حاول تفعيل حسابك.\n" " " -#: inventory/signals.py:1270 +#: inventory/signals.py:1330 #, fuzzy, python-brace-format #| msgid "" #| "\n" @@ -10325,7 +10320,7 @@ msgstr "" msgid "Age" msgstr "العمر" -#: inventory/tasks.py:900 +#: inventory/tasks.py:1004 #, python-brace-format msgid "" "\n" @@ -10335,22 +10330,22 @@ msgid "" " " msgstr "" -#: inventory/utils.py:98 +#: inventory/utils.py:99 msgid "success" msgstr "ناجحة" -#: inventory/utils.py:99 templates/inventory/car_form.html:503 +#: inventory/utils.py:100 templates/inventory/car_form.html:503 #: templates/inventory/car_form.html:876 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:385 msgid "error" msgstr "خطأ" -#: inventory/utils.py:100 templates/account/login.html:68 +#: inventory/utils.py:101 templates/account/login.html:68 #: templates/account/password_change.html:39 msgid "Forgot Password?" msgstr "نسيت كلمة المرور؟" -#: inventory/utils.py:251 +#: inventory/utils.py:252 msgid "Car reserved successfully." msgstr "تم حجز السيارة بنجاح." @@ -10364,7 +10359,7 @@ msgstr "أدخل رقم جوال سعودي صحيح 05XXXXXXXX" msgid "Email already exists" msgstr "يوجد مورد مسجل مسبقًا بهذا البريد الإلكتروني" -#: inventory/views.py:333 templates/account/signup-wizard.html:115 +#: inventory/views.py:333 templates/registration/signup.html:115 #, fuzzy #| msgid "Enter a valid email address." msgid "Please enter a valid email address" @@ -10380,652 +10375,660 @@ msgstr "يجب أن يتكون اسم الوحدة من 10 أحرف على ال msgid "Passwords do not match" msgstr "كلمات المرور غير متطابقة." -#: inventory/views.py:356 inventory/views.py:3613 +#: inventory/views.py:356 inventory/views.py:3615 msgid "User created successfully" msgstr "تم إنشاء المستخدم بنجاح." -#: inventory/views.py:879 +#: inventory/views.py:881 #, fuzzy #| msgid "Car updated successfully" msgid "Car Added successfully to the inventory" msgstr "تم تحديث السيارة بنجاح" -#: inventory/views.py:901 +#: inventory/views.py:903 msgid "Car saved successfully" msgstr "تم حفظ السيارة بنجاح" -#: inventory/views.py:972 +#: inventory/views.py:974 msgid "VIN number exists" msgstr "رقم الهيكل موجود مسبقاً" -#: inventory/views.py:993 inventory/views.py:1007 +#: inventory/views.py:995 inventory/views.py:1009 msgid "Manufacturer not found in the database" msgstr "لم يتم العثور على الشركة المصنعة في قاعدة البيانات" -#: inventory/views.py:1024 +#: inventory/views.py:1026 msgid "VIN not found in all sources" msgstr "لم يتم العثور على رقم التعريف (VIN) في جميع المصادر" -#: inventory/views.py:1062 +#: inventory/views.py:1064 msgid "Server error occurred" msgstr "حدث خطأ في الخادم" -#: inventory/views.py:1160 +#: inventory/views.py:1162 msgid "No image provided" msgstr "لم يتم تقديم صورة" -#: inventory/views.py:1187 +#: inventory/views.py:1189 msgid "No QR/Barcode detected" msgstr "لم يتم اكتشاف رمز QR أو الباركود" -#: inventory/views.py:1245 templates/inventory/car_inventory.html:4 +#: inventory/views.py:1247 templates/inventory/car_inventory.html:4 msgid "inventory" msgstr "المخزون" -#: inventory/views.py:1301 +#: inventory/views.py:1303 #, fuzzy #| msgid "Car Colors details updated successfully" msgid "Car colors details added successfully" msgstr "تم تحديث تفاصيل ألوان السيارة بنجاح" -#: inventory/views.py:1329 +#: inventory/views.py:1331 msgid "Car Colors details updated successfully" msgstr "تم تحديث تفاصيل ألوان السيارة بنجاح" -#: inventory/views.py:1369 +#: inventory/views.py:1371 #, python-format msgid "Update Colors for %(car_name)s" msgstr "تحديث الألوان لـ %(car_name)s" -#: inventory/views.py:1775 +#: inventory/views.py:1777 msgid "Car updated successfully" msgstr "تم تحديث السيارة بنجاح" -#: inventory/views.py:1814 +#: inventory/views.py:1816 msgid "Car deleted successfully" msgstr "تم حذف السيارة بنجاح." -#: inventory/views.py:1828 +#: inventory/views.py:1830 msgid "Could not determine dealer for redirection." msgstr "غير قادر علي تحديد معرض" -#: inventory/views.py:1866 +#: inventory/views.py:1868 msgid "Location saved successfully" msgstr "تم حفظ الموقع بنجاح." -#: inventory/views.py:1905 +#: inventory/views.py:1907 msgid "Location updated successfully" msgstr "تم تحديث البريد الإلكتروني بنجاح!" -#: inventory/views.py:2017 +#: inventory/views.py:2019 msgid "Car transfer canceled successfully" msgstr "تم إلغاء نقل السيارة بنجاح." -#: inventory/views.py:2034 +#: inventory/views.py:2036 msgid "Car transfer approved successfully" msgstr "تمت الموافقة على نقل السيارة بنجاح." -#: inventory/views.py:2060 +#: inventory/views.py:2062 msgid "Car transfer rejected successfully" msgstr "تم رفض نقل السيارة بنجاح." -#: inventory/views.py:2072 +#: inventory/views.py:2074 msgid "Car Transfer Completed successfully." msgstr "تم إكمال نقل السيارة بنجاح." -#: inventory/views.py:2144 +#: inventory/views.py:2146 msgid "Custom Card added successfully" msgstr "تم إضافة البطاقة الجمركية بنجاح." -#: inventory/views.py:2195 +#: inventory/views.py:2197 msgid "Registration added successfully" msgstr "تم إلغاء الحجز بنجاح." -#: inventory/views.py:2224 +#: inventory/views.py:2226 msgid "This car is already reserved" msgstr "هذه السيارة محجوزة بالفعل." -#: inventory/views.py:2262 +#: inventory/views.py:2264 msgid "Reservation renewed successfully" msgstr "تم تجديد الحجز بنجاح" -#: inventory/views.py:2272 +#: inventory/views.py:2274 msgid "Reservation canceled successfully" msgstr "تم إلغاء الحجز بنجاح." -#: inventory/views.py:2279 +#: inventory/views.py:2281 msgid "Invalid action" msgstr "إجراء غير صالح." -#: inventory/views.py:2283 +#: inventory/views.py:2285 msgid "Invalid request method" msgstr "طريقة الطلب غير صالحة" -#: inventory/views.py:2340 inventory/views.py:2403 +#: inventory/views.py:2342 inventory/views.py:2405 #, fuzzy #| msgid "Note updated successfully" msgid "VAT rate updated successfully" msgstr "تم تحديث الملاحظة بنجاح" -#: inventory/views.py:2371 +#: inventory/views.py:2373 msgid "Dealer updated successfully" msgstr "تم تحديث المعرض بنجاح." -#: inventory/views.py:2435 templates/header.html:151 +#: inventory/views.py:2437 templates/header.html:151 msgid "customers" msgstr "العملاء" -#: inventory/views.py:2642 +#: inventory/views.py:2644 #, fuzzy #| msgid "User created successfully" msgid "Customer created successfully" msgstr "تم إنشاء المستخدم بنجاح." -#: inventory/views.py:2654 +#: inventory/views.py:2656 msgid "Customer Account with this email is Deactivated,Please Contact Admin" -msgstr "" -"تم تعطيل حساب العميل المرتبط بهذا البريد الإلكتروني، يرجى التواصل مع المسؤول" +msgstr "تم تعطيل حساب العميل المرتبط بهذا البريد الإلكتروني، يرجى التواصل مع المسؤول" -#: inventory/views.py:2659 +#: inventory/views.py:2661 msgid "Customer with this email already exists" msgstr "يوجد عميل مسجل مسبقًا بهذا البريد الإلكتروني" -#: inventory/views.py:2730 +#: inventory/views.py:2732 #, fuzzy #| msgid "User updated successfully" msgid "Customer updated successfully" msgstr "تم تحديث المستخدم بنجاح" -#: inventory/views.py:2763 +#: inventory/views.py:2765 msgid "Customer deactivated successfully" msgstr "تم تعطيل حساب العميل بنجاح" -#: inventory/views.py:2868 +#: inventory/views.py:2870 msgid "Vendor created successfully" msgstr "تم إنشاء المورد بنجاح" -#: inventory/views.py:2878 +#: inventory/views.py:2880 msgid "Vendor Account with this email is Deactivated,Please Contact Admin" -msgstr "" -"تم تعطيل حساب المورد المرتبط بهذا البريد الإلكتروني، يرجى التواصل مع المسؤول" +msgstr "تم تعطيل حساب المورد المرتبط بهذا البريد الإلكتروني، يرجى التواصل مع المسؤول" -#: inventory/views.py:2882 +#: inventory/views.py:2884 msgid "Vendor with this email already exists" msgstr "يوجد مورد مسجل مسبقًا بهذا البريد الإلكتروني" -#: inventory/views.py:2926 +#: inventory/views.py:2928 msgid "Vendor updated successfully" msgstr "تم تحديث المورد بنجاح" -#: inventory/views.py:2976 +#: inventory/views.py:2978 msgid "Vendor deleted successfully" msgstr "تم حذف المورد بنجاح." -#: inventory/views.py:3066 +#: inventory/views.py:3068 msgid "Group created successfully" msgstr "تم إنشاء المجموعة بنجاح." -#: inventory/views.py:3099 +#: inventory/views.py:3101 #, fuzzy #| msgid "Account Already Exists" msgid "Group name already exists" msgstr "الحساب موجود بالفعل" -#: inventory/views.py:3151 +#: inventory/views.py:3153 msgid "Group updated successfully" msgstr "تم تحديث المجموعة بنجاح" -#: inventory/views.py:3183 +#: inventory/views.py:3185 msgid "Group deleted successfully" msgstr "تم حذف المجموعة بنجاح" -#: inventory/views.py:3322 +#: inventory/views.py:3324 #, fuzzy #| msgid "Permission added successfully" msgid "Permissions updated successfully" msgstr "تمت إضافة الصلاحية بنجاح." -#: inventory/views.py:3332 +#: inventory/views.py:3334 #, fuzzy #| msgid "Error loading options." msgid "Error updating permissions: " msgstr "خطأ في تحميل الصلاحيات." -#: inventory/views.py:3513 +#: inventory/views.py:3515 msgid "Group added successfully" msgstr "تمت إضافة المجموعة بنجاح." -#: inventory/views.py:3630 +#: inventory/views.py:3632 msgid "" "You have reached the maximum number of staff users allowed for your plan" msgstr "لقد وصلت إلى الحد الأقصى لعدد أعضاء الفريق المسموح به في باقتك." -#: inventory/views.py:3640 +#: inventory/views.py:3642 msgid "A user with this email already exists. Please use a different email." -msgstr "" -"يوجد مستخدم بهذا البريد الإلكتروني بالفعل. يرجى استخدام بريد إلكتروني مختلف." +msgstr "يوجد مستخدم بهذا البريد الإلكتروني بالفعل. يرجى استخدام بريد إلكتروني مختلف." -#: inventory/views.py:3706 +#: inventory/views.py:3708 msgid "User updated successfully" msgstr "تم تحديث المستخدم بنجاح" -#: inventory/views.py:3766 +#: inventory/views.py:3767 msgid "User deleted successfully" msgstr "تم حذف المستخدم بنجاح." -#: inventory/views.py:3850 +#: inventory/views.py:3851 #, fuzzy #| msgid "Organization Deactivated successfully" msgid "Organization created successfully" msgstr "تم إلغاء تفعيل المؤسسة بنجاح" -#: inventory/views.py:3862 +#: inventory/views.py:3863 msgid "" "Organization Account with this email is Deactivated,Please Contact Admin" msgstr "" "تم تعطيل حساب المؤسسة المرتبط بهذا البريد الإلكتروني، يرجى التواصل مع المسؤول" -#: inventory/views.py:3867 +#: inventory/views.py:3868 msgid "Organization with this email already exists" msgstr "يوجد مؤسسة مسجلة مسبقًا بهذا البريد الإلكتروني" -#: inventory/views.py:3908 +#: inventory/views.py:3909 #, fuzzy #| msgid "Organization Deactivated successfully" msgid "Organization updated successfully" msgstr "تم إلغاء تفعيل المؤسسة بنجاح" -#: inventory/views.py:3939 +#: inventory/views.py:3940 msgid "Organization Deactivated successfully" msgstr "تم إلغاء تفعيل المؤسسة بنجاح" -#: inventory/views.py:4026 +#: inventory/views.py:4027 msgid "Representative created successfully" msgstr "تم إنشاء الخدمة بنجاح." -#: inventory/views.py:4069 +#: inventory/views.py:4070 msgid "Representative updated successfully" msgstr "تم تحديث الخدمة بنجاح." -#: inventory/views.py:4094 +#: inventory/views.py:4095 msgid "Representative deleted successfully" msgstr "تم حذف الخدمة بنجاح!" -#: inventory/views.py:4166 +#: inventory/views.py:4167 msgid "Bank account created successfully" msgstr "تم إنشاء الحساب البنكي بنجاح." -#: inventory/views.py:4266 +#: inventory/views.py:4267 msgid "Bank account updated successfully" msgstr "تم تحديث المجموعة بنجاح." -#: inventory/views.py:4323 +#: inventory/views.py:4324 msgid "Bank account deleted successfully" msgstr "تم حذف الملاحظة بنجاح." -#: inventory/views.py:4408 +#: inventory/views.py:4409 msgid "Account created successfully" msgstr "تم إنشاء الحساب بنجاح." -#: inventory/views.py:4534 +#: inventory/views.py:4535 msgid "Account updated successfully" msgstr "تم تحديث الحساب بنجاح." -#: inventory/views.py:4577 +#: inventory/views.py:4578 msgid "Account deleted successfully" msgstr "تم حذف الحساب بنجاح." -#: inventory/views.py:4639 +#: inventory/views.py:4640 #, fuzzy #| msgid "Order Details" msgid "Sales Order Details" msgstr "تفاصيل الطلب" -#: inventory/views.py:4654 +#: inventory/views.py:4655 #, fuzzy #| msgid "Settings updated" msgid "Sale order status updated" msgstr "تم تحديث الإعدادات" -#: inventory/views.py:4784 +#: inventory/views.py:4785 msgid "Items and Quantities are required" msgstr "المنتجات والكميات مطلوبة" -#: inventory/views.py:4793 inventory/views.py:4801 +#: inventory/views.py:4794 inventory/views.py:4802 msgid "Quantity must be greater than zero" msgstr "يجب أن تكون مدة الفاصل الزمني أكبر من 0." -#: inventory/views.py:4814 inventory/views.py:4827 +#: inventory/views.py:4815 inventory/views.py:4828 msgid "Quantity must be less than or equal to the number of cars in stock" msgstr "يجب أن تكون الكمية أقل من أو تساوي عدد السيارات المتوفرة في المخزون" -#: inventory/views.py:4946 +#: inventory/views.py:4947 msgid "Quotation created successfully" msgstr "تم إنشاء عرض السعر بنجاح" -#: inventory/views.py:5172 +#: inventory/views.py:5173 #, fuzzy #| msgid "Payment amount must be greater than 0" msgid "Discount amount cannot be greater than marked price" msgstr "يجب أن يكون مبلغ الدفع أكبر من 0" -#: inventory/views.py:5176 +#: inventory/views.py:5177 #, python-format msgid "" "Discount amount is greater than 50% of the marked price, proceed with " "caution." msgstr "" -#: inventory/views.py:5178 +#: inventory/views.py:5179 #, fuzzy #| msgid "Account updated successfully" msgid "Discount updated successfully" msgstr "تم تحديث المجموعة بنجاح." -#: inventory/views.py:5357 +#: inventory/views.py:5358 msgid "Quotation is not ready for review" msgstr "العرض غير جاهز للمراجعة." -#: inventory/views.py:5364 +#: inventory/views.py:5365 msgid "Quotation is not ready for approval" msgstr "العرض غير جاهز للموافقة." -#: inventory/views.py:5373 +#: inventory/views.py:5374 msgid "Quotation approved successfully" msgstr "تمت الموافقة على العرض بنجاح." -#: inventory/views.py:5377 +#: inventory/views.py:5378 msgid "Quotation is not ready for rejection" msgstr "العرض غير جاهز للرفض." -#: inventory/views.py:5382 inventory/views.py:5412 +#: inventory/views.py:5383 inventory/views.py:5413 msgid "Quotation canceled successfully" msgstr "تم إلغاء الحجز بنجاح." -#: inventory/views.py:5385 +#: inventory/views.py:5386 msgid "Quotation is not ready for completion" msgstr "العرض غير جاهز للإكمال." -#: inventory/views.py:5391 +#: inventory/views.py:5392 msgid "Quotation is not ready for cancellation" msgstr "العرض غير جاهز للإلغاء." -#: inventory/views.py:5414 +#: inventory/views.py:5415 msgid "Quotation marked as " msgstr "تم وضع علامة على عرض السعر كـ" -#: inventory/views.py:5896 +#: inventory/views.py:5897 msgid "fully paid" msgstr "مدفوع بالكامل" -#: inventory/views.py:5899 +#: inventory/views.py:5900 msgid "Amount exceeds due amount" msgstr "المبلغ يتجاوز المبلغ المستحق" -#: inventory/views.py:5914 inventory/views.py:6049 +#: inventory/views.py:5915 inventory/views.py:6050 msgid "Payment created successfully" msgstr "تم إنشاء الدفعة بنجاح" -#: inventory/views.py:6058 +#: inventory/views.py:6059 msgid "Invoice is not fully paid, Payment cannot be marked as paid" msgstr "لم يتم دفع الفاتورة بالكامل، لا يمكن وضع علامة مدفوعة على الدفعة" -#: inventory/views.py:6313 +#: inventory/views.py:6314 msgid "Lead created successfully" msgstr "تم إنشاء العميل المتوقع بنجاح" -#: inventory/views.py:6433 +#: inventory/views.py:6443 #, fuzzy #| msgid "This field is required." msgid "All fields are required" msgstr "هذا الحقل مطلوب." -#: inventory/views.py:6473 +#: inventory/views.py:6483 #, fuzzy #| msgid "Invalid data." msgid "Invalid date format" msgstr "بيانات غير صالحة." -#: inventory/views.py:6488 +#: inventory/views.py:6498 #, fuzzy #| msgid "Location updated successfully" msgid "Actions updated successfully" msgstr "تم تحديث البريد الإلكتروني بنجاح!" -#: inventory/views.py:6503 +#: inventory/views.py:6513 #, fuzzy #| msgid "User not found" msgid "Lead not found" msgstr "المستخدم غير موجود" -#: inventory/views.py:6516 +#: inventory/views.py:6526 #, fuzzy #| msgid "An error occurred while decoding the VIN." msgid "An error occurred while updating lead actions" msgstr "حدث خطأ أثناء فك تشفير الهيكل" -#: inventory/views.py:6654 +#: inventory/views.py:6664 msgid "Lead deleted successfully" msgstr "تم حذف العميل المتوقع بنجاح" -#: inventory/views.py:6746 +#: inventory/views.py:6756 msgid "Note deleted successfully." msgstr "تم حذف الملاحظة بنجاح." -#: inventory/views.py:6772 +#: inventory/views.py:6782 msgid "Lead is already converted to customer" msgstr "تم تحويل العميل المتوقع بالفعل إلى عميل" -#: inventory/views.py:6783 +#: inventory/views.py:6793 msgid "Lead converted to customer successfully" msgstr "تم تحويل العميل المتوقع إلى عميل بنجاح" -#: inventory/views.py:6830 +#: inventory/views.py:6840 #, fuzzy #| msgid "You do not have permission to schedule lead" msgid "You do not have permission to schedule." msgstr "ليست لديك صلاحية جدولة هذا العميل المتوقع" -#: inventory/views.py:6900 +#: inventory/views.py:6910 msgid "Appointment Created Successfully" msgstr "تم إنشاء الموعد بنجاح" -#: inventory/views.py:6939 +#: inventory/views.py:6949 msgid "Lead transferred successfully" msgstr "تم نقل العميل المتوقع بنجاح" -#: inventory/views.py:6990 +#: inventory/views.py:7000 msgid "Email Draft successfully" msgstr "تم إنشاء مسودة البريد الإلكتروني بنجاح" -#: inventory/views.py:7059 inventory/views.py:8233 +#: inventory/views.py:7069 inventory/views.py:8243 msgid "Email sent successfully" msgstr "تم إرسال البريد الإلكتروني بنجاح!" -#: inventory/views.py:7153 +#: inventory/views.py:7163 #, fuzzy #| msgid "Opportunity deleted successfully" msgid "Opportunity created successfully." msgstr "تم حذف الفرصة بنجاح." -#: inventory/views.py:7229 +#: inventory/views.py:7239 #, fuzzy #| msgid "Opportunity deleted successfully" msgid "Opportunity updated successfully." msgstr "تم حذف الفرصة بنجاح." -#: inventory/views.py:7281 +#: inventory/views.py:7291 #, fuzzy #| msgid "Opportunity status updated successfully" msgid "Opportunity Stage updated successfully." msgstr "تم تحديث حالة الفرصة بنجاح" -#: inventory/views.py:7464 +#: inventory/views.py:7474 msgid "Opportunity deleted successfully" msgstr "تم حذف الفرصة بنجاح." -#: inventory/views.py:7503 +#: inventory/views.py:7513 msgid "Opportunity status updated successfully" msgstr "تم تحديث حالة الفرصة بنجاح" -#: inventory/views.py:7575 +#: inventory/views.py:7585 msgid "Service created successfully" msgstr "تم إنشاء الخدمة بنجاح" -#: inventory/views.py:7625 +#: inventory/views.py:7635 msgid "Service updated successfully" msgstr "تم تحديث الخدمة بنجاح" -#: inventory/views.py:7715 +#: inventory/views.py:7725 #, fuzzy #| msgid "User created successfully" msgid "Expense created successfully" msgstr "تم إنشاء المستخدم بنجاح." -#: inventory/views.py:7871 +#: inventory/views.py:7881 #, fuzzy #| msgid "User created successfully" msgid "Bill created successfully" msgstr "تم إنشاء المستخدم بنجاح." -#: inventory/views.py:8175 +#: inventory/views.py:8185 msgid "Quotation has no items" msgstr "عرض السعر لا يحتوي على أي عناصر" -#: inventory/views.py:8920 inventory/views.py:8953 inventory/views.py:9012 +#: inventory/views.py:8930 inventory/views.py:8963 inventory/views.py:9022 msgid "Unauthorized" msgstr "غير مصرح" -#: inventory/views.py:9138 +#: inventory/views.py:9148 msgid "Settings updated" msgstr "تم تحديث الإعدادات" -#: inventory/views.py:9342 +#: inventory/views.py:9352 #, fuzzy #| msgid "Lead created successfully" msgid "Ledger created successfully" msgstr "تم إنشاء العميل المتوقع بنجاح" -#: inventory/views.py:9397 +#: inventory/views.py:9407 #, fuzzy #| msgid "Lead deleted successfully" msgid "Ledger deleted successfully" msgstr "تم حذف العميل المتوقع بنجاح" -#: inventory/views.py:9498 +#: inventory/views.py:9508 #, fuzzy #| msgid "Account created successfully" msgid "Journal Entry created successfully" msgstr "تم إنشاء المجموعة بنجاح." -#: inventory/views.py:9544 +#: inventory/views.py:9554 msgid "Journal Entry cannot be deleted" msgstr "لا يمكن حذف قيد اليومية" -#: inventory/views.py:9627 +#: inventory/views.py:9637 msgid "Ledger is already locked" msgstr "دفتر الأستاذ مقفل بالفعل" -#: inventory/views.py:9657 +#: inventory/views.py:9667 msgid "Ledger is already Unlocked" msgstr "دفتر الأستاذ غير مقفل بالفعل" -#: inventory/views.py:9689 +#: inventory/views.py:9699 msgid "Ledger is already posted" msgstr "دفتر الأستاذ تم ترحيله بالفعل" -#: inventory/views.py:9722 +#: inventory/views.py:9732 msgid "Ledger is already Unposted" msgstr "دفتر الأستاذ لم يتم ترحيله بعد" -#: inventory/views.py:9743 +#: inventory/views.py:9757 #, fuzzy #| msgid "Already have an account?" msgid "You already have an plan!!" msgstr "هل لديك حساب بالفعل؟" -#: inventory/views.py:9770 +#: inventory/views.py:9784 msgid "Error creating order" -msgstr "" +msgstr "خطأ أثناء إنشاء الطلب" -#: inventory/views.py:9952 +#: inventory/views.py:9966 #, fuzzy #| msgid "Quotation marked as " msgid "All notifications marked as read." msgstr "تم وضع علامة على عرض السعر كـ" -#: inventory/views.py:10006 +#: inventory/views.py:10020 msgid "Activity added successfully" msgstr "تمت إضافة النشاط بنجاح" -#: inventory/views.py:10013 +#: inventory/views.py:10027 msgid "Activity form is not valid" msgstr "نموذج النشاط غير صالح" -#: inventory/views.py:10064 +#: inventory/views.py:10078 msgid "Task added successfully" msgstr "تمت إضافة المهمة بنجاح" -#: inventory/views.py:10071 +#: inventory/views.py:10085 msgid "Task form is not valid" msgstr "نموذج المهمة غير صالح" -#: inventory/views.py:10149 +#: inventory/views.py:10163 msgid "Note added successfully" msgstr "تمت إضافة الملاحظة بنجاح" -#: inventory/views.py:10156 +#: inventory/views.py:10170 msgid "Note form is not valid" msgstr "نموذج الملاحظة غير صالح" -#: inventory/views.py:10170 +#: inventory/views.py:10184 msgid "Note updated successfully" msgstr "تم تحديث الملاحظة بنجاح" -#: inventory/views.py:10367 +#: inventory/views.py:10381 msgid "Account activated successfully" msgstr "تم تفعيل الحساب بنجاح" -#: inventory/views.py:10411 +#: inventory/views.py:10425 msgid "Account Deleted successfully" msgstr "تم حذف الحساب بنجاح" -#: inventory/views.py:10421 +#: inventory/views.py:10435 msgid "You cannot delete this account,it is related to another account" msgstr "لا يمكنك حذف هذا الحساب، لأنه مرتبط بحساب آخر" -#: inventory/views.py:10480 +#: inventory/views.py:10494 msgid "Purchase order created successfully" msgstr "تم إنشاء أمر الشراء بنجاح" -#: inventory/views.py:10539 +#: inventory/views.py:10553 #, fuzzy #| msgid "Vendor with this email already exists" msgid "Inventory item already exists" msgstr "يوجد مورد مسجل مسبقًا بهذا البريد الإلكتروني" -#: inventory/views.py:10550 +#: inventory/views.py:10564 msgid "Inventory item created successfully" msgstr "تم إنشاء عنصر المخزون بنجاح" -#: inventory/views.py:11288 +#: inventory/views.py:11413 #, fuzzy #| msgid "Your password has been set." msgid "Your password has been set. You may go ahead and log in now." msgstr "تم تعيين كلمة المرور الخاصة بك." -#: inventory/views.py:11291 +#: inventory/views.py:11416 #, fuzzy #| msgid "We couldn't process your payment. Please try again" msgid "Invalid password. Please try again." msgstr "تعذر معالجة دفعتك. يرجى المحاولة مرة أخرى" -#: inventory/views.py:11415 +#: inventory/views.py:11540 #, fuzzy #| msgid "Lead created successfully" msgid "Recall created and notifications sent successfully" msgstr "تم إنشاء العميل المتوقع بنجاح" +#: inventory/views.py:11677 templates/account/signup-wizard.html:24 +#: templates/registration/signup.html:23 +#, fuzzy +#| msgid "Your Car Dealership Operations" +msgid "Car Dealership Registration" +msgstr "عمليات معرض السيارات الخاص بك" + +#: inventory/views.py:11682 +msgid "Your request has been submitted. We will contact you soon." +msgstr "لقد تم ارسال طلبك. سيتصل بك فريقنا قريباً." + #: templates/403.html:91 #, fuzzy #| msgid "Forbidden" @@ -11040,7 +11043,7 @@ msgstr "ليس لديك إذن للوصول إلى هذا الموعد." #: templates/403.html:93 msgid "Powered By Tenhal, Riyadh Saudi Arabia" -msgstr "" +msgstr "مدعوم من تنحل, الرياض، المملكة العربية السعودية" #: templates/403.html:94 templates/errors/403.html:25 #, fuzzy @@ -11075,7 +11078,7 @@ msgstr "" #: templates/account/confirm_login_code..html:43 templates/account/login.html:6 #: templates/account/login.html:28 templates/account/login.html:66 #: templates/account/request_login_code.html:5 templates/account/signup.html:95 -#: templates/header.html:667 templates/welcome-temp.html:117 +#: templates/header.html:666 templates/welcome-temp.html:117 msgid "Sign In" msgstr "تسجيل الدخول" @@ -11096,9 +11099,10 @@ msgstr "تسجيل الدخول" #: templates/account/password_reset_from_key.html:22 #: templates/account/password_reset_from_key_done.html:17 #: templates/account/password_reset_from_key_done.html:21 -#: templates/account/signup-wizard.html:14 -#: templates/account/signup-wizard.html:18 templates/account/signup.html:17 -#: templates/account/signup.html:21 +#: templates/account/signup-wizard.html:15 +#: templates/account/signup-wizard.html:19 templates/account/signup.html:17 +#: templates/account/signup.html:21 templates/account/success.html:15 +#: templates/account/success.html:19 #: templates/account/verfied_email_required.html:16 #: templates/account/verfied_email_required.html:20 #: templates/account/verification_sent.html:16 @@ -11107,6 +11111,7 @@ msgstr "تسجيل الدخول" #: templates/account/verified_email_required.html:20 #: templates/haikalbot/chatbot.html:64 templates/haikalbot/chatbot.html:68 #: templates/otp/verify_otp.html:13 templates/otp/verify_otp.html:17 +#: templates/registration/signup.html:14 templates/registration/signup.html:18 msgid "home" msgstr "الرئيسية" @@ -11421,9 +11426,9 @@ msgstr "تذكرني" msgid "If you have not created an account yet, then please" msgstr "إذا لم تقم بإنشاء حساب بعد، يرجى التسجيل أولاً." -#: templates/account/login.html:74 templates/account/signup-wizard.html:23 +#: templates/account/login.html:74 templates/account/signup-wizard.html:34 #: templates/account/signup.html:5 templates/account/signup.html:27 -#: templates/account/signup.html:93 templates/header.html:671 +#: templates/account/signup.html:93 templates/header.html:670 #: templates/welcome-temp.html:119 templates/welcome_header.html:82 msgid "Sign Up" msgstr "إنشاء حساب" @@ -11437,7 +11442,7 @@ msgid "Mail me a sign-in code" msgstr "أرسل لي رمز تسجيل الدخول عبر البريد الإلكتروني" #: templates/account/logout.html:4 templates/account/logout.html:12 -#: templates/account/logout.html:21 templates/header.html:659 +#: templates/account/logout.html:21 templates/header.html:658 msgid "Sign Out" msgstr "تسجيل الخروج" @@ -11542,8 +11547,7 @@ msgstr "إعادة تعيين كلمة المرور الخاصة بي" #: templates/account/password_reset.html:44 msgid "Please contact us if you have any trouble resetting your password." -msgstr "" -"يرجى التواصل معنا إذا واجهت أي مشكلة في إعادة تعيين كلمة المرور الخاصة بك." +msgstr "يرجى التواصل معنا إذا واجهت أي مشكلة في إعادة تعيين كلمة المرور الخاصة بك." #: templates/account/password_reset_done.html:34 msgid "" @@ -11577,9 +11581,15 @@ msgid "new password reset." msgstr "إعادة تعيين كلمة المرور" #: templates/account/password_reset_from_key_done.html:29 -msgid "Your password is now changed." +#, fuzzy +#| msgid "Your password is now changed." +msgid "Congratulations, Your password is now changed." msgstr "تم تغيير كلمة المرور الخاصة بك." +#: templates/account/password_reset_from_key_done.html:31 +msgid "Click here to Login" +msgstr "انقر هنا للتسجيل" + #: templates/account/password_set.html:5 templates/account/password_set.html:9 #: templates/account/password_set.html:21 msgid "Set Password" @@ -11603,59 +11613,16 @@ msgstr "طلب الرمز" msgid "Other sign-in options" msgstr "خيارات تسجيل الدخول الأخرى" -#: templates/account/signup-wizard.html:24 templates/account/signup.html:28 -msgid "Create your account today" +#: templates/account/signup-wizard.html:25 +#: templates/registration/signup.html:24 +#, fuzzy +#| msgid "Create your account today" +msgid "Create your dealership account today" msgstr "أنشئ حسابك اليوم" -#: templates/account/signup-wizard.html:40 -msgid "Access" -msgstr "الوصول" - -#: templates/account/signup-wizard.html:69 -msgid "Extra" -msgstr "إضافي" - -#: templates/account/signup-wizard.html:129 -#: templates/account/signup-wizard.html:145 -msgid "Password does not match. or length is less than 8 characters." -msgstr "" - -#: templates/account/signup-wizard.html:188 -msgid "Please enter a valid phone number" -msgstr "يرجى إدخال رقم هاتف صالح" - -#: templates/account/signup-wizard.html:248 -msgid "You are all set!" -msgstr "كل شيء جاهز!" - -#: templates/account/signup-wizard.html:250 -msgid "Now you can access your account" -msgstr "الآن يمكنك الوصول إلى حسابك" - -#: templates/account/signup-wizard.html:252 -msgid "anytime" -msgstr "في أي وقت" - -#: templates/account/signup-wizard.html:252 -msgid "anywhere" -msgstr "في أي مكان" - -#: templates/account/signup-wizard.html:269 templates/pricing_page.html:337 -#: templates/recalls/recall_list.html:62 -msgid "Previous" -msgstr "السابق" - -#: templates/account/signup-wizard.html:325 -#: templates/inventory/car_form.html:743 templates/inventory/car_form.html:783 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:612 -msgid "Please Wait" -msgstr "الرجاء الإنتظار" - -#: templates/account/signup-wizard.html:326 -#: templates/inventory/car_form.html:744 templates/inventory/car_form.html:784 -#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:613 -msgid "Loading" -msgstr "تحميل" +#: templates/account/signup.html:28 +msgid "Create your account today" +msgstr "أنشئ حسابك اليوم" #: templates/account/signup.html:35 msgid "Sign up using a passkey" @@ -11678,6 +11645,28 @@ msgstr "" "ليس لديك حاليًا أي عنوان بريد إلكتروني مُسجل. يجب عليك إضافة عنوان بريد " "إلكتروني حتى تتمكن من تلقي الإشعارات وإعادة تعيين كلمة المرور وما إلى ذلك." +#: templates/account/success.html:24 +#, fuzzy +#| msgid "Account created successfully" +msgid "Account Created Successfully" +msgstr "تم إنشاء الحساب بنجاح." + +#: templates/account/success.html:26 +#, fuzzy +#| msgid "" +#| "\n" +#| " Invoice for this order will be issued for:\n" +#| " " +msgid "" +"\n" +" Thank you for registering at Haikal. We will " +"contact you soon.\n" +" " +msgstr "" +"\n" +" سيتم إصدار فاتورة لهذا الطلب لـ:\n" +" " + #: templates/account/user_settings.html:6 #: templates/account/user_settings.html:14 #, fuzzy @@ -11992,13 +11981,13 @@ msgstr "قيمة الفاتورة" #: templates/bill/includes/card_bill.html:232 #: templates/sales/estimates/estimate_detail.html:130 msgid "Waiting for Manager Approval" -msgstr "" +msgstr "في انتظار موافقة المدير" #: templates/bill/includes/card_bill.html:253 msgid "Mark as Void" msgstr "وضع كملغي" -#: templates/bill/tags/bill_item_formset.html:137 +#: templates/bill/tags/bill_item_formset.html:128 #: templates/crm/leads/partials/update_action.html:61 #: templates/groups/group_permission_form.html:130 msgid "Save Changes" @@ -12011,8 +12000,8 @@ msgid "Add New" msgstr "إضافة ملاحظة" #: templates/components/email_modal.html:10 -#: templates/crm/leads/lead_detail.html:530 -#: templates/crm/opportunities/opportunity_detail.html:711 +#: templates/crm/leads/lead_detail.html:531 +#: templates/crm/opportunities/opportunity_detail.html:712 msgid "Send Email" msgstr "إرسال البريد الإلكتروني" @@ -12085,43 +12074,51 @@ msgstr "قناة العميل المحتمل" msgid "Current Stage" msgstr "المرحلة الحالية" -#: templates/crm/leads/lead_detail.html:288 +#: templates/crm/leads/lead_detail.html:283 +msgid "Reassign Lead" +msgstr "إعادة تعيين الفرصة" + +#: templates/crm/leads/lead_detail.html:289 msgid "Update Actions" msgstr "تحديث الإجراءات" -#: templates/crm/leads/lead_detail.html:377 +#: templates/crm/leads/lead_detail.html:302 +msgid "Reassign Lead To Another Employee" +msgstr "إعادة تعيين العميل المحتمل إلى موظف آخر" + +#: templates/crm/leads/lead_detail.html:378 msgid "created by" msgstr "تم الإنشاء بواسطة" -#: templates/crm/leads/lead_detail.html:399 +#: templates/crm/leads/lead_detail.html:400 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:9 #: templates/crm/opportunities/opportunity_list.html:24 msgid "Add Opportunity" msgstr "إضافة فرصة" -#: templates/crm/leads/lead_detail.html:413 +#: templates/crm/leads/lead_detail.html:414 #: ⁨templates/crm/opportunities/opportunity_list copy.html⁩:148 #: templates/crm/opportunities/partials/opportunity_grid.html:101 msgid "Probability" msgstr "الاحتمالية" -#: templates/crm/leads/lead_detail.html:449 -#: templates/crm/opportunities/opportunity_detail.html:635 +#: templates/crm/leads/lead_detail.html:450 +#: templates/crm/opportunities/opportunity_detail.html:636 #: templates/customers/view_customer.html:107 msgid "Add Note" msgstr "إضافة ملاحظة" -#: templates/crm/leads/lead_detail.html:464 -#: templates/crm/opportunities/opportunity_detail.html:650 +#: templates/crm/leads/lead_detail.html:465 +#: templates/crm/opportunities/opportunity_detail.html:651 msgid "Created On" msgstr "تم الإنشاء في" -#: templates/crm/leads/lead_detail.html:757 -#: templates/crm/opportunities/opportunity_detail.html:552 +#: templates/crm/leads/lead_detail.html:758 +#: templates/crm/opportunities/opportunity_detail.html:553 msgid "Add Task" msgstr "إضافة مهمة" -#: templates/crm/leads/lead_detail.html:806 +#: templates/crm/leads/lead_detail.html:807 #, fuzzy #| msgid "View Vendor" msgid "View in Calendar" @@ -12136,10 +12133,8 @@ msgid "Add New Lead" msgstr "إضافة عميل محتمل جديد" #: templates/crm/leads/lead_form.html:41 -#, fuzzy -#| msgid "Create New Vendor" msgid "Create New Lead" -msgstr "إنشاء مورد جديد" +msgstr "إنشاء فرصة جديد" #: templates/crm/leads/lead_list.html:22 msgid "Add Lead" @@ -12293,11 +12288,11 @@ msgstr "تحديث الموظف" #: templates/crm/opportunities/opportunity_detail.html:95 msgid "Individual" -msgstr "" +msgstr "فرد" #: templates/crm/opportunities/opportunity_detail.html:108 msgid "STAGE" -msgstr "" +msgstr "المرحلة" #: templates/crm/opportunities/opportunity_detail.html:146 msgid "Upcoming Events" @@ -12353,36 +12348,36 @@ msgstr "أنت" msgid "Create Date" msgstr "تاريخ الإنشاء" -#: templates/crm/opportunities/opportunity_detail.html:585 +#: templates/crm/opportunities/opportunity_detail.html:586 #, fuzzy #| msgid "Assigned To" msgid "Assigned to" msgstr "مُعين إلى" -#: templates/crm/opportunities/opportunity_detail.html:607 -#: templates/crm/opportunities/opportunity_detail.html:786 +#: templates/crm/opportunities/opportunity_detail.html:608 +#: templates/crm/opportunities/opportunity_detail.html:787 #, fuzzy #| msgid "View Bill" msgid "View all" msgstr "عرض الفاتورة" -#: templates/crm/opportunities/opportunity_detail.html:753 +#: templates/crm/opportunities/opportunity_detail.html:754 #, fuzzy #| msgid "Current Asset" msgid "Sent by" msgstr "الأصول الحالية" -#: templates/crm/opportunities/opportunity_detail.html:775 +#: templates/crm/opportunities/opportunity_detail.html:776 msgid "sent" -msgstr "" +msgstr "مرسلة" -#: templates/crm/opportunities/opportunity_detail.html:786 +#: templates/crm/opportunities/opportunity_detail.html:787 #, fuzzy #| msgid "New Leads" msgid "View Less" msgstr "عملاء محتملون جدد" -#: templates/crm/opportunities/opportunity_detail.html:895 +#: templates/crm/opportunities/opportunity_detail.html:896 #, fuzzy #| msgid "Update Opportunity" msgid "Update Opportunity Stage" @@ -12439,8 +12434,6 @@ msgstr "هل أنت متأكد أنك تريد حذف هذه الفرصة؟" #: templates/inventory/scan_vin.html:13 templates/partials/search_box.html:11 #: templates/representatives/representative_list.html:14 #: templates/representatives/representative_list.html:16 -#, fuzzy -#| msgid "search" msgid "Search" msgstr "بحث" @@ -12472,17 +12465,17 @@ msgstr "لم يتم العثور على فاتورة." #: templates/csv_upload.html:4 msgid "Car Bulk Upload" -msgstr "" +msgstr "رفع بيانات السيارات بالكم" + +#: templates/csv_upload.html:78 +msgid "Upload Cars CSV" +msgstr "رفع بيانات السيارات " #: templates/csv_upload.html:83 -#, fuzzy -#| msgid "Download transfer" msgid "Download Sample CSV" -msgstr "تحميل النقل" +msgstr "تنزيل قالب" #: templates/csv_upload.html:166 -#, fuzzy -#| msgid "List of orders" msgid "List of Items" msgstr "قائمة الطلبات" @@ -12494,7 +12487,7 @@ msgstr "الملف" #: templates/csv_upload.html:181 msgid "CSV should include columns: vin" -msgstr "" +msgstr "ينبغي أن يحتوي الملف على الأعمدة: الرقم التسلسلي" #: templates/customers/customer_form.html:8 #: templates/customers/customer_form.html:21 @@ -12546,7 +12539,7 @@ msgstr "هل أنت متأكد أنك تريد حذف هذا العميل" #: templates/customers/view_customer.html:54 msgid "Member since:" -msgstr "" +msgstr "عضو منذ:" #: templates/customers/view_customer.html:63 #: templates/sales/estimates/estimate_list.html:4 @@ -12620,7 +12613,7 @@ msgstr "قيمة المخزون" #: templates/dashboards/aging_inventory_list.html:14 msgid "Cars in inventory for more than 60 days." -msgstr "" +msgstr "السيارات الموجودة في المخزن منذ أكثر من 60 يوم." #: templates/dashboards/aging_inventory_list.html:19 #: templates/recalls/recall_detail.html:30 @@ -12657,7 +12650,8 @@ msgstr "نوع المخزون" #: templates/dashboards/aging_inventory_list.html:74 #: templates/inventory/car_list_view.html:73 -#: templates/ledger/reports/car_sale_report.html:109 +#: templates/ledger/reports/car_sale_report.html:108 +#: templates/ledger/reports/purchase_report.html:63 #: templates/recalls/recall_filter.html:46 msgid "Filter" msgstr "تصفية" @@ -12682,11 +12676,11 @@ msgstr "إجمالي السيارات" #: templates/dashboards/aging_inventory_list.html:94 msgid "VIN:" -msgstr "" +msgstr "رقم الهيكل:" #: templates/dashboards/aging_inventory_list.html:97 msgid "Age:" -msgstr "" +msgstr "العمر:" #: templates/dashboards/aging_inventory_list.html:98 #: templates/plans/extend.html:43 templates/plans/plan_table.html:96 @@ -12706,7 +12700,7 @@ msgstr "عرض التفاصيل" #: templates/dashboards/aging_inventory_list.html:115 msgid "Excellent! There are no cars in the aging inventory at the moment." -msgstr "" +msgstr "ممتاز! لا توجد أي سيارات في المخزن القديم في الوقت الحالي." #: templates/dashboards/general_dashboard.html:5 msgid "Dealership Dashboard" @@ -12718,9 +12712,9 @@ msgstr "لوحة القيادة الخاصة بي" #: templates/dashboards/general_dashboard.html:14 #, fuzzy -#| msgid "My Dashboard" -msgid "Manager Dashboard" -msgstr "لوحة القيادة الخاصة بي" +#| msgid "Accountant" +msgid "Accountant Dashboard" +msgstr "محاسب" #: templates/dashboards/general_dashboard.html:16 #, fuzzy @@ -12730,19 +12724,23 @@ msgstr "لوحة القيادة الخاصة بي" #: templates/dashboards/general_dashboard.html:18 #, fuzzy -#| msgid "Accountant" -msgid "Accountant Dashboard" -msgstr "محاسب" +#| msgid "My Dashboard" +msgid "Manager Dashboard" +msgstr "لوحة القيادة الخاصة بي" #: templates/dashboards/general_dashboard.html:25 #: templates/dashboards/sales_dashboard.html:12 +#: templates/ledger/reports/car_sale_report.html:54 #: templates/ledger/reports/dashboard.html:155 +#: templates/ledger/reports/purchase_report.html:54 msgid "Start Date" msgstr "تاريخ البدء" #: templates/dashboards/general_dashboard.html:34 #: templates/dashboards/sales_dashboard.html:21 +#: templates/ledger/reports/car_sale_report.html:58 #: templates/ledger/reports/dashboard.html:165 +#: templates/ledger/reports/purchase_report.html:58 msgid "End Date" msgstr "تاريخ الانتهاء" @@ -12753,104 +12751,113 @@ msgstr "تاريخ الانتهاء" msgid "Apply Filter" msgstr "تصفية" -#: templates/dashboards/general_dashboard.html:70 -#: templates/dashboards/partials/financial_data_cards.html:12 -#: templates/ledger/reports/car_sale_report.html:206 +#: templates/dashboards/general_dashboard.html:78 +#: templates/dashboards/partials/financial_data_cards.html:13 +#: templates/ledger/reports/car_sale_report.html:205 msgid "Total Cars Sold" msgstr "إجمالي السيارات" -#: templates/dashboards/general_dashboard.html:71 +#: templates/dashboards/general_dashboard.html:79 msgid "Monthly Revenue" msgstr "إجمالي الإيرادات" -#: templates/dashboards/general_dashboard.html:72 +#: templates/dashboards/general_dashboard.html:80 msgid "Monthly Net Profit" -msgstr "" +msgstr "صافي الربح الشهري" -#: templates/dashboards/general_dashboard.html:73 -#: templates/dashboards/general_dashboard.html:75 +#: templates/dashboards/general_dashboard.html:81 +#, fuzzy +#| msgid "Sales Tax Rate" +msgid "Car Sale by Make" +msgstr "معدل ضريبة المبيعات" + +#: templates/dashboards/general_dashboard.html:82 +#, fuzzy +#| msgid "Cars Sold by model" +msgid "Car Sale by Model" +msgstr "السيارات المباعة بالموديل" + +#: templates/dashboards/general_dashboard.html:83 msgid "Car Count by Make" msgstr "ماركات السيارات" -#: templates/dashboards/general_dashboard.html:74 -msgid "Cars Sold by model" -msgstr "السيارات المباعة بالموديل" +#: templates/dashboards/general_dashboard.html:84 +#, fuzzy +#| msgid "Car Count by Make" +msgid "Car Count by Model" +msgstr "ماركات السيارات" -#: templates/dashboards/general_dashboard.html:76 -msgid "Cars in Inventory" -msgstr "المخزن" - -#: templates/dashboards/general_dashboard.html:77 +#: templates/dashboards/general_dashboard.html:85 #, fuzzy #| msgctxt "abbrev. month" #| msgid "Jan." msgid "Jan" msgstr "يناير" -#: templates/dashboards/general_dashboard.html:78 +#: templates/dashboards/general_dashboard.html:86 msgid "Feb" msgstr "فبراير" -#: templates/dashboards/general_dashboard.html:79 +#: templates/dashboards/general_dashboard.html:87 msgid "Mar" msgstr "السيد" -#: templates/dashboards/general_dashboard.html:80 +#: templates/dashboards/general_dashboard.html:88 #, fuzzy #| msgid "April" msgid "Apr" msgstr "أبريل" -#: templates/dashboards/general_dashboard.html:82 +#: templates/dashboards/general_dashboard.html:90 #, fuzzy #| msgid "June" msgid "Jun" msgstr "يونيو" -#: templates/dashboards/general_dashboard.html:83 +#: templates/dashboards/general_dashboard.html:91 #, fuzzy #| msgid "July" msgid "Jul" msgstr "يوليو" -#: templates/dashboards/general_dashboard.html:84 +#: templates/dashboards/general_dashboard.html:92 #, fuzzy #| msgctxt "abbrev. month" #| msgid "Aug." msgid "Aug" msgstr "أغسطس" -#: templates/dashboards/general_dashboard.html:85 +#: templates/dashboards/general_dashboard.html:93 #, fuzzy #| msgctxt "abbrev. month" #| msgid "Sept." msgid "Sep" msgstr "سبتمبر" -#: templates/dashboards/general_dashboard.html:86 +#: templates/dashboards/general_dashboard.html:94 #, fuzzy #| msgctxt "abbrev. month" #| msgid "Oct." msgid "Oct" msgstr "أكتوبر" -#: templates/dashboards/general_dashboard.html:87 +#: templates/dashboards/general_dashboard.html:95 #, fuzzy #| msgctxt "abbrev. month" #| msgid "Nov." msgid "Nov" msgstr "نوفمبر" -#: templates/dashboards/general_dashboard.html:88 +#: templates/dashboards/general_dashboard.html:96 #, fuzzy #| msgctxt "abbrev. month" #| msgid "Dec." msgid "Dec" msgstr "ديسمبر" -#: templates/dashboards/general_dashboard.html:89 +#: templates/dashboards/general_dashboard.html:97 msgid "cars" -msgstr "" +msgstr "السيارات" #: templates/dashboards/partials/chart.html:4 #, python-format @@ -12859,6 +12866,9 @@ msgid "" " Monthly Performance Trends (%(start_date)s - %(end_date)s)\n" " " msgstr "" +"\n" +" اتجاهات الأداء الشهري (%(start_date)s - %(end_date)s)\n" +" " #: templates/dashboards/partials/chart.html:12 #, fuzzy @@ -12892,9 +12902,9 @@ msgstr "الموديل" msgid "Select Make" msgstr "اختر العلامات التجارية" -#: templates/dashboards/partials/chart.html:71 -#: templates/dashboards/partials/chart.html:119 -msgid "Please Select a Make from above to see the Statistics" +#: templates/dashboards/partials/chart.html:72 +#: templates/dashboards/partials/chart.html:122 +msgid "Please select a make from above to see the statistics" msgstr "" #: templates/dashboards/partials/chart.html:80 @@ -12915,7 +12925,7 @@ msgstr "المخزون حسب الحالة" msgid "Models in Inventory" msgstr "تحديث المخزون" -#: templates/dashboards/partials/financial_data_cards.html:4 +#: templates/dashboards/partials/financial_data_cards.html:5 #, python-format msgid "" "\n" @@ -12923,184 +12933,184 @@ msgid "" " " msgstr "" -#: templates/dashboards/partials/financial_data_cards.html:20 -#: templates/ledger/reports/car_sale_report.html:122 +#: templates/dashboards/partials/financial_data_cards.html:21 +#: templates/ledger/reports/car_sale_report.html:121 #, fuzzy #| msgid "Total Revenue" msgid "Total Revenue from Cars" msgstr "إجمالي الإيرادات" -#: templates/dashboards/partials/financial_data_cards.html:30 +#: templates/dashboards/partials/financial_data_cards.html:31 #, fuzzy #| msgid "Net Profit Margin" msgid "Net Profit from Cars" msgstr "هامش الربح الصافي" -#: templates/dashboards/partials/financial_data_cards.html:40 +#: templates/dashboards/partials/financial_data_cards.html:41 #, fuzzy #| msgid "Total Discount" msgid "Total Discount on Cars" msgstr "إجمالي الخصم" -#: templates/dashboards/partials/financial_data_cards.html:50 +#: templates/dashboards/partials/financial_data_cards.html:51 #, fuzzy #| msgid "Cost of Goods Sold" msgid "Total Cost of Cars Sold" msgstr "تكلفة البضائع المباعة" -#: templates/dashboards/partials/financial_data_cards.html:60 -#: templates/ledger/reports/car_sale_report.html:158 +#: templates/dashboards/partials/financial_data_cards.html:61 +#: templates/ledger/reports/car_sale_report.html:157 #, fuzzy #| msgid "Total cars" msgid "Total VAT from Cars" msgstr "إجمالي السيارات" -#: templates/dashboards/partials/financial_data_cards.html:68 +#: templates/dashboards/partials/financial_data_cards.html:69 #, fuzzy #| msgid "Sale Car" msgid "Sales of New Cars" msgstr "بيع سيارة" -#: templates/dashboards/partials/financial_data_cards.html:73 +#: templates/dashboards/partials/financial_data_cards.html:74 #, fuzzy #| msgid "No Cars Found" msgid "New Cars Sold" msgstr "لم يتم العثور على سيارات" -#: templates/dashboards/partials/financial_data_cards.html:81 +#: templates/dashboards/partials/financial_data_cards.html:82 #, fuzzy #| msgid "Net Other Revenues" msgid "New Cars Revenue" msgstr "صافي الإيرادات الأخرى" -#: templates/dashboards/partials/financial_data_cards.html:91 +#: templates/dashboards/partials/financial_data_cards.html:92 msgid "New Cars Net Profit" -msgstr "" +msgstr "صافي ربح السيارات الجديدة" -#: templates/dashboards/partials/financial_data_cards.html:101 +#: templates/dashboards/partials/financial_data_cards.html:102 #, fuzzy #| msgid "Add New Car" msgid "New Cars VAT" msgstr "إضافة سيارة" -#: templates/dashboards/partials/financial_data_cards.html:111 +#: templates/dashboards/partials/financial_data_cards.html:112 #, fuzzy #| msgid "No Cars Found" msgid "New Cars Cost" msgstr "لم يتم العثور على سيارات" -#: templates/dashboards/partials/financial_data_cards.html:119 +#: templates/dashboards/partials/financial_data_cards.html:120 #, fuzzy #| msgid "Sale Car" msgid "Sales of Used Cars" msgstr "بيع سيارة" -#: templates/dashboards/partials/financial_data_cards.html:124 +#: templates/dashboards/partials/financial_data_cards.html:125 msgid "Used Cars Sold" -msgstr "" +msgstr "السيارات المستخدمة المباعة" -#: templates/dashboards/partials/financial_data_cards.html:132 +#: templates/dashboards/partials/financial_data_cards.html:133 #, fuzzy #| msgid "Sales Revenue" msgid "Used Cars Revenue" -msgstr "إيرادات المبيعات" +msgstr "إيرادات مبيعات السيارات المستخدمة" -#: templates/dashboards/partials/financial_data_cards.html:142 +#: templates/dashboards/partials/financial_data_cards.html:143 msgid "Used Cars Net Profit" -msgstr "" +msgstr "صافي ربح السيارات المستخدمة" -#: templates/dashboards/partials/financial_data_cards.html:152 +#: templates/dashboards/partials/financial_data_cards.html:153 msgid "Used Cars VAT" -msgstr "" +msgstr "ضريبة القيمة المضافة على السيارات المستخدمة" -#: templates/dashboards/partials/financial_data_cards.html:162 +#: templates/dashboards/partials/financial_data_cards.html:163 msgid "Used Cars Cost" -msgstr "" +msgstr "تكلفة السيارات المستخدمة" -#: templates/dashboards/partials/financial_data_cards.html:172 +#: templates/dashboards/partials/financial_data_cards.html:173 #: templates/dashboards/sales_dashboard.html:36 #, fuzzy #| msgid "Inventory Items" msgid "Inventory KPIs" msgstr "عناصر المخزون" -#: templates/dashboards/partials/financial_data_cards.html:177 +#: templates/dashboards/partials/financial_data_cards.html:178 #: templates/dashboards/sales_dashboard.html:40 #, fuzzy #| msgid "How many cars are in inventory" msgid "Total Cars in Inventory" msgstr "كم عدد السيارات في المخزون" -#: templates/dashboards/partials/financial_data_cards.html:185 +#: templates/dashboards/partials/financial_data_cards.html:186 #, fuzzy #| msgid "inventory value" msgid "Total Inventory Value" msgstr "قيمة المخزون" -#: templates/dashboards/partials/financial_data_cards.html:195 +#: templates/dashboards/partials/financial_data_cards.html:196 #: templates/dashboards/sales_dashboard.html:48 #, fuzzy #| msgid "How many cars are in inventory" msgid "New Cars in Inventory" msgstr "كم عدد السيارات في المخزون" -#: templates/dashboards/partials/financial_data_cards.html:203 +#: templates/dashboards/partials/financial_data_cards.html:204 #: templates/dashboards/sales_dashboard.html:56 #, fuzzy #| msgid "Update Inventory" msgid "Used Cars in Inventory" msgstr "تحديث المخزون" -#: templates/dashboards/partials/financial_data_cards.html:211 +#: templates/dashboards/partials/financial_data_cards.html:212 #, fuzzy #| msgid "inventory value" msgid "New Cars Inventory Value" msgstr "قيمة المخزون" -#: templates/dashboards/partials/financial_data_cards.html:221 +#: templates/dashboards/partials/financial_data_cards.html:222 #, fuzzy #| msgid "Update Inventory Item" msgid "Used Cars Inventory Value" msgstr "تحديث عنصر المخزون" -#: templates/dashboards/partials/financial_data_cards.html:233 +#: templates/dashboards/partials/financial_data_cards.html:234 #: templates/dashboards/sales_dashboard.html:66 msgid "Aging Inventory (> 60 days)" -msgstr "" +msgstr "المخزون القديم (> 60 يوم)" -#: templates/dashboards/partials/financial_data_cards.html:246 +#: templates/dashboards/partials/financial_data_cards.html:247 #, python-format msgid "" "\n" -" Financial Health KPIs (%(start_date)s - %(end_date)s)\n" +" KPIs للصحة المالية (%(start_date)s - %(end_date)s)\n" " " msgstr "" -#: templates/dashboards/partials/financial_data_cards.html:254 -#: templates/ledger/reports/car_sale_report.html:134 +#: templates/dashboards/partials/financial_data_cards.html:255 +#: templates/ledger/reports/car_sale_report.html:133 #, fuzzy #| msgid "Total Revenue Estimate" msgid "Total Revenue from Services" msgstr "الإيرادات الإجمالية المقدرة" -#: templates/dashboards/partials/financial_data_cards.html:264 -#: templates/ledger/reports/car_sale_report.html:170 +#: templates/dashboards/partials/financial_data_cards.html:265 +#: templates/ledger/reports/car_sale_report.html:169 msgid "Total VAT from Services" -msgstr "" +msgstr "الدمغة الإجمالية من الخدمات" -#: templates/dashboards/partials/financial_data_cards.html:274 +#: templates/dashboards/partials/financial_data_cards.html:275 #, fuzzy #| msgid "Total Revenue Estimate" msgid "Total Revenue Generated" msgstr "الإيرادات الإجمالية المقدرة" -#: templates/dashboards/partials/financial_data_cards.html:284 +#: templates/dashboards/partials/financial_data_cards.html:285 #, fuzzy #| msgid "Total Cost" msgid "Total VAT Collected" msgstr "إجمالي التكلفة" -#: templates/dashboards/partials/financial_data_cards.html:294 +#: templates/dashboards/partials/financial_data_cards.html:295 #, fuzzy #| msgid "Tax Expense" msgid "Total Expenses" @@ -13118,9 +13128,15 @@ msgstr "لوحة القيادة" msgid "Top Lead Sources" msgstr "مصدر العميل المحتمل" +#: templates/dashboards/sales_dashboard.html:80 +#, fuzzy +#| msgid "Total cars" +msgid "Total Leads: " +msgstr "إجمالي السيارات" + #: templates/dashboards/sales_dashboard.html:91 msgid "Lead Conversion Funnel" -msgstr "" +msgstr "مهرجان تحويل العملاء المحتملين" #: templates/dashboards/sales_dashboard.html:122 #, fuzzy @@ -13148,16 +13164,12 @@ msgid "Profile" msgstr "الملف الشخصي" #: templates/dealers/dealer_detail.html:18 -#, fuzzy -#| msgid "View Profile" msgid "Manage Profile" msgstr "عرض الملف الشخصي" #: templates/dealers/dealer_detail.html:22 templates/users/user_detail.html:20 -#, fuzzy -#| msgid "View Profile" msgid "Edit Profile" -msgstr "عرض الملف الشخصي" +msgstr "تعديل الملف الشخصي" #: templates/dealers/dealer_detail.html:25 #: templates/plans/billing_info_create_or_update.html:4 @@ -13165,8 +13177,6 @@ msgid "Billing Information" msgstr "معلومات الفوترة" #: templates/dealers/dealer_detail.html:28 -#, fuzzy -#| msgid "Payment History" msgid "Plans History" msgstr "سجل المدفوعات" @@ -13203,7 +13213,7 @@ msgid "Car Brands" msgstr "نقل السيارة" #: templates/dealers/dealer_detail.html:155 -#: templates/inventory/car_detail.html:393 templates/plans/current.html:26 +#: templates/inventory/car_detail.html:398 templates/plans/current.html:26 msgid "Expired" msgstr "منتهي الصلاحية" @@ -13223,10 +13233,10 @@ msgstr "الأيام المتبقية" #: templates/dealers/dealer_detail.html:164 msgid "Please subscribe or renew your plan to continue using our services." -msgstr "" +msgstr "يرجى الاشتراك أو تجديد خطتك لاستمرار استخدام خدماتنا." #: templates/dealers/dealer_detail.html:171 -#: templates/subscriptions/subscription_plan.html:52 templates/welcome.html:145 +#: templates/subscriptions/subscription_plan.html:52 msgid "Per month" msgstr "شهريًا" @@ -13237,7 +13247,7 @@ msgid "Subscribe Now" msgstr "الاشتراك" #: templates/dealers/dealer_detail.html:199 -#: templates/inventory/car_detail.html:382 +#: templates/inventory/car_detail.html:387 msgid "Renew" msgstr "تجديد" @@ -13249,16 +13259,9 @@ msgstr "ترقية الخطة" msgid "Manage Users & Cars" msgstr "إدارة المجموعات والأذونات" -#: templates/dealers/dealer_detail.html:226 -#: templates/dealers/dealer_detail.html:241 -#, fuzzy -#| msgid "No Limit" -msgid "Limit" -msgstr "لا يوجد حد" - #: templates/dealers/dealer_detail.html:244 msgid "Contact support to increase your limits" -msgstr "" +msgstr "اتصل بدعم لزيادة الباقة" #: templates/dealers/dealer_detail.html:258 msgid "Contact Information" @@ -13302,7 +13305,7 @@ msgstr "هذه تذكرة بموعدك القادم." #: templates/emails/schedule_reminder.html:19 #: templates/emails/schedule_reminder.txt:5 msgid "Purpose" -msgstr "" +msgstr "الغرض" #: templates/emails/schedule_reminder.html:21 #: templates/emails/schedule_reminder.txt:6 @@ -13314,7 +13317,7 @@ msgstr "مجدول" #: templates/emails/schedule_reminder.html:34 #: templates/emails/schedule_reminder.txt:11 msgid "Please be prepared for your schedule" -msgstr "" +msgstr "يرجى التحضير لجدولك" #: templates/emails/schedule_reminder.html:35 #: templates/emails/schedule_reminder.txt:13 @@ -13341,7 +13344,7 @@ msgstr "هذه رسالة تلقائية. يرجى عدم الرد مباشرة #: templates/emails/schedule_reminder.txt:1 msgid "Hello" -msgstr "" +msgstr "مرحبًا" #: templates/emails/schedule_reminder.txt:15 #, fuzzy @@ -13430,10 +13433,8 @@ msgid "Permissions" msgstr "الإذن" #: templates/groups/group_detail.html:84 -#, fuzzy -#| msgid "Read Permissions" msgid "Manage Permissions" -msgstr "أذونات القراءة" +msgstr "ادارة الصلاحيات" #: templates/groups/group_detail.html:88 templates/groups/group_list.html:34 msgid "name" @@ -13468,8 +13469,6 @@ msgid "Add Group" msgstr "إضافة مجموعة" #: templates/groups/group_list.html:25 templates/users/user_detail.html:13 -#, fuzzy -#| msgid "Back to list" msgid "Back to Staffs" msgstr "العودة إلى القائمة" @@ -13529,7 +13528,7 @@ msgstr "أذونات القراءة" #: templates/groups/group_permission_form.html:40 msgid "Checked items are currently assigned permissions" -msgstr "" +msgstr "العناصر المحددة حالياً لديها أذونات منسوبة" #: templates/groups/group_permission_form.html:57 #, fuzzy @@ -13551,7 +13550,7 @@ msgstr "اختيار" #: templates/groups/group_permission_form.html:126 msgid "Permissions will be updated immediately" -msgstr "" +msgstr "سيتم تحديث الأذونات على الفور" #: templates/haikalbot/chat.html:11 msgid "HaikalBot" @@ -13635,12 +13634,10 @@ msgstr "إنشاء عرض" msgid "quotations" msgstr "العروض" -#: templates/header.html:229 templates/sales/estimates/sale_order_form.html:6 -#: templates/sales/estimates/sale_order_form1.html:5 -#: templates/sales/estimates/sale_order_preview.html:176 -#: templates/sales/orders/order_details.html:79 -msgid "Sale Order" -msgstr "أمر بيع" +#: templates/header.html:229 templates/sales/sales_list.html:5 +#: templates/sales/sales_list.html:14 +msgid "Sale Orders" +msgstr "اوامر البيع" #: templates/header.html:238 msgid "invoices" @@ -13668,48 +13665,53 @@ msgid "Car purchase Report" msgstr "تقارير شراء السيارات" #: templates/header.html:407 templates/ledger/reports/car_sale_report.html:6 -#: templates/ledger/reports/car_sale_report.html:42 +#: templates/ledger/reports/car_sale_report.html:40 msgid "Car Sale Report" msgstr "تقارير مبيعات السيارات" -#: templates/header.html:500 +#: templates/header.html:488 templates/welcome-temp.html:89 +#: templates/welcome_header.html:15 +msgid "Haikal" +msgstr "هيكل" + +#: templates/header.html:499 msgid "Logged in as " msgstr "المستخدم " -#: templates/header.html:501 +#: templates/header.html:500 msgid "Hello, " msgstr "مرحبا" -#: templates/header.html:519 templates/header.html:528 +#: templates/header.html:518 templates/header.html:527 #: templates/welcome_header.html:29 templates/welcome_header.html:38 msgid "Switch theme" msgstr "تبديل النمط" -#: templates/header.html:603 templates/header.html:609 +#: templates/header.html:602 templates/header.html:608 msgid "profile" msgstr "الملف الشخصي" -#: templates/header.html:615 +#: templates/header.html:614 msgid "Staff & Groups" msgstr "الموظفون والمجموعات" -#: templates/header.html:625 +#: templates/header.html:624 msgid "Settings" msgstr "الإعدادات" -#: templates/header.html:631 +#: templates/header.html:630 msgid "Admin Managemnet" msgstr "إدارة المشرفين" -#: templates/header.html:637 +#: templates/header.html:636 msgid "Help Center" msgstr "مركز المساعدة" -#: templates/header.html:644 +#: templates/header.html:643 msgid "My Calendar" msgstr "تقويمي" -#: templates/header.html:662 +#: templates/header.html:661 msgid "Privacy policy" msgstr "سياسة الخصوصية" @@ -13752,10 +13754,6 @@ msgid "Car Details" msgstr "تفاصيل السيارة" #: templates/inventory/car_detail.html:25 -#, fuzzy -#| msgid "" -#| "This car information is not complete , please add colors and finances " -#| "before making it ready for sale ." msgid "" "This car information is not complete , please add colors and finances both " "before making it ready for sale ." @@ -13775,10 +13773,6 @@ msgstr "" "معلومات هذه السيارة غير مكتملة، يرجى إضافة الألوان قبل جعلها جاهزة للبيع." #: templates/inventory/car_detail.html:33 -#, fuzzy -#| msgid "" -#| "This car information is not complete , please add colors and finances " -#| "before making it ready for sale ." msgid "" "This car information is not complete , please add finances before making it " "ready for sale ." @@ -13830,7 +13824,7 @@ msgid "trim" msgstr "الفئة" #: templates/inventory/car_detail.html:143 -#: templates/inventory/car_detail.html:570 +#: templates/inventory/car_detail.html:575 #: templates/inventory/car_form.html:137 templates/inventory/car_form.html:248 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:196 #: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:229 @@ -13848,92 +13842,88 @@ msgstr "معرضنا" msgid "No location available." msgstr "لا يوجد موقع متاح." -#: templates/inventory/car_detail.html:243 -msgid "Sell to another dealer" -msgstr "بيع السيارة لمعرض آخر" - -#: templates/inventory/car_detail.html:247 -#: templates/inventory/car_detail.html:277 -#: templates/inventory/car_detail.html:329 +#: templates/inventory/car_detail.html:248 +#: templates/inventory/car_detail.html:279 +#: templates/inventory/car_detail.html:334 msgid "Cannot Edit, Car in Transfer." msgstr "لا يمكن التعديل، السيارة قيد النقل." -#: templates/inventory/car_detail.html:257 +#: templates/inventory/car_detail.html:258 #: templates/sales/orders/order_details.html:212 msgid "Financial Details" msgstr "التفاصيل المالية" -#: templates/inventory/car_detail.html:282 +#: templates/inventory/car_detail.html:286 msgid "No finance details available." msgstr "لا توجد تفاصيل مالية متاحة." -#: templates/inventory/car_detail.html:294 +#: templates/inventory/car_detail.html:299 msgid "Colors Details" msgstr "تفاصيل الألوان" -#: templates/inventory/car_detail.html:301 +#: templates/inventory/car_detail.html:306 msgid "Exterior" msgstr "الخارجي" -#: templates/inventory/car_detail.html:312 +#: templates/inventory/car_detail.html:317 msgid "Interior" msgstr "الداخلي" -#: templates/inventory/car_detail.html:337 +#: templates/inventory/car_detail.html:342 msgid "No color details available." msgstr "لا توجد تفاصيل ألوان متاحة." -#: templates/inventory/car_detail.html:340 +#: templates/inventory/car_detail.html:345 msgid "Add Color" msgstr "إضافة لون" -#: templates/inventory/car_detail.html:354 +#: templates/inventory/car_detail.html:359 msgid "Reservations Details" msgstr "تفاصيل الحجز" -#: templates/inventory/car_detail.html:362 +#: templates/inventory/car_detail.html:367 msgid "Expires At" msgstr "ينتهي في" -#: templates/inventory/car_detail.html:407 +#: templates/inventory/car_detail.html:412 #: templates/inventory/reserve_car.html:22 msgid "Reserve" msgstr "حجز" -#: templates/inventory/car_detail.html:423 +#: templates/inventory/car_detail.html:428 #: templates/inventory/transfer_details.html:72 msgid "Transfer Details" msgstr "تفاصيل النقل" -#: templates/inventory/car_detail.html:431 +#: templates/inventory/car_detail.html:436 msgid "From Showroom" msgstr "من صالة العرض" -#: templates/inventory/car_detail.html:432 +#: templates/inventory/car_detail.html:437 msgid "To Showroom" msgstr "إلى صالة العرض" -#: templates/inventory/car_detail.html:444 +#: templates/inventory/car_detail.html:449 #, fuzzy #| msgid "Quotation is not ready for approval" msgid "waiting for approval" msgstr "العرض غير جاهز للموافقة." -#: templates/inventory/car_detail.html:446 +#: templates/inventory/car_detail.html:451 msgid "waiting for dealer acceptance" -msgstr "" +msgstr "في انتظار قبول التاجر" -#: templates/inventory/car_detail.html:537 +#: templates/inventory/car_detail.html:542 msgid "Are you sure you want to reserve this car?" msgstr "هل أنت متأكد أنك تريد حجز هذه السيارة؟" -#: templates/inventory/car_detail.html:646 +#: templates/inventory/car_detail.html:651 #: templates/inventory/car_list.html:552 #: templates/partials/specifications_modal.html:18 msgid "No specifications available." msgstr "لا توجد مواصفات متاحة." -#: templates/inventory/car_detail.html:650 +#: templates/inventory/car_detail.html:655 #: templates/inventory/car_list.html:556 msgid "Error loading specifications." msgstr "حدث خطأ أثناء تحميل المواصفات." @@ -14043,6 +14033,17 @@ msgstr "الرجاء إدخال رقم هيكل صالح مكون من 17 حرف msgid "An error occurred while decoding the VIN." msgstr "حدث خطأ أثناء فك تشفير الهيكل" +#: templates/inventory/car_form.html:743 templates/inventory/car_form.html:783 +#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:612 +#: templates/registration/signup.html:326 +msgid "Please Wait" +msgstr "الرجاء الإنتظار" + +#: templates/inventory/car_form.html:744 templates/inventory/car_form.html:784 +#: ⁨templates/inventory/car_form_qabl alfalsafa.html⁩:613 +msgid "Loading" +msgstr "تحميل" + #: templates/inventory/car_history.html:24 msgid "History" msgstr "التاريخ" @@ -14152,7 +14153,7 @@ msgstr "لم يتم العثور على خدمة" #: templates/inventory/car_list_view.html:290 msgid "Try adjusting your search criteria or filters" -msgstr "" +msgstr "جرب تعديل معايير البحث أو المرشحات" #: templates/inventory/car_location_form.html:5 #: templates/inventory/car_location_form.html:9 @@ -14314,7 +14315,7 @@ msgstr "من" #: templates/inventory/transfer_details.html:92 #: templates/plans/invoices/layout.html:126 -#: templates/plans/order_detail_table.html:9 templates/pricing_page.html:294 +#: templates/plans/order_detail_table.html:9 templates/pricing_page.html:297 #: templates/sales/estimates/sale_order_preview.html:228 #: templates/sales/invoices/invoice_detail.html:349 msgid "VAT" @@ -14340,7 +14341,7 @@ msgstr "الإذن" #: templates/inventory/transfer_preview.html:166 msgid "But no worries! Our ostrich is looking everywhere" -msgstr "" +msgstr "لا تقلق! ننقرح في كل مكان" #: templates/inventory/transfer_preview.html:190 msgid "Download transfer" @@ -14403,7 +14404,7 @@ msgstr "إضافة مصروف" msgid "Update Expense" msgstr "تحديث المصروف" -#: templates/items/expenses/expenses_list.html:64 +#: templates/items/expenses/expenses_list.html:65 #, fuzzy #| msgid "No Entries found" msgid "No Expenses Found" @@ -14418,7 +14419,7 @@ msgstr "إضافة خدمة جديدة" msgid "Taxable" msgstr "خاضع للضريبة" -#: templates/items/service/service_list.html:67 +#: templates/items/service/service_list.html:66 msgid "No Services Found" msgstr "لم يتم العثور على خدمة" @@ -14447,7 +14448,7 @@ msgstr "إضافة حساب بنكي جديد" msgid "Add Bank Account" msgstr "إضافة حساب بنكي" -#: templates/ledger/bank_accounts/bank_account_list.html:64 +#: templates/ledger/bank_accounts/bank_account_list.html:65 #: templates/ledger/coa_accounts/partials/account_table.html:59 msgid "No Accounts Found" msgstr "لم يتم العثور على أي حسابات" @@ -14588,7 +14589,7 @@ msgstr "لم يتم العثور على أي حسابات في هذه الفئة #: templates/ledger/journal_entry/includes/card_invoice.html:27 msgid "Owed to You" -msgstr "" +msgstr "المبلغ المستحق لك" #: templates/ledger/journal_entry/includes/card_invoice.html:129 #, fuzzy @@ -14638,7 +14639,7 @@ msgid "You Are Owed" msgstr "ما زلت مديناً" #: templates/ledger/ledger/ledger_list.html:24 -#: templates/ledger/reports/car_sale_report.html:234 +#: templates/ledger/reports/car_sale_report.html:233 msgid "Created Date" msgstr "تاريخ الإنشاء" @@ -14650,99 +14651,105 @@ msgstr "لم يتم العثور على أي مدخلات" msgid "As of" msgstr "حتى" -#: templates/ledger/reports/car_sale_report.html:47 +#: templates/ledger/reports/car_sale_report.html:45 #: templates/ledger/reports/purchase_report.html:46 #, fuzzy #| msgid "Report a Bug" msgid "Report Date" msgstr "الإبلاغ عن خطأ" -#: templates/ledger/reports/car_sale_report.html:52 +#: templates/ledger/reports/car_sale_report.html:50 +#: templates/ledger/reports/purchase_report.html:50 #, fuzzy #| msgid "Filter" msgid "Filters" msgstr "تصفية" -#: templates/ledger/reports/car_sale_report.html:58 +#: templates/ledger/reports/car_sale_report.html:64 #, fuzzy #| msgid "All Stages" msgid "All Makes" msgstr "جميع المراحل" -#: templates/ledger/reports/car_sale_report.html:66 +#: templates/ledger/reports/car_sale_report.html:73 #, fuzzy #| msgid "Bill Model" msgid "All Models" msgstr "نموذج الفاتورة" -#: templates/ledger/reports/car_sale_report.html:76 +#: templates/ledger/reports/car_sale_report.html:82 #, fuzzy #| msgid "Series" msgid "All Series" msgstr "السلسلة" -#: templates/ledger/reports/car_sale_report.html:86 +#: templates/ledger/reports/car_sale_report.html:91 #, fuzzy #| msgid "All Stages" msgid "All Years" msgstr "جميع المراحل" -#: templates/ledger/reports/car_sale_report.html:96 #: templates/ledger/reports/car_sale_report.html:98 #, fuzzy #| msgid "Stock Type" msgid "Stock Types" msgstr "نوع المخزون" -#: templates/ledger/reports/car_sale_report.html:116 -#: templates/ledger/reports/purchase_report.html:50 +#: templates/ledger/reports/car_sale_report.html:100 +#, fuzzy +#| msgid "Stock Type" +msgid "All Stock Types" +msgstr "نوع المخزون" + +#: templates/ledger/reports/car_sale_report.html:115 +#: templates/ledger/reports/purchase_report.html:70 #, fuzzy #| msgid "Order Summary" msgid "Report Summary" msgstr "ملخص الطلب" -#: templates/ledger/reports/car_sale_report.html:182 +#: templates/ledger/reports/car_sale_report.html:181 #, fuzzy #| msgid "Total" msgid "Total VAT" msgstr "الإجمالي" -#: templates/ledger/reports/car_sale_report.html:194 +#: templates/ledger/reports/car_sale_report.html:193 #, fuzzy #| msgid "Discount Amount" msgid "Total Discount Amount" msgstr "مبلغ الخصم" -#: templates/ledger/reports/car_sale_report.html:215 +#: templates/ledger/reports/car_sale_report.html:214 msgid "Detailed Sale List" -msgstr "" +msgstr "قائمة مبيعات مفصلة" -#: templates/ledger/reports/car_sale_report.html:219 -#: templates/ledger/reports/purchase_report.html:89 +#: templates/ledger/reports/car_sale_report.html:218 +#: templates/ledger/reports/purchase_report.html:109 #, fuzzy #| msgid "Download transfer" msgid "Download as CSV" msgstr "تحميل النقل" -#: templates/ledger/reports/car_sale_report.html:240 +#: templates/ledger/reports/car_sale_report.html:239 #, fuzzy #| msgid "Name on Card" msgid "VAT on Car" msgstr "الاسم على البطاقة" -#: templates/ledger/reports/car_sale_report.html:241 +#: templates/ledger/reports/car_sale_report.html:240 #, fuzzy #| msgid "Service price" msgid "Services Price" msgstr "سعر الخدمة" -#: templates/ledger/reports/car_sale_report.html:242 +#: templates/ledger/reports/car_sale_report.html:241 #, fuzzy #| msgid "Additional Services" msgid "VAT on Services" msgstr "الخدمات الإضافية" -#: templates/ledger/reports/car_sale_report.html:243 +#: templates/ledger/reports/car_sale_report.html:242 #, fuzzy #| msgid "Financial Details" msgid "Final Total" @@ -14810,61 +14817,55 @@ msgstr "تطبيق" #: templates/ledger/reports/purchase_report.html:5 #: templates/ledger/reports/purchase_report.html:41 -#, fuzzy -#| msgid "Create Purchase Order" msgid "Car Purchase Report" msgstr "إنشاء أمر شراء" -#: templates/ledger/reports/purchase_report.html:56 -#, fuzzy -#| msgid "Total PO Amount" +#: templates/ledger/reports/purchase_report.html:76 msgid "Total Purchase Amount" msgstr "إجمالي مبلغ أمر الشراء" -#: templates/ledger/reports/purchase_report.html:66 +#: templates/ledger/reports/purchase_report.html:86 #: templates/vendors/view_vendor.html:63 -#, fuzzy -#| msgid "Total cars" msgid "Total Cars Purchased" -msgstr "إجمالي السيارات" +msgstr "إجمالي مشتريات السيارات" -#: templates/ledger/reports/purchase_report.html:76 +#: templates/ledger/reports/purchase_report.html:96 #, fuzzy #| msgid "Purchase Orders" msgid "Total Purchase Orders" msgstr "أوامر الشراء" -#: templates/ledger/reports/purchase_report.html:85 +#: templates/ledger/reports/purchase_report.html:105 #, fuzzy #| msgid "Delete Purchase Order " msgid "Detailed Purchase List" msgstr "حذف أمر الشراء" -#: templates/ledger/reports/purchase_report.html:96 +#: templates/ledger/reports/purchase_report.html:116 #, fuzzy #| msgid "Purchase Order" msgid "Purchase ID" msgstr "أمر شراء" -#: templates/ledger/reports/purchase_report.html:97 +#: templates/ledger/reports/purchase_report.html:117 #, fuzzy #| msgid "Date Completed" msgid "Date Created" msgstr "تاريخ الاكتمال" -#: templates/ledger/reports/purchase_report.html:100 +#: templates/ledger/reports/purchase_report.html:120 #, fuzzy #| msgid "Mark as Fulfilled" msgid "Date Fulfilled" msgstr "تمييز كمنفذ" -#: templates/ledger/reports/purchase_report.html:102 +#: templates/ledger/reports/purchase_report.html:121 #, fuzzy #| msgid "Create Purchase Order" msgid "Cars Purchased" msgstr "إنشاء أمر شراء" -#: templates/ledger/reports/purchase_report.html:117 +#: templates/ledger/reports/purchase_report.html:136 #, fuzzy #| msgid "Not scheduled" msgid "Not fulfilled" @@ -15038,8 +15039,7 @@ msgstr "لم يتم العثور على معاملات" #: templates/otp/verify_otp.html:25 msgid "An OTP has been sent to your email. Please enter it below" -msgstr "" -"تم إرسال رمز التحقق لمرة واحدة (OTP) إلى بريدك الإلكتروني. يرجى إدخاله أدناه." +msgstr "تم إرسال رمز التحقق لمرة واحدة (OTP) إلى بريدك الإلكتروني. يرجى إدخاله أدناه." #: templates/otp/verify_otp.html:33 msgid "Enter OTP" @@ -15051,7 +15051,7 @@ msgstr "رمز التحقق (OTP)" #: templates/partials/pagination.html:4 msgid "Showing" -msgstr "" +msgstr "عرض" #: templates/partials/pagination.html:4 #, fuzzy @@ -15061,7 +15061,7 @@ msgstr " إلى " #: templates/partials/pagination.html:5 msgid "results" -msgstr "" +msgstr "نتائج" #: templates/partials/scanner_modal.html:9 msgid "Scanner" @@ -15238,7 +15238,7 @@ msgid "Your Account" msgstr "حسابك" #: templates/plans/current.html:38 templates/plans/extend.html:20 -#: templates/pricing_page.html:288 +#: templates/pricing_page.html:291 msgid "Plan" msgstr "الخطة" @@ -15400,7 +15400,7 @@ msgstr "وحدات" msgid "n/a" msgstr "غير متوفر" -#: templates/plans/invoices/layout.html:203 templates/pricing_page.html:205 +#: templates/plans/invoices/layout.html:203 templates/pricing_page.html:208 msgid "Payment Information" msgstr "معلومات الدفع" @@ -15444,7 +15444,7 @@ msgstr "" msgid "Printable documents" msgstr "مستندات قابلة للطباعة" -#: templates/plans/order_detail.html:34 templates/pricing_page.html:317 +#: templates/plans/order_detail.html:34 templates/pricing_page.html:320 msgid "Payment" msgstr "الدفع" @@ -15526,8 +15526,6 @@ msgid "Plans Orders" msgstr "طلبات الخطط" #: templates/plans/order_list.html:9 -#, fuzzy -#| msgid "Payment History" msgid "Plan Purchase History" msgstr "سجل المدفوعات" @@ -15624,63 +15622,68 @@ msgstr "" msgid "Enter Your Information" msgstr "أدخل معلوماتك" -#: templates/pricing_page.html:208 templates/pricing_page.html:215 +#: templates/pricing_page.html:211 templates/pricing_page.html:218 msgid "Cardholder Name" msgstr "اسم حامل البطاقة" -#: templates/pricing_page.html:218 +#: templates/pricing_page.html:221 #, fuzzy #| msgid "Please enter a valid phone number" msgid "Please enter the cardholder name" msgstr "يرجى إدخال رقم هاتف صالح" -#: templates/pricing_page.html:235 +#: templates/pricing_page.html:238 #, fuzzy #| msgid "Please enter a valid credit card number" msgid "Please enter a valid 16-digit card number" msgstr "يرجى إدخال رقم بطاقة ائتمان صالح" -#: templates/pricing_page.html:238 templates/pricing_page.html:245 +#: templates/pricing_page.html:241 templates/pricing_page.html:248 msgid "Expiry Date" msgstr "تاريخ الانتهاء" -#: templates/pricing_page.html:252 +#: templates/pricing_page.html:255 #, fuzzy #| msgid "Please enter a valid expiry date in MM/YY format" msgid "Please enter a valid expiry date (MM/YY)" msgstr "يرجى إدخال تاريخ انتهاء صلاحية صحيح بصيغة MM/YY" -#: templates/pricing_page.html:255 templates/pricing_page.html:262 +#: templates/pricing_page.html:258 templates/pricing_page.html:265 msgid "CVV" msgstr "رمز الأمان (CVV)" -#: templates/pricing_page.html:269 +#: templates/pricing_page.html:272 #, fuzzy #| msgid "Please enter a valid VIN." msgid "Please enter a valid 3-digit CVV" msgstr "الرجاء إدخال رقم هيكل صالح مكون من 17 حرفًا." -#: templates/pricing_page.html:281 +#: templates/pricing_page.html:284 msgid "Confirm Your Information" msgstr "تأكيد معلوماتك" -#: templates/pricing_page.html:285 +#: templates/pricing_page.html:288 #: templates/sales/orders/order_details.html:100 msgid "Order Summary" msgstr "ملخص الطلب" -#: templates/pricing_page.html:301 +#: templates/pricing_page.html:304 msgid "User Information" msgstr "معلومات المستخدم" -#: templates/pricing_page.html:320 +#: templates/pricing_page.html:323 msgid "Cardholder" msgstr "حامل البطاقة" -#: templates/pricing_page.html:326 +#: templates/pricing_page.html:329 msgid "Expiry" msgstr "الانتهاء" +#: templates/pricing_page.html:340 templates/recalls/recall_list.html:62 +#: templates/registration/signup.html:270 +msgid "Previous" +msgstr "السابق" + #: templates/purchase_orders/includes/card_po.html:170 msgid "New Purchase Order" msgstr "أمر شراء جديد" @@ -15693,10 +15696,8 @@ msgid "Add New Item To Inventory" msgstr "هو عنصر للمخزون" #: templates/purchase_orders/includes/po_item_formset.html:31 -#, fuzzy -#| msgid "Add Note" msgid "Add Item" -msgstr "إضافة ملاحظة" +msgstr "إضافة عنصر" #: templates/purchase_orders/includes/po_table.html:7 #: templates/purchase_orders/po_list.html:32 @@ -15726,7 +15727,7 @@ msgstr "" #: templates/purchase_orders/po_delete.html:20 msgid "click here" -msgstr "" +msgstr "انقر هنا" #: templates/purchase_orders/po_detail_backup.html:59 msgid "View Purchase Order" @@ -15746,11 +15747,13 @@ msgid "Create New Purchase" msgstr "إنشاء منتج جديد" #: templates/purchase_orders/po_list.html:86 -#, fuzzy -#| msgid "Purchase Order Model" msgid "Purchase Order Detail" msgstr "نموذج أمر الشراء" +#: templates/purchase_orders/po_list.html:95 +msgid "Fulfill the PO Before Viewing Inventory" +msgstr "املأ أمر الشراء قبل عرض المخزون" + #: templates/purchase_orders/po_list.html:105 #, fuzzy #| msgid "No staff members found." @@ -15763,17 +15766,11 @@ msgid "" "Order." msgstr "" -#: templates/purchase_orders/po_upload_cars.html:31 -msgid "Quatnity" -msgstr "" - -#: templates/purchase_orders/po_upload_cars.html:33 +#: templates/purchase_orders/po_upload_cars.html:34 msgid "Is Data Uploaded ?" -msgstr "" +msgstr "هل تم رفع البيانات؟" -#: templates/purchase_orders/po_upload_cars.html:48 -#, fuzzy -#| msgid "Upload Cars" +#: templates/purchase_orders/po_upload_cars.html:49 msgid "Upload Data" msgstr "رفع بيانات السيارات" @@ -15840,7 +15837,7 @@ msgstr "الوصف" #: templates/recalls/recall_detail.html:24 msgid "Sent:" -msgstr "" +msgstr "مرسلة:" #: templates/recalls/recall_detail.html:46 #, fuzzy @@ -15850,7 +15847,7 @@ msgstr "الإشعارات" #: templates/recalls/recall_detail.html:54 msgid "Cars Affected" -msgstr "" +msgstr "السيارات المتأثرة" #: templates/recalls/recall_detail.html:55 #, fuzzy @@ -15924,6 +15921,97 @@ msgstr "" msgid "Back to Recall Management" msgstr "إدارة المستخدمين" +#: templates/registration/signup.html:40 +msgid "Access" +msgstr "الوصول" + +#: templates/registration/signup.html:69 +#, fuzzy +#| msgid "Dealers" +msgid "Dealership" +msgstr "المعارض" + +#: templates/registration/signup.html:129 +#: templates/registration/signup.html:145 +msgid "Password does not match. or length is less than 8 characters." +msgstr "كلمة المرور لا تتطابق أو طولها أقل من 8 محارف." + +#: templates/registration/signup.html:160 +#, fuzzy +#| msgid "Dealership Dashboard" +msgid "Dealership Name" +msgstr "لوحة القيادة الخاصة بي" + +#: templates/registration/signup.html:188 +#, fuzzy +#| msgid "Enter a valid Saudi phone number (05XXXXXXXX or +9665XXXXXXXX)" +msgid "Please enter a valid Saudi phone number (e.g., 05XXXXXXXX)" +msgstr "أدخل رقم جوال سعودي صحيح 05XXXXXXXX" + +#: templates/registration/signup.html:202 +#, fuzzy +#| msgid "Commercial Registration Number" +msgid "Commercial Registration Number (CRN)" +msgstr "رقم السجل التجاري" + +#: templates/registration/signup.html:211 +#, fuzzy +#| msgid "VAT Registration Number" +msgid "Vehicle Registration Number (VRN)" +msgstr "رقم التسجيل في ضريبة القيمة المضافة" + +#: templates/registration/signup.html:220 +#, fuzzy +#| msgid "Customer Address" +msgid "Business Address" +msgstr "عنوان العميل" + +#: templates/registration/signup.html:249 +msgid "You are all set!" +msgstr "كل شيء جاهز!" + +#: templates/registration/signup.html:251 +#, fuzzy +#| msgid "Now you can access your account" +msgid "Now you can access your dealership account" +msgstr "الآن يمكنك الوصول إلى حسابك" + +#: templates/registration/signup.html:253 +msgid "anytime" +msgstr "في أي وقت" + +#: templates/registration/signup.html:253 +msgid "anywhere" +msgstr "في أي مكان" + +#: templates/registration/signup.html:257 +#, fuzzy +#| msgid "Registration" +msgid "Complete Registration" +msgstr "التسجيل" + +#: templates/registration/signup.html:327 +msgid "Processing your registration..." +msgstr "" + +#: templates/registration/signup.html:375 +#, fuzzy +#| msgid "Bank account created successfully" +msgid "Dealership account created successfully" +msgstr "تم إنشاء الحساب البنكي بنجاح." + +#: templates/registration/signup.html:388 +#, fuzzy +#| msgid "An error occurred while decoding the VIN." +msgid "An error occurred during registration" +msgstr "حدث خطأ أثناء فك تشفير الهيكل" + +#: templates/registration/signup.html:392 +#, fuzzy +#| msgid "We couldn't process your payment. Please try again" +msgid "Network error. Please try again." +msgstr "تعذر معالجة دفعتك. يرجى المحاولة مرة أخرى" + #: templates/representatives/representative_detail.html:4 msgid "Representative Details" msgstr "تفاصيل ممثل الشركة" @@ -16009,6 +16097,13 @@ msgstr "لم يتم العثور على عروض" msgid "Send Estimate" msgstr "حفظ التقدير" +#: templates/sales/estimates/sale_order_form.html:6 +#: templates/sales/estimates/sale_order_form1.html:5 +#: templates/sales/estimates/sale_order_preview.html:176 +#: templates/sales/orders/order_details.html:79 +msgid "Sale Order" +msgstr "أمر بيع" + #: templates/sales/invoices/approved_invoice_update.html:9 #: templates/sales/invoices/draft_invoice_update.html:9 #: templates/sales/invoices/paid_invoice_update.html:9 @@ -16314,7 +16409,7 @@ msgstr "معلومات العميل" #: templates/sales/saleorder_detail.html:107 msgid "Vin" -msgstr "" +msgstr "رقمVIN" #: templates/sales/saleorder_detail.html:129 #, fuzzy @@ -16392,12 +16487,6 @@ msgstr "تقدير الإيرادات" msgid "View Full Invoice" msgstr "عرض الفاتورة" -#: templates/sales/sales_list.html:5 templates/sales/sales_list.html:14 -#, fuzzy -#| msgid "Sale Order" -msgid "Sale Orders" -msgstr "أمر بيع" - #: templates/sales/sales_list.html:31 msgid "Customer Address" msgstr "عنوان العميل" @@ -16468,11 +16557,11 @@ msgstr "إرسال" #: templates/support/help_center.html:6 msgid "Need help?" -msgstr "" +msgstr "تطلب مساعدة؟" #: templates/support/help_center.html:7 msgid "Raise a ticket and we will get back to you as soon as possible." -msgstr "" +msgstr "قم بإنشاء تذكرة وسيتم التواصل معك في أقرب وقت ممكن." #: templates/support/help_center.html:9 #, fuzzy @@ -16872,10 +16961,8 @@ msgstr "" "ومع ذلك، لا ننصحك بفعل ذلك، ولكن يمكنك أيضًا تعطيل المصادقة الثنائية لحسابك." #: templates/users/user_detail.html:15 -#, fuzzy -#| msgid "Profile" msgid "Staff Profile" -msgstr "الملف الشخصي" +msgstr "الملف الشخصي للموظف" #: templates/users/user_detail.html:24 msgid "Are you sure you want to delete this user?" @@ -16888,25 +16975,20 @@ msgid "Name (Arabic)" msgstr "العربية" #: templates/users/user_detail.html:94 -#, fuzzy -#| msgid "Assigned To" msgid "Assigned Groups" msgstr "مُعين إلى" #: templates/users/user_detail.html:97 templates/users/user_group_form.html:13 -#: templates/users/user_list.html:23 msgid "Manage Groups" msgstr "إدارة المجموعات" #: templates/users/user_detail.html:104 -#, fuzzy -#| msgid "Product Name" msgid "Group Name" -msgstr "اسم المنتج" +msgstr "اسم المجموعة" #: templates/users/user_detail.html:114 msgid "This user is not assigned to any groups." -msgstr "" +msgstr "هذا المستخدم غير مُعين إلى أي مجموعات." #: templates/users/user_form.html:5 templates/users/user_form.html:17 msgid "Update Staff" @@ -16921,6 +17003,10 @@ msgstr "إضافة موظف جديد" msgid "Staffs" msgstr "الموظفون" +#: templates/users/user_list.html:23 +msgid "Manage Groups & Permissions" +msgstr "أذونات القراءة" + #: templates/users/user_list.html:36 #, fuzzy #| msgid "phone number" @@ -16928,16 +17014,12 @@ msgid "Phone number" msgstr "رقم الهاتف" #: templates/users/user_list.html:96 -#, fuzzy -#| msgid "No Active Subscription,please activate your subscription." msgid "No active plan, Please create a subscription plan." msgstr "لا يوجد اشتراك نشط، يرجى تفعيل اشتراكك." #: templates/users/user_list.html:96 -#, fuzzy -#| msgid "Plan" msgid "Buy Plan" -msgstr "الخطة" +msgstr "شراء باقة " #: templates/users/user_password_reset.html:9 #, fuzzy @@ -16953,7 +17035,7 @@ msgstr "أدخل كلمة المرور الخاصة بك:" #: templates/users/user_password_reset.html:35 msgid "Remember to choose a strong password." -msgstr "" +msgstr "تذكر اختيار كلمة مرور قوية." #: templates/vendors/vendor_form.html:8 templates/vendors/vendor_form.html:21 msgid "Add New Vendor" @@ -16988,23 +17070,19 @@ msgstr "تفاصيل المورد" #: templates/vendors/view_vendor.html:74 msgid "There is no Purchase from this vendor yet" -msgstr "" +msgstr "لم يتم شراء أي شيء من هذا المورد بعد" #: templates/vendors/view_vendor.html:90 -#, fuzzy -#| msgid "Amount Paid" msgid "Bill Amount Paid" msgstr "المبلغ المدفوع" #: templates/vendors/view_vendor.html:91 -#, fuzzy -#| msgid "Bill Amount" msgid "Bill Amount Due" msgstr "قيمة الفاتورة" #: templates/vendors/view_vendor.html:108 msgid "No Bills Found For the Vendor : " -msgstr "" +msgstr "لم يتم العثور على فواتير لمورد : " #: templates/welcome-temp.html:109 templates/welcome-temp.html:154 #: templates/welcome_header.html:79 @@ -17112,30 +17190,36 @@ msgstr "" "ومنظمة." #: templates/welcome.html:147 +#, fuzzy +#| msgid "Month" +msgid "month" +msgstr "الشهر" + +#: templates/welcome.html:149 msgid "Included" msgstr "متضمن" -#: templates/welcome.html:177 +#: templates/welcome.html:181 msgid "Other features" msgstr "ميزات أخرى" -#: templates/welcome.html:178 +#: templates/welcome.html:182 msgid "Find out other features included in Haikal" msgstr "اكتشف الميزات الأخرى المضمنة في هيكل" -#: templates/welcome.html:190 +#: templates/welcome.html:194 msgid "Manage Everything from one place" msgstr "إدارة كل شيء من مكان واحد" -#: templates/welcome.html:200 +#: templates/welcome.html:204 msgid "The Car is in the center of your business" msgstr "السيارة هي محور عملك" -#: templates/welcome.html:210 +#: templates/welcome.html:214 msgid "Fully Integrated System" msgstr "نظام متكامل بالكامل" -#: templates/welcome.html:220 +#: templates/welcome.html:224 msgid "Advanced Dashboards for better decisions" msgstr "لوحات تحكم متقدمة لاتخاذ قرارات أفضل" @@ -17147,6 +17231,26 @@ msgstr "جميع الحقوق محفوظة" msgid "Powered by" msgstr "مدعوم من" +#~ msgid "Services Offered" +#~ msgstr "الخدمات المقدمة" + +#~ msgid "Extra" +#~ msgstr "إضافي" + +#~ msgid "Please enter a valid phone number" +#~ msgstr "يرجى إدخال رقم هاتف صالح" + +#~ msgid "Cars in Inventory" +#~ msgstr "المخزن" + +#, fuzzy +#~| msgid "No Limit" +#~ msgid "Limit" +#~ msgstr "لا يوجد حد" + +#~ msgid "Sell to another dealer" +#~ msgstr "بيع السيارة لمعرض آخر" + #, fuzzy #~| msgid "Select Makes" #~ msgid "Select Make:" diff --git a/requirements.txt b/requirements.txt index 9233b311..6b99c8eb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,350 +1,162 @@ -aiohappyeyeballs -aiohttp -aiohttp-retry -aiosignal -alabaster -albucore -albumentations -annotated-types -anthropic -anyio -arabic-reshaper -argcomplete -arrow -asgiref -astor -astroid -attrs -autopep8 -Babel -beautifulsoup4 -bleach -blessed -blinker -boto3 -botocore -Brotli -cachetools -cattrs -certifi -cffi -chardet -charset-normalizer -click -cohere -colorama -commonmark -contourpy -crispy-bootstrap5 -cryptography -cssselect2 -ctranslate2 -cycler -Cython -dataclasses-json -decorator -defusedxml -desert -diff-match-patch -dill -distro -dj-rest-auth -Django -django-allauth -django-appointment -django-autoslug -django-background-tasks -django-bootstrap5 -django-ckeditor -django-classy-tags -django-cors-headers -django-countries -django-crispy-forms -django-debug-toolbar -django-easy-audit -django-extensions -django-filter -django-formtools -django-import-export -django-js-asset -django-ledger -django-model-utils -django-money -django-next-url-mixin -django-nine -django-nonefield -django-ordered-model -django-pdf-actions -django-phonenumber-field -django-picklefield -django-plans -django-prometheus -django-q2 -django-schema-graph -django-sekizai -django-sequences -django-silk -django-simple-history -django-sms -django-sslserver-v2 -django-tables2 -django-treebeard -django-view-breadcrumbs -django-widget-tweaks -djangocms-admin-style -djangorestframework -djangorestframework_simplejwt -djangoviz -djhtml -docopt -docutils -easy-thumbnails -emoji -et_xmlfile -eval_type_backport -executing -Faker -fasta2a -fastavro -filelock -fire -fonttools -fpdf -fpdf2 -frozenlist -fsspec -google-auth -google-genai -googleapis-common-protos -gprof2dot -graphqlclient -greenlet -griffe -groq -h11 -h2 -hf-xet -hpack -hstspreload -httpcore -httpx -httpx-sse -huggingface-hub -hyperframe -icalendar -idna -imageio -imagesize -imgaug -importlib_metadata -iso4217 -isodate -isort -itsdangerous -Jinja2 -jiter -jmespath -joblib -jsonpatch -jsonpointer -jwt -kiwisolver -langchain -langchain-community -langchain-core -langchain-ollama -langchain-text-splitters -langsmith -lazy_loader -ledger -libretranslatepy -lmdb -logfire -logfire-api -luhnchecker -lxml -Markdown -markdown-it-py -MarkupSafe -marshmallow -matplotlib -mccabe -mcp -mdurl -mistralai -MouseInfo -mpmath -multidict -mypy_extensions -networkx -newrelic -nltk -num2words -numpy -oauthlib -ofxtools -ollama -openai -opencv-contrib-python -opencv-python -opencv-python-headless -openpyxl -opentelemetry-api -opentelemetry-exporter-otlp-proto-common -opentelemetry-exporter-otlp-proto-http -opentelemetry-instrumentation -opentelemetry-proto -opentelemetry-sdk -opentelemetry-semantic-conventions -opt_einsum -orjson -outcome -packaging -pandas -pango -pdfkit -phonenumbers -pillow -platformdirs -prometheus_client -prompt_toolkit -propcache -protobuf -psycopg -psycopg-binary -psycopg-c -psycopg2-binary -py-moneyed -pyasn1 -pyasn1_modules -PyAutoGUI -pyclipper -pycodestyle -pycparser -pydantic -pydantic-ai -pydantic-ai-slim -pydantic-evals -pydantic-graph -pydantic-settings -pydantic_core -pydotplus -pydyf -PyGetWindow -Pygments -PyJWT -pylint -PyMsgBox -PyMySQL -pyobjc-core -pyobjc-framework-Cocoa -pyobjc-framework-Quartz -pyparsing -pypdf -pyperclip -pyphen -pypng -PyRect -PyScreeze -pyserial -PySocks -python-bidi -python-dateutil -python-docx -python-dotenv -python-multipart -python-openid -python-slugify -python-stdnum -python3-saml -pytweening -pytz -pyvin -pywa -pywhat -pywhatkit -PyYAML -pyzbar -qrcode -RapidFuzz -redis -regex -reportlab -requests -requests-oauthlib -requests-toolbelt -rfc3986 -rich -rsa -rubicon-objc -s3transfer -sacremoses -safetensors -scikit-image -scikit-learn -scipy -selenium -sentence-transformers -sentencepiece -shapely -simsimd -six -slugify -sniffio -snowballstemmer -sortedcontainers -soupsieve -SQLAlchemy -sqlparse -sse-starlette -stanza -starlette -stringzilla -suds -swapper -sympy -tablib -tenacity -termcolor -text-unidecode -threadpoolctl -tifffile -tinycss2 -tinyhtml5 -tokenizers -tomli -tomlkit -torch -tqdm -transformers -trio -trio-websocket -twilio -types-python-dateutil -types-requests -typing-inspect -typing-inspection -typing_extensions -tzdata -Unidecode -upgrade-requirements -urllib3 -uvicorn -vin -vininfo -vishap -vpic-api -wcwidth -weasyprint -webencodings -websocket-client -websockets -Werkzeug -wikipedia -wrapt -wsproto -xmlsec -yarl -zipp -zopfli -zstandard +annotated-types==0.7.0 +anyio==4.9.0 +arrow==1.3.0 +asgiref==3.9.1 +attrs==25.3.0 +autobahn==24.4.2 +Automat==25.4.16 +Babel==2.15.0 +beautifulsoup4==4.13.4 +blessed==1.21.0 +cattrs==25.1.1 +certifi==2025.7.9 +cffi==1.17.1 +channels==4.2.2 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +constantly==23.10.4 +crispy-bootstrap5==2025.6 +cryptography==45.0.5 +cssbeautifier==1.15.4 +daphne==4.2.1 +defusedxml==0.7.1 +diff-match-patch==20241021 +distro==1.9.0 +Django==5.2.4 +django-allauth==65.10.0 +django-appconf==1.1.0 +django-appointment==3.8.0 +django-background-tasks==1.2.8 +django-bootstrap5==25.1 +django-ckeditor==6.7.3 +django-cors-headers==4.7.0 +django-countries==7.6.1 +django-crispy-forms==2.4 +django-debug-toolbar==5.2.0 +django-easy-audit==1.3.7 +django-encrypted-model-fields==0.6.5 +django-extensions==4.1 +django-filter==25.1 +django-imagekit==5.0.0 +django-import-export==4.3.8 +django-js-asset==3.1.2 +django-ledger==0.7.6.1 +django-manager-utils==3.1.5 +django-next-url-mixin==0.4.0 +django-ordered-model==3.7.4 +django-phonenumber-field==8.0.0 +django-picklefield==3.3 +django-plans==2.0.0 +django-prometheus==2.4.1 +django-q2==1.8.0 +django-query-builder==3.2.0 +django-schema-graph==3.1.0 +django-sequences==3.0 +django-tables2==2.7.5 +django-treebeard==4.7.1 +django-widget-tweaks==1.5.0 +djangorestframework==3.16.0 +djhtml==3.0.8 +djlint==1.36.4 +dnspython==2.7.0 +docopt==0.6.2 +EditorConfig==0.17.1 +Faker==37.4.0 +fleming==0.7.0 +fonttools==4.58.5 +fpdf==1.7.2 +fpdf2==2.8.3 +greenlet==3.2.3 +gunicorn==23.0.0 +h11==0.16.0 +h2==4.2.0 +hpack==4.1.0 +httpcore==1.0.9 +httpx==0.28.1 +hyperframe==6.1.0 +hyperlink==21.0.0 +icalendar==6.3.1 +idna==3.10 +incremental==24.7.2 +iron-core==1.2.1 +iron-mq==0.9 +jiter==0.10.0 +jsbeautifier==1.15.4 +json5==0.12.0 +jsonpatch==1.33 +jsonpointer==3.0.0 +jwt==1.4.0 +langchain==0.3.26 +langchain-core==0.3.68 +langchain-ollama==0.3.4 +langchain-text-splitters==0.3.8 +langsmith==0.4.4 +luhnchecker==0.0.12 +Markdown==3.8.2 +markdown-it-py==3.0.0 +mdurl==0.1.2 +num2words==0.5.14 +numpy==2.3.1 +ofxtools==0.9.5 +ollama==0.5.1 +openai==1.93.3 +opencv-python==4.11.0.86 +orjson==3.10.18 +packaging==24.2 +pandas==2.3.1 +pathspec==0.12.1 +phonenumbers==8.13.42 +pilkit==3.0 +pillow==10.4.0 +priority==1.3.0 +prometheus_client==0.22.1 +psycopg2-binary==2.9.10 +pyasn1==0.6.1 +pyasn1_modules==0.4.2 +pycparser==2.22 +pydantic==2.11.7 +pydantic_core==2.33.2 +Pygments==2.19.2 +pymongo==4.14.1 +pyOpenSSL==25.1.0 +python-dateutil==2.9.0.post0 +python-dotenv==1.1.1 +python-slugify==8.0.4 +python-stdnum==2.1 +pytz==2025.2 +pyvin==0.0.2 +PyYAML==6.0.2 +pyzbar==0.1.9 +redis==6.2.0 +regex==2024.11.6 +requests==2.32.4 +requests-toolbelt==1.0.0 +rich==14.0.0 +ruff==0.12.2 +service-identity==24.2.0 +setuptools==80.9.0 +six==1.17.0 +sniffio==1.3.1 +soupsieve==2.7 +SQLAlchemy==2.0.41 +sqlparse==0.5.3 +suds==1.2.0 +swapper==1.3.0 +tablib==3.8.0 +tenacity==9.1.2 +text-unidecode==1.3 +tqdm==4.67.1 +Twisted==25.5.0 +txaio==25.6.1 +types-python-dateutil==2.9.0.20250708 +typing-inspection==0.4.1 +typing_extensions==4.14.1 +tzdata==2025.2 +urllib3==2.5.0 +uvicorn==0.35.0 +uvicorn-worker==0.3.0 +wcwidth==0.2.13 +whitenoise==6.9.0 +zope.interface==7.2 +zstandard==0.23.0 diff --git a/requirements_prod.txt b/requirements_prod.txt new file mode 100644 index 00000000..7592a4f2 --- /dev/null +++ b/requirements_prod.txt @@ -0,0 +1,161 @@ +annotated-types==0.7.0 +anyio==4.9.0 +arrow==1.3.0 +asgiref==3.9.1 +attrs==25.3.0 +autobahn==24.4.2 +Automat==25.4.16 +Babel==2.15.0 +beautifulsoup4==4.13.4 +blessed==1.21.0 +cattrs==25.1.1 +certifi==2025.7.9 +cffi==1.17.1 +channels==4.2.2 +charset-normalizer==3.4.2 +click==8.2.1 +colorama==0.4.6 +constantly==23.10.4 +crispy-bootstrap5==2025.6 +cryptography==45.0.5 +cssbeautifier==1.15.4 +daphne==4.2.1 +defusedxml==0.7.1 +diff-match-patch==20241021 +distro==1.9.0 +Django==5.2.4 +django-allauth==65.10.0 +django-appconf==1.1.0 +django-appointment==3.8.0 +django-background-tasks==1.2.8 +django-bootstrap5==25.1 +django-ckeditor==6.7.3 +django-cors-headers==4.7.0 +django-countries==7.6.1 +django-crispy-forms==2.4 +django-debug-toolbar==5.2.0 +django-easy-audit==1.3.7 +django-extensions==4.1 +django-filter==25.1 +django-imagekit==5.0.0 +django-import-export==4.3.8 +django-js-asset==3.1.2 +django-ledger==0.7.6.1 +django-manager-utils==3.1.5 +django-next-url-mixin==0.4.0 +django-ordered-model==3.7.4 +django-phonenumber-field==8.0.0 +django-picklefield==3.3 +django-plans==2.0.0 +django-prometheus==2.4.1 +django-q2==1.8.0 +django-query-builder==3.2.0 +django-schema-graph==3.1.0 +django-sequences==3.0 +django-tables2==2.7.5 +django-treebeard==4.7.1 +django-widget-tweaks==1.5.0 +djangorestframework==3.16.0 +djhtml==3.0.8 +djlint==1.36.4 +dnspython==2.7.0 +docopt==0.6.2 +EditorConfig==0.17.1 +Faker==37.4.0 +fleming==0.7.0 +fonttools==4.58.5 +fpdf==1.7.2 +fpdf2==2.8.3 +greenlet==3.2.3 +gunicorn==23.0.0 +h11==0.16.0 +h2==4.2.0 +hpack==4.1.0 +httpcore==1.0.9 +httpx==0.28.1 +hyperframe==6.1.0 +hyperlink==21.0.0 +icalendar==6.3.1 +idna==3.10 +incremental==24.7.2 +iron-core==1.2.1 +iron-mq==0.9 +jiter==0.10.0 +jsbeautifier==1.15.4 +json5==0.12.0 +jsonpatch==1.33 +jsonpointer==3.0.0 +jwt==1.4.0 +langchain==0.3.26 +langchain-core==0.3.68 +langchain-ollama==0.3.4 +langchain-text-splitters==0.3.8 +langsmith==0.4.4 +luhnchecker==0.0.12 +Markdown==3.8.2 +markdown-it-py==3.0.0 +mdurl==0.1.2 +num2words==0.5.14 +numpy==2.3.1 +ofxtools==0.9.5 +ollama==0.5.1 +openai==1.93.3 +opencv-python==4.11.0.86 +orjson==3.10.18 +packaging==24.2 +pandas==2.3.1 +pathspec==0.12.1 +phonenumbers==8.13.42 +pilkit==3.0 +pillow==10.4.0 +priority==1.3.0 +prometheus_client==0.22.1 +psycopg2-binary==2.9.10 +pyasn1==0.6.1 +pyasn1_modules==0.4.2 +pycparser==2.22 +pydantic==2.11.7 +pydantic_core==2.33.2 +Pygments==2.19.2 +pymongo==4.14.1 +pyOpenSSL==25.1.0 +python-dateutil==2.9.0.post0 +python-dotenv==1.1.1 +python-slugify==8.0.4 +python-stdnum==2.1 +pytz==2025.2 +pyvin==0.0.2 +PyYAML==6.0.2 +pyzbar==0.1.9 +redis==6.2.0 +regex==2024.11.6 +requests==2.32.4 +requests-toolbelt==1.0.0 +rich==14.0.0 +ruff==0.12.2 +service-identity==24.2.0 +setuptools==80.9.0 +six==1.17.0 +sniffio==1.3.1 +soupsieve==2.7 +SQLAlchemy==2.0.41 +sqlparse==0.5.3 +suds==1.2.0 +swapper==1.3.0 +tablib==3.8.0 +tenacity==9.1.2 +text-unidecode==1.3 +tqdm==4.67.1 +Twisted==25.5.0 +txaio==25.6.1 +types-python-dateutil==2.9.0.20250708 +typing-inspection==0.4.1 +typing_extensions==4.14.1 +tzdata==2025.2 +urllib3==2.5.0 +uvicorn==0.35.0 +uvicorn-worker==0.3.0 +wcwidth==0.2.13 +whitenoise==6.9.0 +zope.interface==7.2 +zstandard==0.23.0 diff --git a/static/images/car_images/531f8511fda3ba3dd2c339c42f8f2d0a772751800496fd5624fe6d30fd869db2.png b/static/images/car_images/531f8511fda3ba3dd2c339c42f8f2d0a772751800496fd5624fe6d30fd869db2.png new file mode 100644 index 00000000..bc64c3e9 Binary files /dev/null and b/static/images/car_images/531f8511fda3ba3dd2c339c42f8f2d0a772751800496fd5624fe6d30fd869db2.png differ diff --git a/static/images/car_images/a9d8b494f9feea3b3eeb7bbc85a4ec29cd1f90b01d7b4389435af80369a3e1d3.png b/static/images/car_images/a9d8b494f9feea3b3eeb7bbc85a4ec29cd1f90b01d7b4389435af80369a3e1d3.png new file mode 100644 index 00000000..8baff1f5 Binary files /dev/null and b/static/images/car_images/a9d8b494f9feea3b3eeb7bbc85a4ec29cd1f90b01d7b4389435af80369a3e1d3.png differ diff --git a/staticfiles/images/car_images/057a7b83ffc9f9973354043cc6822fda342d030ddbfb8caf588aee3e81a9a4a0.png b/staticfiles/images/car_images/057a7b83ffc9f9973354043cc6822fda342d030ddbfb8caf588aee3e81a9a4a0.png new file mode 100644 index 00000000..1db7f16b Binary files /dev/null and b/staticfiles/images/car_images/057a7b83ffc9f9973354043cc6822fda342d030ddbfb8caf588aee3e81a9a4a0.png differ diff --git a/staticfiles/images/car_images/0ed02e56e94d3594d2b1e5e5ab16bf53b09d36ec72be7ea719b5329df2387df3.png b/staticfiles/images/car_images/0ed02e56e94d3594d2b1e5e5ab16bf53b09d36ec72be7ea719b5329df2387df3.png new file mode 100644 index 00000000..9c468d0a Binary files /dev/null and b/staticfiles/images/car_images/0ed02e56e94d3594d2b1e5e5ab16bf53b09d36ec72be7ea719b5329df2387df3.png differ diff --git a/staticfiles/images/car_images/370df757c47466bfb70106880aee1f587c8b2dbeb760008d26d83ae3180a8cf9.png b/staticfiles/images/car_images/370df757c47466bfb70106880aee1f587c8b2dbeb760008d26d83ae3180a8cf9.png new file mode 100644 index 00000000..0577df26 Binary files /dev/null and b/staticfiles/images/car_images/370df757c47466bfb70106880aee1f587c8b2dbeb760008d26d83ae3180a8cf9.png differ diff --git a/staticfiles/images/car_images/50c738d3bd7069174a151dfbe2cafec2b8256be2c22ce99ac8467a29fb027c75.png b/staticfiles/images/car_images/50c738d3bd7069174a151dfbe2cafec2b8256be2c22ce99ac8467a29fb027c75.png new file mode 100644 index 00000000..b5061853 Binary files /dev/null and b/staticfiles/images/car_images/50c738d3bd7069174a151dfbe2cafec2b8256be2c22ce99ac8467a29fb027c75.png differ diff --git a/staticfiles/images/car_images/66f997b4e17b94a1ce42c3caa83f01d521db3b78b3cf730fe26c405baa33d599.png b/staticfiles/images/car_images/66f997b4e17b94a1ce42c3caa83f01d521db3b78b3cf730fe26c405baa33d599.png new file mode 100644 index 00000000..f49c35fd Binary files /dev/null and b/staticfiles/images/car_images/66f997b4e17b94a1ce42c3caa83f01d521db3b78b3cf730fe26c405baa33d599.png differ diff --git a/staticfiles/images/car_images/83cbe5eb4176b368963393e278cede416a966f8a4ed59e1b807a591163ba8edb.png b/staticfiles/images/car_images/83cbe5eb4176b368963393e278cede416a966f8a4ed59e1b807a591163ba8edb.png new file mode 100644 index 00000000..caf08ce1 Binary files /dev/null and b/staticfiles/images/car_images/83cbe5eb4176b368963393e278cede416a966f8a4ed59e1b807a591163ba8edb.png differ diff --git a/staticfiles/images/car_images/89c3d72b270366a23e3fb041d43b5e1ff85e8f0f155aef267abe12768dd68059.png b/staticfiles/images/car_images/89c3d72b270366a23e3fb041d43b5e1ff85e8f0f155aef267abe12768dd68059.png new file mode 100644 index 00000000..740138c7 Binary files /dev/null and b/staticfiles/images/car_images/89c3d72b270366a23e3fb041d43b5e1ff85e8f0f155aef267abe12768dd68059.png differ diff --git a/staticfiles/images/car_images/8bf80ccfd4357469dbcac86c1a473b30c584582639d72d813511b2090d715e21.png b/staticfiles/images/car_images/8bf80ccfd4357469dbcac86c1a473b30c584582639d72d813511b2090d715e21.png new file mode 100644 index 00000000..a915a1fb Binary files /dev/null and b/staticfiles/images/car_images/8bf80ccfd4357469dbcac86c1a473b30c584582639d72d813511b2090d715e21.png differ diff --git a/staticfiles/images/car_images/a664c3d06a2f93213a8cf9b0627785264b9731db5093d1553497a02bbdbef554.png b/staticfiles/images/car_images/a664c3d06a2f93213a8cf9b0627785264b9731db5093d1553497a02bbdbef554.png new file mode 100644 index 00000000..f6b9ab9f Binary files /dev/null and b/staticfiles/images/car_images/a664c3d06a2f93213a8cf9b0627785264b9731db5093d1553497a02bbdbef554.png differ diff --git a/staticfiles/images/car_images/b1872f9d53118c9722ce29bfaf776074982b86af4dae8476c8b63661c79a4d9c.png b/staticfiles/images/car_images/b1872f9d53118c9722ce29bfaf776074982b86af4dae8476c8b63661c79a4d9c.png new file mode 100644 index 00000000..30089c22 Binary files /dev/null and b/staticfiles/images/car_images/b1872f9d53118c9722ce29bfaf776074982b86af4dae8476c8b63661c79a4d9c.png differ diff --git a/staticfiles/images/car_images/b264a3207968f0641df5e0ad84ed276a79ee7b38527cfca739c294e713aded4a.png b/staticfiles/images/car_images/b264a3207968f0641df5e0ad84ed276a79ee7b38527cfca739c294e713aded4a.png new file mode 100644 index 00000000..deee953f Binary files /dev/null and b/staticfiles/images/car_images/b264a3207968f0641df5e0ad84ed276a79ee7b38527cfca739c294e713aded4a.png differ diff --git a/staticfiles/images/car_images/b2c485375b368b7e8f2af50b0152660165867f75457745368e3163f632992fa5.png b/staticfiles/images/car_images/b2c485375b368b7e8f2af50b0152660165867f75457745368e3163f632992fa5.png new file mode 100644 index 00000000..b224b018 Binary files /dev/null and b/staticfiles/images/car_images/b2c485375b368b7e8f2af50b0152660165867f75457745368e3163f632992fa5.png differ diff --git a/staticfiles/images/car_images/b767c633d9fac6f10d5e83cf753a98138088d8cceecfebee9d2832d748646ea7.png b/staticfiles/images/car_images/b767c633d9fac6f10d5e83cf753a98138088d8cceecfebee9d2832d748646ea7.png new file mode 100644 index 00000000..2cf64639 Binary files /dev/null and b/staticfiles/images/car_images/b767c633d9fac6f10d5e83cf753a98138088d8cceecfebee9d2832d748646ea7.png differ diff --git a/staticfiles/images/car_images/b9972af9fc7780b4efee193a1a361c388c86f933a9321092b10673c1b28ba853.png b/staticfiles/images/car_images/b9972af9fc7780b4efee193a1a361c388c86f933a9321092b10673c1b28ba853.png new file mode 100644 index 00000000..1be2ec11 Binary files /dev/null and b/staticfiles/images/car_images/b9972af9fc7780b4efee193a1a361c388c86f933a9321092b10673c1b28ba853.png differ diff --git a/staticfiles/images/car_images/d82ee1d8079ace087bb9ada740291fbfabe9a8d0d845f512aa37311efaf47eba.png b/staticfiles/images/car_images/d82ee1d8079ace087bb9ada740291fbfabe9a8d0d845f512aa37311efaf47eba.png new file mode 100644 index 00000000..db30ab64 Binary files /dev/null and b/staticfiles/images/car_images/d82ee1d8079ace087bb9ada740291fbfabe9a8d0d845f512aa37311efaf47eba.png differ diff --git a/staticfiles/images/car_images/dbd0788ae87dd86ede0df0397449e5ac2cfd1a1e79b94239c135c6105f51ae3e.png b/staticfiles/images/car_images/dbd0788ae87dd86ede0df0397449e5ac2cfd1a1e79b94239c135c6105f51ae3e.png new file mode 100644 index 00000000..5e1952f4 Binary files /dev/null and b/staticfiles/images/car_images/dbd0788ae87dd86ede0df0397449e5ac2cfd1a1e79b94239c135c6105f51ae3e.png differ diff --git a/staticfiles/images/car_images/e48332bac6f6aabb70df995e519667225ae3426f4f400c367da2ebf24d22ae8b.png b/staticfiles/images/car_images/e48332bac6f6aabb70df995e519667225ae3426f4f400c367da2ebf24d22ae8b.png new file mode 100644 index 00000000..78dbe4bf Binary files /dev/null and b/staticfiles/images/car_images/e48332bac6f6aabb70df995e519667225ae3426f4f400c367da2ebf24d22ae8b.png differ diff --git a/staticfiles/images/car_images/f9bdd406a8897e679a8d78a76f27a305bcb8d5f8fcfea1e75cfe0ea5d5530195.png b/staticfiles/images/car_images/f9bdd406a8897e679a8d78a76f27a305bcb8d5f8fcfea1e75cfe0ea5d5530195.png new file mode 100644 index 00000000..d15294bc Binary files /dev/null and b/staticfiles/images/car_images/f9bdd406a8897e679a8d78a76f27a305bcb8d5f8fcfea1e75cfe0ea5d5530195.png differ diff --git a/staticfiles/images/customers/Gemini_Generated_Image_wf3w0uwf3w0uwf3w.png b/staticfiles/images/customers/Gemini_Generated_Image_wf3w0uwf3w0uwf3w.png new file mode 100644 index 00000000..0b4f99a9 Binary files /dev/null and b/staticfiles/images/customers/Gemini_Generated_Image_wf3w0uwf3w0uwf3w.png differ diff --git a/staticfiles/images/logos/users/Gemini_Generated_Image_wf3w0uwf3w0uwf3w_pGlJONy.png b/staticfiles/images/logos/users/Gemini_Generated_Image_wf3w0uwf3w0uwf3w_pGlJONy.png new file mode 100644 index 00000000..0b4f99a9 Binary files /dev/null and b/staticfiles/images/logos/users/Gemini_Generated_Image_wf3w0uwf3w0uwf3w_pGlJONy.png differ diff --git a/templates/account/login.html b/templates/account/login.html index 0a720c0b..e2cb0db6 100644 --- a/templates/account/login.html +++ b/templates/account/login.html @@ -77,7 +77,7 @@ - {% include 'footer.html' %} + {% if LOGIN_BY_CODE_ENABLED or PASSKEY_LOGIN_ENABLED %}
{% element button_group vertical=True %} diff --git a/templates/account/signup-wizard.html b/templates/account/signup-wizard.html index 19fdf246..dbff7727 100644 --- a/templates/account/signup-wizard.html +++ b/templates/account/signup-wizard.html @@ -1,8 +1,9 @@ {% extends "welcome_base.html" %} {% load crispy_forms_filters %} {% load i18n static %} + {% block content %} -
+
@@ -20,292 +21,49 @@
-

{% trans 'Sign Up' %}

-

{% trans 'Create your account today' %}

+

{% trans 'Car Dealership Registration' %}

+

{% trans 'Create your dealership account today' %}

-
- -
-
-
-
-
- - -
{% trans "Please enter a valid email address" %}
-
-
- - -
- {% trans "Password does not match. or length is less than 8 characters." %} -
-
-
- - * - -
- {% trans "Password does not match. or length is less than 8 characters." %} -
-
-
-
-
-
-
- - -
-
- - -
-
- - * - -
{% trans "Please enter a valid phone number" %}
-
-
-
-
-
-
- - -
-
- - -
-
- - -
-
-
-
-
-
-
- - -
-
-
-
-
{% trans 'You are all set!' %}
-

- {% trans 'Now you can access your account' %} -
- {% trans 'anytime' %} {% trans 'anywhere' %} -

- -
-
-
-
+ +
+ {% csrf_token %} +
+
+ {{ form|crispy }}
+
- -
+
-
- -
-
+
+
- diff --git a/templates/crm/opportunities/opportunity_detail.html b/templates/crm/opportunities/opportunity_detail.html index 210f544c..c208b117 100644 --- a/templates/crm/opportunities/opportunity_detail.html +++ b/templates/crm/opportunities/opportunity_detail.html @@ -686,7 +686,7 @@ - +
Emails {% if perms.inventory.change_opportunity %}
- + {% if opportunity.lead %}
{% endif %}
-
+ {% comment %}
{% if form.amount.errors %}
{{ form.amount.errors }}
{% endif %} -
+ {% endcomment %} -
+ {% comment %}
+
{% endcomment %}
- +
{{ form.expected_close_date|add_class:"form-control" }} diff --git a/templates/csv_upload.html b/templates/csv_upload.html index 1f4ec621..eb2b003d 100644 --- a/templates/csv_upload.html +++ b/templates/csv_upload.html @@ -75,7 +75,7 @@ {% block content %}
- - - - \ No newline at end of file diff --git a/templates/header.html b/templates/header.html index 8b004492..ac3ba9e0 100644 --- a/templates/header.html +++ b/templates/header.html @@ -488,30 +488,15 @@ {% if request.user.is_authenticated %} - {% endif %}