You are here

function support_pm_invoice_ui_form in Support Ticketing System 6

Same name and namespace in other branches
  1. 7 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 316
Support Project Management. @author Jeremy Andrews <jeremy@tag1consulting.com> @package Support

Code

function support_pm_invoice_ui_form() {
  $form = array();
  if (user_access('view support projects')) {
    drupal_add_js('$(document).ready(function() { $("form#support-pm-invoice-ui-form select").change(function() { $("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(), TRUE);
    $project = isset($_GET['project']) ? $_GET['project'] : '';
    if ($project && $project == preg_replace('/[^0-9a-zA-Z_-]:/', '', $project)) {
      if (strtolower($project) == 'null') {
        $selected = -1;
      }
      else {
        list($project, $client) = explode(':', $project);
        $selected = (int) db_result(db_query("SELECT projid FROM {support_project} WHERE path = '%s'", $project));
        if ($client) {
          $selected = "{$selected}:{$client}";
        }
      }
    }
    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;
}