function initializeGui(&$dbHandler, $argsObj, &$tplanMgr, &$tcaseMgr)
{
    $platform_mgr = new tlPlatform($dbHandler, $argsObj->tproject_id);
    $tcase_cfg = config_get('testcase_cfg');
    $gui = new stdClass();
    $gui->platforms = $platform_mgr->getLinkedToTestplanAsMap($argsObj->tplan_id);
    $gui->usePlatforms = $platform_mgr->platformsActiveForTestplan($argsObj->tplan_id);
    $gui->bulk_platforms = $platform_mgr->getLinkedToTestplanAsMap($argsObj->tplan_id);
    $gui->bulk_platforms[0] = lang_get("all_platforms");
    ksort($gui->bulk_platforms);
    $gui->send_mail = $argsObj->send_mail;
    $gui->send_mail_checked = "";
    if ($gui->send_mail) {
        $gui->send_mail_checked = ' checked="checked" ';
    }
    $gui->glueChar = $tcase_cfg->glue_character;
    if ($argsObj->level != 'testproject') {
        $gui->testCasePrefix = $tcaseMgr->tproject_mgr->getTestCasePrefix($argsObj->tproject_id);
        $gui->testCasePrefix .= $tcase_cfg->glue_character;
        $gui->keywordsFilterType = $argsObj->keywordsFilterType;
        $gui->build_id = $argsObj->build_id;
        $gui->tplan_id = $argsObj->tplan_id;
        $tplan_info = $tplanMgr->get_by_id($argsObj->tplan_id);
        $gui->testPlanName = $tplan_info['name'];
        $build_info = $tplanMgr->get_build_by_id($argsObj->tplan_id, $argsObj->build_id);
        $gui->buildName = $build_info['name'];
        $gui->main_descr = sprintf(lang_get('title_tc_exec_assignment'), $gui->buildName, $gui->testPlanName);
        $tproject_mgr = new testproject($dbHandler);
        $tproject_info = $tproject_mgr->get_by_id($argsObj->tproject_id);
        $gui->all_users = tlUser::getAll($dbHandler, null, "id", null);
        $gui->users = getUsersForHtmlOptions($dbHandler, null, null, null, $gui->all_users);
        $gui->testers = getTestersForHtmlOptions($dbHandler, $argsObj->tplan_id, $tproject_info, $gui->all_users);
    }
    return $gui;
}
Example #2
0
function initializeGui(&$dbHandler, $argsObj, &$tplanMgr, &$tcaseMgr)
{
    $tcase_cfg = config_get('testcase_cfg');
    $title_separator = config_get('gui_title_separator_1');
    $gui = new stdClass();
    $gui->tproject_id = $argsObj->tproject_id;
    $gui->tplan_id = $argsObj->tplan_id;
    $gui->testCasePrefix = $tcaseMgr->tproject_mgr->getTestCasePrefix($argsObj->tproject_id);
    $gui->testCasePrefix .= $tcase_cfg->glue_character;
    $gui->can_remove_executed_testcases = $argsObj->user->hasRight($dbHandler, "testplan_unlink_executed_testcases", $argsObj->tproject_id);
    $gui->can_remove_executed_testcases = $gui->can_remove_executed_testcases == 'yes';
    $tprojectInfo = $tcaseMgr->tproject_mgr->get_by_id($argsObj->tproject_id);
    $gui->priorityEnabled = $tprojectInfo['opt']->testPriorityEnabled;
    $gui->keywordsFilterType = $argsObj->keywordsFilterType;
    $gui->keywords_filter = '';
    $gui->has_tc = 0;
    $gui->items = null;
    $gui->has_linked_items = false;
    $gui->keywordsFilterType = new stdClass();
    $gui->keywordsFilterType->options = array('OR' => 'Or', 'AND' => 'And');
    $gui->keywordsFilterType->selected = $argsObj->keywordsFilterType;
    // full_control, controls the operations planAddTC_m1.tpl will allow
    // 1 => add/remove
    // 0 => just remove
    $gui->full_control = 1;
    $tplan_info = $tplanMgr->get_by_id($argsObj->tplan_id);
    $gui->testPlanName = $tplan_info['name'];
    $gui->pageTitle = lang_get('test_plan') . $title_separator . $gui->testPlanName;
    $gui->refreshTree = $argsObj->refreshTree;
    $tproject_mgr = new testproject($dbHandler);
    $tproject_info = $tproject_mgr->get_by_id($argsObj->tproject_id);
    $userSet = $argsObj->user->getAll($dbHandler);
    $gui->testers = tlUser::getTestersForHtmlOptions($tplan_info, $tproject_info, $userSet);
    $gui->testerID = $argsObj->testerID;
    $gui->send_mail = $argsObj->send_mail;
    $gui->send_mail_checked = '';
    if ($gui->send_mail) {
        $gui->send_mail_checked = ' checked="checked" ';
    }
    $platform_mgr = new tlPlatform($dbHandler, $argsObj->tproject_id);
    $gui->platforms = $platform_mgr->getLinkedToTestplan($argsObj->tplan_id);
    $gui->platformsForHtmlOptions = null;
    $gui->usePlatforms = $platform_mgr->platformsActiveForTestplan($argsObj->tplan_id);
    if ($gui->usePlatforms) {
        // Create options for two different select boxes. $bulk_platforms
        // has "All platforms" on top and "$platformsForHtmlOptions" has an
        // empty item
        $gui->platformsForHtmlOptions[0] = '';
        foreach ($gui->platforms as $elem) {
            $gui->platformsForHtmlOptions[$elem['id']] = $elem['name'];
        }
        $gui->bulk_platforms = $platform_mgr->getLinkedToTestplanAsMap($argsObj->tplan_id);
        $gui->bulk_platforms[0] = lang_get("all_platforms");
        ksort($gui->bulk_platforms);
    }
    //
    $gui->warning_msg = new stdClass();
    $gui->warning_msg->executed = lang_get('executed_can_not_be_removed');
    if ($gui->can_remove_executed_testcases) {
        $gui->warning_msg->executed = lang_get('has_been_executed');
    }
    // BUGID 3406
    $gui->build = init_build_selector($tplanMgr, $argsObj);
    return $gui;
}
 /**
  * 
  * Possibility to filter by Platform:
  * according mode we need to add [Any] option
  *
  */
 private function init_setting_platform()
 {
     if (!$this->platform_mgr) {
         $this->platform_mgr = new tlPlatform($this->db);
     }
     $testplan_id = $this->settings['setting_testplan']['selected'];
     $session_key = $testplan_id . '_stored_setting_platform';
     $session_selection = isset($_SESSION[$session_key]) ? $_SESSION[$session_key] : null;
     $key = 'setting_platform';
     $platformSet = $this->platform_mgr->getLinkedToTestplanAsMap($testplan_id);
     if (is_null($platformSet)) {
         // Brute force bye, bye !! >>--->
         $this->settings[$key] = false;
         $_SESSION[$session_key] = null;
         return;
     }
     // Ok, there are platforms, go ahead
     $this->settings[$key] = array('items' => null, 'selected' => -1);
     if (is_null($this->args->{$key})) {
         $this->args->{$key} = intval($session_selection);
     }
     switch ($this->mode) {
         case 'plan_mode':
             $this->settings[$key]['items'] = array(0 => $this->option_strings['any']);
             $this->settings[$key]['items'] += $platformSet;
             break;
         case 'execution_mode':
             $this->settings[$key]['items'] = $platformSet;
             break;
         default:
             throw new Exception(__METHOD__ . "Mode:" . $this->mode . 'Do not know what to do', 1);
             break;
     }
     // If this platform is NOT valid for Test plan, I will set the first one
     // (is any exists).
     if (!isset($this->settings[$key]['items'])) {
         $this->args->{$key} = key($this->settings[$key]['items']);
     }
     $this->settings[$key]['selected'] = $this->args->{$key};
     if ($this->args->{$key} <= 0) {
         $this->settings[$key]['selected'] = key($this->settings[$key]['items']);
     }
     $_SESSION[$session_key] = $this->settings[$key]['selected'];
 }
 private function init_setting_platform()
 {
     if (!$this->platform_mgr) {
         $this->platform_mgr = new tlPlatform($this->db);
     }
     $key = 'setting_platform';
     $this->settings[$key] = array('items' => null, 'selected' => $this->args->{$key});
     $testplan_id = $this->settings['setting_testplan']['selected'];
     $this->settings[$key]['items'] = $this->platform_mgr->getLinkedToTestplanAsMap($testplan_id);
     // BUGID 3726
     $session_key = $testplan_id . '_stored_setting_platform';
     $session_selection = isset($_SESSION[$session_key]) ? $_SESSION[$session_key] : null;
     if (!$this->settings[$key]['selected']) {
         $this->settings[$key]['selected'] = $session_selection;
     }
     if (!isset($this->settings[$key]['items']) || !is_array($this->settings[$key]['items'])) {
         $this->settings[$key] = false;
     } else {
         if (isset($this->settings[$key]['items']) && is_array($this->settings[$key]['items']) && is_null($this->settings[$key]['selected'])) {
             // platforms exist, but none has been selected yet, so select first one
             $this->settings[$key]['selected'] = key($this->settings[$key]['items']);
         }
     }
     $_SESSION[$session_key] = $this->settings[$key]['selected'];
 }
Example #5
0
$eval_status_map['p_nfc'] = array('label' => lang_get('passed_nfc'), 'long_label' => lang_get('passed_nfc_reqs'), 'css_class' => 'passed_text');
$eval_status_map['f_nfc'] = array('label' => lang_get('failed_nfc'), 'long_label' => lang_get('failed_nfc_reqs'), 'css_class' => 'failed_text');
$eval_status_map['b_nfc'] = array('label' => lang_get('blocked_nfc'), 'long_label' => lang_get('blocked_nfc_reqs'), 'css_class' => 'blocked_text');
$eval_status_map['n_nfc'] = array('label' => lang_get('not_run_nfc'), 'long_label' => lang_get('not_run_nfc_reqs'), 'css_class' => 'not_run_text');
$eval_status_map['partially_passed_nfc'] = array('label' => lang_get('partially_passed_nfc'), 'long_label' => lang_get('partially_passed_nfc_reqs'), 'css_class' => 'passed_text');
// BUGID 4205 - add count for each status to show test progress
foreach ($eval_status_map as $key => $status) {
    $eval_status_map[$key]['count'] = 0;
}
$total_reqs = 0;
$args = init_args($tproject_mgr, $req_cfg);
checkRights($db, $_SESSION['currentUser'], $args);
$gui = init_gui($args);
$gui_open = config_get('gui_separator_open');
$gui_close = config_get('gui_separator_close');
$platforms = $platform_mgr->getLinkedToTestplanAsMap($args->tplan_id);
$gui->platforms = $platforms ? array(0 => $gui_open . lang_get('any') . $gui_close) + $platforms : null;
list($req_spec_map, $tc_ids) = get_req_info($tproject_mgr, $args, $req_mgr, $req_spec_mgr, $gui, $labels, $total_reqs);
if (count($req_spec_map)) {
    list($req_spec_map, $testcases) = calculate($req_spec_map, $args, $tplan_mgr, $tc_ids, $status_code_map, $req_cfg);
}
if (count($req_spec_map)) {
    $columns = build_columns($args, $code_status_map, $req_cfg, $results_cfg, $labels, $eval_status_map);
    $rows = build_rows($args, $status_code_map, $tproject_mgr, $req_spec_map, $req_mgr, $edit_icon, $glue_char, $charset, $req_cfg, $labels, $eval_status_map, $glue_char_tc, $testcases, $exec_img, $history_icon);
    // create table object
    $matrix = new tlExtTable($columns, $rows, 'tl_table_results_reqs');
    $matrix->title = $gui->pageTitle;
    $matrix->showGroupItemsCount = false;
    $matrix->setSortByColumnName(lang_get('progress'));
    $matrix->sortDirection = 'DESC';
    // group by Req Spec and hide that column
 /**
  * 
  * 
  * 20120825 - franciscom - TICKET 5176: Possibility to filter by Platform
  *						             according mode we need to add [Any] option
  *
  */
 private function init_setting_platform()
 {
     if (!$this->platform_mgr) {
         $this->platform_mgr = new tlPlatform($this->db);
     }
     $key = 'setting_platform';
     $this->settings[$key] = array('items' => null, 'selected' => $this->args->{$key});
     $testplan_id = $this->settings['setting_testplan']['selected'];
     $checkSelected = true;
     $platformSet = $this->platform_mgr->getLinkedToTestplanAsMap($testplan_id);
     $this->settings[$key]['items'] = $platformSet;
     switch ($this->mode) {
         case 'plan_mode':
             if (!is_null($platformSet)) {
                 $this->settings[$key]['items'] = array(0 => $this->option_strings['any']);
                 $this->settings[$key]['items'] += $platformSet;
                 $checkSelected = false;
             }
             break;
     }
     // BUGID 3726
     $session_key = $testplan_id . '_stored_setting_platform';
     $session_selection = isset($_SESSION[$session_key]) ? $_SESSION[$session_key] : null;
     // if no platform has been selected when entering the feature the first time set it
     // according to preselected value on gui
     // TICKET
     $this->args->{$key} = !is_null($this->args->{$key}) ? $this->args->{$key} : $session_selection;
     if ($checkSelected && !$this->settings[$key]['selected']) {
         $this->settings[$key]['selected'] = $session_selection;
     }
     if (!isset($this->settings[$key]['items']) || !is_array($this->settings[$key]['items'])) {
         $this->settings[$key] = false;
     } else {
         if (isset($this->settings[$key]['items']) && is_array($this->settings[$key]['items']) && is_null($this->settings[$key]['selected'])) {
             // platforms exist, but none has been selected yet, so select first one
             $this->settings[$key]['selected'] = key($this->settings[$key]['items']);
         }
     }
     $_SESSION[$session_key] = $this->settings[$key]['selected'];
 }