/** * * */ function renderGui(&$argsObj, $guiObj, $opObj, $templateCfg, $editorCfg, &$dbHandler) { $smartyObj = new TLSmarty(); $renderType = 'none'; // @TODO document $actionOperation = array('create' => 'doCreate', 'edit' => 'doUpdate', 'doDelete' => '', 'doReorder' => '', 'reorder' => '', 'createTestCases' => 'doCreateTestCases', 'doCreateTestCases' => 'doCreateTestCases', 'doCreate' => 'doCreate', 'doUpdate' => 'doUpdate', 'copy' => 'doCopy', 'doCopy' => 'doCopy', 'doCreateVersion' => 'doCreateVersion', 'doCreateRevision' => 'doCreateRevision', 'doDeleteVersion' => '', 'doFreezeVersion' => 'doFreezeVersion', 'doAddRelation' => 'doAddRelation', 'doDeleteRelation' => 'doDeleteRelation'); $owebEditor = web_editor('scope', $argsObj->basehref, $editorCfg); switch ($argsObj->doAction) { case "edit": case "doCreate": $owebEditor->Value = $argsObj->scope; break; default: if ($opObj->suggest_revision || $opObj->prompt_for_log) { $owebEditor->Value = $argsObj->scope; } else { $owebEditor->Value = getItemTemplateContents('requirement_template', $owebEditor->InstanceName, $argsObj->scope); } break; } $guiObj->askForRevision = $opObj->suggest_revision ? 1 : 0; $guiObj->askForLog = $opObj->prompt_for_log ? 1 : 0; $guiObj->scope = $owebEditor->CreateHTML(); $guiObj->editorType = $editorCfg['type']; switch ($argsObj->doAction) { case "doDelete": $guiObj->refreshTree = 1; // has to be forced break; case "doCreate": $guiObj->refreshTree = $argsObj->refreshTree; break; case "doUpdate": // IMPORTANT NOTICE // we do not set tree refresh here, because on this situation // tree update has to be done when reqView page is called. // If we ask for tree refresh here we are going to do double refresh (useless and time consuming) break; } switch ($argsObj->doAction) { case "edit": case "create": case "reorder": case "doDelete": case "doReorder": case "createTestCases": case "doCreateTestCases": case "doCreate": case "doFreezeVersion": case "doUpdate": case "copy": case "doCopy": case "doCreateVersion": case "doDeleteVersion": case "doAddRelation": case "doDeleteRelation": case "doCreateRevision": $renderType = 'template'; $key2loop = get_object_vars($opObj); foreach ($key2loop as $key => $value) { $guiObj->{$key} = $value; } // exceptions $guiObj->askForRevision = $opObj->suggest_revision ? 1 : 0; $guiObj->askForLog = $opObj->prompt_for_log ? 1 : 0; $guiObj->operation = $actionOperation[$argsObj->doAction]; $tplDir = !isset($opObj->template_dir) || is_null($opObj->template_dir) ? $templateCfg->template_dir : $opObj->template_dir; $tpl = is_null($opObj->template) ? $templateCfg->default_template : $opObj->template; $pos = strpos($tpl, '.php'); if ($pos === false) { $tpl = $tplDir . $tpl; } else { $renderType = 'redirect'; } break; } $req_mgr = new requirement_mgr($dbHandler); $guiObj->last_doc_id = $req_mgr->get_last_doc_id_for_testproject($argsObj->tproject_id); $guiObj->doAction = $argsObj->doAction; switch ($renderType) { case 'template': $smartyObj->assign('gui', $guiObj); $smartyObj->display($tpl); break; case 'redirect': header("Location: {$tpl}"); exit; break; default: break; } }
/** * * */ function renderGui(&$argsObj, $guiObj, $opObj, $templateCfg, $editorCfg, &$dbHandler) { $smartyObj = new TLSmarty(); $renderType = 'none'; // @TODO document $actionOperation = array('create' => 'doCreate', 'edit' => 'doUpdate', 'doDelete' => '', 'doReorder' => '', 'reorder' => '', 'createTestCases' => 'doCreateTestCases', 'doCreateTestCases' => 'doCreateTestCases', 'doCreate' => 'doCreate', 'doUpdate' => 'doUpdate', 'copy' => 'doCopy', 'doCopy' => 'doCopy', 'doCreateVersion' => 'doCreateVersion', 'doDeleteVersion' => '', 'doFreezeVersion' => 'doFreezeVersion', 'doAddRelation' => 'doAddRelation', 'doDeleteRelation' => 'doDeleteRelation'); $owebEditor = web_editor('scope', $argsObj->basehref, $editorCfg); switch ($argsObj->doAction) { case "edit": case "doCreate": $owebEditor->Value = $argsObj->scope; break; default: $owebEditor->Value = getItemTemplateContents('requirement_template', $owebEditor->InstanceName, $argsObj->scope); break; } $guiObj->scope = $owebEditor->CreateHTML(); $guiObj->editorType = $editorCfg['type']; // 20100808 - aismon - added logic to refresh filtered tree on action switch ($argsObj->doAction) { case "doDelete": case "doCreate": $guiObj->refreshTree = $argsObj->refreshTree; break; } switch ($argsObj->doAction) { case "edit": case "create": case "reorder": case "doDelete": case "doReorder": case "createTestCases": case "doCreateTestCases": case "doCreate": case "doFreezeVersion": case "doUpdate": case "copy": case "doCopy": case "doCreateVersion": case "doDeleteVersion": // BUGID 1748 // BUGID 1748 case "doAddRelation": case "doDeleteRelation": $renderType = 'template'; $key2loop = get_object_vars($opObj); foreach ($key2loop as $key => $value) { $guiObj->{$key} = $value; } $guiObj->operation = $actionOperation[$argsObj->doAction]; $tplDir = !isset($opObj->template_dir) || is_null($opObj->template_dir) ? $templateCfg->template_dir : $opObj->template_dir; $tpl = is_null($opObj->template) ? $templateCfg->default_template : $opObj->template; $pos = strpos($tpl, '.php'); if ($pos === false) { $tpl = $tplDir . $tpl; } else { $renderType = 'redirect'; } break; } $req_mgr = new requirement_mgr($dbHandler); $guiObj->last_doc_id = $req_mgr->get_last_doc_id_for_testproject($argsObj->tproject_id); $guiObj->doAction = $argsObj->doAction; switch ($renderType) { case 'template': $smartyObj->assign('gui', $guiObj); $smartyObj->display($tpl); break; case 'redirect': header("Location: {$tpl}"); exit; break; default: break; } }