mirror of
https://github.com/itflow-org/itflow
synced 2026-03-01 03:14:52 +00:00
Updated ticket details layout and added some additional functionality thanks to @aftechro
This commit is contained in:
18
post.php
18
post.php
@@ -4884,6 +4884,24 @@ if(isset($_POST['edit_ticket'])){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($_POST['assign_ticket'])){
|
||||||
|
|
||||||
|
$ticket_id = intval($_POST['ticket_id']);
|
||||||
|
$assigned_to = intval($_POST['assigned_to']);
|
||||||
|
|
||||||
|
mysqli_query($mysqli,"UPDATE tickets SET ticket_updated_at = NOW(), ticket_assigned_to = $assigned_to WHERE ticket_id = $ticket_id AND company_id = $session_company_id");
|
||||||
|
|
||||||
|
mysqli_query($mysqli,"INSERT INTO ticket_replies SET ticket_reply = 'Ticket re-assigned', ticket_reply_created_at = NOW(), ticket_reply_by = $session_user_id, ticket_reply_ticket_id = $ticket_id, company_id = $session_company_id") or die(mysqli_error($mysqli));
|
||||||
|
|
||||||
|
//Logging
|
||||||
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Modified', log_description = '$subject', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
|
||||||
|
|
||||||
|
$_SESSION['alert_message'] = "Ticket re-assigned";
|
||||||
|
|
||||||
|
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(isset($_GET['delete_ticket'])){
|
if(isset($_GET['delete_ticket'])){
|
||||||
$ticket_id = intval($_GET['delete_ticket']);
|
$ticket_id = intval($_GET['delete_ticket']);
|
||||||
|
|
||||||
|
|||||||
156
ticket.php
156
ticket.php
@@ -90,6 +90,12 @@ if(isset($_GET['ticket_id'])){
|
|||||||
$ticket_assigned_to_display = $row['user_name'];
|
$ticket_assigned_to_display = $row['user_name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($contact_id == $primary_contact){
|
||||||
|
$primary_contact_display = "<small class='text-success'>Primary Contact</small>";
|
||||||
|
}else{
|
||||||
|
$primary_contact_display = "<small class='text-danger'>Needs approval</small>";
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Breadcrumbs-->
|
<!-- Breadcrumbs-->
|
||||||
@@ -135,59 +141,6 @@ if(isset($_GET['ticket_id'])){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form class="mb-3" action="post.php" method="post" autocomplete="off">
|
|
||||||
<input type="hidden" name="ticket_id" value="<?php echo $ticket_id; ?>">
|
|
||||||
<div class="form-group">
|
|
||||||
<textarea class="form-control summernote" name="ticket_reply" required></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="form-row">
|
|
||||||
<div class="col-md-3">
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="input-group">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text"><i class="fa fa-fw fa-thermometer-half"></i></span>
|
|
||||||
</div>
|
|
||||||
<select class="form-control select2" name="status" required>
|
|
||||||
<option <?php if($ticket_status == 'Open'){ echo "selected"; } ?> >Open</option>
|
|
||||||
<option <?php if($ticket_status == 'Working'){ echo "selected"; } ?> >Working</option>
|
|
||||||
<option <?php if($ticket_status == 'On Hold'){ echo "selected"; } ?> >On Hold</option>
|
|
||||||
<option <?php if($ticket_status == 'Closed'){ echo "selected"; } ?> >Closed</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php if(!empty($config_smtp_host) AND !empty($client_email)){ ?>
|
|
||||||
|
|
||||||
<div class="col-md-2">
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="custom-control custom-checkbox">
|
|
||||||
<input type="checkbox" class="custom-control-input" id="customControlAutosizing" name="email_ticket_reply" value="1" checked>
|
|
||||||
<label class="custom-control-label" for="customControlAutosizing">Email update to client</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<div class="col-md-1">
|
|
||||||
<button type="submit" name="add_ticket_reply" class="btn btn-primary"><i class="fa fa-fw fa-check"></i> Save</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if($ticket_status !== "Closed"){
|
|
||||||
?>
|
|
||||||
<div class="col-md-2">
|
|
||||||
<a href="post.php?close_ticket=<?php echo $ticket_id; ?>" class="btn btn-outline-danger btn-block">Close Ticket</a>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$sql = mysqli_query($mysqli,"SELECT * FROM ticket_replies LEFT JOIN users ON ticket_reply_by = user_id WHERE ticket_reply_ticket_id = $ticket_id AND ticket_reply_archived_at IS NULL ORDER BY ticket_reply_id DESC");
|
$sql = mysqli_query($mysqli,"SELECT * FROM ticket_replies LEFT JOIN users ON ticket_reply_by = user_id WHERE ticket_reply_ticket_id = $ticket_id AND ticket_reply_archived_at IS NULL ORDER BY ticket_reply_id DESC");
|
||||||
|
|
||||||
@@ -253,6 +206,49 @@ if(isset($_GET['ticket_id'])){
|
|||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<form class="mb-3" action="post.php" method="post" autocomplete="off">
|
||||||
|
<input type="hidden" name="ticket_id" value="<?php echo $ticket_id; ?>">
|
||||||
|
<div class="form-group">
|
||||||
|
<textarea class="form-control summernote" name="ticket_reply" required></textarea>
|
||||||
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text"><i class="fa fa-fw fa-thermometer-half"></i></span>
|
||||||
|
</div>
|
||||||
|
<select class="form-control select2" name="status" required>
|
||||||
|
<option <?php if($ticket_status == 'Open'){ echo "selected"; } ?> >Open</option>
|
||||||
|
<option <?php if($ticket_status == 'Working'){ echo "selected"; } ?> >Working</option>
|
||||||
|
<option <?php if($ticket_status == 'On Hold'){ echo "selected"; } ?> >On Hold</option>
|
||||||
|
<option <?php if($ticket_status == 'Closed'){ echo "selected"; } ?> >Closed</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php if(!empty($config_smtp_host) AND !empty($client_email)){ ?>
|
||||||
|
|
||||||
|
<div class="col-md-2">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox">
|
||||||
|
<input type="checkbox" class="custom-control-input" id="customControlAutosizing" name="email_ticket_reply" value="1" checked>
|
||||||
|
<label class="custom-control-label" for="customControlAutosizing">Email update to client</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
<div class="col-md-2">
|
||||||
|
<button type="submit" name="add_ticket_reply" class="btn btn-primary"><i class="fa fa-fw fa-check"></i> Save & Reply</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -262,7 +258,7 @@ if(isset($_GET['ticket_id'])){
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div>
|
<div>
|
||||||
<h4 class="text-secondary">Client</h4>
|
<h4 class="text-secondary">Client</h4>
|
||||||
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i> <?php echo $client_name; ?>
|
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i> <strong><?php echo strtoupper($client_name); ?></strong>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -273,8 +269,10 @@ if(isset($_GET['ticket_id'])){
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div>
|
<div>
|
||||||
<h4 class="text-secondary">Contact</h4>
|
<h4 class="text-secondary">Contact</h4>
|
||||||
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i> <?php echo $contact_name; ?>
|
<i class="fa fa-fw fa-user text-secondary ml-1 mr-2 mb-2"></i> <strong><?php echo strtoupper($contact_name); ?></strong>
|
||||||
<br>
|
<br>
|
||||||
|
<i class="fa fa-fw fa-info-circle text-secondary ml-1 mr-2 mb-2"></i> <?php echo $primary_contact_display; ?>
|
||||||
|
<hr>
|
||||||
<?php
|
<?php
|
||||||
if(!empty($location_name)){
|
if(!empty($location_name)){
|
||||||
?>
|
?>
|
||||||
@@ -319,7 +317,7 @@ if(isset($_GET['ticket_id'])){
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div>
|
<div>
|
||||||
<h4 class="text-secondary">Asset</h4>
|
<h4 class="text-secondary">Asset</h4>
|
||||||
<i class="fa fa-fw fa-desktop text-secondary ml-1 mr-2 mb-2"></i> <?php echo $asset_name; ?>
|
<i class="fa fa-fw fa-desktop text-secondary ml-1 mr-2 mb-2"></i> <strong><?php echo strtoupper($asset_name); ?></strong>
|
||||||
<br>
|
<br>
|
||||||
<?php
|
<?php
|
||||||
if(!empty($asset_make)){
|
if(!empty($asset_make)){
|
||||||
@@ -351,7 +349,6 @@ if(isset($_GET['ticket_id'])){
|
|||||||
|
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
|
|
||||||
<div class="card card-body mb-3">
|
<div class="card card-body mb-3">
|
||||||
<h4 class="text-secondary">Details</h4>
|
<h4 class="text-secondary">Details</h4>
|
||||||
<div class="ml-1"><i class="fa fa-fw fa-thermometer-half text-secondary mr-2 mb-2"></i> <?php echo $ticket_priority_display; ?></div>
|
<div class="ml-1"><i class="fa fa-fw fa-thermometer-half text-secondary mr-2 mb-2"></i> <?php echo $ticket_priority_display; ?></div>
|
||||||
@@ -359,6 +356,51 @@ if(isset($_GET['ticket_id'])){
|
|||||||
<div class="ml-1"><i class="fa fa-fw fa-clock text-secondary mr-2 mb-2"></i> <?php echo $ticket_created_at; ?></div>
|
<div class="ml-1"><i class="fa fa-fw fa-clock text-secondary mr-2 mb-2"></i> <?php echo $ticket_created_at; ?></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<form action="post.php" method="post">
|
||||||
|
<input type="hidden" name="ticket_id" value="<?php echo $ticket_id; ?>">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Assigned to</label>
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
|
||||||
|
</div>
|
||||||
|
<select class="form-control select2" name="assigned_to">
|
||||||
|
<option value="">Not Assigned</option>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$sql_assign_to_select = mysqli_query($mysqli,"SELECT * FROM users, user_companies WHERE users.user_id = user_companies.user_id AND user_companies.company_id = $session_company_id ORDER BY user_name ASC");
|
||||||
|
while($row = mysqli_fetch_array($sql_assign_to_select)){
|
||||||
|
$user_id = $row['user_id'];
|
||||||
|
$user_name = $row['user_name'];
|
||||||
|
?>
|
||||||
|
<option <?php if($ticket_assigned_to == $user_id){ echo "selected"; } ?> value="<?php echo $user_id; ?>"><?php echo $user_name; ?></option>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-append">
|
||||||
|
<button type="submit" class="btn btn-primary" name="assign_ticket"><i class="fas fa-check"></i></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
if($ticket_status !== "Closed"){
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="card card-body mb-2">
|
||||||
|
<div class="">
|
||||||
|
<a href="#" class="btn btn-outline-success btn-block">INVOICE</a>
|
||||||
|
<a href="post.php?close_ticket=<?php echo $ticket_id; ?>" class="btn btn-outline-danger btn-block">CLOSE TICKET</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user