diff --git a/include/class.ticket.php b/include/class.ticket.php index 9f8ce96d5649c75c9a9035aad404e9aef39fdeb8..bd472c51d033861dfd55107f13a122d7e271435c 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1704,15 +1704,15 @@ class Ticket { $fields['email'] = array('type'=>'email', 'required'=>1, 'error'=>'Valid email required'); $fields['subject'] = array('type'=>'string', 'required'=>1, 'error'=>'Subject required'); $fields['topicId'] = array('type'=>'int', 'required'=>1, 'error'=>'Help topic required'); - $fields['slaId'] = array('type'=>'int', 'required'=>1, 'error'=>'SLA required'); $fields['priorityId'] = array('type'=>'int', 'required'=>1, 'error'=>'Priority required'); + $fields['slaId'] = array('type'=>'int', 'required'=>0, 'error'=>'Select SLA'); $fields['phone'] = array('type'=>'phone', 'required'=>0, 'error'=>'Valid phone # required'); $fields['duedate'] = array('type'=>'date', 'required'=>0, 'error'=>'Invalid date - must be MM/DD/YY'); $fields['note'] = array('type'=>'text', 'required'=>1, 'error'=>'Reason for the update required'); if(!Validator::process($fields, $vars, $errors) && !$errors['err']) - $errors['err'] ='Missing or invalid data - check the errors and try again'; + $errors['err'] = 'Missing or invalid data - check the errors and try again'; if($vars['duedate']) { if($this->isClosed()) @@ -2004,10 +2004,17 @@ class Ticket { $priorityId=$priorityId?$priorityId:$topic->getPriorityId(); if($autorespond) $autorespond=$topic->autoRespond(); $source=$vars['source']?$vars['source']:'Web'; + + //Auto assignment. if (!isset($vars['staffId']) && $topic->getStaffId()) $vars['staffId'] = $topic->getStaffId(); elseif (!isset($vars['teamId']) && $topic->getTeamId()) $vars['teamId'] = $topic->getTeamId(); + + //set default sla. + if(!isset($vars['slaId']) && $topic->getSLAId()) + $vars['slaId'] = $topic->getSLAId(); + }elseif($vars['emailId'] && !$vars['deptId'] && ($email=Email::lookup($vars['emailId']))) { //Emailed Tickets $deptId=$email->getDeptId(); $priorityId=$priorityId?$priorityId:$email->getPriorityId(); @@ -2207,7 +2214,7 @@ class Ticket { function checkOverdue() { $sql='SELECT ticket_id FROM '.TICKET_TABLE.' T1 ' - .' JOIN '.SLA_TABLE.' T2 ON (T1.sla_id=T2.id) ' + .' INNER JOIN '.SLA_TABLE.' T2 ON (T1.sla_id=T2.id AND T2.isactive=1) ' .' WHERE status=\'open\' AND isoverdue=0 ' .' AND ((reopened is NULL AND duedate is NULL AND TIME_TO_SEC(TIMEDIFF(NOW(),T1.created))>=T2.grace_period*3600) ' .' OR (reopened is NOT NULL AND duedate is NULL AND TIME_TO_SEC(TIMEDIFF(NOW(),reopened))>=T2.grace_period*3600) ' diff --git a/include/staff/ticket-edit.inc.php b/include/staff/ticket-edit.inc.php index 39093db710d6ca41cf681232ed4fa082b1278532..5f5a0a4d2e2e86816e64039bfb6ede821f5379b5 100644 --- a/include/staff/ticket-edit.inc.php +++ b/include/staff/ticket-edit.inc.php @@ -24,7 +24,7 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo()); Full Name: </td> <td> - <input type="text" size="45" name="name" value="<?php echo $info['name']; ?>"> + <input type="text" size="50" name="name" value="<?php echo $info['name']; ?>"> <span class="error">* <?php echo $errors['name']; ?></span> </td> </tr> @@ -33,7 +33,7 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo()); Email Address: </td> <td> - <input type="text" size="45" name="email" value="<?php echo $info['email']; ?>"> + <input type="text" size="50" name="email" value="<?php echo $info['email']; ?>"> <span class="error">* <?php echo $errors['email']; ?></span> </td> </tr> @@ -42,9 +42,9 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo()); Phone Number: </td> <td> - <input type="text" size="18" name="phone" value="<?php echo $info['phone']; ?>"> + <input type="text" size="20" name="phone" value="<?php echo $info['phone']; ?>"> <span class="error"> <?php echo $errors['phone']; ?></span> - Ext <input type="text" size="5" name="phone_ext" value="<?php echo $info['phone_ext']; ?>"> + Ext <input type="text" size="6" name="phone_ext" value="<?php echo $info['phone_ext']; ?>"> <span class="error"> <?php echo $errors['phone_ext']; ?></span> </td> </tr> @@ -109,11 +109,20 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo()); </tr> <tr> <td width="160" class="required"> - SLA: + Subject: + </td> + <td> + <input type="text" name="subject" size="60" value="<?php echo $info['subject']; ?>"> + <font class="error">* <?php $errors['subject']; ?></font> + </td> + </tr> + <tr> + <td width="160"> + SLA Plan: </td> <td> <select name="slaId"> - <option value="" selected >— Select SLA —</option> + <option value="0" selected="selected" >— None —</option> <?php if($slas=SLA::getSLAs()) { foreach($slas as $id =>$name) { @@ -123,16 +132,7 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo()); } ?> </select> - <font class="error">* <?php echo $errors['slaId']; ?></font> - </td> - </tr> - <tr> - <td width="160" class="required"> - Subject: - </td> - <td> - <input type="text" name="subject" size="60" value="<?php echo $info['subject']; ?>"> - <font class="error">* <?php $errors['subject']; ?></font> + <font class="error"> <?php echo $errors['slaId']; ?></font> </td> </tr> <tr>