-
Notifications
You must be signed in to change notification settings - Fork 2
/
tenants.php
139 lines (125 loc) · 4.22 KB
/
tenants.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?php include('db_connect.php'); ?>
<div class="container-fluid">
<div class="col-lg-12">
<div class="row mb-4 mt-4">
<div class="col-md-12">
</div>
</div>
<div class="row">
<!-- FORM Panel -->
<!-- Table Panel -->
<div class="col-md-12">
<div class="card">
<div class="card-header">
<b>List of Tenant</b>
<span class="float:right"><a class="btn btn-primary btn-block btn-sm col-sm-2 float-right" href="javascript:void(0)" id="new_tenant">
<i class="fa fa-plus"></i> New Tenant
</a></span>
</div>
<div class="card-body">
<table class="table table-condensed table-bordered table-hover">
<thead>
<tr>
<th class="text-center">#</th>
<th class="">Name</th>
<th class="">House Rented</th>
<th class="">Monthly Rate</th>
<th class="">Outstanding Balance</th>
<th class="">Last Payment</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$tenant = $conn->query("SELECT t.*,concat(t.lastname,', ',t.firstname,' ',t.middlename) as name,h.house_no,h.price FROM tenants t inner join houses h on h.id = t.house_id where t.status = 1 order by h.house_no desc ");
while ($row = $tenant->fetch_assoc()) :
$months = abs(strtotime(date('Y-m-d') . " 23:59:59") - strtotime($row['date_in'] . " 23:59:59"));
$months = floor(($months) / (30 * 60 * 60 * 24));
$payable = $row['price'] * $months;
$paid = $conn->query("SELECT SUM(amount) as paid FROM payments where tenant_id =" . $row['id']);
$last_payment = $conn->query("SELECT * FROM payments where tenant_id =" . $row['id'] . " order by unix_timestamp(date_created) desc limit 1");
$paid = $paid->num_rows > 0 ? $paid->fetch_array()['paid'] : 0;
$last_payment = $last_payment->num_rows > 0 ? date("M d, Y", strtotime($last_payment->fetch_array()['date_created'])) : 'N/A';
$outstanding = $payable - $paid;
?>
<tr>
<td class="text-center"><?php echo $i++ ?></td>
<td>
<?php echo ucwords($row['name']) ?>
</td>
<td class="">
<p> <b><?php echo $row['house_no'] ?></b></p>
</td>
<td class="">
<p> <b><?php echo number_format($row['price'], 2) ?></b></p>
</td>
<td class="text-right">
<p> <b><?php echo number_format($outstanding, 2) ?></b></p>
</td>
<td class="">
<p><b><?php echo $last_payment ?></b></p>
</td>
<td class="text-center">
<button class="btn btn-sm btn-outline-primary view_payment" type="button" data-id="<?php echo $row['id'] ?>">View</button>
<button class="btn btn-sm btn-outline-primary edit_tenant" type="button" data-id="<?php echo $row['id'] ?>">Edit</button>
<button class="btn btn-sm btn-outline-danger delete_tenant" type="button" data-id="<?php echo $row['id'] ?>">Delete</button>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
<!-- Table Panel -->
</div>
</div>
</div>
<style>
td {
vertical-align: middle !important;
}
td p {
margin: unset
}
img {
max-width: 100px;
max-height: :150px;
}
</style>
<script>
$(document).ready(function() {
$('table').dataTable()
})
$('#new_tenant').click(function() {
uni_modal("New Tenant", "manage_tenant.php", "mid-large")
})
$('.view_payment').click(function() {
uni_modal("Tenants Payments", "view_payment.php?id=" + $(this).attr('data-id'), "large")
})
$('.edit_tenant').click(function() {
uni_modal("Manage Tenant Details", "manage_tenant.php?id=" + $(this).attr('data-id'), "mid-large")
})
$('.delete_tenant').click(function() {
_conf("Are you sure to delete this Tenant?", "delete_tenant", [$(this).attr('data-id')])
})
function delete_tenant($id) {
start_load()
$.ajax({
url: 'ajax.php?action=delete_tenant',
method: 'POST',
data: {
id: $id
},
success: function(resp) {
if (resp == 1) {
alert_toast("Data successfully deleted", 'success')
setTimeout(function() {
location.reload()
}, 1500)
}
}
})
}
</script>