diff --git a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php index 26fe079..9137a7c 100644 --- a/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php +++ b/presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php @@ -185,9 +185,23 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { } // }}} - // {{{ do_removeLookups - function do_removeLookups() { - $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); + // {{{ do_metadataMultiAction + function do_metadataMultiAction() { + $subaction = array_keys(KTUtil::arrayGet($_REQUEST, 'submit', array())); + $this->oValidator->notEmpty($subaction, array("message" => "No action specified")); + $subaction = $subaction[0]; + $method = null; + if (method_exists($this, 'lookup_' . $subaction)) { + $method = 'lookup_' . $subaction; + } + $this->oValidator->notEmpty($method, array("message" => "Unknown action specified")); + return $this->$method(); + } + // }}} + + // {{{ lookup_remove + function lookup_remove() { + $oFieldset =& $this->oValidator->validateFieldset($_REQUEST['fFieldsetId']); $oField =& DocumentField::get($_REQUEST['fFieldId']); $aMetadata = KTUtil::arrayGet($_REQUEST, 'metadata'); if (empty($aMetadata)) { @@ -202,6 +216,61 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { } // }}} + // {{{ lookup_disable + function lookup_disable() { + $oFieldset =& $this->oValidator->validateFieldset($_REQUEST['fFieldsetId']); + $oField =& DocumentField::get($_REQUEST['fFieldId']); + $aMetadata = KTUtil::arrayGet($_REQUEST, 'metadata'); + if (empty($aMetadata)) { + $this->errorRedirectTo('editField', 'No lookups selected', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); + } + foreach ($_REQUEST['metadata'] as $iMetaDataId) { + $oMetaData =& MetaData::get($iMetaDataId); + $oMetaData->setDisabled(true); + $oMetaData->update(); + } + $this->successRedirectTo('editField', 'Lookups disabled', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); + exit(0); + } + // }}} + + // {{{ lookup_enable + function lookup_enable() { + $oFieldset =& $this->oValidator->validateFieldset($_REQUEST['fFieldsetId']); + $oField =& DocumentField::get($_REQUEST['fFieldId']); + $aMetadata = KTUtil::arrayGet($_REQUEST, 'metadata'); + if (empty($aMetadata)) { + $this->errorRedirectTo('editField', 'No lookups selected', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); + } + foreach ($_REQUEST['metadata'] as $iMetaDataId) { + $oMetaData =& MetaData::get($iMetaDataId); + $oMetaData->setDisabled(false); + $oMetaData->update(); + } + $this->successRedirectTo('editField', 'Lookups enabled', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); + exit(0); + } + // }}} + + // {{{ lookup_togglestickiness + function lookup_togglestickiness() { + $oFieldset =& $this->oValidator->validateFieldset($_REQUEST['fFieldsetId']); + $oField =& DocumentField::get($_REQUEST['fFieldId']); + $aMetadata = KTUtil::arrayGet($_REQUEST, 'metadata'); + if (empty($aMetadata)) { + $this->errorRedirectTo('editField', 'No lookups selected', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); + } + foreach ($_REQUEST['metadata'] as $iMetaDataId) { + $oMetaData =& MetaData::get($iMetaDataId); + $bStuck = (boolean)$oMetaData->getIsStuck(); + $oMetaData->setIsStuck(!$bStuck); + $oMetaData->update(); + } + $this->successRedirectTo('editField', 'Lookup stickiness toggled', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); + exit(0); + } + // }}} + // {{{ do_becomeconditional function do_becomeconditional() { $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); diff --git a/templates/ktcore/metadata/editField.smarty b/templates/ktcore/metadata/editField.smarty index ace7278..b10fc4f 100644 --- a/templates/ktcore/metadata/editField.smarty +++ b/templates/ktcore/metadata/editField.smarty @@ -19,38 +19,71 @@ {if $oField->getHasLookup()} -{assign var="aMetadata" value=$oField->getValues()} -{if $aMetadata} +{assign var="aEnabledMetadata" value=$oField->getEnabledValues()} +{assign var="aDisabledMetadata" value=$oField->getDisabledValues()}