diff --git a/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsBL.php b/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsBL.php index 87e2d80..e7e38e5 100644 --- a/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsBL.php +++ b/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsBL.php @@ -23,174 +23,51 @@ if (checkSession()) { require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); require_once("$default->fileSystemRoot/presentation/Html.inc"); - - $oPatternCustom = & new PatternCustom(); - - // if a new DocType has been added - // coming from manual edit page - if (isset($fUpdate)) { - - //$oDocType = DocumentType::get($fDocTypeID); - //$oDocType->setName($fDocTypeName); - - // store type specific field id's in an array - $aGenericDocFields = DocumentField::getGenericFields(); - $aSpecificDocFields = DocumentTypeFieldLink::getSpecificFields($fDocTypeID); - - echo "
  • " . arrayToString($aSpecificDocFields ) . "
  • "; - - /** - if ($oDocType->update()) { - // if successfull print out success message - $oPatternCustom->setHtml(getEditPageSuccess()); - - } else { - // if fail print out fail message - $oPatternCustom->setHtml(getEditPageFail()); - } - **/ - } else if (isset($fDocTypeSelected)){ - // post back on DocType select from manual edit page - // store type generic field id's in an array - $aGenericFields = DocumentField::getGenericFields(); - - // get all specific fields - $aAllSpecificFields = DocumentField::getAllSpecificFields(); - - - // store type specific field id's and names in an array for specifc doctype - $aSpecificFields = DocumentTypeFieldLink::getSpecificFields($fDocTypeID); - - - $oPatternCustom->setHtml(getDetailsPage($fDocTypeID, $aGenericFields, $aSpecificFields, $aAllSpecificFields)); - $main->setFormAction($_SERVER["PHP_SELF"] . "?fShowDetails=1"); - - - }else if(isset($fAdd)) - { - if($fIsMandatory == 1){ - $iMandatory = 1; - }else{ - $iMandatory = 0; + $oPatternCustom = & new PatternCustom(); + if ($fDocTypeID) { + if ($fDocFieldID) { + $oDocTypeFieldLink = DocumentTypeFieldLink::getByFieldAndTypeIDs($fDocTypeID, $fDocFieldID); + if (isset($fRemove)) { + if ($fConfirm) { + $oDocTypeFieldLink = DocumentTypeFieldLink::getByFieldAndTypeIDs($fDocTypeID, $fDocFieldID); + if ($oDocTypeFieldLink->delete()) { + // success + $oPatternCustom->setHtml(getSuccessPage("Document field successfully deleted.", $fDocTypeID)); + } else { + // failure + $oPatternCustom->setHtml(getSuccessPage("Error deleting document field.", $fDocTypeID)); + } + } else { + // ask for confirmation + $oPatternCustom->setHtml(getDeleteConfirmationPage($fDocTypeID, $fDocFieldID)); + } + } else if(isset($fUpdateMandatory)) { + if ($fConfirm) { + if (isset($fIsMandatory)) { + $oDocTypeFieldLink->setIsMandatory(true); + } else { + $oDocTypeFieldLink->setIsMandatory(false); + } + $default->log->info("dfl=" . arrayToString($oDocTypeFieldLink)); + $oDocTypeFieldLink->update(); + $oPatternCustom->setHtml(getDetailsPage($fDocTypeID)); + } else { + // display edit form + $oPatternCustom->setHtml(getEditDocumentFieldLinkPage($oDocTypeFieldLink)); + $main->setFormAction($_SERVER["PHP_SELF"] . "?fUpdateMandatory=1"); + } } - - $oDocTypeField = new DocumentTypeFieldLink($fDocTypeID, $fDocFieldTypeID, $iMandatory); - - $oDocTypeField->create(); - - - // post back on DocType select from manual edit page - // store type generic field id's in an array - //$oDocFieldType = new DocumentTypeFieldLink( - $aGenericFields = DocumentField::getGenericFields(); - - // get all specific fields - $aAllSpecificFields = DocumentField::getAllSpecificFields(); - - - // store type specific field id's and names in an array for specifc doctype - $aSpecificFields = DocumentTypeFieldLink::getSpecificFields($fDocTypeID); - - $oPatternCustom->setHtml(getDetailsPage($fDocTypeID, $aGenericFields, $aSpecificFields, $aAllSpecificFields)); - - $main->setFormAction($_SERVER["PHP_SELF"] . "?fDocTypeSelected=1"); - //$oPatternCustom->setHtml(getEditPageSuccess()); - - - }else if(isset($fRemove)){ - - $fFieldID = $fRemove; - - // does'nt matter wot ismandatory is..not checking for it when deleting - $iMandatory = 0; - //create new object - $oDocTypeField = new DocumentTypeFieldLink($fDocTypeID, $fFieldID, $iMandatory); - - //delete it by first getting hte corresponding id - $oDocTypeField ->setDocTypeFieldID($fDocTypeID, $fFieldID); - $oDocTypeField->delete(); - - // post back on DocType select from manual edit page - // store type generic field id's in an array - //$oDocFieldType = new DocumentTypeFieldLink( - $aGenericFields = DocumentField::getGenericFields(); - - // get all specific fields - $aAllSpecificFields = DocumentField::getAllSpecificFields(); - - - // store type specific field id's and names in an array for specifc doctype - $aSpecificFields = DocumentTypeFieldLink::getSpecificFields($fDocTypeID); - - $oPatternCustom->setHtml(getDetailsPage($fDocTypeID, $aGenericFields, $aSpecificFields, $aAllSpecificFields)); - $main->setFormAction($_SERVER["PHP_SELF"] . "?fDocTypeSelected=1"); - - }else if(isset($fEdit)){ - $fFieldID = $fEdit; - - $iMandatory = 0; - - $oDocTypeField = new DocumentTypeFieldLink($fDocTypeID, $fFieldID, $iMandatory); - - //delete it by first getting hte corresponding id - $oDocTypeField ->setDocTypeFieldID($fDocTypeID, $fFieldID); - - $iDocTypeFieldID = $oDocTypeField->getID(); - - $oPatternCustom->setHtml(getMandatoryPage($fFieldID,$iDocTypeFieldID)); - $main->setFormAction($_SERVER["PHP_SELF"] . "?fUpdateMandatory=1"); - - - } else if(isset($fUpdateMandatory)){ - - $oDocTypeField = new DocumentTypeFieldLink($fDocTypeID, $fFieldID, $fMandatory); - - //delete it by first getting hte corresponding id - $oDocTypeField->setDocTypeFieldID($fDocTypeID, $fFieldID); - - if(isset($fIsMandatory)){ - $oDocTypeField->setIsMandatory(true); - }else{ - $oDocTypeField->setIsMandatory(false); + } else { + $oPatternCustom->setHtml(getDetailsPage($fDocTypeID)); + $main->setFormAction($_SERVER["PHP_SELF"] . "?fUpdateMandatory=1"); } - - $oDocTypeField->update(); - - - - // post back on DocType select from manual edit page - // store type generic field id's in an array - //$oDocFieldType = new DocumentTypeFieldLink( - $aGenericFields = DocumentField::getGenericFields(); - - // get all specific fields - $aAllSpecificFields = DocumentField::getAllSpecificFields(); - - - // store type specific field id's and names in an array for specifc doctype - $aSpecificFields = DocumentTypeFieldLink::getSpecificFields($fDocTypeID); - - $oPatternCustom->setHtml(getDetailsPage($fDocTypeID, $aGenericFields, $aSpecificFields, $aAllSpecificFields)); - $main->setFormAction($_SERVER["PHP_SELF"] . "?fDocTypeSelected=1"); - - - - - }else { - // if nothing happens...just reload edit page - $oPatternCustom->setHtml(getEditPage(null)); - $main->setFormAction($_SERVER["PHP_SELF"] ."?fDocTypeSelected=1"); - - + } else { + // no document type selected to edit + // FIXME } - - - - - //render the page $main->setCentralPayload($oPatternCustom); $main->render(); } -?> +?> \ No newline at end of file diff --git a/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsUI.inc index fc209ff..5298d17 100644 --- a/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeFieldsUI.inc @@ -9,287 +9,139 @@ */ // if its the manual edit page..then display normally -function getEditPage($iDocTypeID) { +function getDetailsPage($iDocTypeID) { global $default; $oDocType = null; if (isset($iDocTypeID)) { $oDocType = DocumentType::get($iDocTypeID); - - } - - $sToRender .= renderHeading("Edit Document Type"); - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "" . getUpdateButton($oDocType); - $sToRender .= getCancelButton($oDocType); - $sToRender .= "\n"; - $sToRender .= "
    Document Type Name: " . getDocTypeDisplay($oDocType) . "
    \n"; - - - return $sToRender; -} - -// if its the manual edit page..then display normally -function getDetailsPage($iDocTypeID,$aGeneric,$aSpecific, $aAllSpecific) { - global $default; - $oDocType = null; - if (isset($iDocTypeID)) { - $oDocType = DocumentType::get($iDocTypeID); - } $sToRender .= renderHeading("Edit Document Type"); $sToRender .= "\n"; - $sToRender .= "" . getCancelButton($oDocType) . "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; + $sToRender .= "\n"; - $sToRender .= ""; - $sToRender .= "" . getSpecificFieldsList($aSpecific, $iDocTypeID) . "\n"; - $sToRender .= ""; + $sToRender .= "\n"; $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - /*if(count($aAllSpecific) > 0) { - $sToRender .= "\n"; - }*/ - $sToRender .= "\n"; - $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "\n"; - $sToRender .= "\n"; - //$sToRender .= "" . getUpdateButton($oDocType); - $sToRender .= "\n"; + $sToRender .= ""; + $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "


    Document Type Name: " . getDocTypeDisplay($oDocType) . "
    Current Generic Fields: " . getGenericFieldsList($aGeneric) . "
    Current Type Specific Fields:
    "; - $sToRender .= "
    rootUrl/control.php?action=addDocTypeFieldsLink&fDocTypeID=$iDocTypeID\" >graphicsUrl/widgets/add.gif\" />"; - $sToRender .= " Add new Type Specific Field "; - $sToRender .= "
    Document Type Name: " . $oDocType->getName() . "


    Add New Type Specific Field: " . addSpecificFieldsList($aAllSpecific) ; - $sToRender .= "
    Mandatory: " . getAddSpecificFieldButton() . "


    Generic Document Fields: " . getGenericFieldsList() . "
    Document Type Specific Fields: " . getDocumentTypeFieldsList($iDocTypeID) . "
    " . generateControllerLink("addDocTypeFieldsLink", "fDocTypeID=$iDocTypeID", "Add new Type Specific Field   graphicsUrl/widgets/add.gif\"/>"); + $sToRender .= generateControllerLink("listDocTypes", "", "graphicsUrl/widgets/back.gif\"/>"). "
    \n"; - return $sToRender; } -// if its the manual edit page..then display normally -function getMandatoryPage($iDocFieldID,$iDocTypeFieldID) { - global $default; - $oDocField = null; - - if (isset($iDocFieldID)) { - $oDocField = DocumentField::get($iDocFieldID); - - } +function getDeleteConfirmationPage($iDocTypeID, $iDocFieldID) { + global $default; - if (isset($iDocTypeFieldID)) { - $oDocTypeField = DocumentTypeFieldLink::get($iDocTypeFieldID); - - } - - $sToRender .= "iDocumentTypeID . "\">\n" ; - $sToRender .= "iFieldID . "\">\n" . - //$sToRender .= renderHeading("Edit Mandatory settings"); - $sToRender .= "

    \n"; - - $sToRender .= "Change Mandatory Setting:\n"; - $sToRender .= "\n"; - $sToRender .= "

    \n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - if($oDocTypeField->getIsMandatory() == 1) { - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "" . getDocTypeFieldUpdateButton() ; - $sToRender .= "\n"; - + $oDocType = DocumentType::get($iDocTypeID); + $oDocField = DocumentField::get($iDocFieldID); + + $sToRender .= renderHeading("Edit Document Type - Delete Document Field Link"); + $sToRender .= "
    Document Field Name: " . $oDocField->getName() . "
    Is Mandatory: \n"; - } else { - $sToRender .= "Is Mandatory: \n"; - } - - $sToRender .= "
    \n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "
    Are you sure you want to remove field '" . $oDocField->getName(). "' from document type '" . $oDocType->getName() ."'?
    Click 'Remove' to remove the link, or 'Cancel' to abort.
    " . generateControllerLink("editDocTypeFields", "fConfirm=1&fRemove=1&fDocFieldID=$iDocFieldID&fDocTypeID=$iDocTypeID", "graphicsUrl/widgets/remove.gif\" border = \"0\" />"); + $sToRender .= generateControllerLink("editDocTypeFields", "fDocTypeID=$iDocTypeID", "graphicsUrl/widgets/cancel.gif\" border = \"0\" />") . "
    \n"; - - return $sToRender; } -// if edition is successful print otu success page -function getEditPageSuccess() { +function getEditDocumentFieldLinkPage($oDocTypeFieldLink) { global $default; - $sToRender .= renderHeading("Edit Document Type"); + $oDocField = DocumentField::get($oDocTypeFieldLink->getFieldID()); + + $sToRender .= renderHeading("Edit Document Type - Update Document Field Link Mandatory Setting"); $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "getDocumentTypeID() . "\">\n"; + $sToRender .= "getFieldID() . "\">\n"; $sToRender .= "\n"; - $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "
    Success!
    The Document Type was successfully modified
    rootUrl/control.php?action=listDocTypes\">graphicsUrl/widgets/back.gif\" border = \"0\" />Document Field Name: " . $oDocField->getName() . "
    Mandatory: getIsMandatory() ? "CHECKED" : "") . ">
    graphicsUrl/widgets/update.gif\"/>"; + $sToRender .= generateControllerLink("editDocTypeFields", "fDocTypeID=" . $oDocTypeFieldLink->getDocumentTypeID(), "graphicsUrl/widgets/cancel.gif\" border = \"0\" />") . "
    \n"; - return $sToRender; } -// gets the page if editing fails -function getEditPageFail() { - global $default; +function getStatusPage($sHeading, $sText = "", $iDocTypeID) { + global $default; + $sToRender .= renderHeading("Edit Document Type"); - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; + $sToRender .= "
    Failure!
    Document Type modification Failed!
    \n"; $sToRender .= "\n"; - $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; $sToRender .= "
    rootUrl/control.php?action=listDocTypes\">graphicsUrl/widgets/back.gif\" border = \"0\" />$sHeading
    $sText
    " . generateControllerLink("editDocTypeFields", "fDocTypeID=$iDocTypeID", "graphicsUrl/widgets/back.gif\" border = \"0\" />") . "
    \n"; - return $sToRender; } -// show the list box when no DocType selected -// then shows a text box with the DocType's name -function getDocTypeDisplay($oDocType) { - global $default; - if (!isset($oDocType)) { - $oPatternListBox = & new PatternListBox($default->owl_document_types_table, "name", "id", "fDocTypeID"); - // only restrict doc type editing for non sys admins - if (!Permission::userIsSystemAdministrator()) { - $oPatternListBox->setFromClause("LEFT OUTER JOIN $default->owl_documents_table D on ST.id=D.document_type_id"); - $oPatternListBox->setWhereClause("ISNULL(D.id)"); - } - $oPatternListBox->setPostBackOnChange(true); - return $oPatternListBox->render(); - } else { - return $oDocType->getName(); - } - -} - -function getGenericFieldsList($aGeneric) { - global $default; - - $sList = ""; - for($i = 0; $i < count($aGeneric);$i++) { - $sList .= "
  • " . $aGeneric[$i]["name"]. "
  • \n"; - } - $sList .= ""; - return $sList; +// if addition is successful print otu success page +function getSuccessPage($sMessage, $iDocTypeID) { + return getStatusPage("Success!", $sMessage, $iDocTypeID); } -function getSpecificFieldsList1($aSpecific) { - global $default; - $sList .= ""; - for ($i=0;$i < count($aAllSpecific);$i++) { - $Options .= "\n"; + $aGenericDocumentFields = DocumentField::getList("is_generic=1"); + for($i = 0; $i < count($aGenericDocumentFields); $i++) { + $sToRender .= "
  • " . $aGenericDocumentFields[$i]->getName() . "
  • \n"; } - $sDocFieldType .= $Options . ""; - - return $sDocFieldType; + return $sToRender; } -// gets the updatebutton when a DocType is selected -function getUpdateButton($oDocType) { - global $default; - if (!isset($oDocType)) { - return "Please select a Document Type: "; - } else { - return "graphicsUrl/widgets/update.gif\" value=\"submit\" />\n"; +function getDocumentTypeFieldsList($iDocTypeID) { + global $default; + $aDocumentTypeFields = DocumentTypeFieldLink::getDocumentTypeFields($iDocTypeID); + $sToRender .= ""; + for($i = 0; $i < count($aDocumentTypeFields); $i++) { + $oDocField = $aDocumentTypeFields[$i]; + if ($oDocField) { + $oDocumentTypeFieldLink = DocumentTypeFieldLink::getByFieldAndTypeIDs($iDocTypeID, $oDocField->getID()); + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + } else { + // FIXME: what about broken links? + } } + $sToRender .= "
    " . $oDocField->getName() . "graphicsUrl/widgets/" . ($oDocumentTypeFieldLink->getIsMandatory() ? "checked" : "unchecked") . ".gif\"/>" . getEditSpecificFieldButton($oDocField->getID(), $iDocTypeID) . "" . getRemoveSpecificFieldButton($oDocField->getID(), $iDocTypeID) . "
    \n"; + return $sToRender; } -// gets the updatebutton when a DocType is selected -function getDocTypeFieldUpdateButton() { - global $default; - return "graphicsUrl/widgets/update.gif\" value=\"submit\" />\n"; -} - -function getRemoveSpecificFieldButton($iNumber, $iDocTypeID=null) { - global $default; - //Return "graphicsUrl/widgets/remove.gif\" value=\"remove\" />\n"; - return " graphicsUrl/widgets/remove.gif\" value=\"edit\" />\n"; -} - -function getEditSpecificFieldButton($iNumber, $iDocTypeID=null) { - global $default; - //return "graphicsUrl/widgets/edit.gif\" value=\"edit\" />\n"; - return " graphicsUrl/widgets/edit.gif\" value=\"edit\" />\n"; -} - -function getAddSpecificFieldButton() { +function getEditSpecificFieldButton($iDocFieldID, $iDocTypeID) { global $default; - return "graphicsUrl/widgets/add.gif\" value=\"add\" />\n"; + return generateControllerLink("editDocTypeFields", "fUpdateMandatory=1&fDocFieldID=$iDocFieldID&fDocTypeID=$iDocTypeID", "graphicsUrl/widgets/edit.gif\" value=\"edit\" />"); } -// gets the cancel button when a DocType is selected -function getCancelButton($oDocType) { +function getRemoveSpecificFieldButton($iDocFieldID, $iDocTypeID) { global $default; - if (!isset($oDocType)) { - return "rootUrl/control.php?action=doctypeManagement\">graphicsUrl/widgets/cancel.gif\" value=\"cancel\" border = \"0\"/>\n"; - } - else { - return "rootUrl/control.php?action=listDocTypes\">graphicsUrl/widgets/back.gif\" border = \"0\" />\n"; - } + return generateControllerLink("editDocTypeFields", "fRemove=1&fDocFieldID=$iDocFieldID&fDocTypeID=$iDocTypeID", "graphicsUrl/widgets/remove.gif\" value=\"remove\" />"); } ?> \ No newline at end of file