); this.form.submit();"> <p> <?php _e('If you cannot solve this ticket please assign it to someone else in the drop down list.'); ?> </p> </div> <?php $fieldset_data = array('heading' => array('title' => _l('Unassigned Ticket'), 'type' => 'h3'), 'elements_before' => ob_get_clean()); echo module_form::generate_fieldset($fieldset_data); unset($fieldset_data); } /** TICKET MESSAGES */ if (!$done_messages) { $tickets_in_reverse = module_config::c('ticket_messages_in_reverse', 0); include module_theme::include_ucm('includes/plugin_ticket/pages/ticket_admin_edit_messages.php'); } hook_handle_callback('layout_column_half', 'end'); echo $action_buttons; ?> </form> <?php if (($last_response_from == 'customer' || $last_response_from == 'autoreply') && $ticket['status_id'] != _TICKET_STATUS_RESOLVED_ID) { // don't do this for resolved tickets // only set the default field if the last respose was from the customer. module_form::set_default_field('new_ticket_message'); }
</a> </li> <?php } unset($menu_holder); unset($menu_type); unset($current_link); unset($menu_allow_nesting); ?> <?php if (isset($show_quick_search) && $show_quick_search) { ?> <?php if (module_security::getcred() && module_security::can_user(module_security::get_loggedin_id(), 'Show Quick Search') && $display_mode != 'mobile') { if (module_config::c('global_search_focus', 1) == 1) { module_form::set_default_field('ajax_search_text'); } ?> <li> <div id="quick_search_box"> <div id="quick_search_placeholder"><div><?php _e('Quick Search:'); ?> </div></div> <input type="text" name="quick_search" id="ajax_search_text" size="10" value=""> <div id="ajax_search_result"></div> </div> </li> <?php } handle_hook('top_menu_end');
if (module_config::c('job_ajax_tasks', 1)) { echo '_tasks_ajax'; } ?> " /> <input type="hidden" name="job_id" value="<?php echo $job_id; ?> " /> <input type="hidden" name="customer_id" value="<?php echo $job['customer_id']; ?> " /> <?php module_form::set_default_field('task_desc_new'); module_form::prevent_exit(array('valid_exits' => array('.submit_button', '.save_task', '.delete'))); ?> <?php if (module_job::can_i('edit', 'Job Tasks') || module_job::can_i('view', 'Job Tasks')) { $header = array('title_final' => _l('Job Tasks %s', $job['total_percent_complete'] > 0 ? _l('(%s%% completed)', $job['total_percent_complete'] * 100) : ''), 'button' => array(), 'type' => 'h3'); if (get_display_mode() != 'mobile') { $header['button'][] = array('id' => 'show_completed_tasks', 'url' => '#', 'onclick' => "show_completed_tasks(); return false;", 'title' => _l('Show Completed Tasks')); $header['button'][] = array('id' => 'hide_completed_tasks', 'url' => '#', 'onclick' => "hide_completed_tasks(); return false;", 'title' => _l('Hide Completed Tasks')); } ob_start(); ?>
" /> <input type="hidden" name="customer_id" value="<?php echo (int) $job['customer_id']; ?> " /> <input type="hidden" name="quote_id" value="<?php echo (int) $job['quote_id']; ?> " /> <?php $fields = array('fields' => array('name' => 'Name')); module_form::set_required($fields); //module_form::set_default_field('task_desc_new'); module_form::set_default_field('job_name'); module_form::prevent_exit(array('valid_exits' => array('.submit_button', '.save_task', '.delete', '.task_defaults'))); hook_handle_callback('layout_column_half', 1, '35'); /**** JOB DETAILS ****/ $fieldset_data = array('heading' => array('type' => 'h3', 'title' => 'Job Details'), 'class' => 'tableclass tableclass_form tableclass_full', 'elements' => array('name' => array('title' => 'Job Title', 'field' => array('type' => 'text', 'name' => 'name', 'value' => $job['name'])), 'type' => array('title' => 'Type', 'field' => array('type' => 'select', 'name' => 'type', 'value' => $job['type'], 'blank' => false, 'options' => module_job::get_types(), 'allow_new' => true)), 'hourly_rate' => array('title' => 'Hourly Rate', 'ignore' => !module_invoice::can_i('view', 'Invoices'), 'field' => array('type' => 'currency', 'name' => 'hourly_rate', 'value' => number_out($job['hourly_rate']))), 'status' => array('title' => 'Status', 'field' => array('type' => 'select', 'name' => 'status', 'value' => $job['status'], 'blank' => false, 'options' => module_job::get_statuses(), 'allow_new' => true)), 'date_quote' => array('title' => 'Quote Date', 'ignore' => !module_config::c('job_allow_quotes', 0), 'field' => array('type' => 'date', 'name' => 'date_quote', 'value' => print_date($job['date_quote']), 'help' => 'This is the date the Job was quoted to the Customer. Once this Job Quote is approved, the Start Date will be set below.')), 'date_start' => array('title' => 'Start Date', 'field' => array('type' => 'date', 'name' => 'date_start', 'value' => print_date($job['date_start']), 'help' => 'This is the date the Job is scheduled to start work. This can be a date in the future. If you have the Calendar, this is the date that will be used for the Calendar event.')), 'time_start' => array('title' => 'Start Time', 'ignore' => !(class_exists('module_calendar', false) && module_config::c('job_show_times', 1)), 'field' => array('type' => 'time', 'name' => 'time_start', 'value' => isset($job['time_start']) ? $job['time_start'] : '', 'help' => 'This is the time the Job is scheduled to start. If you have the Calendar, this is the time that will be used for the Calendar event.')), 'time_end' => array('title' => 'End Time', 'ignore' => !(class_exists('module_calendar', false) && module_config::c('job_show_times', 1)), 'field' => array('type' => 'time', 'name' => 'time_end', 'value' => isset($job['time_end']) ? $job['time_end'] : '', 'help' => 'This is the time the Job is scheduled to finish. If you have the Calendar, this is the time that will be used for the Calendar event.')), 'date_due' => array('title' => 'Due Date', 'field' => array('type' => 'date', 'name' => 'date_due', 'value' => print_date($job['date_due']))), 'date_completed' => array('title' => 'Finished Date', 'field' => array('type' => 'date', 'name' => 'date_completed', 'value' => print_date($job['date_completed']))), 'user_id' => array('title' => 'Staff Member', 'ignore' => !module_config::c('job_allow_staff_assignment', 1), 'field' => array('type' => 'select', 'options' => $staff_member_rel, 'name' => 'user_id', 'value' => $job['user_id'], 'blank' => false, 'help' => 'Assign a staff member to this job. You can also assign individual tasks to different staff members. Staff members are users who have EDIT permissions on Job Tasks.'))), 'extra_settings' => array('owner_table' => 'job', 'owner_key' => 'job_id', 'owner_id' => $job['job_id'], 'layout' => 'table_row', 'allow_new' => module_job::can_i('create', 'Jobs'), 'allow_edit' => module_job::can_i('create', 'Jobs'))); $incrementing = false; if (!isset($job['taxes']) || !count($job['taxes'])) { $job['taxes'][] = array(); // at least have 1? } foreach ($job['taxes'] as $tax) { if (isset($tax['increment']) && $tax['increment']) { $incrementing = true; } } ob_start();
$(this).change(function(){ link_it( $(this)[0].checked ? $(this).val() : false ); }); $(this).mouseup(function(){ link_it( $(this)[0].checked ? $(this).val() : false ); }); }); }); </script> <form action="" method="post" id="quick_add_form"> <input type="hidden" name="_process" value="quick_save_finance"> <input type="hidden" name="finance_id" value="new"> <?php module_form::set_default_field('new_transaction_name'); $table_manager = module_theme::new_table_manager(); $columns = array(); $columns['sort_date'] = array('title' => 'Date', 'callback' => function (&$finance) { if (!isset($finance['transaction_date'])) { return false; } // loop over all finance records and print the values out, only if they differ. // only print dates if they differ from the others. $dates = array(); //$links = array(); $dates[print_date($finance['transaction_date'])] = true; //$links[$finance['url']]=!trim($finance['name']) ? 'N/A' : htmlspecialchars($finance['name']); if ($finance['finance_record']) { if (isset($finance['finance_record']['linked_finances'])) { foreach ($finance['finance_record']['linked_finances'] as $f) {