Merge pull request 'Success_message ,pagination, bill detail, trans' (#147) from frontend into main
Reviewed-on: #147
This commit is contained in:
commit
0b1bb10934
@ -605,7 +605,7 @@ def WelcomeView(request):
|
||||
return render(request, "welcome.html", context)
|
||||
|
||||
|
||||
class CarCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
class CarCreateView(LoginRequiredMixin, PermissionRequiredMixin,SuccessMessageMixin, CreateView):
|
||||
"""
|
||||
Manages the creation of a new car entry in the inventory system.
|
||||
|
||||
@ -627,6 +627,7 @@ class CarCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
form_class = forms.CarForm
|
||||
template_name = "inventory/car_form.html"
|
||||
permission_required = ["inventory.add_car"]
|
||||
success_message=_("Car Added successfully to the inventory")
|
||||
|
||||
def get_form(self, form_class=None):
|
||||
form = super().get_form(form_class)
|
||||
@ -1013,7 +1014,7 @@ class CarInventory(LoginRequiredMixin, PermissionRequiredMixin, ListView):
|
||||
return context
|
||||
|
||||
|
||||
class CarColorCreate(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
class CarColorCreate(LoginRequiredMixin, PermissionRequiredMixin,SuccessMessageMixin, CreateView):
|
||||
"""
|
||||
View for creating a new car color.
|
||||
|
||||
@ -1037,6 +1038,7 @@ class CarColorCreate(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
form_class = forms.CarColorsForm
|
||||
template_name = "inventory/add_colors.html"
|
||||
permission_required = ["inventory.add_carcolors"]
|
||||
success_message=_("Car colors details added successfully")
|
||||
|
||||
def form_valid(self, form):
|
||||
car = get_object_or_404(models.Car, slug=self.kwargs["slug"])
|
||||
@ -1470,7 +1472,7 @@ class CarDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
|
||||
permission_required = ["inventory.view_car"]
|
||||
|
||||
|
||||
class CarFinanceCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
class CarFinanceCreateView(LoginRequiredMixin, PermissionRequiredMixin,SuccessMessageMixin, CreateView):
|
||||
"""
|
||||
Handles the creation of car finance records within the inventory system.
|
||||
|
||||
@ -2401,7 +2403,7 @@ class CustomerCreateView(
|
||||
permission_required = ["inventory.add_customer"]
|
||||
template_name = "customers/customer_form.html"
|
||||
success_url = reverse_lazy("customer_list")
|
||||
success_message = "Customer created successfully"
|
||||
success_message = _("Customer created successfully")
|
||||
|
||||
def form_valid(self, form):
|
||||
if customer := models.Customer.objects.filter(
|
||||
@ -2487,7 +2489,7 @@ class CustomerUpdateView(
|
||||
permission_required = ["inventory.change_customer"]
|
||||
template_name = "customers/customer_form.html"
|
||||
success_url = reverse_lazy("customer_list")
|
||||
success_message = "Customer updated successfully"
|
||||
success_message = _("Customer updated successfully")
|
||||
|
||||
def form_valid(self, form):
|
||||
form.instance.update_user_model()
|
||||
@ -3593,7 +3595,7 @@ class OrganizationCreateView(LoginRequiredMixin, PermissionRequiredMixin, Create
|
||||
permission_required = ["inventory.add_organization"]
|
||||
template_name = "organizations/organization_form.html"
|
||||
success_url = reverse_lazy("organization_list")
|
||||
success_message = "Organization created successfully"
|
||||
success_message = _("Organization created successfully")
|
||||
|
||||
def form_valid(self, form):
|
||||
if organization := models.Organization.objects.filter(
|
||||
@ -3649,7 +3651,7 @@ class OrganizationUpdateView(LoginRequiredMixin, PermissionRequiredMixin, Update
|
||||
permission_required = ["inventory.change_organization"]
|
||||
template_name = "organizations/organization_form.html"
|
||||
success_url = reverse_lazy("organization_list")
|
||||
success_message = "Organization updated successfully"
|
||||
success_message = _("Organization updated successfully")
|
||||
|
||||
def form_valid(self, form):
|
||||
form.instance.update_user_model()
|
||||
@ -6785,7 +6787,7 @@ class OpportunityCreateView(
|
||||
model = models.Opportunity
|
||||
form_class = forms.OpportunityForm
|
||||
template_name = "crm/opportunities/opportunity_form.html"
|
||||
success_message = "Opportunity created successfully."
|
||||
success_message = _("Opportunity created successfully.")
|
||||
permission_required = ["inventory.add_opportunity"]
|
||||
|
||||
def get_initial(self):
|
||||
@ -6861,7 +6863,7 @@ class OpportunityUpdateView(
|
||||
model = models.Opportunity
|
||||
form_class = forms.OpportunityForm
|
||||
template_name = "crm/opportunities/opportunity_form.html"
|
||||
success_message = "Opportunity updated successfully."
|
||||
success_message = _("Opportunity updated successfully.")
|
||||
permission_required = ["inventory.change_opportunity"]
|
||||
|
||||
def get_form(self, form_class=None):
|
||||
@ -7288,7 +7290,7 @@ class ItemExpenseCreateView(LoginRequiredMixin, PermissionRequiredMixin,SuccessM
|
||||
form_class = ExpenseItemCreateForm
|
||||
template_name = "items/expenses/expense_create.html"
|
||||
success_url = reverse_lazy("item_expense_list")
|
||||
success_message = "heeeeeeeee"
|
||||
success_message = _("Expense created successfully")
|
||||
permission_required = ["django_ledger.add_itemmodel"]
|
||||
|
||||
def get_form_kwargs(self):
|
||||
@ -7379,7 +7381,7 @@ class ItemExpenseListView(LoginRequiredMixin, PermissionRequiredMixin, ListView)
|
||||
model = ItemModel
|
||||
template_name = "items/expenses/expenses_list.html"
|
||||
context_object_name = "expenses"
|
||||
paginate_by = 30
|
||||
paginate_by = 4
|
||||
permission_required = ["django_ledger.view_itemmodel"]
|
||||
|
||||
def get_queryset(self):
|
||||
@ -7440,7 +7442,7 @@ class BillModelCreateView(LoginRequiredMixin, PermissionRequiredMixin,SuccessMes
|
||||
}
|
||||
for_purchase_order = False
|
||||
for_estimate = False
|
||||
success_message = "Bill Created"
|
||||
success_message = _("Bill created successfully")
|
||||
|
||||
# Get user info for logging
|
||||
|
||||
@ -8957,7 +8959,7 @@ class LedgerModelDeleteView(LedgerModelDeleteViewBase, SuccessMessageMixin):
|
||||
"""
|
||||
|
||||
template_name = "ledger/ledger/ledger_delete.html"
|
||||
success_message = "Ledger deleted"
|
||||
success_message = _("Ledger deleted successfully")
|
||||
permission_required = ["django_ledger.delete_ledgermodel"]
|
||||
|
||||
def get_success_url(self):
|
||||
@ -9035,7 +9037,7 @@ class JournalEntryCreateView(
|
||||
permission_required = ["django_ledger.add_journalentrymodel"]
|
||||
form_class = forms.JournalEntryModelCreateForm
|
||||
ledger_model = None
|
||||
success_message = _("Journal Entry created")
|
||||
success_message = _("Journal Entry created successfully")
|
||||
|
||||
def get_form(self, form_class=None):
|
||||
dealer = get_user_type(self.request)
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -6,32 +6,49 @@
|
||||
{% trans 'User Settings' %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="col-12 col-xl-8">
|
||||
<div class=" mb-4">
|
||||
<div class="row gx-3 mb-4 gy-6 gy-sm-3">
|
||||
<div class="col-12 col-sm-8">
|
||||
<h4 class="mb-4">Default Invoice Accounts</h4>
|
||||
<div class="form-icon-container mb-3">{{ form.invoice_cash_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.invoice_prepaid_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.invoice_unearned_account|as_crispy_field }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row gx-3 mb-4 gy-6 gy-sm-3">
|
||||
<div class="col-12 col-sm-8">
|
||||
<h4 class="mb-4">Default Bill Accounts</h4>
|
||||
<div class="form-icon-container mb-3">{{ form.bill_cash_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.bill_prepaid_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.bill_unearned_account|as_crispy_field }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-start mb-6">
|
||||
<div>
|
||||
<button type="submit" class="btn btn-phoenix-primary">Update</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row justify-content-center mt-5 mb-3">
|
||||
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
Dealer Settings
|
||||
<span class="fas fa-solid fa-gear ms-2 text-primary"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle ">
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="col-12">
|
||||
<div class=" mb-4">
|
||||
<div class="row gx-3 mb-4 gy-6 gy-sm-3">
|
||||
<div class="col-12">
|
||||
<h4 class="mb-4">{% trans 'Default Invoice Accounts' %}</h4>
|
||||
<div class="form-icon-container mb-3">{{ form.invoice_cash_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.invoice_prepaid_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.invoice_unearned_account|as_crispy_field }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row gx-3 mb-4 gy-6 gy-sm-3">
|
||||
<div class="col-12">
|
||||
<h4 class="mb-4">{% trans 'Default Bill Accounts' %}</h4>
|
||||
<div class="form-icon-container mb-3">{{ form.bill_cash_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.bill_prepaid_account|as_crispy_field }}</div>
|
||||
<div class="form-icon-container mb-3">{{ form.bill_unearned_account|as_crispy_field }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center mb-6">
|
||||
<div>
|
||||
<button type="submit" class="btn btn-phoenix-primary"><i class="fa-solid fa-pen-to-square me-1"></i>{% trans 'Update' %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@ -2,11 +2,11 @@
|
||||
<!DOCTYPE html>
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<html lang="{{ LANGUAGE_CODE }}"
|
||||
dir="{% if LANGUAGE_CODE == 'ar' %}
|
||||
rtl
|
||||
{% else %}
|
||||
ltr
|
||||
{% endif %}"
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
dir="rtl"
|
||||
{% else %}
|
||||
dir="ltr"
|
||||
{% endif %}
|
||||
data-bs-theme=""
|
||||
data-navigation-type="default"
|
||||
data-navbar-horizontal-shape="default">
|
||||
@ -66,6 +66,7 @@
|
||||
rel="stylesheet"
|
||||
id="user-style-default">
|
||||
{% endif %}
|
||||
|
||||
<script src="{% static 'js/main.js' %}"></script>
|
||||
<script src="{% static 'js/jquery.min.js' %}"></script>
|
||||
{% comment %} <script src="{% static 'js/echarts.js' %}"></script> {% endcomment %}
|
||||
|
||||
@ -40,18 +40,11 @@
|
||||
<div class="mb-4">
|
||||
{{ form|crispy }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-footer bg-transparent">
|
||||
<div class="d-grid gap-2">
|
||||
<button type="submit"
|
||||
id="djl-bill-create-button"
|
||||
class="btn btn-phoenix-primary btn-lg">{% trans 'Create' %}
|
||||
</button>
|
||||
<a href="{% url 'bill_list' request.dealer.slug%}"
|
||||
id="djl-bill-create-back-button"
|
||||
class="btn btn-phoenix-secondary">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'bill_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -3,72 +3,22 @@
|
||||
{% load static %}
|
||||
{% load django_ledger %}
|
||||
{% load custom_filters %}
|
||||
{% block title %}Bill Details - {{ block.super }}{% endblock %}
|
||||
{% block customCSS %}
|
||||
<style>
|
||||
/* Optional custom overrides for Bootstrap 5 */
|
||||
.table th,
|
||||
.table td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
{% block title %}Bill Details{% endblock %}
|
||||
|
||||
.card-header i {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
{% block content%}
|
||||
|
||||
.text-xs {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
<div class="row mt-4">
|
||||
|
||||
.text-xxs {
|
||||
font-size: 0.6rem;
|
||||
}
|
||||
|
||||
#djl-vendor-card-widget{
|
||||
|
||||
max-height:30rem;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<div class="row mt-3 mb-2">
|
||||
<div class="col-12 col-md-3">
|
||||
<div class="row">
|
||||
<div class="col-12 mb-3">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="col-12 mb-3">
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body">
|
||||
{% include 'bill/includes/card_bill.html' with dealer_slug=request.dealer.slug bill=bill entity_slug=view.kwargs.entity_slug style='bill-detail' %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="card shadow-sm ">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<i class="fas fa-sticky-note me-3 text-primary"></i>
|
||||
<h5 class="mb-0">{% trans 'Bill Notes' %}</h5>
|
||||
</div>
|
||||
</div>
|
||||
{% if perms.django_ledger.change_billmodel %}
|
||||
<div class="card-body">
|
||||
{% include 'bill/includes/card_markdown.html' with style='card_1' title='' notes_html=bill.notes_html %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-9">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
{% if bill.is_configured %}
|
||||
<div class="card mb-3 shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="row text-center g-3">
|
||||
|
||||
<div class="row text-center g-3 mb-3">
|
||||
<div class="col-12 col-md-3">
|
||||
<div class="border rounded p-3">
|
||||
|
||||
<h6 class="text-uppercase text-xs text-muted mb-2">
|
||||
{% trans 'Cash Account' %}:
|
||||
<a href="{% url 'account_detail' request.dealer.slug bill.cash_account.uuid %}"
|
||||
@ -77,11 +27,11 @@
|
||||
<h4 class="mb-0" id="djl-bill-detail-amount-paid">
|
||||
{% currency_symbol %}{{ bill.get_amount_cash | absolute | currency_format }}
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% if bill.accrue %}
|
||||
<div class="col-12 col-md-3">
|
||||
<div class="border rounded p-3">
|
||||
|
||||
<h6 class="text-uppercase text-xs text-muted mb-2">
|
||||
{% trans 'Prepaid Account' %}:
|
||||
<a href="{% url 'account_detail' request.dealer.slug bill.prepaid_account.uuid %}"
|
||||
@ -92,10 +42,10 @@
|
||||
<h4 class="text-success mb-0" id="djl-bill-detail-amount-prepaid">
|
||||
{% currency_symbol %}{{ bill.get_amount_prepaid | currency_format }}
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-12 col-md-3">
|
||||
<div class="border rounded p-3">
|
||||
|
||||
<h6 class="text-uppercase text-xs text-muted mb-2">
|
||||
{% trans 'Accounts Payable' %}:
|
||||
<a href="{% url 'account_detail' request.dealer.slug bill.unearned_account.uuid %}"
|
||||
@ -106,31 +56,32 @@
|
||||
<h4 class="text-danger mb-0" id="djl-bill-detail-amount-unearned">
|
||||
{% currency_symbol %}{{ bill.get_amount_unearned | currency_format }}
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-12 col-md-3">
|
||||
<div class="border rounded p-3">
|
||||
|
||||
<h6 class="text-uppercase text-xs text-muted mb-2">{% trans 'Accrued' %} {{ bill.get_progress | percentage }}</h6>
|
||||
<h4 class="mb-0">{% currency_symbol %}{{ bill.get_amount_earned | currency_format }}</h4>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="col-12 col-md-3 offset-md-6">
|
||||
<div class="border rounded p-3">
|
||||
|
||||
<h6 class="text-uppercase text-xs text-muted mb-2">{% trans 'You Still Owe' %}</h6>
|
||||
<h4 class="text-danger mb-0" id="djl-bill-detail-amount-owed">
|
||||
{% currency_symbol %}{{ bill.get_amount_open | currency_format }}
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="card mb-3 shadow-sm">
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="card mb-3 shadow-sm">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<i class="fas fa-receipt me-3 text-primary"></i>
|
||||
@ -203,9 +154,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="card mb-3 shadow-sm">
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="card mb-3 shadow-sm">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center mb-2">
|
||||
<i class="fas fa-exchange-alt me-3 text-primary"></i>
|
||||
@ -213,10 +165,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body px-0 pt-0 pb-2 table-responsive">{% transactions_table bill %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
{% include "bill/includes/mark_as.html" %}
|
||||
{% endblock %}
|
||||
|
||||
@ -48,11 +48,11 @@
|
||||
{{ form|crispy }}
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-phoenix-success btn-lg me-md-2" type="submit">
|
||||
<button class="btn btn-phoenix-primary btn-lg me-md-2" type="submit">
|
||||
<i class="fa-solid fa-floppy-disk me-1"></i>
|
||||
{{ _("Save") }}
|
||||
</button>
|
||||
<a href="{% url 'lead_list' request.dealer.slug %}" class="btn btn-phoenix-danger btn-lg">
|
||||
<a href="{% url 'lead_list' request.dealer.slug %}" class="btn btn-phoenix-secondary btn-lg">
|
||||
<i class="fa-solid fa-ban me-1"></i>
|
||||
{% trans "Cancel" %}
|
||||
</a>
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
{{ form|crispy }}
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-phoenix-success btn-lg me-md-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'customer_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-phoenix-primary btn-lg me-md-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'customer_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@ -138,8 +138,9 @@
|
||||
class="btn btn-sm btn-phoenix-primary ms-2"><span class="fas fa-rocket me-2"></span>{{ _("Upgrade") }}</a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="text-body-tertiary fw-semibold">You have no active plan.</span> <a href="{% url 'pricing_page' request.dealer.slug %}"
|
||||
class="btn btn-phoenix-secondary ms-2"><span class="fas fa-arrow-right me-2"></span>{{ _("Subscribe") }}</a>
|
||||
<span class="text-body-tertiary fw-semibold">You have no active plan.</span>
|
||||
<a href="{% url 'pricing_page' request.dealer.slug %}"
|
||||
class="btn btn-phoenix-secondary ms-2"><span class="fas fa-arrow-right me-2"></span>{{ _("Subscribe") }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<p class="fs-9 text-body-tertiary">
|
||||
@ -229,7 +230,7 @@
|
||||
method="post">
|
||||
{% csrf_token %}
|
||||
{{ vatform|crispy }}
|
||||
<button class="btn btn-sm btn-phoenix-primary" type="submit">{% trans 'Update' %}</button>
|
||||
<button class="btn btn-sm btn-phoenix-primary" type="submit"><i class="fa-solid fa-pen-to-square me-1"></i>{% trans 'Update' %}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
{{ form|crispy }}
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'dealer_detail' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'dealer_detail' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -16,12 +16,13 @@
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
{% if staff.created %}
|
||||
{{ _("Edit Group") }}
|
||||
{% else %}
|
||||
{{ _("Add Group") }}
|
||||
{{ _("Create Group") }}
|
||||
{% endif %}
|
||||
<i class="fa-solid fa-user-group text-primary ms-2"></i>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle">
|
||||
@ -36,8 +37,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'group_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'group_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -184,7 +184,7 @@
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'sales_list' request.dealer.slug %}">
|
||||
<div class="d-flex align-items-center">
|
||||
<span class="nav-link-icon"><span class="fas fa-money-check"></span></span><span class="nav-link-text">{% trans "Sales Orders"|capfirst %}</span>
|
||||
<span class="nav-link-icon"><span class="fas fa-money-check"></span></span><span class="nav-link-text">{% trans "Sale Orders"|capfirst %}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
{%block title%} {%trans 'Add Colors'%} {% endblock%}
|
||||
{% block content %}
|
||||
<div class="row mt-4 mb-3">
|
||||
<h5 class="text-center">{% trans "Add Colors" %}</h5>
|
||||
<h3 class="text-center">{% trans "Add Colors" %}</h3>
|
||||
<p class="text-center">
|
||||
{% trans "Select exterior and interior colors for" %} {{ car.id_car_make.get_local_name }} {{ car.id_car_model.get_local_name }}
|
||||
</p>
|
||||
@ -54,10 +54,10 @@
|
||||
</div>
|
||||
|
||||
<div class="d-flex justify-content-center mt-4">
|
||||
<button class="btn btn-sm btn-phoenix-success me-2" type="submit">
|
||||
<button class="btn btn-lg btn-phoenix-primary me-2" type="submit">
|
||||
<i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}
|
||||
</button>
|
||||
<a href="{% url 'car_detail' request.dealer.slug car.slug %}" class="btn btn-sm btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<a href="{% url 'car_detail' request.dealer.slug car.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@ -234,7 +234,9 @@
|
||||
{% if not car.get_transfer %}
|
||||
{% if perms.inventory.change_car %}
|
||||
<a href="{% url 'car_update' request.dealer.slug car.slug %}"
|
||||
class="btn btn-phoenix-warning btn-sm mt-1">{% trans "Edit" %}</a>
|
||||
class="btn btn-phoenix-primary btn-sm mt-1">{% trans "Edit" %}
|
||||
<span class="fas fa-solid fa-pencil ms-1"></span>
|
||||
</a>
|
||||
<a href="{% url 'transfer' car.slug %}"
|
||||
class="btn btn-phoenix-danger btn-sm">
|
||||
{% trans "Sell to another dealer"|capfirst %}
|
||||
|
||||
@ -13,9 +13,11 @@
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
{% trans 'Edit Car' %}
|
||||
<span class="fas fa-solid fa-car text-primary ms-2"></span>
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle">
|
||||
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
{% trans "Finance Details for" %} {{ car.id_car_make.get_local_name }} - {{ car.id_car_model.get_local_name }}
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
{% trans "Finance Details for" %}<span class="fas fa-solid fa-car text-primary ms-2"></span> {{ car.id_car_make.get_local_name }} - {{ car.id_car_model.get_local_name }}
|
||||
</h3>
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
@ -38,8 +38,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'car_detail' request.dealer.slug car.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'car_detail' request.dealer.slug car.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -26,8 +26,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'item_expense_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'item_expense_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@ -35,8 +35,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'item_service_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'item_service_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
{% if customer.created %}
|
||||
{{ _("Edit Bank Account") }}
|
||||
{% else %}
|
||||
@ -36,8 +36,8 @@
|
||||
{% endfor %}
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'bank_account_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'bank_account_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@ -19,10 +19,10 @@
|
||||
<h3 class="mb-0 fs-4 text-center ">
|
||||
{% if account.created %}
|
||||
|
||||
<i class="fa-solid fa-book"></i> {{ _("Edit Account") }}
|
||||
{{ _("Edit Account") }}
|
||||
{% else %}
|
||||
|
||||
<i class="fa-solid fa-book"></i> {{ _("Add Account") }}
|
||||
{{ _("Add Account") }}
|
||||
{% endif %}
|
||||
<i class="fa-solid fa-book ms-2 text-primary"></i>
|
||||
</h3>
|
||||
@ -39,12 +39,12 @@
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button
|
||||
|
||||
class="btn btn-lg btn-phoenix-success md-me-2"
|
||||
class="btn btn-lg btn-phoenix-primary md-me-2"
|
||||
type="submit">
|
||||
<i class="saveBtnIcon fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}
|
||||
</button>
|
||||
|
||||
<a href="{% url 'account_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<a href="{% url 'account_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@ -26,8 +26,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'ledger_list' request.dealer.slug request.entity.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'ledger_list' request.dealer.slug request.entity.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@ -9,19 +9,19 @@
|
||||
|
||||
<div class="container-fluid report-container">
|
||||
<header class="report-header text-center">
|
||||
<h1 class="display-4">Car Sale Report <span class="fas fa-car mx-2 text-primary"></span><span class="fas fa-money-bill mx-2 text-primary"></span></h1>
|
||||
<h1 class="display-4">{% trans 'Car Sale Report' %} <span class="fas fa-car mx-2 text-primary"></span><span class="fas fa-money-bill mx-2 text-primary"></span></h1>
|
||||
<p class="lead text-muted"><strong>{{dealer}}</strong></p>
|
||||
<p class="text-muted">Report Date: {{current_time}}</p>
|
||||
<p class="text-muted">{% trans 'Report Date' %}: {{current_time}}</p>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section id="summary" class="mb-1">
|
||||
<h2 class="section-heading mb-2">Report Summary</h2>
|
||||
<h2 class="section-heading mb-2">{% trans 'Report Summary' %}</h2>
|
||||
<div class="row ">
|
||||
<div class="col-md-6 col-lg-4 mb-2">
|
||||
<div class="card summary-card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">Total Revenue Amount<span class="fas fa-solid fa-dollar-sign mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<h5 class="card-title text-primary">{% trans 'Total Revenue Amount' %}<span class="fas fa-solid fa-dollar-sign mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<p class="card-text fs-4 fw-bold">120000000</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -29,7 +29,7 @@
|
||||
<div class="col-md-6 col-lg-4 mb-2">
|
||||
<div class="card summary-card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">Total Vat Amount<span class="fas fa-solid fa-percent mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<h5 class="card-title text-primary">{% trans 'Total Vat Amount' %}<span class="fas fa-solid fa-percent mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<p class="card-text fs-4 fw-bold">12000</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -37,7 +37,7 @@
|
||||
<div class="col-md-6 col-lg-4 mb-2">
|
||||
<div class="card summary-card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">Total Discount Amount <span class="fas fa-solid fa-tag mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<h5 class="card-title text-primary">{% trans 'Total Discount Amount' %} <span class="fas fa-solid fa-tag mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<p class="card-text fs-4 fw-bold">12000</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -50,33 +50,33 @@
|
||||
</section>
|
||||
|
||||
<section id="purchase-details" class="mb-3">
|
||||
<h2 class="section-heading">Detailed Purchase List</h2>
|
||||
<h2 class="section-heading">{% trans 'Detailed Purchase List' %}</h2>
|
||||
|
||||
<div class="d-flex justify-content-end mb-3 d-print-none">
|
||||
<a href="{% url 'car-sale-report-csv-export' request.dealer.slug %}" class="btn btn-phoenix-primary">
|
||||
<i class="bi bi-download me-2"></i> Download as CSV
|
||||
<i class="bi bi-download me-2"></i>{% trans 'Download as CSV' %}
|
||||
</a>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover table-bordered table-sm">
|
||||
<thead >
|
||||
<tr>
|
||||
<th>VIN</th>
|
||||
<th>Make</th>
|
||||
<th>Model</th>
|
||||
<th>Year</th>
|
||||
<th>Serie</th>
|
||||
<th>Trim</th>
|
||||
<th>Mileage</th>
|
||||
<th>Stock Type</th>
|
||||
<th>Created Date</th>
|
||||
<th>Sold Date</th>
|
||||
<th>Cost Price</th>
|
||||
<th>Marked Price</th>
|
||||
<th>Discount Amount</th>
|
||||
<th>Selling Price</th>
|
||||
<th>Tax Amount</th>
|
||||
<th>Invoice Number</th>
|
||||
<th>{% trans 'VIN' %}</th>
|
||||
<th>{% trans 'Make' %}</th>
|
||||
<th>{% trans 'Model' %}</th>
|
||||
<th>{% trans 'Year' %}</th>
|
||||
<th>{% trans 'Serie' %}</th>
|
||||
<th>{% trans 'Trim' %}</th>
|
||||
<th>{% trans 'Mileage' %}</th>
|
||||
<th>{% trans 'Stock Type' %}</th>
|
||||
<th>{% trans 'Created Date' %}</th>
|
||||
<th>{% trans 'Sold Date' %}</th>
|
||||
<th>{% trans 'Cost Price' %}</th>
|
||||
<th>{% trans 'Marked Price' %}</th>
|
||||
<th>{% trans 'Discount Amount' %}</th>
|
||||
<th>{% trans 'Selling Price' %}</th>
|
||||
<th>{% trans 'Tax Amount' %}</th>
|
||||
<th>{% trans 'Invoice Number' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@ -10,19 +10,19 @@
|
||||
|
||||
<div class="container-fluid report-container">
|
||||
<header class="report-header text-center">
|
||||
<h1 class="display-4">Car Purchase Report <span class="fas fa-car mx-2 text-primary"></span><span class="fas fa-chart-bar mx-2 text-primary"></span></h1>
|
||||
<h1 class="display-4">{% trans 'Car Purchase Report' %} <span class="fas fa-car mx-2 text-primary"></span><span class="fas fa-chart-bar mx-2 text-primary"></span></h1>
|
||||
<p class="lead text-muted"><strong>{{dealer}}</strong></p>
|
||||
<p class="text-muted">Report Date: {{current_time}}</p>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section id="summary" class="mb-1">
|
||||
<h2 class="section-heading mb-2">Report Summary</h2>
|
||||
<h2 class="section-heading mb-2">{% trans 'Report Summary' %}</h2>
|
||||
<div class="row ">
|
||||
<div class="col-md-6 col-lg-4 mb-2">
|
||||
<div class="card summary-card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">Total Purchase Amount<span class="fas fa-money-bill ms-1"><span></h5>
|
||||
<h5 class="card-title text-primary">{% trans 'Total Purchase Amount' %}<span class="fas fa-money-bill ms-1"><span></h5>
|
||||
<p class="card-text fs-4 fw-bold">{{total_po_amount}}</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -30,7 +30,7 @@
|
||||
<div class="col-md-6 col-lg-4 mb-2">
|
||||
<div class="card summary-card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-primary">Total Cars Purchased<span class="fas fa-shopping-bag mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<h5 class="card-title text-primary">{% trans 'Total Cars Purchased' %}<span class="fas fa-shopping-bag mx-1"></span><span class="fas fa-car"></span></h5>
|
||||
<p class="card-text fs-4 fw-bold">{{total_po_cars}}</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -43,11 +43,11 @@
|
||||
</section>
|
||||
|
||||
<section id="purchase-details" class="mb-3">
|
||||
<h2 class="section-heading">Detailed Purchase List</h2>
|
||||
<h2 class="section-heading">{% trans 'Detailed Purchase List' %}</h2>
|
||||
|
||||
<div class="d-flex justify-content-end mb-3 d-print-none">
|
||||
<a href="{% url 'purchase-report-csv-export' request.dealer.slug %}" class="btn btn-phoenix-primary">
|
||||
<i class="bi bi-download me-2"></i> Download as CSV
|
||||
<i class="bi bi-download me-2"></i>{% trans 'Download as CSV' %}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -55,14 +55,14 @@
|
||||
<table class="table table-striped table-hover table-bordered table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Purchase ID</th>
|
||||
<th>Date Created</th>
|
||||
<th>Status</th>
|
||||
<th>PO Amount</th>
|
||||
<th>Date Fulfilled</th>
|
||||
<th>Created By</th>
|
||||
<th>Cars Purchased</th>
|
||||
<th>Vendor</th>
|
||||
<th>{% trans 'Purchase ID' %}</th>
|
||||
<th>{% trans 'Date Created' %}</th>
|
||||
<th>{% trans 'Status' %}</th>
|
||||
<th>{% trans 'PO Amount' %}</th>
|
||||
<th>{% trans 'Date Fulfilled' %}</th>
|
||||
<th>{% trans 'Created By' %}</th>
|
||||
<th>{% trans 'Cars Purchased' %}</th>
|
||||
<th>{% trans 'Vendor' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -84,7 +84,7 @@
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6" class="text-end fw-bold">Total Purchase:</td>
|
||||
<td colspan="6" class="text-end fw-bold">{% trans 'Total Purchase'%}:</td>
|
||||
<td class="fw-bold text-primary">{{total_po_amount}}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
@ -14,12 +14,13 @@
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
{% if object %}
|
||||
{% trans 'Update Organization'%}
|
||||
{% else %}
|
||||
{% trans 'Add New Organization'%}
|
||||
{% endif %}
|
||||
<span class=" fas fa-solid fa-city ms-2 text-primary"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle">
|
||||
@ -30,8 +31,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'organization_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'organization_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -10,23 +10,24 @@
|
||||
{% if page_obj.has_previous %}
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="?page=1{% if q %}&q={{ q }}{% endif %}">
|
||||
<span class="fas fa-angle-double-
|
||||
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
right
|
||||
<span class="fas fa-angle-double-right"></span>
|
||||
{% else %}
|
||||
left
|
||||
{% endif %}"></span>
|
||||
<span class="fas fa-angle-double-left"></span>
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item">
|
||||
<span class="page-link">
|
||||
<span class="fas fa-chevron-
|
||||
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
right
|
||||
<span class="fas fa-chevron-right"></span>
|
||||
{% else %}
|
||||
left
|
||||
{% endif %}"></span>
|
||||
<span class="fas fa-chevron-left"></span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
@ -35,12 +36,12 @@
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.previous_page_number }}{% if q %}&q={{ q }}{% endif %}">
|
||||
<span class="fas fa-chevron-
|
||||
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
right
|
||||
<span class="fas fa-chevron-right"></span>
|
||||
{% else %}
|
||||
left
|
||||
{% endif %}"></span>
|
||||
<span class="fas fa-chevron-left"></span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
@ -59,12 +60,12 @@
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.next_page_number }}{% if q %}&q={{ q }}{% endif %}">
|
||||
<span class="fas fa-chevron-
|
||||
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
left
|
||||
<span class="fas fa-chevron-left"></span>
|
||||
{% else %}
|
||||
right
|
||||
{% endif %}"></span>
|
||||
<span class="fas fa-chevron-right"></span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
@ -73,12 +74,12 @@
|
||||
<li class="page-item">
|
||||
<a class="page-link"
|
||||
href="?page={{ page_obj.paginator.num_pages }}{% if q %}&q={{ q }}{% endif %}">
|
||||
<span class="fas fa-angle-double-
|
||||
|
||||
{% if LANGUAGE_CODE == 'ar' %}
|
||||
left
|
||||
<span class="fas fa-angle-double-left"></span>
|
||||
{% else %}
|
||||
right
|
||||
{% endif %}"></span>
|
||||
<span class="fas fa-angle-double-right"></span>
|
||||
{% endif %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
class="form-control form-control-sm search-input search"
|
||||
type="search"
|
||||
aria-label="Search"
|
||||
placeholder="{{ _("Search...") }}"
|
||||
placeholder="{{ _("Search") }}..."
|
||||
value="{{ request.GET.q }}" />
|
||||
<span class="fa fa-magnifying-glass search-box-icon"></span>
|
||||
{% if request.GET.q %}
|
||||
|
||||
@ -43,9 +43,9 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
{% if object %}
|
||||
<a class="btn btn-lg btn-phoenix-danger " href="{% url 'billing_info_delete' %}"><i class="fa-solid fa-trash me-1"></i> {{ _("Delete") }}</a>
|
||||
<a class="btn btn-lg btn-phoenix-danger" href="{% url 'billing_info_delete' %}"><i class="fa-solid fa-trash me-1"></i> {{ _("Delete") }}</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'purchase_order_list' request.dealer.slug request.entity.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'purchase_order_list' request.dealer.slug request.entity.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@ -32,19 +32,19 @@
|
||||
<tr class="bg-body-highlight">
|
||||
<th class="sort white-space-nowrap align-middle"
|
||||
scope="col"
|
||||
style="width:15%">PO Number</th>
|
||||
style="width:15%">{% trans 'PO Number' %}</th>
|
||||
<th class="sort white-space-nowrap align-middle"
|
||||
scope="col"
|
||||
style="width:40%">Description</th>
|
||||
style="width:40%">{% trans 'Description' %}</th>
|
||||
<th class="sort white-space-nowrap align-middle"
|
||||
scope="col"
|
||||
style="width:15%">Status</th>
|
||||
style="width:15%">{% trans 'Status' %}</th>
|
||||
<th class="sort white-space-nowrap align-middle"
|
||||
scope="col"
|
||||
style="width:15%">Created At</th>
|
||||
style="width:15%">{% trans 'Created At' %}</th>
|
||||
<th class="sort white-space-nowrap align-middle"
|
||||
scope="col"
|
||||
style="width:15%">Actions</th>
|
||||
style="width:15%">{% trans 'Actions' %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="list">
|
||||
|
||||
@ -153,8 +153,8 @@
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
{% trans "Create Quotation" %}<i class="fa-regular fa-file-lines me-2"></i>
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
{% trans "Create Quotation" %}<i class="fa-regular fa-file-lines text-primary me-2"></i>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle">
|
||||
@ -198,8 +198,8 @@
|
||||
</div>
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'estimate_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'estimate_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@ -11,23 +11,24 @@
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<!---->
|
||||
|
||||
<div class="row justify-content-center mt-5 mb-3">
|
||||
|
||||
<div class="col-lg-8 col-md-10">
|
||||
<div class="card shadow-sm border-0 rounded-3">
|
||||
<div class="card-header bg-gray-200 py-3 border-0 rounded-top-3">
|
||||
<h3 class="mb-0 fs-4 text-center text-white">
|
||||
<i class="fa-solid fa-user-tie"></i>
|
||||
<h3 class="mb-0 fs-4 text-center">
|
||||
|
||||
{% if staff.created %}
|
||||
{{ _("Edit Staff") }}
|
||||
{% else %}
|
||||
{{ _("Add Staff") }}
|
||||
{% endif %}
|
||||
<i class="fa-solid fa-user-tie text-primary ms-2"></i>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle">
|
||||
<form class="row g-3 mb-9" method="post" class="form" novalidate>
|
||||
<form class="row g-3 mb-3" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
{{ form.name|as_crispy_field }}
|
||||
@ -43,8 +44,8 @@
|
||||
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'user_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'user_list' request.dealer.slug %}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -53,5 +54,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!---->
|
||||
|
||||
{% endblock %}
|
||||
|
||||
6
templates/vendors/vendor_form.html
vendored
6
templates/vendors/vendor_form.html
vendored
@ -27,15 +27,15 @@
|
||||
</h3>
|
||||
</div>
|
||||
<div class="card-body bg-light-subtle">
|
||||
<form class="row g-3 mb-9" method="post" class="form" enctype="multipart/form-data" novalidate >
|
||||
<form class="row g-3 mb-3" method="post" class="form" enctype="multipart/form-data" novalidate >
|
||||
{% csrf_token %}
|
||||
{{ redirect_field }}
|
||||
{{ form|crispy }}
|
||||
{% for error in form.errors %}<div class="text-danger">{{ error }}</div>{% endfor %}
|
||||
<hr class="my-2">
|
||||
<div class="d-grid gap-2 d-md-flex justify-content-md-center mt-3">
|
||||
<button class="btn btn-lg btn-phoenix-success md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'vendor_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-danger"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
<button class="btn btn-lg btn-phoenix-primary md-me-2" type="submit"><i class="fa-solid fa-floppy-disk me-1"></i>{{ _("Save") }}</button>
|
||||
<a href="{% url 'vendor_list' request.dealer.slug%}" class="btn btn-lg btn-phoenix-secondary"><i class="fa-solid fa-ban me-1"></i>{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user