emile 1 year ago
parent ad0b37c57f
commit af5344cfe9

@ -6,22 +6,173 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href='{% static "dist/output.css" %}'>
<title>Invoice Details</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.mainContainer {
width: 100%;
display: block;
}
.logoContainer {
width: 100%;
text-align: center;
}
.logoContainer img {
width: 200px;
}
.invoiceDetails {
width: 100%;
display: table;
}
.customerDetails {
width: 50%;
float: left;
}
.companyDetails {
width: 50%;
float: left;
}
.customerDetails h1 {
color: rgb(166, 166, 166);
font-size: 20px;
margin-bottom: 10px;
}
.customerDetails p {
color: #374a7a;
margin-bottom: 5px;
}
.companyDetails {
text-align: end;
}
.companyDetails h1 {
color: #20336b;
font-size: 20px;
margin-bottom: 10px;
}
.companyDetails p {
color: #374a7a;
margin-bottom: 5px;
}
.invoiceNumberBar {
width: 100%;
background-color: #374a7a;
padding: 10px 20px;
color: white;
font-weight: 600;
text-align: end;
font-size: 18px;
margin-bottom: 50px;
}
.invoiceItemsBar {
width: 100%;
background-color: #374a7a;
padding: 10px 20px;
color: white;
font-weight: 600;
text-align: start;
font-size: 18px;
margin: 50px 0px;
}
.invoiceItemsContainer ul {
padding: 0px 20px;
list-style:circle;
color: #20336b;
}
.totalContainer {
width: 100%;
text-align: end;
margin-top: 20px;
color: #20336b;
font-weight: 600;
}
.footer {
}
</style>
</head>
<body class="flex justify-center items-center" id="invoice-details-content">
<div class="w-[50%] flex flex-col items-center gap-5">
<img src="https://newosina.osinode.com/static/images/ositcom_logos/full-logo.jpg" class="w-[150px] h-[150px]">
<body>
<div class="mainContainer">
<div class="logoContainer">
<img src="https://newosina.osinode.com/static/images/ositcom_logos/full-logo.png">
</div>
<div class="invoiceNumberBar">
<p>Invoice $024-1298</p>
</div>
<div class="invoiceDetails">
<div class="customerDetails">
<h1>Bill To:</h1>
<p>{{order.customer}}</p>
<p>Lb</p>
<p>+96103556600</p>
<p>info@winabig.com</p>
<div class="w-full flex flex-col gap-3 p-5">
<p class="text-gray-500">Bill To: <span class="text-secondosiblue">{{order.customer}}</span></p>
<p class="text-gray-500" class="color:red;">Customer Details: <span class="text-secondosiblue">036466464</span></p>
</div>
<div class="companyDetails">
<h1>Due Date: 2024-03-03</h1>
<p>OSITCOM ltd</p>
<p>CR. 2014057</p>
<p>Registration Number: 1808707</p>
<p>Jounieh, Lebanon </p>
<p> Facing Fouad Chehab Stadium,</p>
<p>Jounieh Highway,</p>
<p> 7th Floor, Doueihy Building</p>
<p>PO Box: 90-1246</p>
<p>Tel/Fax: +961 (9) 918718/9</p>
<p>Mobile: +961 (70) 918 718</p>
<p>billing@ositcom.net</p>
</div>
</div>
<div class="invoiceItemsBar">
<p>Invoice Items</p>
</div>
<div class="w-full bg-osiblue h-[50px]" style="background-color: red;">
<div class="invoiceItemsContainer">
<ul>
<li>USSD App integration via API</li>
<li>Promotion 1 for users when registering during a specific period of time</li>
<li>Promotion 2 for campaign tickets during a specific period of time</li>
</ul>
<div class="totalContainer">
<p>Total Cost: <span>$1200.00</span></p>
</div>
</div>
<div class="footer">
</div>
</div>

@ -79,7 +79,7 @@
<td class="px-6 py-4">
<div class="w-full flex justify-center items-center">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-[18px] text-blue-500">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-[18px] text-osiblue">
<path fill-rule="evenodd" d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875Zm5.845 17.03a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06l-1.72 1.72V12a.75.75 0 0 0-1.5 0v4.19l-1.72-1.72a.75.75 0 0 0-1.06 1.06l3 3Z" clip-rule="evenodd" />
<path d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z" />
</svg>

@ -12,7 +12,7 @@ urlpatterns = [
path('invoices', views.invoices, name='invoices'),
# DETAILS
path('invoice-details/<int:order_id>/', views.invoice_details, name='invoicedetails'),
path('invoice-details/<int:order_id>', views.invoice_details, name='invoicedetails'),
path('fetch-customer-items/<int:customer_id>/', views.fetch_customer_items, name='fetch_customer_items'),

@ -45,7 +45,7 @@ def invoice_details(request, order_id):
'order' : order,
}
return render(request, 'invoice-details.html', context)
return render(request, 'details_templates/invoice-details.html', context)

Binary file not shown.

@ -19,9 +19,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.13/css/intlTelInput.css">
<style>
.iti {
width: 100%;
}
</style>
</head>

@ -25,6 +25,7 @@ urlpatterns = [
path('login', views.signin, name='signin'),
path('go_online/', views.go_online, name='go_online'),
path('logout/', views.signout, name='signout'),
path('check-email-availability/', views.check_email_availability, name='check-email-availability'),
path('', views.home, name='home'),
path('statusmobilemodal/', views.status_mobile_modal, name='statusmobilemodal'),
path('userrecentativities/<int:user_id>', views.user_recent_activities_modal, name='userrecentativities'),

@ -69,6 +69,15 @@ def go_online(request):
return HttpResponse('<script>window.top.location.reload();</script>')
def check_email_availability(request):
if request.method == "GET":
email = request.GET.get("email")
if User.objects.filter(email=email).exists():
response_data = {"exists": True}
else:
response_data = {"exists": False}
return JsonResponse(response_data)
@login_required

@ -0,0 +1,83 @@
.mainContainer {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 20px;
}
.mainContainer img {
width: 150px;
}
.invoiceDetails {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.customerDetails {
display: flex;
flex-direction: column;
gap: 5px;
}
.customerDetails h1 {
color: rgb(181, 181, 181);
font-size: 18px;
}
.customerDetails p {
color: #374a7a;
}
.companyDetails {
display: flex;
align-items: end;
flex-direction: column;
gap: 5px;
color: #374a7a;
}
.invoiceItemsBar {
width: 100%;
height: 50px;
background-color: #374a7a;
padding: 10px 20px;
margin: 20px 0px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
color: white;
font-weight: 600;
}
.invoiceItemsContainer {
width: 100%;
padding: 0px 20px;
}
.invoiceItemsContainer ul {
color: #374a7a;
list-style: circle;
}
.totalContainer {
width: 100%;
display: flex;
justify-content: end;
margin-top: 20px;
font-size: 20px;
}
.totalContainer p {
color: rgb(181, 181, 181);
}
.totalContainer p span {
font-weight: 600;
color: #374a7a;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

@ -1,13 +1,13 @@
// function refreshUserActivityContainer() {
function refreshUserActivityContainer() {
// $.ajax({
// url: '/getupdatedactivities/',
// method: 'GET',
// dataType: 'html',
// success: function(data) {
// $('#activitiesContainer').html(data);
// }
// });
// }
$.ajax({
url: '/getupdatedactivities/',
method: 'GET',
dataType: 'html',
success: function(data) {
$('#activitiesContainer').html(data);
}
});
}
// setInterval(refreshUserActivityContainer, 60000);
setInterval(refreshUserActivityContainer, 60000);
Loading…
Cancel
Save