You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							206 lines
						
					
					
						
							8.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							206 lines
						
					
					
						
							8.6 KiB
						
					
					
				| <?php | |
| if (!defined('OSTSCPINC') | |
|         || !$ticket | |
|         || !($ticket->checkStaffPerm($thisstaff, Ticket::PERM_EDIT))) | |
|     die('Access Denied'); | |
| 
 | |
| $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo(), true); | |
| if ($_POST) | |
|     // Reformat duedate to the display standard (but don't convert to local | |
|     // timezone) | |
|     $info['duedate'] = Format::date(strtotime($info['duedate']), false, false, 'UTC'); | |
| ?> | |
| <form action="tickets.php?id=<?php echo $ticket->getId(); ?>&a=edit" method="post" class="save"  enctype="multipart/form-data"> | |
|     <?php csrf_token(); ?> | |
|     <input type="hidden" name="do" value="update"> | |
|     <input type="hidden" name="a" value="edit"> | |
|     <input type="hidden" name="id" value="<?php echo $ticket->getId(); ?>"> | |
|     <div style="margin-bottom:20px; padding-top:5px;"> | |
|         <div class="pull-left flush-left"> | |
|             <h2><?php echo sprintf(__('Update Ticket #%s'),$ticket->getNumber());?></h2> | |
|         </div> | |
|     </div> | |
|     <table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2"> | |
|         <tbody> | |
|             <tr> | |
|                 <th colspan="2"> | |
|                     <em><strong><?php echo __('User Information'); ?></strong>: <?php echo __('Currently selected user'); ?></em> | |
|                 </th> | |
|             </tr> | |
|         <?php | |
|     if(!$info['user_id'] || !($user = User::lookup($info['user_id']))) | |
|         $user = $ticket->getUser(); | |
|     ?> | |
|     <tr><td><?php echo __('User'); ?>:</td><td> | |
|         <div id="client-info"> | |
|             <a href="#" onclick="javascript: | |
|                 $.userLookup('ajax.php/users/<?php echo $ticket->getOwnerId(); ?>/edit', | |
|                         function (user) { | |
|                             $('#client-name').text(user.name); | |
|                             $('#client-email').text(user.email); | |
|                         }); | |
|                 return false; | |
|                 "><i class="icon-user"></i> | |
|             <span id="client-name"><?php echo Format::htmlchars($user->getName()); ?></span> | |
|             <<span id="client-email"><?php echo $user->getEmail(); ?></span>> | |
|             </a> | |
|             <a class="inline action-button" style="overflow:inherit" href="#" | |
|                 onclick="javascript: | |
|                     $.userLookup('ajax.php/tickets/<?php echo $ticket->getId(); ?>/change-user', | |
|                             function(user) { | |
|                                 $('input#user_id').val(user.id); | |
|                                 $('#client-name').text(user.name); | |
|                                 $('#client-email').text('<'+user.email+'>'); | |
|                     }); | |
|                     return false; | |
|                 "><i class="icon-edit"></i> <?php echo __('Change'); ?></a> | |
|             <input type="hidden" name="user_id" id="user_id" | |
|                 value="<?php echo $info['user_id']; ?>" /> | |
|         </div> | |
|         </td></tr> | |
|     <tbody> | |
|         <tr> | |
|             <th colspan="2"> | |
|             <em><strong><?php echo __('Ticket Information'); ?></strong>: <?php echo __("Due date overrides SLA's grace period."); ?></em> | |
|             </th> | |
|         </tr> | |
|         <tr> | |
|             <td width="160" class="required"> | |
|                 <?php echo __('Ticket Source');?>: | |
|             </td> | |
|             <td> | |
|                 <select name="source"> | |
|                     <option value="" selected >— <?php | |
|                         echo __('Select Source');?> —</option> | |
|                     <?php | |
|                     $source = $info['source'] ?: 'Phone'; | |
|                     foreach (Ticket::getSources() as $k => $v) { | |
|                         echo sprintf('<option value="%s" %s>%s</option>', | |
|                                 $k, | |
|                                 ($source == $k ) ? 'selected="selected"' : '', | |
|                                 $v); | |
|                     } | |
|                     ?> | |
|                 </select> | |
|                  <font class="error"><b>*</b> <?php echo $errors['source']; ?></font> | |
|             </td> | |
|         </tr> | |
|         <tr> | |
|             <td width="160" class="required"> | |
|                 <?php echo __('Help Topic');?>: | |
|             </td> | |
|             <td> | |
|                 <select name="topicId"> | |
|                     <option value="" selected >— <?php echo __('Select Help Topic');?> —</option> | |
|                     <?php | |
|                     if ($topics=$thisstaff->getTopicNames()) { | |
|                       if($ticket->topic_id && !array_key_exists($ticket->topic_id, $topics)) { | |
|                         $topics[$ticket->topic_id] = $ticket->topic; | |
|                         $errors['topicId'] = sprintf(__('%s selected must be active'), __('Help Topic')); | |
|                       } | |
|                         foreach($topics as $id =>$name) { | |
|                             echo sprintf('<option value="%d" %s>%s</option>', | |
|                                     $id, ($info['topicId']==$id)?'selected="selected"':'',$name); | |
|                         } | |
|                     } | |
|                     ?> | |
|                 </select> | |
|  | |
|                 <?php | |
|                 if (!$info['topicId'] && $cfg->requireTopicToClose()) { | |
|                 ?><i class="icon-warning-sign help-tip warning" | |
|                     data-title="<?php echo __('Required to close ticket'); ?>" | |
|                     data-content="<?php echo __('Data is required in this field in order to close the related ticket'); ?>" | |
|                 ></i><?php | |
|                 } ?> | |
|                  <font class="error"><b>*</b> <?php echo $errors['topicId']; ?></font> | |
|             </td> | |
|         </tr> | |
|         <tr> | |
|             <td width="160"> | |
|                 <?php echo __('SLA Plan');?>: | |
|             </td> | |
|             <td> | |
|                 <select name="slaId"> | |
|                     <option value="0" selected="selected" >— <?php echo __('None');?> —</option> | |
|                     <?php | |
|                     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> | |
|         </tr> | |
|         <tr> | |
|             <td width="160"> | |
|                 <?php echo __('Due Date');?>: | |
|             </td> | |
|             <td> | |
|                 <?php | |
|                 $duedateField = Ticket::duedateField('duedate', $info['duedate']); | |
|                 $duedateField->render(); | |
|                 ?> | |
|                  <font class="error"> <?php echo $errors['duedate']; ?></font> | |
|                 <em><?php echo __('Time is based on your time zone');?> | |
|                     (<?php echo $cfg->getTimezone($thisstaff); ?>)</em> | |
|             </td> | |
|         </tr> | |
|     </tbody> | |
| </table> | |
| <table class="form_table dynamic-forms" width="940" border="0" cellspacing="0" cellpadding="2"> | |
|         <?php if ($forms) | |
|             foreach ($forms as $form) { | |
|                 $form->render(array('staff'=>true,'mode'=>'edit','width'=>160,'entry'=>$form)); | |
|         } ?> | |
| </table> | |
| <table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2"> | |
|     <tbody> | |
|         <tr> | |
|             <th colspan="2"> | |
|                 <em><strong><?php echo __('Internal Note');?></strong>: <?php echo __('Reason for editing the ticket (optional)');?> <font class="error"> <?php echo $errors['note'];?></font></em> | |
|             </th> | |
|         </tr> | |
|         <tr> | |
|             <td colspan="2"> | |
|                 <textarea class="richtext no-bar" name="note" cols="21" | |
|                     rows="6" style="width:80%;"><?php echo $info['note']; | |
|                     ?></textarea> | |
|             </td> | |
|         </tr> | |
|     </tbody> | |
| </table> | |
| <p style="text-align:center;"> | |
|     <input type="submit" name="submit" value="<?php echo __('Save');?>"> | |
|     <input type="reset"  name="reset"  value="<?php echo __('Reset');?>"> | |
|     <input type="button" name="cancel" value="<?php echo __('Cancel');?>" onclick='window.location.href="tickets.php?id=<?php echo $ticket->getId(); ?>"'> | |
| </p> | |
| </form> | |
| <div style="display:none;" class="dialog draggable" id="user-lookup"> | |
|     <div class="body"></div> | |
| </div> | |
| <script type="text/javascript"> | |
| +(function() { | |
|   var I = setInterval(function() { | |
|     if (!$.fn.sortable) | |
|       return; | |
|     clearInterval(I); | |
|     $('table.dynamic-forms').sortable({ | |
|       items: 'tbody', | |
|       handle: 'th', | |
|       helper: function(e, ui) { | |
|         ui.children().each(function() { | |
|           $(this).children().each(function() { | |
|             $(this).width($(this).width()); | |
|           }); | |
|         }); | |
|         ui=ui.clone().css({'background-color':'white', 'opacity':0.8}); | |
|         return ui; | |
|       } | |
|     }); | |
|   }, 20); | |
| })(); | |
| </script>
 |