Commit 1c9d492a22650b972f8473209255d92d89d3ec1b
1 parent
d0528527
Implement completeness-related work - any change in a conditional
fieldset sets the fieldset as incomplete, requiring the use of "checkComplete" to set it to be complete again, which checks if it can be considered complete first. git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3806 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
32 additions
and
0 deletions
presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php
| @@ -169,6 +169,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | @@ -169,6 +169,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | ||
| 169 | function do_becomeconditional() { | 169 | function do_becomeconditional() { |
| 170 | $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); | 170 | $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); |
| 171 | $oFieldset->setIsConditional(true); | 171 | $oFieldset->setIsConditional(true); |
| 172 | + $oFieldset->setIsComplete(false); | ||
| 172 | $res = $oFieldset->update(); | 173 | $res = $oFieldset->update(); |
| 173 | if (PEAR::isError($res) || ($res === false)) { | 174 | if (PEAR::isError($res) || ($res === false)) { |
| 174 | $this->errorRedirectTo('edit', 'Could not become conditional', 'fFieldsetId=' . $oFieldset->getId()); | 175 | $this->errorRedirectTo('edit', 'Could not become conditional', 'fFieldsetId=' . $oFieldset->getId()); |
| @@ -183,6 +184,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | @@ -183,6 +184,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | ||
| 183 | function do_removeconditional() { | 184 | function do_removeconditional() { |
| 184 | $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); | 185 | $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); |
| 185 | $oFieldset->setIsConditional(false); | 186 | $oFieldset->setIsConditional(false); |
| 187 | + $oFieldset->setIsComplete(true); | ||
| 186 | $res = $oFieldset->update(); | 188 | $res = $oFieldset->update(); |
| 187 | if (PEAR::isError($res) || ($res === false)) { | 189 | if (PEAR::isError($res) || ($res === false)) { |
| 188 | $this->errorRedirectTo('edit', 'Could not stop being conditional', 'fFieldsetId=' . $oFieldset->getId()); | 190 | $this->errorRedirectTo('edit', 'Could not stop being conditional', 'fFieldsetId=' . $oFieldset->getId()); |
| @@ -248,12 +250,19 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | @@ -248,12 +250,19 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | ||
| 248 | $aFreeFields[] =& DocumentField::get($iId); | 250 | $aFreeFields[] =& DocumentField::get($iId); |
| 249 | } | 251 | } |
| 250 | } | 252 | } |
| 253 | + $res = KTMetadataUtil::checkConditionalFieldsetCompleteness($oFieldset); | ||
| 254 | + if (PEAR::isError($res)) { | ||
| 255 | + $sIncomplete = $res->getMessage(); | ||
| 256 | + } else { | ||
| 257 | + $sIncomplete = null; | ||
| 258 | + } | ||
| 251 | $oTemplate->setData(array( | 259 | $oTemplate->setData(array( |
| 252 | 'oFieldset' => $oFieldset, | 260 | 'oFieldset' => $oFieldset, |
| 253 | 'free_fields' => $aFreeFields, | 261 | 'free_fields' => $aFreeFields, |
| 254 | 'parent_fields' => $aParentFields, | 262 | 'parent_fields' => $aParentFields, |
| 255 | 'aFieldOrders' => $aFieldOrders, | 263 | 'aFieldOrders' => $aFieldOrders, |
| 256 | 'oMasterField' => $oMasterField, | 264 | 'oMasterField' => $oMasterField, |
| 265 | + 'sIncomplete' => $sIncomplete, | ||
| 257 | )); | 266 | )); |
| 258 | return $oTemplate; | 267 | return $oTemplate; |
| 259 | } | 268 | } |
| @@ -299,6 +308,29 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | @@ -299,6 +308,29 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | ||
| 299 | exit(0); | 308 | exit(0); |
| 300 | } | 309 | } |
| 301 | // }}} | 310 | // }}} |
| 311 | + | ||
| 312 | + // {{{ do_checkComplete | ||
| 313 | + /** | ||
| 314 | + * Checks whether the fieldset is complete, and if it is, sets it to | ||
| 315 | + * be complete in the database. Otherwise, set it to not be | ||
| 316 | + * complete in the database (just in case), and set the error | ||
| 317 | + * messages as to why it isn't. | ||
| 318 | + */ | ||
| 319 | + function do_checkComplete() { | ||
| 320 | + $oFieldset =& $this->oValidator->validateFieldset($_REQUEST['fFieldsetId']); | ||
| 321 | + $res = KTMetadataUtil::checkConditionalFieldsetCompleteness($oFieldset); | ||
| 322 | + if ($res === true) { | ||
| 323 | + $oFieldset->setIsComplete(true); | ||
| 324 | + $oFieldset->update(); | ||
| 325 | + $this->successRedirectTo('manageConditional', 'Set to complete', 'fFieldsetId=' . $oFieldset->getId()); | ||
| 326 | + } | ||
| 327 | + $oFieldset->setIsComplete(false); | ||
| 328 | + $oFieldset->update(); | ||
| 329 | + // Success, as we want to save the incompleteness to the | ||
| 330 | + // database... | ||
| 331 | + $this->successRedirectTo('manageConditional', 'Could not to complete', 'fFieldsetId=' . $oFieldset->getId()); | ||
| 332 | + } | ||
| 333 | + // }}} | ||
| 302 | } | 334 | } |
| 303 | 335 | ||
| 304 | $d =& new KTDocumentFieldDispatcher; | 336 | $d =& new KTDocumentFieldDispatcher; |