mirror of
https://github.com/itflow-org/itflow
synced 2026-03-01 03:14:52 +00:00
Added Open and Closed Project button to projects list, renamed complete to close for projects
This commit is contained in:
@@ -45,11 +45,11 @@ if (isset($_POST['edit_project'])) {
|
|||||||
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['complete_project'])) {
|
if (isset($_GET['close_project'])) {
|
||||||
|
|
||||||
validateTechRole();
|
validateTechRole();
|
||||||
|
|
||||||
$project_id = intval($_GET['complete_project']);
|
$project_id = intval($_GET['close_project']);
|
||||||
|
|
||||||
// Get Project Name and client id for logging
|
// Get Project Name and client id for logging
|
||||||
$sql = mysqli_query($mysqli, "SELECT * FROM projects WHERE project_id = $project_id");
|
$sql = mysqli_query($mysqli, "SELECT * FROM projects WHERE project_id = $project_id");
|
||||||
@@ -60,9 +60,9 @@ if (isset($_GET['complete_project'])) {
|
|||||||
mysqli_query($mysqli, "UPDATE projects SET project_completed_at = NOW() WHERE project_id = $project_id");
|
mysqli_query($mysqli, "UPDATE projects SET project_completed_at = NOW() WHERE project_id = $project_id");
|
||||||
|
|
||||||
// Logging
|
// Logging
|
||||||
mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Project', log_action = 'Complete', log_description = '$session_name marked project $project_name completed', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $project_id");
|
mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Project', log_action = 'Close', log_description = '$session_name closed project $project_name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_client_id = $client_id, log_user_id = $session_user_id, log_entity_id = $project_id");
|
||||||
|
|
||||||
$_SESSION['alert_message'] = "You marked Project <strong>$project_name</strong> as completed";
|
$_SESSION['alert_message'] = "You closed Project <strong>$project_name</strong>";
|
||||||
|
|
||||||
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ if (isset($_GET['project_id'])) {
|
|||||||
$client_name = nullable_htmlentities($row['client_name']);
|
$client_name = nullable_htmlentities($row['client_name']);
|
||||||
|
|
||||||
if($project_completed_at) {
|
if($project_completed_at) {
|
||||||
$project_status_display = "<span class='badge badge-pill badge-dark ml-2'>Complete</span>";
|
$project_status_display = "<span class='badge badge-pill badge-dark ml-2'>Closed</span>";
|
||||||
} else {
|
} else {
|
||||||
$project_status_display = "<span class='badge badge-pill badge-primary ml-2'>Open</span>";
|
$project_status_display = "<span class='badge badge-pill badge-primary ml-2'>Open</span>";
|
||||||
}
|
}
|
||||||
@@ -128,8 +128,8 @@ if (isset($_GET['project_id'])) {
|
|||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<div class="btn-group float-right d-print-none">
|
<div class="btn-group float-right d-print-none">
|
||||||
<?php if($tickets_closed_percent == 100 && empty($project_completed_at)) { ?>
|
<?php if($tickets_closed_percent == 100 && empty($project_completed_at)) { ?>
|
||||||
<a class="btn btn-primary btn-sm confirm-link" href="post.php?complete_project=<?php echo $project_id; ?>">
|
<a class="btn btn-primary btn-sm confirm-link" href="post.php?close_project=<?php echo $project_id; ?>">
|
||||||
<i class="fas fa-fw fa-check mr-2"></i>Complete
|
<i class="fas fa-fw fa-check mr-2"></i>Close
|
||||||
</a>
|
</a>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<div class="dropdown dropleft text-center ml-3">
|
<div class="dropdown dropleft text-center ml-3">
|
||||||
|
|||||||
35
projects.php
35
projects.php
@@ -6,6 +6,20 @@ $order = "ASC";
|
|||||||
|
|
||||||
require_once "inc_all.php";
|
require_once "inc_all.php";
|
||||||
|
|
||||||
|
// Status Query
|
||||||
|
|
||||||
|
$status = 0;
|
||||||
|
|
||||||
|
if (isset($_GET['status'])) {
|
||||||
|
$status = intval($_GET['status']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($status == 1) {
|
||||||
|
$status_query = "IS NOT NULL";
|
||||||
|
} else {
|
||||||
|
$status_query = "IS NULL";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//Rebuild URL
|
//Rebuild URL
|
||||||
$url_query_strings_sort = http_build_query($get_copy);
|
$url_query_strings_sort = http_build_query($get_copy);
|
||||||
@@ -17,6 +31,7 @@ $sql_projects = mysqli_query(
|
|||||||
WHERE DATE(project_created_at) BETWEEN '$dtf' AND '$dtt'
|
WHERE DATE(project_created_at) BETWEEN '$dtf' AND '$dtt'
|
||||||
AND (project_name LIKE '%$q%' OR project_description LIKE '%$q%')
|
AND (project_name LIKE '%$q%' OR project_description LIKE '%$q%')
|
||||||
AND project_archived_at IS NULL
|
AND project_archived_at IS NULL
|
||||||
|
AND project_completed_at $status_query
|
||||||
ORDER BY $sort $order LIMIT $record_from, $record_to"
|
ORDER BY $sort $order LIMIT $record_from, $record_to"
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -44,6 +59,15 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="btn-toolbar float-right">
|
||||||
|
<div class="btn-group mr-2">
|
||||||
|
<a href="?status=0" class="btn btn-<?php if($status == 0){ echo "primary"; } else { echo "default"; } ?>"><i class="fa fa-fw fa-door-open mr-2"></i>Open</a>
|
||||||
|
<a href="?status=1" class="btn btn-<?php if($status == 1){ echo "primary"; } else { echo "default"; } ?>"><i class="fa fa-fw fa-door-closed mr-2"></i>Closed</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse mt-3 <?php if (!empty($_GET['dtf']) || $_GET['canned_date'] !== "custom" ) { echo "show"; } ?>" id="advancedFilter">
|
<div class="collapse mt-3 <?php if (!empty($_GET['dtf']) || $_GET['canned_date'] !== "custom" ) { echo "show"; } ?>" id="advancedFilter">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -85,7 +109,11 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
<tr>
|
<tr>
|
||||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=project_name&order=<?php echo $disp; ?>">Project</a></th>
|
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=project_name&order=<?php echo $disp; ?>">Project</a></th>
|
||||||
<th>Tickets / Tasks</th>
|
<th>Tickets / Tasks</th>
|
||||||
<th>Due</th>
|
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=project_due&order=<?php echo $disp; ?>">Due</a></th>
|
||||||
|
|
||||||
|
<?php if ($status == 1) { ?>
|
||||||
|
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=project_completed_at&order=<?php echo $disp; ?>">Completed</a></th>
|
||||||
|
<?php } ?>
|
||||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=client_name&order=<?php echo $disp; ?>">Client</a></th>
|
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=client_name&order=<?php echo $disp; ?>">Client</a></th>
|
||||||
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=project_created_at&order=<?php echo $disp; ?>">Created</a></th>
|
<th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=project_created_at&order=<?php echo $disp; ?>">Created</a></th>
|
||||||
<th class="text-center">Action</th>
|
<th class="text-center">Action</th>
|
||||||
@@ -99,6 +127,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
$project_name = nullable_htmlentities($row['project_name']);
|
$project_name = nullable_htmlentities($row['project_name']);
|
||||||
$project_description = nullable_htmlentities($row['project_description']);
|
$project_description = nullable_htmlentities($row['project_description']);
|
||||||
$project_due = nullable_htmlentities($row['project_due']);
|
$project_due = nullable_htmlentities($row['project_due']);
|
||||||
|
$project_completed_at = date("Y-m-d", strtotime($row['project_completed_at']));
|
||||||
$project_created_at = date("Y-m-d", strtotime($row['project_created_at']));
|
$project_created_at = date("Y-m-d", strtotime($row['project_created_at']));
|
||||||
$project_updated_at = nullable_htmlentities($row['project_updated_at']);
|
$project_updated_at = nullable_htmlentities($row['project_updated_at']);
|
||||||
|
|
||||||
@@ -170,6 +199,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
</td>
|
</td>
|
||||||
<td><?php echo $project_due; ?></td>
|
<td><?php echo $project_due; ?></td>
|
||||||
|
<?php if ($status == 1) { ?>
|
||||||
|
<td><?php echo $project_completed_at; ?></td>
|
||||||
|
<?php } ?>
|
||||||
<td>
|
<td>
|
||||||
<a href="client_tickets.php?client_id=<?php echo $client_id; ?>">
|
<a href="client_tickets.php?client_id=<?php echo $client_id; ?>">
|
||||||
<?php echo $client_name; ?>
|
<?php echo $client_name; ?>
|
||||||
@@ -182,6 +214,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
<i class="fas fa-ellipsis-h"></i>
|
<i class="fas fa-ellipsis-h"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
|
|
||||||
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editProjectModal<?php echo $project_id; ?>">
|
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editProjectModal<?php echo $project_id; ?>">
|
||||||
<i class="fas fa-fw fa-edit mr-2"></i>Edit
|
<i class="fas fa-fw fa-edit mr-2"></i>Edit
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
Reference in New Issue
Block a user