Skip to content
Snippets Groups Projects
ticket-open.inc.php 23.6 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jared Hancock's avatar
    Jared Hancock committed
    <?php
    
    if (!defined('OSTSCPINC') || !$thisstaff
    
            || !$thisstaff->hasPerm(Ticket::PERM_CREATE, false))
    
            die('Access Denied');
    
    
    Jared Hancock's avatar
    Jared Hancock committed
    $info=array();
    $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
    
    if ($_SESSION[':form-data'] && !$_GET['tid'])
      unset($_SESSION[':form-data']);
    
    
    //  Use thread entry to seed the ticket
    if (!$user && $_GET['tid'] && ($entry = ThreadEntry::lookup($_GET['tid']))) {
    
        if ($entry->getThread()->getObjectType() == 'T')
    
          $oldTicketId = $entry->getThread()->getObjectId();
    
        if ($entry->getThread()->getObjectType() == 'A')
    
          $oldTaskId = $entry->getThread()->getObjectId();
    
        $_SESSION[':form-data']['message'] = Format::htmlchars($entry->getBody());
    
        $_SESSION[':form-data']['ticketId'] = $oldTicketId;
        $_SESSION[':form-data']['taskId'] = $oldTaskId;
    
        $_SESSION[':form-data']['eid'] = $entry->getId();
        $_SESSION[':form-data']['timestamp'] = $entry->getCreateDate();
    
    
        if ($entry->user_id)
           $user = User::lookup($entry->user_id);
    
    
         if (($m= TicketForm::getInstance()->getField('message'))) {
    
             $k = 'attach:'.$m->getId();
    
             unset($_SESSION[':form-data'][$k]);
            foreach ($entry->getAttachments() as $a) {
              if (!$a->inline && $a->file) {
    
    JediKev's avatar
    JediKev committed
                $_SESSION[':form-data'][$k][$a->file->getId()] = $a->getFilename();
    
    aydreeihn's avatar
    aydreeihn committed
                $_SESSION[':uploadedFiles'][$a->file->getId()] = $a->getFilename();
    
    if (!$info['topicId'])
        $info['topicId'] = $cfg->getDefaultTopicId();
    
    
    if ($info['topicId'] && ($topic=Topic::lookup($info['topicId']))) {
    
        foreach ($topic->getForms() as $F) {
    
            if (!$F->hasAnyVisibleFields())
                continue;
    
            if ($_POST) {
                $F = $F->instanciate();
                $F->isValidForClient();
            }
            $forms[] = $F;
    
        $info['duedate'] = Format::date(strtotime($info['duedate']), false, false, 'UTC');
    
    Jared Hancock's avatar
    Jared Hancock committed
    ?>
    
    Kevin Thorne's avatar
    Kevin Thorne committed
    <form action="tickets.php?a=open" method="post" class="save"  enctype="multipart/form-data">
    
     <?php csrf_token(); ?>
    
    Jared Hancock's avatar
    Jared Hancock committed
     <input type="hidden" name="do" value="create">
     <input type="hidden" name="a" value="open">
    
    <div style="margin-bottom:20px; padding-top:5px;">
        <div class="pull-left flush-left">
            <h2><?php echo __('Open a New Ticket');?></h2>
        </div>
    </div>
    
     <table class="form_table fixed" width="940" border="0" cellspacing="0" cellpadding="2">
    
    Jared Hancock's avatar
    Jared Hancock committed
        <thead>
    
        <!-- This looks empty - but beware, with fixed table layout, the user
             agent will usually only consult the cells in the first row to
             construct the column widths of the entire toable. Therefore, the
             first row needs to have two cells -->
    
            <tr><td style="padding:0;"></td><td style="padding:0;"></td></tr>
    
    Jared Hancock's avatar
    Jared Hancock committed
        </thead>
        <tbody>
    
            <tr>
                <th colspan="2">
    
                    <em><strong><?php echo __('User and Collaborators'); ?></strong>: </em>
    
                    <div class="error"><?php echo $errors['user']; ?></div>
    
            <tr>
              <td>
                <table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2">
                  <?php
                  if ($user) { ?>
                      <tr><td><?php echo __('User'); ?>:</td><td>
                        <div id="user-info">
                          <input type="hidden" name="uid" id="uid" value="<?php echo $user->getId(); ?>" />
                          <a href="#" onclick="javascript:
                          $.userLookup('ajax.php/users/<?php echo $user->getId(); ?>/edit',
                          function (user) {
                            $('#user-name').text(user.name);
                            $('#user-email').text(user.email);
                          });
                          return false;
                          "><i class="icon-user"></i>
                          <span id="user-name"><?php echo Format::htmlchars($user->getName()); ?></span>
                          &lt;<span id="user-email"><?php echo $user->getEmail(); ?></span>&gt;
                        </a>
                        <a class="inline button" style="overflow:inherit" href="#"
    
                        onclick="javascript:
    
                        $.userLookup('ajax.php/users/select/'+$('input#uid').val(),
                        function(user) {
                          $('input#uid').val(user.id);
                          $('#user-name').text(user.name);
                          $('#user-email').text('<'+user.email+'>');
                        });
                        return false;
    
                        "><i class="icon-retweet"></i> <?php echo __('Change'); ?></a>
    
                      </div>
                    </td>
                  </tr>
                  <?php
                } else { //Fallback: Just ask for email and name
                  ?>
                  <tr id="userRow">
                    <td width="120"><?php echo __('User'); ?>:</td>
                    <td>
                      <span>
                        <select class="userSelection" name="name" id="user-name"
                        data-placeholder="<?php echo __('Select User'); ?>">
                      </select>
                    </span>
    
                    <a class="inline button" style="overflow:inherit" href="#"
                    onclick="javascript:
                    $.userLookup('ajax.php/users/lookup/form', function (user) {
                      var newUser = new Option(user.email + ' - ' + user.name, user.id, true, true);
                      return $(&quot;#user-name&quot;).append(newUser).trigger('change');
                    });
                    "><i class="icon-plus"></i> <?php echo __('Add New'); ?></a>
    
    
                    <span class="error">*</span>
    
                    <br/><span class="error"><?php echo $errors['name']; ?></span>
                  </td>
                  <div>
                    <input type="hidden" size=45 name="email" id="user-email" class="attached"
                    placeholder="<?php echo __('User Email'); ?>"
                    autocomplete="off" autocorrect="off" value="<?php echo $info['email']; ?>" />
                  </div>
                </tr>
                <?php
              } ?>
              <tr id="ccRow">
                <td width="160"><?php echo __('Cc'); ?>:</td>
    
                  <span>
                    <select class="collabSelections" name="ccs[]" id="cc_users_open" multiple="multiple"
                    ref="tags" data-placeholder="<?php echo __('Select Contacts'); ?>">
                  </select>
                </span>
    
                <a class="inline button" style="overflow:inherit" href="#"
                onclick="javascript:
                $.userLookup('ajax.php/users/lookup/form', function (user) {
                  var newUser = new Option(user.name, user.id, true, true);
                  return $(&quot;#cc_users_open&quot;).append(newUser).trigger('change');
                });
                "><i class="icon-plus"></i> <?php echo __('Add New'); ?></a>
    
                <br/><span class="error"><?php echo $errors['ccs']; ?></span>
              </td>
    
    Jared Hancock's avatar
    Jared Hancock committed
            </tr>
    
    aydreeihn's avatar
    aydreeihn committed
            <?php
            if ($cfg->notifyONNewStaffTicket()) {
             ?>
    
            <tr class="no_border">
    
                <?php echo __('Ticket Notice');?>:
              </td>
              <td>
    
    aydreeihn's avatar
    aydreeihn committed
                <select id="reply-to" name="reply-to">
                  <option value="all"><?php echo __('Alert All'); ?></option>
                  <option value="user"><?php echo __('Alert to User'); ?></option>
                  <option value="none">&mdash; <?php echo __('Do Not Send Alert'); ?> &mdash;</option>
    
    aydreeihn's avatar
    aydreeihn committed
          <?php } ?>
    
        </tbody>
        <tbody>
    
    Jared Hancock's avatar
    Jared Hancock committed
            <tr>
                <th colspan="2">
    
                    <em><strong><?php echo __('Ticket Information and Options');?></strong>:</em>
    
    Jared Hancock's avatar
    Jared Hancock committed
                </th>
            </tr>
            <tr>
                <td width="160" class="required">
    
                    <?php echo __('Ticket Source');?>:
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
                <td>
                    <select name="source">
    
    Peter Rotich's avatar
    Peter Rotich committed
                        <?php
                        $source = $info['source'] ?: 'Phone';
    
    Peter Rotich's avatar
    Peter Rotich committed
                        $sources = Ticket::getSources();
                        unset($sources['Web'], $sources['API']);
                        foreach ($sources as $k => $v)
    
    Peter Rotich's avatar
    Peter Rotich committed
                            echo sprintf('<option value="%s" %s>%s</option>',
                                    $k,
                                    ($source == $k ) ? 'selected="selected"' : '',
                                    $v);
                        ?>
    
    Jared Hancock's avatar
    Jared Hancock committed
                    </select>
    
                    &nbsp;<font class="error"><b>*</b>&nbsp;<?php echo $errors['source']; ?></font>
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
            </tr>
            <tr>
                <td width="160" class="required">
    
                    <?php echo __('Help Topic'); ?>:
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
                <td>
    
                    <select name="topicId" onchange="javascript:
    
                            var data = $(':input[name]', '#dynamic-form').serialize();
    
                            $.ajax(
                              'ajax.php/form/help-topic/' + this.value,
                              {
                                data: data,
                                dataType: 'json',
                                success: function(json) {
                                  $('#dynamic-form').empty().append(json.html);
                                  $(document.head).append(json.media);
                                }
                              });">
    
    Jared Hancock's avatar
    Jared Hancock committed
                        <?php
    
                        if ($topics=Topic::getHelpTopics(false, false, true)) {
    
                            if (count($topics) == 1)
                                $selected = 'selected="selected"';
                            else { ?>
    
                            <option value="" selected >&mdash; <?php echo __('Select Help Topic'); ?> &mdash;</option>
    
                            foreach($topics as $id =>$name) {
    
                                echo sprintf('<option value="%d" %s %s>%s</option>',
                                    $id, ($info['topicId']==$id)?'selected="selected"':'',
                                    $selected, $name);
                            }
    
                            if (count($topics) == 1 && !$forms) {
    
                                if (($T = Topic::lookup($id)))
    
                                    $forms =  $T->getForms();
    
    Jared Hancock's avatar
    Jared Hancock committed
                            }
                        }
                        ?>
                    </select>
    
                    &nbsp;<font class="error"><b>*</b>&nbsp;<?php echo $errors['topicId']; ?></font>
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
            </tr>
            <tr>
    
                <td width="160">
    
                    <?php echo __('Department'); ?>:
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
                <td>
    
                    <select name="deptId">
    
                        <option value="" selected >&mdash; <?php echo __('Select Department'); ?>&mdash;</option>
    
    Jared Hancock's avatar
    Jared Hancock committed
                        <?php
    
                        if($depts=Dept::getPublicDepartments()) {
    
                            foreach($depts as $id =>$name) {
    
                                if (!($role = $thisstaff->getRole($id))
                                    || !$role->hasPerm(Ticket::PERM_CREATE)
                                ) {
                                    // No access to create tickets in this dept
                                    continue;
                                }
    
    Jared Hancock's avatar
    Jared Hancock committed
                                echo sprintf('<option value="%d" %s>%s</option>',
    
                                        $id, ($info['deptId']==$id)?'selected="selected"':'',$name);
    
    Jared Hancock's avatar
    Jared Hancock committed
                            }
                        }
                        ?>
                    </select>
    
                    &nbsp;<font class="error"><?php echo $errors['deptId']; ?></font>
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
            </tr>
    
    Peter Rotich's avatar
    Peter Rotich committed
             <tr>
                <td width="160">
    
                    <?php echo __('SLA Plan');?>:
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
    
    Peter Rotich's avatar
    Peter Rotich committed
                <td>
                    <select name="slaId">
    
                        <option value="0" selected="selected" >&mdash; <?php echo __('System Default');?> &mdash;</option>
    
    Jared Hancock's avatar
    Jared Hancock committed
                        <?php
    
    Peter Rotich's avatar
    Peter Rotich committed
                        if($slas=SLA::getSLAs()) {
                            foreach($slas as $id =>$name) {
                                echo sprintf('<option value="%d" %s>%s</option>',
                                        $id, ($info['slaId']==$id)?'selected="selected"':'',$name);
    
    Peter Rotich's avatar
    Peter Rotich committed
                    </select>
                    &nbsp;<font class="error">&nbsp;<?php echo $errors['slaId']; ?></font>
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
    
    Peter Rotich's avatar
    Peter Rotich committed
             </tr>
    
    Peter Rotich's avatar
    Peter Rotich committed
             <tr>
    
    Jared Hancock's avatar
    Jared Hancock committed
                <td width="160">
    
                    <?php echo __('Due Date');?>:
    
    Jared Hancock's avatar
    Jared Hancock committed
                </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>
    
    Jared Hancock's avatar
    Jared Hancock 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');
    
                    &nbsp;<font class="error">&nbsp;<?php echo $errors['duedate']; ?> &nbsp; <?php echo $errors['time']; ?></font>
    
                    <em><?php echo __('Time is based on your time zone');?> (GMT <?php echo Format::date(false, false, 'ZZZ'); ?>)</em>
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
            </tr>
    
    Jared Hancock's avatar
    Jared Hancock committed
            <?php
    
            if($thisstaff->hasPerm(Ticket::PERM_ASSIGN, false)) { ?>
    
    Jared Hancock's avatar
    Jared Hancock committed
            <tr>
    
                <td width="160"><?php echo __('Assign To');?>:</td>
    
    Jared Hancock's avatar
    Jared Hancock committed
                <td>
                    <select id="assignId" name="assignId">
    
                        <option value="0" selected="selected">&mdash; <?php echo __('Select an Agent OR a Team');?> &mdash;</option>
    
    Jared Hancock's avatar
    Jared Hancock committed
                        <?php
                        if(($users=Staff::getAvailableStaffMembers())) {
    
                            echo '<OPTGROUP label="'.sprintf(__('Agents (%d)'), count($users)).'">';
    
    Jared Hancock's avatar
    Jared Hancock committed
                            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>';
                        }
    
    Jared Hancock's avatar
    Jared Hancock committed
                        if(($teams=Team::getActiveTeams())) {
    
                            echo '<OPTGROUP label="'.sprintf(__('Teams (%d)'), count($teams)).'">';
    
    Jared Hancock's avatar
    Jared Hancock committed
                            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>&nbsp;<span class='error'>&nbsp;<?php echo $errors['assignId']; ?></span>
                </td>
            </tr>
    
    Jared Hancock's avatar
    Jared Hancock committed
            </tbody>
            <tbody id="dynamic-form">
    
    Peter Rotich's avatar
    Peter Rotich committed
                $options = array('mode' => 'create');
    
                foreach ($forms as $form) {
    
                    print $form->getForm($_SESSION[':form-data'])->getMedia();
    
                    include(STAFFINC_DIR .  'templates/dynamic-form.tmpl.php');
                }
    
    Jared Hancock's avatar
    Jared Hancock committed
            </tbody>
            <tbody>
    
            <?php
            //is the user allowed to post replies??
    
            if ($thisstaff->getRole()->hasPerm(Ticket::PERM_REPLY)) { ?>
    
    Jared Hancock's avatar
    Jared Hancock committed
            <tr>
    
    Peter Rotich's avatar
    Peter Rotich committed
                <th colspan="2">
    
                    <em><strong><?php echo __('Response');?></strong>: <?php echo __('Optional response to the above issue.');?></em>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </th>
            </tr>
            <tr>
                <td colspan=2>
                <?php
    
                if($cfg->isCannedResponseEnabled() && ($cannedResponses=Canned::getCannedResponses())) {
    
                    <div style="margin-top:0.3em;margin-bottom:0.5em">
    
                        <?php echo __('Canned Response');?>:&nbsp;
    
    Peter Rotich's avatar
    Peter Rotich committed
                        <select id="cannedResp" name="cannedResp">
    
                            <option value="0" selected="selected">&mdash; <?php echo __('Select a canned response');?> &mdash;</option>
    
    Peter Rotich's avatar
    Peter Rotich committed
                            <?php
                            foreach($cannedResponses as $id =>$title) {
                                echo sprintf('<option value="%d">%s</option>',$id,$title);
                            }
                            ?>
                        </select>
    
                        &nbsp;&nbsp;
                        <label class="checkbox inline"><input type='checkbox' value='1' name="append" id="append" checked="checked"><?php echo __('Append');?></label>
    
    Peter Rotich's avatar
    Peter Rotich committed
                    </div>
                <?php
    
                }
                    $signature = '';
                    if ($thisstaff->getDefaultSignatureType() == 'mine')
                        $signature = $thisstaff->getSignature(); ?>
    
                        class="<?php if ($cfg->isRichTextEnabled()) echo 'richtext';
    
                            ?> draft draft-delete" data-signature="<?php
    
                            echo Format::htmlchars(Format::viewableImages($signature)); ?>"
                        data-signature-field="signature" data-dept-field="deptId"
    
                        placeholder="<?php echo __('Initial response for the ticket'); ?>"
    
                        name="response" id="response" cols="21" rows="8"
    
                        style="width:80%;" <?php
        list($draft, $attrs) = Draft::getDraftAndDataAttrs('ticket.staff.response', false, $info['response']);
    
        echo $attrs; ?>><?php echo $_POST ? $info['response'] : $draft;
    
                        <div class="attachments">
    
    <?php
    print $response_form->getField('attachments')->render();
    ?>
    
                    <table border="0" cellspacing="0" cellpadding="2" width="100%">
    
                <tr>
                    <td width="100"><?php echo __('Ticket Status');?>:</td>
                    <td>
                        <select name="statusId">
                        <?php
                        $statusId = $info['statusId'] ?: $cfg->getDefaultTicketStatusId();
                        $states = array('open');
    
                        if ($thisstaff->hasPerm(Ticket::PERM_CLOSE, false))
    
    Peter Rotich's avatar
    Peter Rotich committed
                            $states = array_merge($states, array('closed'));
    
                        foreach (TicketStatusList::getStatuses(
                                    array('states' => $states)) as $s) {
                            if (!$s->isEnabled()) continue;
                            $selected = ($statusId == $s->getId());
                            echo sprintf('<option value="%d" %s>%s</option>',
                                    $s->getId(),
                                    $selected
                                     ? 'selected="selected"' : '',
                                    __($s->getName()));
                        }
                        ?>
                        </select>
                    </td>
                </tr>
    
    Peter Rotich's avatar
    Peter Rotich committed
                 <tr>
    
                    <td width="100"><?php echo __('Signature');?>:</td>
    
    Peter Rotich's avatar
    Peter Rotich committed
                    <td>
                        <?php
                        $info['signature']=$info['signature']?$info['signature']:$thisstaff->getDefaultSignatureType();
                        ?>
    
                        <label><input type="radio" name="signature" value="none" checked="checked"> <?php echo __('None');?></label>
    
    Peter Rotich's avatar
    Peter Rotich committed
                        <?php
                        if($thisstaff->getSignature()) { ?>
                            <label><input type="radio" name="signature" value="mine"
    
                                <?php echo ($info['signature']=='mine')?'checked="checked"':''; ?>> <?php echo __('My Signature');?></label>
    
    Peter Rotich's avatar
    Peter Rotich committed
                        <?php
                        } ?>
                        <label><input type="radio" name="signature" value="dept"
    
                            <?php echo ($info['signature']=='dept')?'checked="checked"':''; ?>> <?php echo sprintf(__('Department Signature (%s)'), __('if set')); ?></label>
    
    Peter Rotich's avatar
    Peter Rotich committed
                    </td>
                 </tr>
                </table>
                </td>
            </tr>
    
    Peter Rotich's avatar
    Peter Rotich committed
            <tr>
                <th colspan="2">
    
                    <em><strong><?php echo __('Internal Note');?></strong>
    
                    <font class="error">&nbsp;<?php echo $errors['note']; ?></font></em>
    
    Peter Rotich's avatar
    Peter Rotich committed
                </th>
            </tr>
            <tr>
                <td colspan=2>
    
                        class="<?php if ($cfg->isRichTextEnabled()) echo 'richtext';
    
                            ?> draft draft-delete"
    
                        placeholder="<?php echo __('Optional internal note (recommended on assignment)'); ?>"
    
                        name="note" cols="21" rows="6" style="width:80%;" <?php
        list($draft, $attrs) = Draft::getDraftAndDataAttrs('ticket.staff.note', false, $info['note']);
    
        echo $attrs; ?>><?php echo $_POST ? $info['note'] : $draft;
    
    Jared Hancock's avatar
    Jared Hancock committed
                </td>
            </tr>
        </tbody>
    </table>
    
    <p style="text-align:center;">
    
        <input type="submit" name="submit" value="<?php echo _P('action-button', 'Open');?>">
    
        <input type="reset"  name="reset"  value="<?php echo __('Reset');?>">
        <input type="button" name="cancel" value="<?php echo __('Cancel');?>" onclick="javascript:
    
            $(this.form).find('textarea.richtext')
              .redactor('draft.deleteDraft');
            window.location.href='tickets.php'; " />
    
    Jared Hancock's avatar
    Jared Hancock committed
    </p>
    </form>
    
    <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"
        });
    
    
       <?php
        // Popup user lookup on the initial page load (not post) if we don't have a
        // user selected
        if (!$_POST && !$user) {?>
    
        setTimeout(function() {
          $.userLookup('ajax.php/users/lookup/form', function (user) {
    
            window.location.href = window.location.href+'&uid='+user.id;
    
    $(function() {
        $('a#editorg').click( function(e) {
            e.preventDefault();
            $('div#org-profile').hide();
            $('div#org-form').fadeIn();
            return false;
         });
    
        $(document).on('click', 'form.org input.cancel', function (e) {
            e.preventDefault();
            $('div#org-form').hide();
            $('div#org-profile').fadeIn();
            return false;
        });
    
        $('.userSelection').select2({
          width: '450px',
    
    aydreeihn's avatar
    aydreeihn committed
          minimumInputLength: 3,
          ajax: {
            url: "ajax.php/users/local",
            dataType: 'json',
            data: function (params) {
              return {
                q: params.term,
              };
            },
            processResults: function (data) {
              return {
                results: $.map(data, function (item) {
                  return {
    
                    text: item.email + ' - ' + item.name,
    
    aydreeihn's avatar
    aydreeihn committed
                    slug: item.slug,
    
                    email: item.email,
    
    aydreeihn's avatar
    aydreeihn committed
                    id: item.id
                  }
                })
              };
    
              $('#user-email').val(item.name);
    
        $('.userSelection').on('select2:select', function (e) {
          var data = e.params.data;
          $('#user-email').val(data.email);
        });
    
        $('.userSelection').on("change", function (e) {
          var data = $('.userSelection').select2('data');
          var data = data[0].text;
          var email = data.substr(0,data.indexOf(' '));
          $('#user-email').val(data.substr(0,data.indexOf(' ')));
         });
    
        $('.collabSelections').select2({
          width: '450px',
          minimumInputLength: 3,
          ajax: {
            url: "ajax.php/users/local",
            dataType: 'json',
            data: function (params) {
              return {
                q: params.term,
              };
            },
            processResults: function (data) {
              return {
                results: $.map(data, function (item) {
                  return {
                    text: item.name,
                    slug: item.slug,
                    id: item.id
                  }
                })
              };