You are here

function support_pm_invoice_ui_form in Support Ticketing System 7

Same name and namespace in other branches
  1. 6 support_pm/support_pm.module \support_pm_invoice_ui_form()

Provide form for selecting projects.

1 string reference to 'support_pm_invoice_ui_form'
support_pm_support_timer_client_report_alter in support_pm/support_pm.module
Allow projects to be selected.

File

support_pm/support_pm.module, line 367
Support Project Management. @author Jeremy Andrews <jeremy@tag1consulting.com> @package Support

Code

function support_pm_invoice_ui_form($form, &$form_state) {
  if (user_access('administer support projects')) {
    drupal_add_js('jQuery(document).ready(function() { jQuery("form#support-pm-invoice-ui-form select").change(function() { jQuery("form#support-pm-invoice-ui-form").submit(); }); });', 'inline');
    $projects = array(
      -1 => t('-- no project --'),
      0 => t('-- all projects --'),
    ) + support_pm_load_projects(_support_current_client());
    $project = isset($_GET['project']) ? $_GET['project'] : '';
    if ($project && $project == preg_replace('/[^0-9a-zA-Z_-]/', '', $project)) {
      if (strtolower($project) == 'null') {
        $selected = -1;
      }
      else {
        $selected = (int) db_query('SELECT projid FROM {support_project} WHERE path = :path', array(
          ':path' => $project,
        ))
          ->fetchField();
      }
    }
    else {
      $selected = 0;
    }
    $form['pm'] = array(
      '#type' => 'fieldset',
      '#title' => t('Project'),
      '#collapsible' => TRUE,
      '#collapsed' => $selected ? FALSE : TRUE,
    );
    $form['pm']['projects'] = array(
      '#title' => t('Project'),
      '#type' => 'select',
      '#options' => $projects,
      '#default_value' => $selected,
      '#description' => t('Filter report by selected project.'),
    );
    $form['pm']['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Update filter'),
    );
  }
  return $form;
}