mirror of
https://github.com/itflow-org/itflow
synced 2026-02-28 19:04:52 +00:00
Add task approval system
This commit is contained in:
@@ -14,6 +14,14 @@ $task_name = nullable_htmlentities($row['task_name']);
|
||||
$task_completion_estimate = intval($row['task_completion_estimate']);
|
||||
$task_completed_at = nullable_htmlentities($row['task_completed_at']);
|
||||
|
||||
// Approvals
|
||||
$sql_task_approvals = mysqli_query($mysqli, "
|
||||
SELECT user_name, approval_id, approval_scope, approval_type, approval_required_user_id, approval_status, approval_created_by, approval_approved_by FROM task_approvals
|
||||
LEFT JOIN users ON user_id = approval_required_user_id
|
||||
WHERE approval_task_id = $task_id
|
||||
ORDER BY approval_approved_by"
|
||||
);
|
||||
|
||||
// Generate the HTML form content using output buffering.
|
||||
ob_start();
|
||||
|
||||
@@ -27,7 +35,7 @@ ob_start();
|
||||
</div>
|
||||
<form action="post.php" method="post" autocomplete="off">
|
||||
<input type="hidden" name="task_id" value="<?php echo $task_id; ?>">
|
||||
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-group">
|
||||
@@ -49,7 +57,53 @@ ob_start();
|
||||
<input type="number" class="form-control" name="completion_estimate" placeholder="Estimated time to complete task in mins" value="<?php echo $task_completion_estimate; ?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?php if (mysqli_num_rows($sql_task_approvals) > 0) { ?>
|
||||
<hr>
|
||||
<div class="form-group">
|
||||
<b>Task Approvals</b>
|
||||
|
||||
<table class="table table-sm table-bordered" style="margin-top:10px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Scope</th>
|
||||
<th>Type</th>
|
||||
<th>Status</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php while ($row = mysqli_fetch_array($sql_task_approvals)) {
|
||||
$approval_id = intval($row['approval_id']);
|
||||
$approval_scope = nullable_htmlentities($row['approval_scope']);
|
||||
$approval_type = nullable_htmlentities($row['approval_type']);
|
||||
$approval_user_name = nullable_htmlentities($row['user_name']);
|
||||
$approval_status = nullable_htmlentities($row['approval_status']);
|
||||
$approval_created_by = intval($row['approval_created_by']);
|
||||
$approval_approved_by = nullable_htmlentities($row['approval_approved_by']);
|
||||
?>
|
||||
<tr>
|
||||
<td><?= ucfirst($approval_scope) ?></td>
|
||||
<td><?= ucfirst($approval_type) ?> <?php if (!empty($approval_user_name)) { echo " - $approval_user_name"; } ?></td>
|
||||
<td><?= ucfirst($approval_status) ?></td>
|
||||
<td>
|
||||
<?php if ($approval_status !== 'approved') { ?>
|
||||
<a class="text-danger"
|
||||
onclick="return confirm('Delete this approval request?');"
|
||||
href="post.php?delete_ticket_task_approver=<?= $approval_id ?>&csrf_token=<?= $_SESSION['csrf_token'] ?>">
|
||||
<i class="fas fa-fw fa-trash-alt"></i>Delete
|
||||
</a>
|
||||
<!-- confirm-link won't work -->
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
|
||||
Reference in New Issue
Block a user