Newer
Older
<?php
if(!defined('OSTSCPINC') || !$thisstaff || !$thisstaff->canCreateTickets()) die('Access Denied');
$info=array();
$info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
?>
<form action="tickets.php?a=open" method="post" id="save" enctype="multipart/form-data">
<input type="hidden" name="do" value="create">
<input type="hidden" name="a" value="open">
<h2>Open New Ticket</h2>
<table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2">
<thead>
<tr>
<th colspan="2">
<h4>New Ticket</h4>
</th>
</tr>
</thead>
<tbody>
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
<tr>
<th colspan="2">
<em><strong>Client Information</strong>: </em>
</th>
</tr>
<?php
if ($user) { ?>
<tr><td>Client:</td><td>
<div id="client-info">
<span id="client-name"><?php echo $user->getName(); ?></span>
<span id="client-email"><<?php echo $user->getEmail(); ?>></span>
<a class="action-button" style="float:none;overflow:inherit" href="#"
onclick="javascript:
$.userLookup('ajax.php/users/select/<?php echo $user->getId(); ?>',
function(user) {
$('input#uid').val(user.id);
$('#client-name').html(user.name);
$('#client-email').text('<'+user.email+'>');
});
return false;
"><i class="icon-edit"></i> Change</a>
<input type="hidden" name="uid" id="uid" value="<?php echo $user->getId(); ?>" />
</div>
</td></tr>
<?php
} else { //Fallback: Just ask for email and name
?>
<tr>
<td width="160" class="required"> Email Address: </td>
<td>
<span style="display:inline-block;">
<input type="text" size=45 name="email" id="user-email" value="<?php echo $info['email']; ?>" /> </span>
<font class="error">* <?php echo $errors['email']; ?></font>
</td>
</td>
<tr>
<td width="160" class="required"> Full Name: </td>
<td>
<span style="display:inline-block;">
<input type="text" size=45 name="name" id="user-name" value="<?php echo $info['name']; ?>" /> </span>
<font class="error">* <?php echo $errors['name']; ?></font>
</td>
</td>
<?php
} ?>
<?php
if($cfg->notifyONNewStaffTicket()) { ?>
<td width="160">Ticket Notice:</td>
<input type="checkbox" name="alertuser" <?php echo (!$errors || $info['alertuser'])? 'checked="checked"': ''; ?>>Send alert to user.
<?php
} ?>
</tbody>
<tbody>
<em><strong>Ticket Information & Options</strong>:</em>
</th>
</tr>
<tr>
<td width="160" class="required">
Ticket Source:
</td>
<td>
<select name="source">
<option value="" selected >— Select Source —</option>
<option value="Phone" <?php echo ($info['source']=='Phone')?'selected="selected"':''; ?>>Phone</option>
<option value="Email" <?php echo ($info['source']=='Email')?'selected="selected"':''; ?>>Email</option>
<option value="Other" <?php echo ($info['source']=='Other')?'selected="selected"':''; ?>>Other</option>
</select>
<font class="error"><b>*</b> <?php echo $errors['source']; ?></font>
</td>
</tr>
<tr>
<td width="160" class="required">
Department:
</td>
<td>
<select name="deptId">
<option value="" selected >— Select Department —</option>
<?php
if($depts=Dept::getDepartments()) {
foreach($depts as $id =>$name) {
echo sprintf('<option value="%d" %s>%s</option>',
$id, ($info['deptId']==$id)?'selected="selected"':'',$name);
}
}
?>
</select>
<font class="error"><b>*</b> <?php echo $errors['deptId']; ?></font>
</td>
</tr>
<tr>
<td width="160" class="required">
Help Topic:
</td>
<td>
<select name="topicId" onchange="javascript:
$('#dynamic-form').load(
'ajax.php/form/help-topic/' + this.value);
">
<option value="" selected >— Select Help Topic —</option>
<?php
if($topics=Topic::getHelpTopics()) {
foreach($topics as $id =>$name) {
echo sprintf('<option value="%d" %s>%s</option>',
$id, ($info['topicId']==$id)?'selected="selected"':'',$name);
}
}
?>
</select>
<font class="error"><b>*</b> <?php echo $errors['topicId']; ?></font>
<td>
<select name="slaId">
<option value="0" selected="selected" >— System Default —</option>
if($slas=SLA::getSLAs()) {
foreach($slas as $id =>$name) {
echo sprintf('<option value="%d" %s>%s</option>',
$id, ($info['slaId']==$id)?'selected="selected"':'',$name);
</select>
<font class="error"> <?php echo $errors['slaId']; ?></font>
<td width="160">
Due Date:
</td>
<td>
<input class="dp" id="duedate" name="duedate" value="<?php echo Format::htmlchars($info['duedate']); ?>" size="12" autocomplete=OFF>
<?php
$min=$hr=null;
if($info['time'])
<font class="error"> <?php echo $errors['duedate']; ?> <?php echo $errors['time']; ?></font>
<em>Time is based on your time zone (GMT <?php echo $thisstaff->getTZoffset(); ?>)</em>
<?php
if($thisstaff->canAssignTickets()) { ?>
<tr>
<td width="160">Assign To:</td>
<td>
<select id="assignId" name="assignId">
<option value="0" selected="selected">— Select Staff Member OR a Team —</option>
<?php
if(($users=Staff::getAvailableStaffMembers())) {
echo '<OPTGROUP label="Staff Members ('.count($users).')">';
foreach($users as $id => $name) {
$k="s$id";
echo sprintf('<option value="%s" %s>%s</option>',
$k,(($info['assignId']==$k)?'selected="selected"':''),$name);
}
echo '</OPTGROUP>';
}
if(($teams=Team::getActiveTeams())) {
echo '<OPTGROUP label="Teams ('.count($teams).')">';
foreach($teams as $id => $name) {
$k="t$id";
echo sprintf('<option value="%s" %s>%s</option>',
$k,(($info['assignId']==$k)?'selected="selected"':''),$name);
}
echo '</OPTGROUP>';
}
?>
</select> <span class='error'> <?php echo $errors['assignId']; ?></span>
</td>
</tr>
<?php
}
TicketForm::getInstance()->render(true);
?>
<?php
if ($form) $form->render(true);
Peter Rotich
committed
<?php
//is the user allowed to post replies??
if($thisstaff->canPostReply()) {
?>
<th colspan="2">
<em><strong>Response</strong>: Optional response to the above issue.</em>
</th>
</tr>
<tr>
<td colspan=2>
<?php
if(($cannedResponses=Canned::getCannedResponses())) {
<div style="margin-top:0.3em;margin-bottom:0.5em">
Canned Response:
<select id="cannedResp" name="cannedResp">
<option value="0" selected="selected">— Select a canned response —</option>
<?php
foreach($cannedResponses as $id =>$title) {
echo sprintf('<option value="%d">%s</option>',$id,$title);
}
?>
</select>
<label><input type='checkbox' value='1' name="append" id="append" checked="checked">Append</label>
</div>
<?php
} ?>
<textarea class="richtext ifhtml draft draft-delete"
data-draft-namespace="ticket.staff.response"
placeholder="Intial response for the ticket"
name="response" id="response" cols="21" rows="8"
style="width:80%;"><?php echo $info['response']; ?></textarea>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
if($cfg->allowAttachments()) { ?>
<tr><td width="100" valign="top">Attachments:</td>
<td>
<div class="canned_attachments">
<?php
if($info['cannedattachments']) {
foreach($info['cannedattachments'] as $k=>$id) {
if(!($file=AttachmentFile::lookup($id))) continue;
$hash=$file->getHash().md5($file->getId().session_id().$file->getHash());
echo sprintf('<label><input type="checkbox" name="cannedattachments[]"
id="f%d" value="%d" checked="checked"
<a href="file.php?h=%s">%s</a> </label> ',
$file->getId(), $file->getId() , $hash, $file->getName());
}
}
?>
</div>
<div class="uploads"></div>
<div class="file_input">
<input type="file" class="multifile" name="attachments[]" size="30" value="" />
</div>
</td>
</tr>
Peter Rotich
committed
<?php
} ?>
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
<?php
if($thisstaff->canCloseTickets()) { ?>
<tr>
<td width="100">Ticket Status:</td>
<td>
<input type="checkbox" name="ticket_state" value="closed" <?php echo $info['ticket_state']?'checked="checked"':''; ?>>
<b>Close On Response</b> <em>(Only applicable if response is entered)</em>
</td>
</tr>
<?php
} ?>
<tr>
<td width="100">Signature:</td>
<td>
<?php
$info['signature']=$info['signature']?$info['signature']:$thisstaff->getDefaultSignatureType();
?>
<label><input type="radio" name="signature" value="none" checked="checked"> None</label>
<?php
if($thisstaff->getSignature()) { ?>
<label><input type="radio" name="signature" value="mine"
<?php echo ($info['signature']=='mine')?'checked="checked"':''; ?>> My signature</label>
<?php
} ?>
<label><input type="radio" name="signature" value="dept"
<?php echo ($info['signature']=='dept')?'checked="checked"':''; ?>> Dept. Signature (if set)</label>
</td>
</tr>
</table>
</td>
</tr>
Peter Rotich
committed
<?php
} //end canPostReply
?>
<em><strong>Internal Note</strong>
<font class="error"> <?php echo $errors['note']; ?></font></em>
<textarea class="richtext ifhtml draft draft-delete"
placeholder="Optional internal note (recommended on assignment)"
data-draft-namespace="ticket.staff.note" name="note"
cols="21" rows="6" style="width:80%;"
><?php echo $info['note']; ?></textarea>
</td>
</tr>
</tbody>
</table>
<p style="padding-left:250px;">
<input type="submit" name="submit" value="Open">
<input type="reset" name="reset" value="Reset">
<input type="button" name="cancel" value="Cancel" onclick='window.location.href="tickets.php"'>
<script type="text/javascript">
$(function() {
$('input#user-email').typeahead({
source: function (typeahead, query) {
$.ajax({
url: "ajax.php/users?q="+query,
dataType: 'json',
success: function (data) {
typeahead.process(data);
}
});
},
onselect: function (obj) {
$('#uid').val(obj.id);
$('#user-name').val(obj.name);
$('#user-email').val(obj.email);
},
property: "/bin/true"
});
});
</script>