add translation and fix small bugs
This commit is contained in:
parent
e8deb08818
commit
7bd18296ac
@ -26,12 +26,13 @@ class Command(BaseCommand):
|
||||
dealers = Dealer.objects.all()
|
||||
|
||||
for dealer in dealers:
|
||||
self._create_random_po(dealer)
|
||||
self._create_random_vendors(dealer)
|
||||
# self._create_random_po(dealer)
|
||||
# self._create_random_vendors(dealer)
|
||||
# self._create_random_staff(dealer)
|
||||
# self._create_random_cars(dealer)
|
||||
self._create_random_customers(dealer)
|
||||
# self._create_random_customers(dealer)
|
||||
# self._create_randome_services(dealer)
|
||||
self._create_random_lead(dealer)
|
||||
|
||||
|
||||
# dealer = Dealer.objects.get(name="Dealer #6")
|
||||
@ -66,7 +67,7 @@ class Command(BaseCommand):
|
||||
for i in range(5):
|
||||
name = f"{fake.name()}{i}"
|
||||
email = fake.email()
|
||||
password = f"{fake.password()}{i}"
|
||||
password = "Tenhal@123"
|
||||
user = User.objects.create_user(username=email, email=email, password=password)
|
||||
user.is_staff = True
|
||||
user.save()
|
||||
@ -207,6 +208,8 @@ class Command(BaseCommand):
|
||||
first_name = fake.name()
|
||||
last_name = fake.last_name()
|
||||
email = fake.email()
|
||||
phone = fake.phone_number()
|
||||
address = fake.address()
|
||||
staff = random.choice(Staff.objects.filter(dealer=dealer))
|
||||
|
||||
make = random.choice(CarMake.objects.all())
|
||||
@ -216,7 +219,8 @@ class Command(BaseCommand):
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
email=email,
|
||||
address=fake.address(),
|
||||
phone_number=phone,
|
||||
address=address,
|
||||
lead_type="customer",
|
||||
id_car_make=make,
|
||||
id_car_model=model,
|
||||
@ -227,16 +231,18 @@ class Command(BaseCommand):
|
||||
c = Customer(
|
||||
dealer=dealer,
|
||||
title="MR",
|
||||
first_name=fake.name(),
|
||||
last_name=fake.last_name(),
|
||||
first_name=first_name,
|
||||
last_name=last_name,
|
||||
gender="m",
|
||||
email=fake.email(),
|
||||
phone_number=fake.phone_number(),
|
||||
address=fake.address(),
|
||||
email=email,
|
||||
phone_number=phone,
|
||||
address=address,
|
||||
national_id=random.randint(1000000000, 9999999999),
|
||||
)
|
||||
c.create_user_model()
|
||||
c.create_customer_model()
|
||||
c.save()
|
||||
lead.customer = c
|
||||
lead.save()
|
||||
except Exception as e:
|
||||
pass
|
||||
@ -996,10 +996,18 @@ def car_created_notification(sender, instance, created, **kwargs):
|
||||
for accountant in accountants:
|
||||
models.Notification.objects.create(
|
||||
user=accountant,
|
||||
message=f"""
|
||||
New Car {instance.id_car_make}-{instance.id_car_model}-{instance.year}-{instance.vin} has been added to the inventory.
|
||||
<a href="{instance.get_absolute_url()}" target="_blank">View</a>
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
New Car {car_make}-{car_model}-{year}-{vin} has been added to the inventory.
|
||||
<a href="{url}" target="_blank">View</a>
|
||||
"""
|
||||
).format(
|
||||
car_make=instance.id_car_make,
|
||||
car_model=instance.id_car_model,
|
||||
year=instance.year,
|
||||
vin=instance.vin,
|
||||
url=instance.get_absolute_url(),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -1014,10 +1022,17 @@ def po_fullfilled_notification(sender, instance, created, **kwargs):
|
||||
for recipient in recipients:
|
||||
models.Notification.objects.create(
|
||||
user=recipient,
|
||||
message=f"""
|
||||
New Purchase Order has been added.
|
||||
<a href="{reverse("purchase_order_detail", kwargs={"dealer_slug": dealer.slug, "pk": instance.pk})}" target="_blank">View</a>
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
New Purchase Order has been added.
|
||||
<a href="{url}" target="_blank">View</a>
|
||||
"""
|
||||
).format(
|
||||
url=reverse(
|
||||
"purchase_order_detail",
|
||||
kwargs={"dealer_slug": dealer.slug, "pk": instance.pk},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -1032,9 +1047,11 @@ def vendor_created_notification(sender, instance, created, **kwargs):
|
||||
for recipient in recipients:
|
||||
models.Notification.objects.create(
|
||||
user=recipient,
|
||||
message=f"""
|
||||
New Vendor {instance.name} has been added to dealer {instance.dealer.name}.
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
New Vendor {vendor_name} has been added to dealer {dealer_name}.
|
||||
"""
|
||||
).format(vendor_name=instance.name, dealer_name=instance.dealer.name),
|
||||
)
|
||||
|
||||
|
||||
@ -1051,10 +1068,18 @@ def sale_order_created_notification(sender, instance, created, **kwargs):
|
||||
for recipient in recipients:
|
||||
models.Notification.objects.create(
|
||||
user=recipient,
|
||||
message=f"""
|
||||
New Sale Order has been added for estimate:{instance.estimate}.
|
||||
<a href="{reverse("estimate_detail", kwargs={"dealer_slug": instance.dealer.slug, "pk": instance.estimate.pk})}" target="_blank">View</a>
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
New Sale Order has been added for estimate:{estimate_number}.
|
||||
<a href="{url}" target="_blank">View</a>
|
||||
"""
|
||||
).format(
|
||||
estimate_number=instance.estimate.estimate_number,
|
||||
url=reverse(
|
||||
"estimate_detail",
|
||||
kwargs={"dealer_slug": instance.dealer.slug, "pk": instance.estimate.pk},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -1064,10 +1089,12 @@ def lead_created_notification(sender, instance, created, **kwargs):
|
||||
if instance.staff:
|
||||
models.Notification.objects.create(
|
||||
user=instance.staff.user,
|
||||
message=f"""
|
||||
New Lead has been added.
|
||||
<a href="{reverse("lead_detail", kwargs={"dealer_slug": instance.dealer.slug, "slug": instance.slug})}" target="_blank">View</a>
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
New Lead has been added.
|
||||
<a href="{url}" target="_blank">View</a>
|
||||
"""
|
||||
).format(url=instance.get_absolute_url()),
|
||||
)
|
||||
|
||||
|
||||
@ -1084,11 +1111,19 @@ def estimate_in_review_notification(sender, instance, created, **kwargs):
|
||||
for recipient in recipients:
|
||||
models.Notification.objects.create(
|
||||
user=recipient,
|
||||
message=f"""
|
||||
Estimate {instance.estimate_number} is in review.
|
||||
Please review and approve it at your earliest convenience.
|
||||
<a href="{reverse("estimate_detail", kwargs={"dealer_slug": dealer.slug, "pk": instance.pk})}" target="_blank">View</a>
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
Estimate {estimate_number} is in review.
|
||||
Please review and approve it at your earliest convenience.
|
||||
<a href="{url}" target="_blank">View</a>
|
||||
"""
|
||||
).format(
|
||||
estimate_number=instance.estimate_number,
|
||||
url=reverse(
|
||||
"estimate_detail",
|
||||
kwargs={"dealer_slug": dealer.slug, "pk": instance.pk},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -1106,10 +1141,18 @@ def estimate_in_approve_notification(sender, instance, created, **kwargs):
|
||||
return
|
||||
models.Notification.objects.create(
|
||||
user=recipient.related_object.user,
|
||||
message=f"""
|
||||
Estimate {instance.estimate_number} has been approved.
|
||||
<a href="{reverse("estimate_detail", kwargs={"dealer_slug": dealer.slug, "pk": instance.pk})}" target="_blank">View</a>
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
Estimate {estimate_number} has been approved.
|
||||
<a href="{url}" target="_blank">View</a>
|
||||
"""
|
||||
).format(
|
||||
estimate_number=instance.estimate_number,
|
||||
url=reverse(
|
||||
"estimate_detail",
|
||||
kwargs={"dealer_slug": dealer.slug, "pk": instance.pk},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -1127,10 +1170,18 @@ def bill_model_in_approve_notification(sender, instance, created, **kwargs):
|
||||
for recipient in recipients:
|
||||
models.Notification.objects.create(
|
||||
user=recipient,
|
||||
message=f"""
|
||||
Bill {instance.bill_number} is in review,please review and approve it
|
||||
<a href="{reverse("bill-detail", kwargs={"dealer_slug": dealer.slug, "entity_slug": dealer.entity.slug, "bill_pk": instance.pk})}" target="_blank">View</a>.
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
Bill {bill_number} is in review,please review and approve it
|
||||
<a href="{url}" target="_blank">View</a>.
|
||||
"""
|
||||
).format(
|
||||
bill_number=instance.bill_number,
|
||||
url=reverse(
|
||||
"bill-detail",
|
||||
kwargs={"dealer_slug": dealer.slug, "entity_slug": dealer.entity.slug, "bill_pk": instance.pk},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@ -1148,15 +1199,22 @@ def bill_model_after_approve_notification(sender, instance, created, **kwargs):
|
||||
for recipient in recipients:
|
||||
models.Notification.objects.create(
|
||||
user=recipient,
|
||||
message=f"""
|
||||
Bill {instance.bill_number} has been approved.
|
||||
<a href="{reverse("bill-detail", kwargs={"dealer_slug": dealer.slug, "entity_slug": dealer.entity.slug, "bill_pk": instance.pk})}" target="_blank">View</a>.
|
||||
please complete the bill payment.
|
||||
""",
|
||||
message=_(
|
||||
"""
|
||||
Bill {bill_number} has been approved.
|
||||
<a href="{url}" target="_blank">View</a>.
|
||||
please complete the bill payment.
|
||||
"""
|
||||
).format(
|
||||
bill_number=instance.bill_number,
|
||||
url=reverse(
|
||||
"bill-detail",
|
||||
kwargs={"dealer_slug": dealer.slug, "entity_slug": dealer.entity.slug, "bill_pk": instance.pk},
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
def handle_upgrade(sender, order, **kwargs):
|
||||
logger.info(f"User {order.user} upgraded to {order.plan}")
|
||||
|
||||
|
||||
@ -9531,7 +9531,8 @@ def mark_all_notifications_as_read(request):
|
||||
models.Notification.objects.filter(user=request.user, is_read=False).update(
|
||||
is_read=True
|
||||
)
|
||||
return redirect(request.META.get("HTTP_REFERER"))
|
||||
messages.success(request, _("All notifications marked as read."))
|
||||
return redirect("notifications_history")
|
||||
|
||||
|
||||
@login_required
|
||||
|
||||
@ -83,7 +83,7 @@
|
||||
{% include "plans/expiration_messages.html" %}
|
||||
{% block period_navigation %}
|
||||
{% endblock period_navigation %}
|
||||
<div id="main_content" class="fade-me-in" hx-boost="true" hx-target="#main_content" hx-select="#main_content" hx-swap="innerHTML transition:true" hx-select-oob="#toast-container" hx-history-elt>
|
||||
<div id="main_content" class="fade-me-in" hx-boost="false" hx-target="#main_content" hx-select="#main_content" hx-swap="innerHTML transition:true" hx-select-oob="#toast-container" hx-history-elt>
|
||||
<div id="spinner" class="htmx-indicator spinner-bg">
|
||||
<img src="{% static 'spinner.svg' %}" width="100" height="100" alt="">
|
||||
</div>
|
||||
|
||||
@ -79,11 +79,13 @@
|
||||
<div class="row align-items-center g-3 text-center text-xxl-start">
|
||||
<div class="col-6 col-sm-auto d-flex flex-column align-items-center text-center">
|
||||
<h5 class="fw-bolder mb-2 text-body-highlight">{{ _("Car Requested") }}</h5>
|
||||
{% if lead.id_car_make.logo %}
|
||||
<img src="{{ lead.id_car_make.logo.url }}"
|
||||
alt="Car Make Logo"
|
||||
class="img-fluid rounded mb-2"
|
||||
style="width: 60px;
|
||||
height: 60px">
|
||||
alt="Car Make Logo"
|
||||
class="img-fluid rounded mb-2"
|
||||
style="width: 60px;
|
||||
height: 60px">
|
||||
{% endif %}
|
||||
<p class="mb-0">{{ lead.id_car_make.get_local_name }} - {{ lead.id_car_model.get_local_name }} {{ lead.year }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<div class="content">
|
||||
<h2 class="mb-5">{{ _("Notifications") }}</h2>
|
||||
<div class="d-flex justify-content-end mb-3">
|
||||
<a href="{% url 'mark_all_notifications_as_read' %}" hx-select-oob="#notification-counter:outerHTML" class="btn btn-phoenix-primary"><i class="far fa-envelope fs-8 me-2"></i>{{ _("Mark all as read") }}</a>
|
||||
<a href="{% url 'mark_all_notifications_as_read' %}" hx-select-oob="#toast-container:outerHTML" class="btn btn-phoenix-primary"><i class="far fa-envelope fs-8 me-2"></i>{{ _("Mark all as read") }}</a>
|
||||
</div>
|
||||
{% if notifications %}
|
||||
<div class="mx-n4 mx-lg-n6 mb-5 border-bottom">
|
||||
|
||||
@ -547,7 +547,7 @@
|
||||
<a class="btn btn-sm btn-phoenix-danger d-flex flex-center w-100" href="{% url 'account_logout' %}"> <span class="me-2" data-feather="log-out"> </span>{% trans 'Sign Out' %}</a>
|
||||
</div>
|
||||
<div class="my-2 text-center fw-bold fs-10 text-body-quaternary">
|
||||
<a class="text-body-quaternary me-1" href="">Privacy policy</a>•<a class="text-body-quaternary mx-1" href="">Terms</a>•<a class="text-body-quaternary ms-1" href="">Cookies</a>
|
||||
<a class="text-body-quaternary me-1" href="">{% trans 'Privacy policy' %}</a>•<a class="text-body-quaternary mx-1" href="">{% trans 'Terms' %}</a>•<a class="text-body-quaternary ms-1" href="">Cookies</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="px-3">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user