mirror of https://github.com/itflow-org/itflow
Ticket categories
Add basic support for categorising tickets (e.g. Software/Network)
This commit is contained in:
parent
5210fae3ec
commit
159c1d78a0
|
|
@ -93,6 +93,12 @@ if (isset($_GET['archived'])) {
|
|||
echo 'btn-default';
|
||||
} ?>">Payment
|
||||
Method</a>
|
||||
<a href="?category=Ticket"
|
||||
class="btn <?php if ($category == 'Ticket') {
|
||||
echo 'btn-primary';
|
||||
} else {
|
||||
echo 'btn-default';
|
||||
} ?>">Ticket</a>
|
||||
<a href="?archived=1"
|
||||
class="btn <?php if (isset($_GET['archived'])) {
|
||||
echo 'btn-primary';
|
||||
|
|
|
|||
|
|
@ -188,6 +188,7 @@ if (isset($_POST['edit_ticket'])) {
|
|||
$ticket_id = intval($_POST['ticket_id']);
|
||||
$contact_id = intval($_POST['contact']);
|
||||
$notify = intval($_POST['contact_notify']);
|
||||
$category = intval($_POST['category']);
|
||||
$subject = sanitizeInput($_POST['subject']);
|
||||
$billable = intval($_POST['billable']);
|
||||
$priority = sanitizeInput($_POST['priority']);
|
||||
|
|
@ -200,7 +201,7 @@ if (isset($_POST['edit_ticket'])) {
|
|||
$client_id = intval($_POST['client_id']);
|
||||
$ticket_number = sanitizeInput($_POST['ticket_number']);
|
||||
|
||||
mysqli_query($mysqli, "UPDATE tickets SET ticket_subject = '$subject', ticket_priority = '$priority', ticket_billable = $billable, ticket_details = '$details', ticket_vendor_ticket_number = '$vendor_ticket_number', ticket_contact_id = $contact_id, ticket_vendor_id = $vendor_id, ticket_location_id = $location_id, ticket_asset_id = $asset_id, ticket_project_id = $project_id WHERE ticket_id = $ticket_id");
|
||||
mysqli_query($mysqli, "UPDATE tickets SET ticket_category = $category, ticket_subject = '$subject', ticket_priority = '$priority', ticket_billable = $billable, ticket_details = '$details', ticket_vendor_ticket_number = '$vendor_ticket_number', ticket_contact_id = $contact_id, ticket_vendor_id = $vendor_id, ticket_location_id = $location_id, ticket_asset_id = $asset_id, ticket_project_id = $project_id WHERE ticket_id = $ticket_id");
|
||||
|
||||
// Notify new contact if selected
|
||||
if ($notify && !empty($config_smtp_host)) {
|
||||
|
|
|
|||
21
ticket.php
21
ticket.php
|
|
@ -30,6 +30,7 @@ if (isset($_GET['ticket_id'])) {
|
|||
LEFT JOIN projects ON ticket_project_id = project_id
|
||||
LEFT JOIN invoices ON ticket_invoice_id = invoice_id
|
||||
LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id
|
||||
LEFT JOIN categories ON ticket_category = category_id
|
||||
WHERE ticket_id = $ticket_id LIMIT 1"
|
||||
);
|
||||
|
||||
|
|
@ -54,7 +55,8 @@ if (isset($_GET['ticket_id'])) {
|
|||
|
||||
$ticket_prefix = nullable_htmlentities($row['ticket_prefix']);
|
||||
$ticket_number = intval($row['ticket_number']);
|
||||
$ticket_category = nullable_htmlentities($row['ticket_category']);
|
||||
$ticket_category = intval($row['ticket_category']);
|
||||
$ticket_category_display = htmlentities($row['category_name']);
|
||||
$ticket_subject = nullable_htmlentities($row['ticket_subject']);
|
||||
$ticket_details = $purifier->purify($row['ticket_details']);
|
||||
$ticket_priority = nullable_htmlentities($row['ticket_priority']);
|
||||
|
|
@ -404,18 +406,25 @@ if (isset($_GET['ticket_id'])) {
|
|||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<?php if($task_count) { ?>
|
||||
<?php if ($task_count) { ?>
|
||||
Tasks Completed<span class="float-right text-bold"><?php echo $tasks_completed_percent; ?>%</span>
|
||||
<div class="progress mt-2" style="height: 20px;">
|
||||
<div class="progress-bar" style="width: <?php echo $tasks_completed_percent; ?>%;"><?php echo $completed_task_count; ?> / <?php echo $task_count; ?></div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($ticket_collaborators) { ?>
|
||||
<?php if ($ticket_collaborators) { ?>
|
||||
<div class="mt-2">
|
||||
<i class="fas fa-fw fa-users mr-2 text-secondary"></i><?php echo $ticket_collaborators; ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($ticket_category > 0) { ?>
|
||||
<div class="mt-2">
|
||||
<i class="fas fa-fw fa-layer-group mr-2 text-secondary"></i><?php echo $ticket_category_display; ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
|
|
@ -451,7 +460,7 @@ if (isset($_GET['ticket_id'])) {
|
|||
<?php }
|
||||
|
||||
if (empty($ticket_closed_at)) { ?>
|
||||
<?php if($task_count == $completed_task_count) { ?>
|
||||
<?php if ($task_count == $completed_task_count) { ?>
|
||||
<a href="post.php?close_ticket=<?php echo $ticket_id; ?>" class="btn btn-dark btn-sm confirm-link" id="ticket_close">
|
||||
<i class="fas fa-fw fa-gavel mr-2"></i>Close
|
||||
</a>
|
||||
|
|
@ -625,7 +634,7 @@ if (isset($_GET['ticket_id'])) {
|
|||
<!-- End IF for reply modal -->
|
||||
<?php } ?>
|
||||
|
||||
<?php if($ticket_responses) { ?><h5 class="mb-4">Responses (<?php echo $ticket_responses; ?>)</h5><?php } ?>
|
||||
<?php if ($ticket_responses) { ?><h5 class="mb-4">Responses (<?php echo $ticket_responses; ?>)</h5><?php } ?>
|
||||
|
||||
<!-- Ticket replies -->
|
||||
<?php
|
||||
|
|
@ -837,7 +846,7 @@ if (isset($_GET['ticket_id'])) {
|
|||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<?php if($task_completed_at) { ?>
|
||||
<?php if ($task_completed_at) { ?>
|
||||
<i class="far fa-fw fa-check-square text-primary"></i>
|
||||
<?php } else { ?>
|
||||
<a href="post.php?complete_task=<?php echo $task_id; ?>">
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@
|
|||
<textarea class="form-control tinymce" rows="8" name="details"><?php echo $ticket_details; ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Priority <strong class="text-danger">*</strong></label>
|
||||
<div class="input-group">
|
||||
|
|
@ -68,6 +70,32 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col">
|
||||
<div class="form-group">
|
||||
<label>Category</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text"><i class="fa fa-fw fa-layer-group"></i></span>
|
||||
</div>
|
||||
<select class="form-control select2" name="category">
|
||||
<option value="">- Ticket Category -</option>
|
||||
<?php
|
||||
$sql_categories = mysqli_query($mysqli, "SELECT * FROM categories WHERE category_type = 'Ticket' AND categories.category_archived_at IS NULL");
|
||||
while ($row = mysqli_fetch_array($sql_categories)) {
|
||||
$category_id = intval($row['category_id']);
|
||||
$category_name = nullable_htmlentities($row['category_name']);
|
||||
|
||||
?>
|
||||
<option <?php if ($ticket_category == $category_id) {echo "selected";} ?> value="<?php echo $category_id; ?>"><?php echo $category_name; ?></option>
|
||||
<?php } ?>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($config_module_enable_accounting) {
|
||||
?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue