function test_row(Requirement $req, $indentation, TableCreator $table_creator, $filter_cat, $filter_pri)
{
    $test = $req->with('system_test')->system_test;
    $ret = "";
    if (isset($req->system_test) && (!is_numeric($filter_cat) || $req->category == $filter_cat) && (!is_numeric($filter_pri) || $req->priority == $filter_pri)) {
        $test->with('test');
        $ret .= $table_creator->row(array($test->public_id(), $test->test->description, 'success', $table_creator->anchor($req->public_id(), $req->public_id())));
    }
    $nested = $req->with('requirements')->requirements;
    foreach ($nested as $nreq) {
        $ret .= test_row($nreq, $indentation + 1, $table_creator, $filter_cat, $filter_pri);
    }
    return $ret;
}
function test_row(Requirement $req, $indentation, TableCreator $table_creator, $filter_cat, $filter_pri)
{
    $test = $req->with('system_test')->system_test;
    $validation = $req->with('validation0')->validation0;
    $ret = "";
    $rv = '';
    if (isset($test)) {
        $rv = $test->public_id();
    } else {
        if (isset($validation)) {
            $rv = $validation->name;
        }
    }
    $ret .= $table_creator->row(array($table_creator->child_indentation($indentation), $req->public_id(), $rv));
    $nested = $req->with('requirements')->requirements;
    foreach ($nested as $nreq) {
        $ret .= test_row($nreq, $indentation + 1, $table_creator, $filter_cat, $filter_pri);
    }
    return $ret;
}
function req_row(Requirement $req, $indentation, TableCreator $table_creator)
{
    $req->with('validationTest', 'requirements');
    $ret = "";
    $ret .= $table_creator->row(array($table_creator->child_indentation($indentation), $req->public_id(), $req->validationTest == null ? '' : $req->validationTest->public_id()));
    $nested = $req->requirements;
    foreach ($nested as $c) {
        $ret .= req_row($c, $indentation + 1, $table_creator);
    }
    return $ret;
}
 /**
  * Lists all models.
  */
 public function actionIndex()
 {
     $model = new Requirement('search');
     $model->with('category0', 'priority0', 'parent0');
     $model->unsetAttributes();
     // clear any default values
     if (isset($_GET['Requirement'])) {
         $model->attributes = $_GET['Requirement'];
     }
     $this->render('admin', array('model' => $model));
 }