Osticket - 仅限票证分配给当前用户

时间:2017-01-12 15:13:43

标签: php drop-down-menu osticket

我是OsTicket的新手,它的结构和功能。

在"新票" view(ticket-open.inc.php)我目前有以下代码填写"分配给"下拉列表:

<select id="assignId" name="assignId">
                    <option value="0" selected="selected">&mdash; <?php echo __('Select an Agent OR a Team');?> &mdash;</option>
                    <?php
                    if(($users=Staff::getAvailableStaffMembers())) {
                        echo '<OPTGROUP label="'.sprintf(__('Agents (%d)'), 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>';
                    }
                    ?>
</select>&nbsp;<span class='error'>&nbsp;<?php echo $errors['assignId']; ?></span>

我想自定义此OsTicket视图,仅显示代理(当前用户)作为显示分配的唯一选项。

有没有办法对此进行硬编码,以确保将所创建的故障单的票证以简单但绝对的方式分配给您自己(如果您是代理人)(并且不对部门进行更改< /强>)。 Here's a screenshot

OsTicket v1.9.12 谢谢!

1 个答案:

答案 0 :(得分:0)

您的员工信息位于$thisstaff变量:

<select id="assignId" name="assignId">
                    <option value="0" selected="selected">&mdash; <?php echo __('Select an Agent OR a Team');?> &mdash;</option>
                    <?php
                        echo '<OPTGROUP label="'.sprintf(__('Agents (%d)'), 1).'">';
                        echo sprintf('<option value="%s" %s>%s</option>',                          
                                $thisstaff->getId(),
                                (($info['assignId']==$thisstaff->getId())?'selected="selected"':''),
                                $thisstaff->getName());
                        echo '</OPTGROUP>';
                    ?>
                </select>&nbsp;<span class='error'>&nbsp;<?php echo $errors['assignId']; ?></span>