/** * * @internal revisions * 20121110 - TICKET 5341 */ private function init_filter_toplevel_testsuite() { switch ($this->mode) { case 'edit_mode': default: if (!$this->testproject_mgr) { $this->testproject_mgr = new testproject($this->db); } $itemSet = $this->testproject_mgr->get_first_level_test_suites($this->args->testproject_id, 'smarty_html_options'); break; case 'execution_mode': if (!$this->testplan_mgr) { $this->testplan_mgr = new testplan($this->db); } $itemSet = $this->testplan_mgr->get_testsuites($this->args->testplan_id, array('output' => 'smarty_html_options')); break; } $key = 'filter_toplevel_testsuite'; $selection = $this->args->{$key}; if (!$selection || $this->args->reset_filters) { $selection = null; } else { $this->do_filtering = true; } // this filter should only be visible if there are any top level testsuites $this->filters[$key] = null; if ($itemSet) { $this->filters[$key] = array('items' => array(0 => ''), 'selected' => $selection, 'exclude_branches' => array()); foreach ($itemSet as $id => $name) { $this->filters[$key]['items'][$id] = $name; if ($selection && $id != $selection) { $this->filters[$key]['exclude_branches'][$id] = 'exclude_me'; } } // Important: This is the only case in which active_filters contains the items // which have to be deleted from tree, instead of the other way around. $this->active_filters[$key] = $this->filters[$key]['exclude_branches']; } else { $this->active_filters[$key] = null; } }