/home/edulekha/crm.edulekha.com/application/views/admin/tickets/add.php
<?php defined('BASEPATH') or exit('No direct script access allowed'); ?>
<?php init_head(); ?>
<div id="wrapper">
    <div class="content">
        <?= form_open_multipart($this->uri->uri_string(), ['id' => 'new_ticket_form']); ?>
        <div class="row">
            <div class="col-md-10 col-md-offset-1">
                <div class="tw-flex tw-items-center tw-mb-2">
                    <h4 class="tw-my-0 tw-font-bold tw-text-lg tw-text-neutral-700 tw-mr-4">
                        <?= _l('clients_single_ticket_information_heading'); ?>
                    </h4>
                    <?php if (! isset($project_id) && ! isset($contact)) { ?>
                    <a href="#" id="ticket_no_contact" class="label label-default">
                        <i class="fa-regular fa-envelope tw-mr-1"></i>
                        <?= _l('ticket_create_no_contact'); ?>
                    </a>
                    <a href="#" class="hide label label-default" id="ticket_to_contact">
                        <i class="fa-regular fa-user tw-mr-1"></i>
                        <?= _l('ticket_create_to_contact'); ?>
                    </a>
                    <?php } ?>
                </div>
                <div class="panel_s">
                    <div class="panel-body">
                        <div class="row">
                            <div class="col-md-6">

                                <?= render_input('subject', 'ticket_settings_subject', '', 'text', ['required' => 'true']); ?>
                                <div class="form-group select-placeholder" id="ticket_contact_w">
                                    <label
                                        for="contactid"><?= _l('contact'); ?></label>
                                    <select name="contactid" required="true" id="contactid" class="ajax-search"
                                        data-width="100%" data-live-search="true"
                                        data-none-selected-text="<?= _l('dropdown_non_selected_tex'); ?>">
                                        <?php if (isset($contact)) { ?>
                                        <option
                                            value="<?= e($contact['id']); ?>"
                                            selected>
                                            <?= $contact['firstname'] . ' ' . $contact['lastname']; ?>
                                        </option>
                                        <?php } ?>
                                        <option value=""></option>
                                    </select>
                                    <?= form_hidden('userid'); ?>
                                </div>
                                <div class="row">
                                    <div class="col-md-6">
                                        <?= render_input('name', 'ticket_settings_to', '', 'text', ['disabled' => true]); ?>
                                    </div>
                                    <div class="col-md-6">
                                        <?= render_input('email', 'ticket_settings_email', '', 'email', ['disabled' => true]); ?>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-6">
                                        <?= render_select('department', $departments, ['departmentid', 'name'], 'ticket_settings_departments', (count($departments) == 1) ? $departments[0]['departmentid'] : '', ['required' => 'true']); ?>
                                    </div>
                                    <div class="col-md-6">
                                        <?= render_input('cc', 'CC'); ?>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group">
                                    <label for="tags" class="control-label"><i class="fa fa-tag" aria-hidden="true"></i>
                                        <?= _l('tags'); ?></label>
                                    <input type="text" class="tagsinput" id="tags" name="tags" data-role="tagsinput">
                                </div>

                                <div class="form-group select-placeholder">
                                    <label for="assigned" class="control-label">
                                        <?= _l('ticket_settings_assign_to'); ?>
                                    </label>
                                    <select name="assigned" id="assigned" class="form-control selectpicker"
                                        data-live-search="true"
                                        data-none-selected-text="<?= _l('dropdown_non_selected_tex'); ?>"
                                        data-width="100%">
                                        <option value="">
                                            <?= _l('ticket_settings_none_assigned'); ?>
                                        </option>
                                        <?php foreach ($staff as $member) { ?>
                                        <option
                                            value="<?= e($member['staffid']); ?>"
                                            <?php if ($member['staffid'] == get_staff_user_id()) {
                                                echo 'selected';
                                            } ?>>
                                            <?= e($member['firstname'] . ' ' . $member['lastname']); ?>
                                        </option>
                                        <?php } ?>
                                    </select>
                                </div>
                                <div class="row">
                                    <div class="col-md-<?php if (get_option('services') == 1) {
                                        echo 6;
                                    } else {
                                        echo 12;
                                    } ?>">
                                        <?php $priorities['callback_translate'] = 'ticket_priority_translate';
echo render_select('priority', $priorities, ['priorityid', 'name'], 'ticket_settings_priority', hooks()->apply_filters('new_ticket_priority_selected', 2), ['required' => 'true']); ?>
                                    </div>
                                    <?php if (get_option('services') == 1) { ?>
                                    <div class="col-md-6">
                                        <?php if (is_admin() || get_option('staff_members_create_inline_ticket_services') == '1') {
                                            echo render_select_with_input_group('service', $services, ['serviceid', 'name'], 'ticket_settings_service', '', '<div class="input-group-btn"><a href="#" class="btn btn-default" onclick="new_service();return false;"><i class="fa fa-plus"></i></a></div>');
                                        } else {
                                            echo render_select('service', $services, ['serviceid', 'name'], 'ticket_settings_service');
                                        }
                                        ?>
                                    </div>
                                    <?php } ?>
                                </div>

                                <div class="form-group projects-wrapper hide">
                                    <label
                                        for="project_id"><?= _l('project'); ?></label>
                                    <div id="project_ajax_search_wrapper">
                                        <select name="project_id" id="project_id" class="projects ajax-search"
                                            data-live-search="true" data-width="100%"
                                            data-none-selected-text="<?= _l('dropdown_non_selected_tex'); ?>"
                                            <?php if (isset($project_id)) { ?>
                                            data-auto-project="true"
                                            data-project-userid="<?= e($userid); ?>"
                                            <?php } ?>>
                                            <?php if (isset($project_id)) { ?>
                                            <option
                                                value="<?= e($project_id); ?>"
                                                selected>
                                                <?= '#' . $project_id . ' - ' . e(get_project_name_by_id($project_id)); ?>
                                            </option>
                                            <?php } ?>
                                        </select>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-12">
                                <?= render_custom_fields('tickets'); ?>
                            </div>

                            <div class="col-md-12">
                                <hr class="hr-panel-separator" />
                            </div>
                            <div class="col-md-12 tw-mt-3">
                                <h4 class="tw-mt-0 tw-font-bold tw-text-base tw-text-neutral-700">
                                    <?= _l('ticket_add_body'); ?>
                                </h4>
                                <div class="row">
                                    <div class="col-md-12 mbot20 before-ticket-message">
                                        <div class="row">
                                            <div class="col-md-6">
                                                <select id="insert_predefined_reply" data-width="100%"
                                                    data-live-search="true" class="selectpicker"
                                                    data-title="<?= _l('ticket_single_insert_predefined_reply'); ?>">
                                                    <?php foreach ($predefined_replies as $predefined_reply) { ?>
                                                    <option
                                                        value="<?= e($predefined_reply['id']); ?>">
                                                        <?= e($predefined_reply['name']); ?>
                                                    </option>
                                                    <?php } ?>
                                                </select>
                                            </div>
                                            <?php if (get_option('use_knowledge_base') == 1) { ?>
                                            <div class="visible-xs">
                                                <div class="mtop15"></div>
                                            </div>
                                            <div class="col-md-6">
                                                <?php $groups = get_all_knowledge_base_articles_grouped(); ?>
                                                <select id="insert_knowledge_base_link" data-width="100%"
                                                    class="selectpicker" data-live-search="true"
                                                    onchange="insert_ticket_knowledgebase_link(this);"
                                                    data-title="<?= _l('ticket_single_insert_knowledge_base_link'); ?>">
                                                    <option value=""></option>
                                                    <?php foreach ($groups as $group) { ?>
                                                    <?php if (count($group['articles']) > 0) { ?>
                                                    <optgroup
                                                        label="<?= e($group['name']); ?>">
                                                        <?php foreach ($group['articles'] as $article) { ?>
                                                        <option
                                                            value="<?= e($article['articleid']); ?>">
                                                            <?= e($article['subject']); ?>
                                                        </option>
                                                        <?php } ?>
                                                    </optgroup>
                                                    <?php } ?>
                                                    <?php } ?>
                                                </select>
                                            </div>
                                            <?php } ?>
                                        </div>
                                    </div>
                                </div>
                                <div class="clearfix"></div>
                                <?= render_textarea('message', '', '', [], [], '', 'tinymce'); ?>
                                <div class="attachments_area">
                                    <div class="row attachments">
                                        <div class="attachment">
                                            <div class="col-md-4 col-md-offset-8 mtop10">
                                                <div class="form-group">
                                                    <label for="attachment"
                                                        class="control-label"><?= _l('ticket_add_attachments'); ?></label>
                                                    <div class="input-group">
                                                        <input type="file"
                                                            extension="<?= str_replace(['.', ' '], '', get_option('ticket_attachments_file_extensions')); ?>"
                                                            filesize="<?= file_upload_max_size(); ?>"
                                                            class="form-control" name="attachments[0]"
                                                            accept="<?= get_ticket_form_accepted_mimes(); ?>">
                                                        <span class="input-group-btn">
                                                            <button class="btn btn-default add_more_attachments"
                                                                data-max="<?= get_option('maximum_allowed_ticket_attachments'); ?>"
                                                                type="button"><i class="fa fa-plus"></i></button>
                                                        </span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <div class="text-right tw-mt-6">
                            <button type="submit" data-form="#new_ticket_form" autocomplete="off"
                                data-loading-text="<?= _l('wait_text'); ?>"
                                class="btn btn-primary"><?= _l('open_ticket'); ?></button>
                        </div>
                    </div>
                </div>
            </div>
            <?= form_close(); ?>
        </div>
    </div>
    <div class="tw-py-10"></div>
    <?php $this->load->view('admin/tickets/services/service'); ?>
    <?php init_tail(); ?>
    <?php hooks()->do_action('new_ticket_admin_page_loaded'); ?>
    <script>
        $(function() {

            init_ajax_search('contact', '#contactid.ajax-search', {
                tickets_contacts: true,
                contact_userid: function() {
                    // when ticket is directly linked to project only search project client id contacts
                    var uid = $('select[data-auto-project="true"]').attr('data-project-userid');
                    if (uid) {
                        return uid;
                    } else {
                        return '';
                    }
                }
            });

            validate_new_ticket_form();

            <?php if (isset($project_id) || isset($contact)) { ?>
            $('body.ticket select[name="contactid"]').change();
            <?php } ?>

            <?php if (isset($project_id)) { ?>
            $('body').on('selected.cleared.ajax.bootstrap.select', 'select[data-auto-project="true"]', function(
                e) {
                $('input[name="userid"]').val('');
                $(this).parents('.projects-wrapper').addClass('hide');
                $(this).prop('disabled', false);
                $(this).removeAttr('data-auto-project');
                $('body.ticket select[name="contactid"]').change();
            });
            <?php } ?>
        });
    </script>
    </body>

    </html>