emile 2 days ago
parent af75496d8d
commit 09e4d4051b

@ -425,6 +425,120 @@
</div>
{% endif %}
<!-- SERVICES -->
{% if customer_services %}
<div class="mt-10 relative">
<div class=" bg-gray-200 rounded-t-md flex justify-between items-center text-white text-xl font-bold h-[50px]">
<div class="px-3">
<p class="text-secondosiblue uppercase font-bold">Services</p>
</div>
<!-- <button
class="h-full rounded-tr-md px-4 bg-secondosiblue text-gray-200 text-[18px] outline-none border-none cursor-pointer flex justify-center items-center addPaymentButton">
<i class="fa fa-plus"></i>
</button> -->
</div>
<div class="overflow-x-auto border border-gray-300 rounded-b-md tableContainer">
<table class="min-w-full divide-y">
<!-- TABLE HEADER -->
<thead class="bg-gray-50">
<tr>
<th scope="col"
class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap">
Title
</th>
<th scope="col"
class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap"
>
Description
</th>
<th scope="col"
class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap">
Item type
</th>
<th scope="col"
class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap ">
Amount
</th>
<th scope="col"
class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap">
Recurring
</th>
{##}
{# <th scope="col" class="px-6 py-3 text-sm font-medium text-gray-500 uppercase whitespace-nowrap">#}
{# Actions#}
{# </th>#}
</tr>
</thead>
<!-- TABLE BODY -->
{% for service in customer_services %}
<tbody class="bg-white divide-y divide-gray-200">
<td class="px-6 py-4 text-center text-sm border-r border-gray-300">
<p class="text-secondosiblue">{{service.title}}</p>
</td>
<td class="px-6 py-4 text-center text-sm border-r border-gray-300">
<p class="text-secondosiblue">${{service.description}}</p>
</td>
<td class="px-6 py-4 text-center text-sm border-r border-gray-300">
<p class="text-secondosiblue">{{service.item_type}}</p>
</td>
<td class="px-6 py-4 text-center text-sm border-r border-gray-300">
<p class="text-secondosiblue">${{service.amount}}</p>
</td>
<td class="px-6 py-4 text-center text-sm border-r border-gray-300">
<p class="text-secondosiblue">${{service.recurring}}</p>
</td>
{# <td class="px-6 py-4 text-center text-sm border-r border-gray-300">#}
{# <div class="w-full flex justify-center items-center">#}
{# <div class="w-[30px] h-[30px] bg-gray-100 rounded-full flex justify-center items-center p-1 text-secondosiblue cursor-pointer hover:bg-secondosiblue hover:text-gray-100 duration-300 addPaymentCommentButton"#}
{# title="Add Comment" data-modal-url="{% url 'add_payment_comment_modal' %}">#}
{# <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"#}
{# stroke-width="1.5" stroke="currentColor" class="w-5 h-5">#}
{# <path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" />#}
{# </svg>#}
{# </div>#}
{# </div>#}
{# <!-- <p class="text-secondosiblue">Comment</p> -->#}
{# </td>#}
{##}
{# <td class="px-6 py-4 text-center text-sm">#}
{# <div class="flex justify-center items-center gap-3">#}
{# <div data-modal-url="{% url 'edit_payment_modal' %}" class="editPaymentButton">#}
{# <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"#}
{# stroke-width="1.5" stroke="currentColor"#}
{# class="w-[18px] text-fifthosiblue hover:scale-110 duration-500 transition-transform cursor-pointer">#}
{# <path stroke-linecap="round" stroke-linejoin="round"#}
{# d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" />#}
{# </svg>#}
{# </div>#}
{##}
{# <div data-modal-url="{% url 'deletepaymentmodal' %}" class="deletePaymentButton">#}
{# <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"#}
{# stroke-width="1.5" stroke="currentColor"#}
{# class="w-[18px] text-red-500 hover:scale-110 duration-500 transition-transform cursor-pointer">#}
{# <path stroke-linecap="round" stroke-linejoin="round"#}
{# d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" />#}
{# </svg>#}
{# </div>#}
{# </div>#}
{# </td>#}
</tbody>
{% endfor %}
</table>
</div>
</div>
{% endif %}
<!-- PAYMENTS -->
{% if customer_payments %}
<div class="mt-10 relative">

@ -25,6 +25,7 @@ from django.db.models import Max
from django.core.paginator import Paginator
from osichat.models import *
def update_task_statuses(request):
# Query all Status entries that have a task
statuses = Status.objects.filter(task__isnull=False)
@ -489,7 +490,7 @@ def customerdetails(request, customer_id):
customer_payments = OrderPayment.objects.filter(order__customer=customer).order_by('-id')
customer_active_subscriptions = OrderItem.objects.filter(active=True, order__customer=customer)
customer_orders = Order.objects.filter(customer=customer)
customer_services = Item.objects.filter(customer=customer, type='service')
total_all_orders = sum([order.get_cart_total for order in customer_orders])
total_paid_all_orders = sum([order.get_paid_amount for order in customer_orders])
total_remaining_all_orders = total_all_orders - total_paid_all_orders
@ -503,6 +504,7 @@ def customerdetails(request, customer_id):
'total_all_orders': total_all_orders,
'total_paid_all_orders': total_paid_all_orders,
'total_remaining_all_orders': total_remaining_all_orders,
'customer_services': customer_services,
}
return render(request, 'details_templates/customer-details.html', context)

Loading…
Cancel
Save