Skip to content
Snippets Groups Projects
ticket-edit.inc.php 6.92 KiB
Newer Older
  • Learn to ignore specific revisions
  • Peter Rotich's avatar
    Peter Rotich committed
    <?php
    if(!defined('OSTSCPINC') || !$thisstaff || !$thisstaff->canEditTickets() || !$ticket) die('Access Denied');
    
    $info=Format::htmlchars(($errors && $_POST)?$_POST:$ticket->getUpdateInfo());
    
    if ($_POST)
        $info['duedate'] = Format::date($cfg->getDateFormat(),
           strtotime($info['duedate']));
    
    Peter Rotich's avatar
    Peter Rotich committed
    ?>
    <form action="tickets.php?id=<?php echo $ticket->getId(); ?>&a=edit" method="post" id="save"  enctype="multipart/form-data">
    
     <?php csrf_token(); ?>
    
    Peter Rotich's avatar
    Peter Rotich committed
     <input type="hidden" name="do" value="update">
     <input type="hidden" name="a" value="edit">
     <input type="hidden" name="id" value="<?php echo $ticket->getId(); ?>">
    
     <h2>Update Ticket #<?php echo $ticket->getNumber(); ?></h2>
    
    Peter Rotich's avatar
    Peter Rotich committed
     <table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2">
    
        <tbody>
            <tr>
                <th colspan="2">
                    <em><strong>Client Information</strong>: Currently selected client</em>
                </th>
            </tr>
        <?php
    
        if(!$info['user_id'] || !($user = User::lookup($info['user_id'])))
            $user = $ticket->getUser();
    
        ?>
        <tr><td>Client:</td><td>
    
                <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>
    
                &lt;<span id="client-email"><?php echo $user->getEmail(); ?></span>&gt;
                </a>
    
                <a class="action-button" style="float:none;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> Change</a>
                <input type="hidden" name="user_id" id="user_id"
                    value="<?php echo $info['user_id']; ?>" />
            </div>
    
            </td></tr>
    
    Peter Rotich's avatar
    Peter Rotich committed
        <tbody>
            <tr>
                <th colspan="2">
    
                    <em><strong>Ticket Information</strong>: Due date overrides SLA's grace period.</em>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </th>
            </tr>
            <tr>
                <td width="160" class="required">
                    Ticket Source:
                </td>
                <td>
                    <select name="source">
                        <option value="" selected >&mdash; Select Source &mdash;</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="Web"   <?php echo ($info['source']=='Web')?'selected="selected"':''; ?>>Web</option>
                        <option value="API"   <?php echo ($info['source']=='API')?'selected="selected"':''; ?>>API</option>
                        <option value="Other" <?php echo ($info['source']=='Other')?'selected="selected"':''; ?>>Other</option>
                    </select>
    
                    &nbsp;<font class="error"><b>*</b>&nbsp;<?php echo $errors['source']; ?></font>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </td>
            </tr>
            <tr>
                <td width="160" class="required">
                    Help Topic:
                </td>
                <td>
                    <select name="topicId">
                        <option value="" selected >&mdash; Select Help Topic &mdash;</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>
    
                    &nbsp;<font class="error"><b>*</b>&nbsp;<?php echo $errors['topicId']; ?></font>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </td>
            </tr>
    
            <tr>
                <td width="160">
                    SLA Plan:
    
    Peter Rotich's avatar
    Peter Rotich committed
                </td>
                <td>
                    <select name="slaId">
    
                        <option value="0" selected="selected" >&mdash; None &mdash;</option>
    
    Peter Rotich's avatar
    Peter Rotich committed
                        <?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>
    
                    &nbsp;<font class="error">&nbsp;<?php echo $errors['slaId']; ?></font>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </td>
            </tr>
            <tr>
                <td width="160">
                    Due Date:
                </td>
                <td>
    
    Peter Rotich's avatar
    Peter Rotich committed
                    <input class="dp" id="duedate" name="duedate" value="<?php echo Format::htmlchars($info['duedate']); ?>" size="12" autocomplete=OFF>
    
    Peter Rotich's avatar
    Peter Rotich committed
                    &nbsp;&nbsp;
                    <?php
                    $min=$hr=null;
                    if($info['time'])
    
    Peter Rotich's avatar
    Peter Rotich committed
                        list($hr, $min)=explode(':', $info['time']);
    
    Peter Rotich's avatar
    Peter Rotich committed
                    echo Misc::timeDropdown($hr, $min, 'time');
    
    Peter Rotich's avatar
    Peter Rotich committed
                    ?>
    
                    &nbsp;<font class="error">&nbsp;<?php echo $errors['duedate']; ?>&nbsp;<?php echo $errors['time']; ?></font>
    
    Peter Rotich's avatar
    Peter Rotich committed
                    <em>Time is based on your time zone (GMT <?php echo $thisstaff->getTZoffset(); ?>)</em>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </td>
            </tr>
    
    Jared Hancock's avatar
    Jared Hancock committed
            </tbody>
            <tbody id="dynamic-form">
            <?php if ($forms)
                foreach ($forms as $form) {
    
                    $form->render(true);
    
    Jared Hancock's avatar
    Jared Hancock committed
            } ?>
            </tbody>
            <tbody>
    
    Peter Rotich's avatar
    Peter Rotich committed
            <tr>
                <th colspan="2">
                    <em><strong>Internal Note</strong>: Reason for editing the ticket (required) <font class="error">&nbsp;<?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>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </td>
            </tr>
        </tbody>
    </table>
    <p style="padding-left:250px;">
        <input type="submit" name="submit" value="Save">
        <input type="reset"  name="reset"  value="Reset">
        <input type="button" name="cancel" value="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>