You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			272 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
			
		
		
	
	
			272 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
{% extends "main.html" %}
 | 
						|
{%load static%}
 | 
						|
{% block content %}
 | 
						|
 | 
						|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
 | 
						|
 | 
						|
 | 
						|
<div class="w-full xxlg1:w-[75%]">
 | 
						|
    <div class="w-full h-fit bg-white rounded-md shadow-md p-5">
 | 
						|
        <div
 | 
						|
            class="w-full bg-gray-50 px-3 py-3 border border-gray-100 shadow-md rounded-md flex flex-col md:flex-row justify-between items-center gap-3">
 | 
						|
            <div class="text-center xll:text-left">
 | 
						|
                <h1 class="text-secondosiblue text-xl">Order {{order.order_id}} - {{order.customer.user.first_name}}
 | 
						|
                    {{order.customer.user.last_name}}</h1>
 | 
						|
                <p class="text-gray-500"></p>
 | 
						|
 | 
						|
                {% if order.orderstatus.set_all.last.status %}
 | 
						|
                <p>
 | 
						|
                    <span
 | 
						|
                        class="uppercase text-green-700 font-semibold text-sm {% if order.orderstatus.set_all.last.status == 'Completed' %} text-green-700 {% elif order.orderstatus.set_all.last.status == 'Pending' %} text-yellow-500 {% elif order.orderstatus.set_all.last.status == 'Failed' %} text-red-500 {% endif %}">{{order.status}}</span>
 | 
						|
                    <span class="text-sm font-light text-gray-500"> {{order.orderstatus.set_all.last.status}} -
 | 
						|
                        {{order.orderstatus.set_all.last.date}}</span>
 | 
						|
                </p>
 | 
						|
                {% endif %}
 | 
						|
 | 
						|
 | 
						|
            </div>
 | 
						|
 | 
						|
            <p class="text-secondosiblue font-poppinsBold">Remaining Balance: $<span>{{order.remaining_balance}}</span></p>
 | 
						|
        </div>
 | 
						|
 | 
						|
        <div
 | 
						|
            class="w-full bg-gray-50 px-3 py-3 border border-gray-100 shadow-md rounded-md flex flex-col md:flex-row justify-end items-center gap-2 mt-3">
 | 
						|
 | 
						|
            <button data-modal-url="{% url 'update_order_status' order.id %}"
 | 
						|
            class="w-full md:w-fit text-base px-3 py-2 bg-osiblue text-white outline-none border border-osiblue rounded-md cursor-pointer hover:bg-white hover:text-osiblue duration-300 updateOrderStatusButton">
 | 
						|
            Update Status
 | 
						|
            </button>
 | 
						|
            <button data-modal-url="{% url 'add_payment_modal' order.id %}"
 | 
						|
                class="w-full md:w-fit text-base px-3 py-2 bg-osiblue text-white outline-none border border-osiblue rounded-md cursor-pointer hover:bg-white hover:text-osiblue duration-300 addPaymentButton">
 | 
						|
                Add Payment
 | 
						|
            </button>
 | 
						|
 | 
						|
            {% if not order.invoice %}
 | 
						|
            <a class="w-full md:w-fit">
 | 
						|
                <button
 | 
						|
                    class="w-full md:w-fit text-base px-3 py-2 bg-osiblue text-white outline-none border border-osiblue rounded-md cursor-pointer hover:bg-white hover:text-osiblue duration-300">
 | 
						|
                    Generate Invoice
 | 
						|
                </button>
 | 
						|
            </a>
 | 
						|
            {% else %}
 | 
						|
            <a href="{{order.invoice.pdf.url}}" class="w-full md:w-fit">
 | 
						|
                <button
 | 
						|
                    class="w-full md:w-fit text-base px-3 py-2 bg-osiblue text-white outline-none border border-osiblue rounded-md cursor-pointer hover:bg-white hover:text-osiblue duration-300">
 | 
						|
                    Download Invoice
 | 
						|
                </button>
 | 
						|
            </a>
 | 
						|
            {% endif %}
 | 
						|
 | 
						|
 | 
						|
            <a href="{% url 'addpayment' order.id %}" class="w-full md:w-fit">
 | 
						|
                <button
 | 
						|
                    class="w-full md:w-fit text-base px-3 py-2 bg-osiblue text-white outline-none border border-osiblue rounded-md cursor-pointer hover:bg-white hover:text-osiblue duration-300">
 | 
						|
                    Order Statement
 | 
						|
                </button>
 | 
						|
            </a>
 | 
						|
        </div>
 | 
						|
 | 
						|
        {% if order_items %}
 | 
						|
        <div class="w-full mt-10">
 | 
						|
            <p class="text-secondosiblue text-xl">Order Items</p>
 | 
						|
            <div class="w-full grid grid-cols-1 md:grid-cols-2 l:grid-cols-3 gap-5 mt-3">
 | 
						|
 | 
						|
                {% for item in order_items %}
 | 
						|
                <div class="w-full shadow-md border border-gray-200 flex flex-col justify-between rounded-t-md">
 | 
						|
                    <div
 | 
						|
                        class="w-full h-full p-9 flex flex-col justify-center items-center gap-5 rounded-t-md bg-white">
 | 
						|
                        <p class="text-secondosiblue uppercase font-poppinsBold text-xl text-center">{{item.item.title}}
 | 
						|
                        </p>
 | 
						|
                    </div>
 | 
						|
                    <div class="w-full flex flex-col justify-center items-center text-center mb-2">
 | 
						|
                        <p class="text-secondosiblue font-poppinsLight text-[17px] font-semibold">${{item.item.amount}}
 | 
						|
                        </p>
 | 
						|
                    </div>
 | 
						|
                    <a href="{% url 'deleteorderitem' item.id %}">
 | 
						|
                        <div
 | 
						|
                            class="w-full px-3 py-2 text-white flex justify-center items-center gap-2 bg-red-500 rounded-b-md cursor-pointer">
 | 
						|
                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
 | 
						|
                                stroke-width="1.5" stroke="currentColor" class="w-4 h-4 text-white">>
 | 
						|
                                <path stroke-linecap="round" stroke-linejoin="round"
 | 
						|
                                    d="M15 12H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
 | 
						|
                            </svg>
 | 
						|
 | 
						|
                            <p>Remove</p>
 | 
						|
                        </div>
 | 
						|
                    </a>
 | 
						|
                </div>
 | 
						|
                {% endfor %}
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
        {% endif %}
 | 
						|
 | 
						|
 | 
						|
        {% if services %}
 | 
						|
        <div class="w-full mt-10">
 | 
						|
            <p class="text-secondosiblue text-xl">Add Services</p>
 | 
						|
            <div class="w-full grid grid-cols-1 md:grid-cols-2 l:grid-cols-3 gap-5 mt-3">
 | 
						|
 | 
						|
                {% for service in services %}
 | 
						|
                <div class="w-full shadow-md border border-gray-200 flex flex-col justify-between rounded-t-md">
 | 
						|
                    <div
 | 
						|
                        class="w-full h-full p-9 flex flex-col justify-center items-center gap-5 rounded-t-md bg-white">
 | 
						|
                        <p class="text-secondosiblue uppercase font-poppinsBold text-xl text-center">{{service.title}}
 | 
						|
                        </p>
 | 
						|
                    </div>
 | 
						|
                    <div class="w-full flex flex-col justify-center items-center text-center mb-2">
 | 
						|
                        <p class="text-secondosiblue font-poppinsLight text-[17px] font-semibold">${{service.amount}}
 | 
						|
                        </p>
 | 
						|
                    </div>
 | 
						|
                    <a href="{% url 'addserviceinorder' service.id order.id %}">
 | 
						|
                        <div
 | 
						|
                            class="w-full px-3 py-2 text-white flex justify-center items-center gap-2 bg-osiblue rounded-b-md cursor-pointer">
 | 
						|
                            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
 | 
						|
                                stroke="currentColor" class="w-4 h-4 text-white">
 | 
						|
                                <path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" />
 | 
						|
                            </svg>
 | 
						|
                            <p>Add</p>
 | 
						|
                        </div>
 | 
						|
                    </a>
 | 
						|
                </div>
 | 
						|
                {% endfor %}
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
        {% endif %}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        <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">Payment</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"
 | 
						|
                    data-modal-url="{% url 'add_payment_modal' order.id %}">
 | 
						|
                    <i class="fa fa-plus"></i>
 | 
						|
                </button>
 | 
						|
            </div>
 | 
						|
 | 
						|
            <div class="overflow-x-auto border border-gray-300 rounded-t-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">
 | 
						|
                                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 ">
 | 
						|
                                Date Due
 | 
						|
                            </th>
 | 
						|
                            <th scope="col"
 | 
						|
                                class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap">
 | 
						|
                                Date Paid
 | 
						|
                            </th>
 | 
						|
                            <th scope="col"
 | 
						|
                                class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap">
 | 
						|
                                Payment Method
 | 
						|
                            </th>
 | 
						|
                            <th scope="col"
 | 
						|
                                class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap">
 | 
						|
                                Comment
 | 
						|
                            </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 -->
 | 
						|
                    <tbody class="bg-white divide-y divide-gray-200">
 | 
						|
                        {% for payment in payments %}
 | 
						|
                        <tr>
 | 
						|
                            <td class="px-6 py-4 text-center text-sm border-r border-gray-300">
 | 
						|
                                <p class="text-secondosiblue">${{payment.amount}}</p>
 | 
						|
                            </td>
 | 
						|
 | 
						|
                            <td class="px-6 py-4 text-center text-sm border-r border-gray-300">
 | 
						|
                                {% if payment.date_due %}
 | 
						|
                                <p class="text-secondosiblue">{{payment.date_due}}</p>
 | 
						|
                                {% else %}
 | 
						|
                                <p class="text-secondosiblue">-</p>
 | 
						|
                                {% endif %}
 | 
						|
                            </td>
 | 
						|
 | 
						|
                            <td class="px-6 py-4 text-center text-sm border-r border-gray-300">
 | 
						|
                                {% if payment.date_paid %}
 | 
						|
                                <p class="text-secondosiblue">{{payment.date_paid}}</p>
 | 
						|
                                {% else %}
 | 
						|
                                <p class="text-red-500">UNPAID</p>
 | 
						|
                                {% endif %}
 | 
						|
                            </td>
 | 
						|
 | 
						|
                            <td class="px-6 py-4 text-center text-sm border-r border-gray-300">
 | 
						|
                                {% for type in payment.type.all %}
 | 
						|
                                <p class="text-secondosiblue">{{type.name}}</p>
 | 
						|
                                {% endfor %}
 | 
						|
                            </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">
 | 
						|
                                    <a href="{% url 'addpayment' order.id %}">
 | 
						|
                                        <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="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m3.75 9v6m3-3H9m1.5-12H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" />
 | 
						|
                                        </svg>
 | 
						|
                                    </a>
 | 
						|
 | 
						|
                                    <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>
 | 
						|
                        </tr>
 | 
						|
                        {% endfor %}
 | 
						|
                    </tbody>
 | 
						|
                </table>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
{% endblock %} |