From 6d397502b92af81ae67a678d2ece2b2efb514d9f Mon Sep 17 00:00:00 2001 From: nbm Date: Wed, 16 Nov 2005 14:02:44 +0000 Subject: [PATCH] Split lookup values into enabled and disabled, and allow the ability to set lookup values as disabled and enabled, and also set that this status is stuck in terms of automated synchronisation. --- presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- templates/ktcore/metadata/editField.smarty | 63 ++++++++++++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 120 insertions(+), 18 deletions(-) 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()}

Lookup Values

+

Add new values

+
+ + + + + +
+ +{if $oField->getHasLookup() and $oField->getHasLookupTree()} +{assign var=iFieldId value=$oField->getId()} +Manage +lookup tree +{/if} + +{if $aEnabledMetadata}

Existing values

+
- + - + + +
{/if} -

Add new values

+{if $aDisabledMetadata} +

Disabled values

+
- - - + + + + +
{/if} -{if $oField->getHasLookup() and $oField->getHasLookupTree()} -{assign var=iFieldId value=$oField->getId()} -Manage -lookup tree {/if} -- libgit2 0.21.4