Commit 2c4cbe57c7233d06d59d5675c6ed700baccdca44
1 parent
6c548522
finish off the basic document fieldset-editing stuff.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5898 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
6 changed files
with
174 additions
and
135 deletions
lib/documentmanagement/documentcontentversion.inc.php
| @@ -100,10 +100,10 @@ class KTDocumentContentVersion extends KTEntity { | @@ -100,10 +100,10 @@ class KTDocumentContentVersion extends KTEntity { | ||
| 100 | if (empty($this->iMimeTypeId)) { | 100 | if (empty($this->iMimeTypeId)) { |
| 101 | $this->iMimeTypeId = 0; | 101 | $this->iMimeTypeId = 0; |
| 102 | } | 102 | } |
| 103 | - if (empty($this->iMajorVersion)) { | 103 | + if (is_null($this->iMajorVersion)) { |
| 104 | $this->iMajorVersion = 0; | 104 | $this->iMajorVersion = 0; |
| 105 | } | 105 | } |
| 106 | - if (empty($this->iMinorVersion)) { | 106 | + if (is_null($this->iMinorVersion)) { |
| 107 | $this->iMinorVersion = 1; | 107 | $this->iMinorVersion = 1; |
| 108 | } | 108 | } |
| 109 | return parent::create(); | 109 | return parent::create(); |
plugins/ktcore/KTDocumentActions.php
| @@ -449,7 +449,7 @@ class KTDocumentCheckInAction extends KTDocumentAction { | @@ -449,7 +449,7 @@ class KTDocumentCheckInAction extends KTDocumentAction { | ||
| 449 | )), | 449 | )), |
| 450 | array('ktcore.widgets.reason', array( | 450 | array('ktcore.widgets.reason', array( |
| 451 | 'label' => _kt("Reason"), | 451 | 'label' => _kt("Reason"), |
| 452 | - 'description' => _kt("Please specify why you are cancelling this document's checked-out status. Please bear in mind that you can use a maximum of <strong>250</strong> characters."), | 452 | + 'description' => _kt("Please describe the changes you made to the document. Bear in mind that you can use a maximum of <strong>250</strong> characters."), |
| 453 | 'name' => 'reason', | 453 | 'name' => 'reason', |
| 454 | )), | 454 | )), |
| 455 | array('ktcore.widgets.boolean',array( | 455 | array('ktcore.widgets.boolean',array( |
plugins/ktcore/admin/fieldsets/basic.inc.php
| @@ -28,10 +28,11 @@ require_once(KT_LIB_DIR . '/dispatcher.inc.php'); | @@ -28,10 +28,11 @@ require_once(KT_LIB_DIR . '/dispatcher.inc.php'); | ||
| 28 | require_once(KT_LIB_DIR . '/metadata/fieldset.inc.php'); | 28 | require_once(KT_LIB_DIR . '/metadata/fieldset.inc.php'); |
| 29 | require_once(KT_LIB_DIR . '/widgets/forms.inc.php'); | 29 | require_once(KT_LIB_DIR . '/widgets/forms.inc.php'); |
| 30 | require_once(KT_LIB_DIR . '/plugins/pluginutil.inc.php'); | 30 | require_once(KT_LIB_DIR . '/plugins/pluginutil.inc.php'); |
| 31 | +require_once(KT_LIB_DIR . "/documentmanagement/MDTree.inc"); | ||
| 31 | 32 | ||
| 32 | class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | 33 | class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { |
| 33 | var $bAutomaticTransaction = true; | 34 | var $bAutomaticTransaction = true; |
| 34 | - var $bHaveConditional = null; | 35 | + var $bHaveConditional = null; |
| 35 | var $sHelpPage = 'ktcore/admin/document fieldsets.html'; | 36 | var $sHelpPage = 'ktcore/admin/document fieldsets.html'; |
| 36 | 37 | ||
| 37 | function predispatch() { | 38 | function predispatch() { |
| @@ -437,9 +438,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -437,9 +438,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 437 | } | 438 | } |
| 438 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { | 439 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { |
| 439 | $oMetaData =& MetaData::get($iMetaDataId); | 440 | $oMetaData =& MetaData::get($iMetaDataId); |
| 440 | - if (PEAR::isError($oMetaData)) { | ||
| 441 | - $this->errorRedirectTo('managelookups', _kt('Invalid lookup selected')); | ||
| 442 | - } | 441 | + if (PEAR::isError($oMetaData)) { |
| 442 | + $this->errorRedirectTo('managelookups', _kt('Invalid lookup selected')); | ||
| 443 | + } | ||
| 443 | $oMetaData->delete(); | 444 | $oMetaData->delete(); |
| 444 | } | 445 | } |
| 445 | $this->successRedirectTo('managelookups', _kt('Lookups removed')); | 446 | $this->successRedirectTo('managelookups', _kt('Lookups removed')); |
| @@ -457,9 +458,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -457,9 +458,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 457 | } | 458 | } |
| 458 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { | 459 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { |
| 459 | $oMetaData =& MetaData::get($iMetaDataId); | 460 | $oMetaData =& MetaData::get($iMetaDataId); |
| 460 | - if (PEAR::isError($oMetaData)) { | ||
| 461 | - $this->errorRedirectTo('managelookups', _kt('Invalid lookup selected')); | ||
| 462 | - } | 461 | + if (PEAR::isError($oMetaData)) { |
| 462 | + $this->errorRedirectTo('managelookups', _kt('Invalid lookup selected')); | ||
| 463 | + } | ||
| 463 | $oMetaData->setDisabled(true); | 464 | $oMetaData->setDisabled(true); |
| 464 | $oMetaData->update(); | 465 | $oMetaData->update(); |
| 465 | } | 466 | } |
| @@ -478,9 +479,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -478,9 +479,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 478 | } | 479 | } |
| 479 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { | 480 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { |
| 480 | $oMetaData =& MetaData::get($iMetaDataId); | 481 | $oMetaData =& MetaData::get($iMetaDataId); |
| 481 | - if (PEAR::isError($oMetadata)) { | ||
| 482 | - $this->errorRedirectTo('managelookups', _kt('Invalid lookup selected')); | ||
| 483 | - } | 482 | + if (PEAR::isError($oMetadata)) { |
| 483 | + $this->errorRedirectTo('managelookups', _kt('Invalid lookup selected')); | ||
| 484 | + } | ||
| 484 | $oMetaData->setDisabled(!$oMetaData->getDisabled()); | 485 | $oMetaData->setDisabled(!$oMetaData->getDisabled()); |
| 485 | $oMetaData->update(); | 486 | $oMetaData->update(); |
| 486 | } | 487 | } |
| @@ -499,9 +500,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -499,9 +500,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 499 | } | 500 | } |
| 500 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { | 501 | foreach ($_REQUEST['metadata'] as $iMetaDataId) { |
| 501 | $oMetaData =& MetaData::get($iMetaDataId); | 502 | $oMetaData =& MetaData::get($iMetaDataId); |
| 502 | - if (PEAR::isError($oMetaData)) { | ||
| 503 | - $this->errorRedirectTo('managelookups', _kt('Invalid lookups selected')); | ||
| 504 | - } | 503 | + if (PEAR::isError($oMetaData)) { |
| 504 | + $this->errorRedirectTo('managelookups', _kt('Invalid lookups selected')); | ||
| 505 | + } | ||
| 505 | $bStuck = (boolean)$oMetaData->getIsStuck(); | 506 | $bStuck = (boolean)$oMetaData->getIsStuck(); |
| 506 | $oMetaData->setIsStuck(!$bStuck); | 507 | $oMetaData->setIsStuck(!$bStuck); |
| 507 | $oMetaData->update(); | 508 | $oMetaData->update(); |
| @@ -538,42 +539,19 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -538,42 +539,19 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 538 | 539 | ||
| 539 | // {{{ TREE | 540 | // {{{ TREE |
| 540 | // create and display the tree editing form. | 541 | // create and display the tree editing form. |
| 541 | - function do_editTree() { | 542 | + function do_managetree() { |
| 542 | global $default; | 543 | global $default; |
| 543 | // extract. | 544 | // extract. |
| 544 | 545 | ||
| 545 | - $iFieldsetId = KTUtil::arrayGet($_REQUEST, 'fFieldsetId', false); | ||
| 546 | - $iFieldId = KTUtil::arrayGet($_REQUEST, 'field_id', false); | ||
| 547 | - | ||
| 548 | - $oFieldset =& KTFieldset::get($iFieldsetId); | ||
| 549 | - if(PEAR::isError($oFieldset)) { | ||
| 550 | - $this->errorRedirectTo('main', _kt('Unable to find fieldset'), sprintf('fFieldId=%d&fFieldsetId=%d', $iFieldsetId, $iFieldId)); | ||
| 551 | - exit(0); | ||
| 552 | - } | 546 | + $iFieldsetId = KTUtil::getId($this->oFieldset); |
| 547 | + $iFieldId = KTUtil::getId($this->oField); | ||
| 553 | 548 | ||
| 554 | - $oField =& DocumentField::get($iFieldId); | ||
| 555 | - if(PEAR::isError($oField)) { | ||
| 556 | - $this->errorRedirectTo('main', _kt('Unable to find field'), sprintf('fFieldId=%d&fFieldsetId=%d', $iFieldsetId, $iFieldId)); | ||
| 557 | - exit(0); | ||
| 558 | - } | 549 | + $oFieldset =& $this->oFieldset; |
| 550 | + $oField =& $this->oField; | ||
| 559 | 551 | ||
| 560 | - | ||
| 561 | - | ||
| 562 | - | ||
| 563 | - | ||
| 564 | - $this->aBreadcrumbs[] = array( | ||
| 565 | - 'url' => $_SERVER['PHP_SELF'], | ||
| 566 | - 'query' => 'action=edit&fFieldsetId=' . $iFieldsetId, | ||
| 567 | - 'name' => $oFieldset->getName() | ||
| 568 | - ); | ||
| 569 | - $this->aBreadcrumbs[] = array( | ||
| 570 | - 'url' => $_SERVER['PHP_SELF'], | ||
| 571 | - 'query' => 'action=editField&fFieldsetId=' . $iFieldsetId . '&fFieldId=' . $oField->getId(), | ||
| 572 | - 'name' => $oField->getName() | ||
| 573 | - ); | ||
| 574 | $this->oPage->setBreadcrumbDetails(_kt('edit lookup tree')); | 552 | $this->oPage->setBreadcrumbDetails(_kt('edit lookup tree')); |
| 575 | 553 | ||
| 576 | - $field_id = KTUtil::arrayGet($_REQUEST, 'field_id'); | 554 | + $field_id = $iFieldId; |
| 577 | $current_node = KTUtil::arrayGet($_REQUEST, 'current_node', 0); | 555 | $current_node = KTUtil::arrayGet($_REQUEST, 'current_node', 0); |
| 578 | $subaction = KTUtil::arrayGet($_REQUEST, 'subaction'); | 556 | $subaction = KTUtil::arrayGet($_REQUEST, 'subaction'); |
| 579 | 557 | ||
| @@ -593,15 +571,15 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -593,15 +571,15 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 593 | $fieldTree->buildForField($oField->getId()); | 571 | $fieldTree->buildForField($oField->getId()); |
| 594 | 572 | ||
| 595 | if ($subaction !== null) { | 573 | if ($subaction !== null) { |
| 596 | - $target = 'editTree'; | 574 | + $target = 'managetree'; |
| 597 | $msg = _kt('Changes saved.'); | 575 | $msg = _kt('Changes saved.'); |
| 598 | if ($subaction === "addCategory") { | 576 | if ($subaction === "addCategory") { |
| 599 | $new_category = KTUtil::arrayGet($_REQUEST, 'category_name'); | 577 | $new_category = KTUtil::arrayGet($_REQUEST, 'category_name'); |
| 600 | if (empty($new_category)) { | 578 | if (empty($new_category)) { |
| 601 | - return $this->errorRedirectTo("editTree", _kt("Must enter a name for the new category."), array("field_id" => $field_id, "fFieldsetId" => $iFieldsetId)); | ||
| 602 | - } else { | ||
| 603 | - $this->subact_addCategory($field_id, $current_node, $new_category, $fieldTree); | ||
| 604 | - } | 579 | + return $this->errorRedirectTo("managetree", _kt("Must enter a name for the new category."), array("field_id" => $field_id, "fFieldsetId" => $iFieldsetId)); |
| 580 | + } else { | ||
| 581 | + $this->subact_addCategory($field_id, $current_node, $new_category, $fieldTree); | ||
| 582 | + } | ||
| 605 | $msg = _kt('Category added'). ': ' . $new_category; | 583 | $msg = _kt('Category added'). ': ' . $new_category; |
| 606 | } | 584 | } |
| 607 | if ($subaction === "deleteCategory") { | 585 | if ($subaction === "deleteCategory") { |
| @@ -634,29 +612,31 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -634,29 +612,31 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 634 | $free_metadata = MetaData::getList('document_field_id = '.$oField->getId().' AND (treeorg_parent = 0 OR treeorg_parent IS NULL) AND (disabled = 0)'); | 612 | $free_metadata = MetaData::getList('document_field_id = '.$oField->getId().' AND (treeorg_parent = 0 OR treeorg_parent IS NULL) AND (disabled = 0)'); |
| 635 | 613 | ||
| 636 | // render edit template. | 614 | // render edit template. |
| 637 | - $oTemplating =& KTTemplating::getSingleton(); | ||
| 638 | - $oTemplate = $oTemplating->loadTemplate("ktcore/edit_lookuptrees"); | 615 | + |
| 616 | + $oTemplate = $this->oValidator->validateTemplate("ktcore/metadata/admin/edit_lookuptree"); | ||
| 639 | $renderedTree = $this->_evilTreeRenderer($fieldTree); | 617 | $renderedTree = $this->_evilTreeRenderer($fieldTree); |
| 640 | 618 | ||
| 641 | $this->oPage->setTitle(_kt('Edit Lookup Tree')); | 619 | $this->oPage->setTitle(_kt('Edit Lookup Tree')); |
| 642 | 620 | ||
| 643 | //$this->oPage->requireJSResource('thirdparty/js/MochiKit/Base.js'); | 621 | //$this->oPage->requireJSResource('thirdparty/js/MochiKit/Base.js'); |
| 644 | - | ||
| 645 | - if ($current_node == 0) { $category_name = 'Root'; } | ||
| 646 | - else { | ||
| 647 | - $oNode = MDTreeNode::get($current_node); | ||
| 648 | - $category_name = $oNode->getName(); | ||
| 649 | - } | ||
| 650 | - | 622 | + |
| 623 | + if ($current_node == 0) { $category_name = 'Root'; } | ||
| 624 | + else { | ||
| 625 | + $oNode = MDTreeNode::get($current_node); | ||
| 626 | + $category_name = $oNode->getName(); | ||
| 627 | + } | ||
| 628 | + | ||
| 651 | $aTemplateData = array( | 629 | $aTemplateData = array( |
| 630 | + "context" => $this, | ||
| 631 | + "args" => $this->meldPersistQuery("","managetree", true), | ||
| 652 | "field" => $oField, | 632 | "field" => $oField, |
| 653 | "oFieldset" => $oFieldset, | 633 | "oFieldset" => $oFieldset, |
| 654 | "tree" => $fieldTree, | 634 | "tree" => $fieldTree, |
| 655 | "renderedTree" => $renderedTree, | 635 | "renderedTree" => $renderedTree, |
| 656 | "currentNode" => $current_node, | 636 | "currentNode" => $current_node, |
| 657 | - 'category_name' => $category_name, | 637 | + 'category_name' => $category_name, |
| 658 | "freechildren" => $free_metadata, | 638 | "freechildren" => $free_metadata, |
| 659 | - "context" => $this, | 639 | + |
| 660 | ); | 640 | ); |
| 661 | return $oTemplate->render($aTemplateData); | 641 | return $oTemplate->render($aTemplateData); |
| 662 | } | 642 | } |
| @@ -682,9 +662,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -682,9 +662,9 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 682 | 662 | ||
| 683 | function subact_unlinkKeyword(&$constructedTree, $keyword) { | 663 | function subact_unlinkKeyword(&$constructedTree, $keyword) { |
| 684 | $oKW = MetaData::get($keyword); | 664 | $oKW = MetaData::get($keyword); |
| 685 | - if (PEAR::isError($oKW)) { | ||
| 686 | - return true; | ||
| 687 | - } | 665 | + if (PEAR::isError($oKW)) { |
| 666 | + return true; | ||
| 667 | + } | ||
| 688 | $constructedTree->reparentKeyword($oKW->getId(), 0); | 668 | $constructedTree->reparentKeyword($oKW->getId(), 0); |
| 689 | return true; | 669 | return true; |
| 690 | } | 670 | } |
| @@ -706,10 +686,10 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -706,10 +686,10 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 706 | 686 | ||
| 707 | function _evilTreeRecursion($subnode, $treeToRender) | 687 | function _evilTreeRecursion($subnode, $treeToRender) |
| 708 | { | 688 | { |
| 709 | - // deliver us from evil.... | ||
| 710 | - $iFieldId = $treeToRender->field_id; | ||
| 711 | - $oField = DocumentField::get($iFieldId); | ||
| 712 | - $iFieldsetId = $oField->getParentFieldsetId(); | 689 | + // deliver us from evil.... |
| 690 | + $iFieldId = $treeToRender->field_id; | ||
| 691 | + $oField = DocumentField::get($iFieldId); | ||
| 692 | + $iFieldsetId = $oField->getParentFieldsetId(); | ||
| 713 | 693 | ||
| 714 | $treeStr = "<ul>"; | 694 | $treeStr = "<ul>"; |
| 715 | foreach ($treeToRender->contents[$subnode] as $subnode_id => $subnode_val) | 695 | foreach ($treeToRender->contents[$subnode] as $subnode_id => $subnode_val) |
| @@ -743,16 +723,10 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -743,16 +723,10 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 743 | $stack = array(); | 723 | $stack = array(); |
| 744 | $exitstack = array(); | 724 | $exitstack = array(); |
| 745 | 725 | ||
| 746 | - // deliver us from evil.... | ||
| 747 | - $iFieldId = $treeToRender->field_id; | ||
| 748 | - $oField = DocumentField::get($iFieldId); | ||
| 749 | - $iFieldsetId = $oField->getParentFieldsetId(); | ||
| 750 | - $sBaseQS = sprintf('field_id=%d&fFieldsetId=%d&', $iFieldId, $iFieldsetId); | ||
| 751 | - | ||
| 752 | // since the root is virtual, we need to fake it here. | 726 | // since the root is virtual, we need to fake it here. |
| 753 | // the inner section is generised. | 727 | // the inner section is generised. |
| 754 | $treeStr .= '<ul class="kt_treenodes"><li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);toggleElementClass(\'inactive\', this.parentNode);">' . _kt('Root') . '</a>'; | 728 | $treeStr .= '<ul class="kt_treenodes"><li class="treenode active"><a class="pathnode" onclick="toggleElementClass(\'active\', this.parentNode);toggleElementClass(\'inactive\', this.parentNode);">' . _kt('Root') . '</a>'; |
| 755 | - $treeStr .= ' (<a href="' . KTUtil::addQueryStringSelf($sBaseQS . 'action=editTree¤t_node=0') . '">' . _kt('edit') . '</a>)'; | 729 | + $treeStr .= ' (<a href="' . KTUtil::addQueryStringSelf($this->meldPersistQuery('current_node=0', 'managetree')) . '">' . _kt('attach keywords') . '</a>)'; |
| 756 | $treeStr .= '<ul>'; | 730 | $treeStr .= '<ul>'; |
| 757 | 731 | ||
| 758 | //$default->log->debug("EVILRENDER: " . print_r($treeToRender, true)); | 732 | //$default->log->debug("EVILRENDER: " . print_r($treeToRender, true)); |
| @@ -787,64 +761,17 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | @@ -787,64 +761,17 @@ class BasicFieldsetManagementDispatcher extends KTAdminDispatcher { | ||
| 787 | // BD: sorry. I hate you. | 761 | // BD: sorry. I hate you. |
| 788 | 762 | ||
| 789 | function _evilActionHelper($iFieldsetId, $iFieldId, $bIsKeyword, $current_node) { | 763 | function _evilActionHelper($iFieldsetId, $iFieldId, $bIsKeyword, $current_node) { |
| 790 | - $sBaseQS = sprintf('fFieldsetId=%d&field_id=%d&', $iFieldsetId, $iFieldId); | ||
| 791 | - | ||
| 792 | $actionStr = " ("; | 764 | $actionStr = " ("; |
| 793 | if ($bIsKeyword === true) { | 765 | if ($bIsKeyword === true) { |
| 794 | - $actionStr .= '<a href="' . KTUtil::addQueryStringSelf($sBaseQS . 'action=editTree&keyword_id='.$current_node.'&subaction=unlinkKeyword') . '">' . _kt('unlink') . '</a>'; | ||
| 795 | - } | ||
| 796 | - else | ||
| 797 | - { | ||
| 798 | - $actionStr .= '<a href="' . KTUtil::addQueryStringSelf($sBaseQS . 'action=editTree¤t_node=' . $current_node) .'">' . _kt('attach keywords') . '</a> '; | ||
| 799 | - $actionStr .= '| <a href="' . KTUtil::addQueryStringSelf($sBaseQS . 'action=editTree¤t_node='.$current_node.'&subaction=deleteCategory') . '">' . _kt('delete') . '</a>'; | 766 | + $actionStr .= '<a href="' . KTUtil::addQueryStringSelf(KTUtil::addQueryStringSelf($this->meldPersistQuery('keyword_id='.$current_node.'&subaction=unlinkKeyword', 'managetree'))) . '">' . _kt('unlink') . '</a>'; |
| 767 | + } else { | ||
| 768 | + $actionStr .= '<a href="' . KTUtil::addQueryStringSelf($this->meldPersistQuery('current_node=' . $current_node, 'managetree')) .'">' . _kt('attach keywords') . '</a> '; | ||
| 769 | + $actionStr .= '| <a href="' . KTUtil::addQueryStringSelf($this->meldPersistQuery('current_node='.$current_node.'&subaction=deleteCategory', 'managetree')) . '">' . _kt('delete') . '</a>'; | ||
| 800 | } | 770 | } |
| 801 | $actionStr .= ")"; | 771 | $actionStr .= ")"; |
| 802 | return $actionStr; | 772 | return $actionStr; |
| 803 | } | 773 | } |
| 804 | - | ||
| 805 | - | ||
| 806 | - function do_viewOverview() { | ||
| 807 | - $fieldset_id = KTUtil::arrayGet($_REQUEST, "fieldset_id"); | ||
| 808 | - $oTemplating =& KTTemplating::getSingleton(); | ||
| 809 | - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/conditional/conditional_overview"); | ||
| 810 | 774 | ||
| 811 | - | ||
| 812 | - $oFieldset =& KTFieldset::get($fieldset_id); | ||
| 813 | - $aFields =& $oFieldset->getFields(); | ||
| 814 | - | ||
| 815 | - $this->aBreadcrumbs[] = array( | ||
| 816 | - 'url' => $_SERVER['PHP_SELF'], | ||
| 817 | - 'query' => 'action=edit&fFieldsetId=' . $fieldset_id, | ||
| 818 | - 'name' => $oFieldset->getName() | ||
| 819 | - ); | ||
| 820 | - $this->aBreadcrumbs[] = array( | ||
| 821 | - 'url' => $_SERVER['PHP_SELF'], | ||
| 822 | - 'query' => 'action=manageConditional&fFieldsetId=' . $_REQUEST['fieldset_id'], | ||
| 823 | - 'name' => _kt('Manage conditional field'), | ||
| 824 | - ); | ||
| 825 | - $this->aBreadcrumbs[] = array( | ||
| 826 | - 'url' => $_SERVER['PHP_SELF'], | ||
| 827 | - 'query' => 'action=viewOverview&fieldset_id=' . $_REQUEST['fieldset_id'], | ||
| 828 | - 'name' => _kt('Overview'), | ||
| 829 | - ); | ||
| 830 | - | ||
| 831 | - $aBehaviours = array(); | ||
| 832 | - foreach ($aFields as $oField) { | ||
| 833 | - $aOpts = KTFieldBehaviour::getByField($oField); | ||
| 834 | - $aBehaviours = kt_array_merge($aBehaviours, $aOpts); | ||
| 835 | - } | ||
| 836 | - | ||
| 837 | - $aTemplateData = array( | ||
| 838 | - "context" => &$this, | ||
| 839 | - "fieldset_id" => $fieldset_id, | ||
| 840 | - "aFields" => $aFields, | ||
| 841 | - "behaviours" => $aBehaviours, | ||
| 842 | - "iMasterFieldId" => $oFieldset->getMasterFieldId(), | ||
| 843 | - ); | ||
| 844 | - return $oTemplate->render($aTemplateData); | ||
| 845 | - } | ||
| 846 | - | ||
| 847 | -// }}} | ||
| 848 | } | 775 | } |
| 849 | 776 | ||
| 850 | ?> | 777 | ?> |
templates/kt3/fieldsets/generic.smarty
| @@ -15,23 +15,28 @@ | @@ -15,23 +15,28 @@ | ||
| 15 | <th>{i18n}File is a{/i18n}</th> | 15 | <th>{i18n}File is a{/i18n}</th> |
| 16 | <td>{$context->_mimeHelper($document->getMimeTypeID())}</td> | 16 | <td>{$context->_mimeHelper($document->getMimeTypeID())}</td> |
| 17 | </tr> | 17 | </tr> |
| 18 | - | 18 | + |
| 19 | <tr class="even"> | 19 | <tr class="even"> |
| 20 | + <th>{i18n}Document Version{/i18n}</th> | ||
| 21 | + <td>{$document->getMajorVersionNumber()}.{$document->getMinorVersionNumber()}</td> | ||
| 22 | + </tr> | ||
| 23 | + | ||
| 24 | + <tr class="odd"> | ||
| 20 | <th>{i18n}Created by{/i18n}</th> | 25 | <th>{i18n}Created by{/i18n}</th> |
| 21 | <td>{$creator} ({$creation_date})</td> | 26 | <td>{$creator} ({$creation_date})</td> |
| 22 | </tr> | 27 | </tr> |
| 23 | 28 | ||
| 24 | - <tr class="odd"> | 29 | + <tr class="even"> |
| 25 | <th>{i18n}Last update by{/i18n}</th> | 30 | <th>{i18n}Last update by{/i18n}</th> |
| 26 | <td>{$last_modified_by} ({$last_modified_date})</td> | 31 | <td>{$last_modified_by} ({$last_modified_date})</td> |
| 27 | </tr> | 32 | </tr> |
| 28 | 33 | ||
| 29 | - <tr class="even"> | 34 | + <tr class="odd"> |
| 30 | <th>{i18n}Document Type{/i18n}</th> | 35 | <th>{i18n}Document Type{/i18n}</th> |
| 31 | <td>{$document_type}</td> | 36 | <td>{$document_type}</td> |
| 32 | </tr> | 37 | </tr> |
| 33 | 38 | ||
| 34 | - <tr class="odd"> | 39 | + <tr class="even"> |
| 35 | <th>{i18n}Workflow status{/i18n}</th> | 40 | <th>{i18n}Workflow status{/i18n}</th> |
| 36 | <td> | 41 | <td> |
| 37 | {if $workflow_state} | 42 | {if $workflow_state} |
| @@ -41,7 +46,7 @@ | @@ -41,7 +46,7 @@ | ||
| 41 | {/if}</td> | 46 | {/if}</td> |
| 42 | </tr> | 47 | </tr> |
| 43 | 48 | ||
| 44 | - <tr class="even"> | 49 | + <tr class="odd"> |
| 45 | <th>{i18n}Document ID{/i18n}</th> | 50 | <th>{i18n}Document ID{/i18n}</th> |
| 46 | <td>{$document->getId()}</td> | 51 | <td>{$document->getId()}</td> |
| 47 | </tr> | 52 | </tr> |
templates/kt3/fieldsets/generic_versioned.smarty
| @@ -31,7 +31,15 @@ | @@ -31,7 +31,15 @@ | ||
| 31 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> | 31 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> |
| 32 | </tr> | 32 | </tr> |
| 33 | 33 | ||
| 34 | +{capture assign="oldval"}{$comparison_document->getMajorVersionNumber()}.{$comparison_document->getMinorVersionNumber()}{/capture} | ||
| 35 | +{capture assign="newval"}{$document->getMajorVersionNumber()}.{$document->getMinorVersionNumber()}{/capture} | ||
| 34 | <tr class="even"> | 36 | <tr class="even"> |
| 37 | + <th>{i18n}Document Version{/i18n}</th> | ||
| 38 | + <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> | ||
| 39 | + <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> | ||
| 40 | + </tr> | ||
| 41 | + | ||
| 42 | + <tr class="odd"> | ||
| 35 | <th>{i18n}Created by{/i18n}</th> | 43 | <th>{i18n}Created by{/i18n}</th> |
| 36 | <td colspan="2">{$creator} ({$creation_date}) <span class="descriptiveText">({i18n}this cannot not change between versions{/i18n})</td> | 44 | <td colspan="2">{$creator} ({$creation_date}) <span class="descriptiveText">({i18n}this cannot not change between versions{/i18n})</td> |
| 37 | </tr> | 45 | </tr> |
| @@ -39,7 +47,7 @@ | @@ -39,7 +47,7 @@ | ||
| 39 | 47 | ||
| 40 | {capture assign="oldval"}{$comparison_last_modified_by} ({$comparison_last_modified_date}){/capture} | 48 | {capture assign="oldval"}{$comparison_last_modified_by} ({$comparison_last_modified_date}){/capture} |
| 41 | {capture assign="newval"}{$last_modified_by} ({$last_modified_date}){/capture} | 49 | {capture assign="newval"}{$last_modified_by} ({$last_modified_date}){/capture} |
| 42 | - <tr class="odd"> | 50 | + <tr class="even"> |
| 43 | <th>{i18n}Last update by{/i18n}</th> | 51 | <th>{i18n}Last update by{/i18n}</th> |
| 44 | <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> | 52 | <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> |
| 45 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> | 53 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> |
| @@ -47,7 +55,7 @@ | @@ -47,7 +55,7 @@ | ||
| 47 | 55 | ||
| 48 | {capture assign="oldval"}{$comparison_document_type}{/capture} | 56 | {capture assign="oldval"}{$comparison_document_type}{/capture} |
| 49 | {capture assign="newval"}{$document_type}{/capture} | 57 | {capture assign="newval"}{$document_type}{/capture} |
| 50 | - <tr class="even"> | 58 | + <tr class="odd"> |
| 51 | <th>{i18n}Document Type{/i18n}</th> | 59 | <th>{i18n}Document Type{/i18n}</th> |
| 52 | <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> | 60 | <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> |
| 53 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> | 61 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> |
| @@ -63,13 +71,13 @@ | @@ -63,13 +71,13 @@ | ||
| 63 | {else} | 71 | {else} |
| 64 | {i18n}No workflow{/i18n} | 72 | {i18n}No workflow{/i18n} |
| 65 | {/if}{/capture} | 73 | {/if}{/capture} |
| 66 | - <tr class="odd"> | 74 | + <tr class="even"> |
| 67 | <th>{i18n}Workflow status{/i18n}</th> | 75 | <th>{i18n}Workflow status{/i18n}</th> |
| 68 | <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> | 76 | <td class="current {if ($oldval != $newval)}different{/if}">{$newval}</td> |
| 69 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> | 77 | <td class="previous {if ($oldval != $newval)}different{/if}">{$oldval}</td> |
| 70 | </tr> | 78 | </tr> |
| 71 | 79 | ||
| 72 | - <tr class="even"> | 80 | + <tr class="odd"> |
| 73 | <th>{i18n}Document ID{/i18n}</th> | 81 | <th>{i18n}Document ID{/i18n}</th> |
| 74 | <td colspan="2">{$document->getId()} <span class="descriptiveText">({i18n}this cannot not change between versions{/i18n})</span></td> | 82 | <td colspan="2">{$document->getId()} <span class="descriptiveText">({i18n}this cannot not change between versions{/i18n})</span></td> |
| 75 | </tr> | 83 | </tr> |
templates/ktcore/metadata/admin/edit_lookuptree.smarty
0 โ 100644
| 1 | +{$context->oPage->requireCSSResource('resources/css/kt-treewidget.css')} | ||
| 2 | +{$context->oPage->requireJSResource('thirdpartyjs/MochiKit/Base.js')} | ||
| 3 | +{$context->oPage->requireJSResource("thirdpartyjs/MochiKit/Iter.js")} | ||
| 4 | +{$context->oPage->requireJSResource("thirdpartyjs/MochiKit/DOM.js")} | ||
| 5 | + | ||
| 6 | +<h2>{i18n}Edit Lookup Tree{/i18n}: {$field->getName()}</h2> | ||
| 7 | + | ||
| 8 | +<p class="descriptiveText">{i18n}Many "lookup" fields make sense in a hierachy: | ||
| 9 | +countries are part of continents and sub-continents, school classes are part of grades | ||
| 10 | +and programs, Powerbooks are Apple Macs, while Thinkpads are made by Lenovo. This | ||
| 11 | +page will allow you to arrange the lookups in the field in a hierachy. All changes | ||
| 12 | +are immediately stored, so when you are done simply navigate back to the field menu.{/i18n}</p> | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 16 | +<fieldset> | ||
| 17 | + <legend>{i18n arg_category="$category_name"}Add New Subcategory to <strong>#category#</strong>{/i18n}</legend> | ||
| 18 | + | ||
| 19 | + <p class="descriptiveText">{i18n}In order to organise the options into a "tree", you | ||
| 20 | + need to add subcategories at each level. The "top" level is called the root, and | ||
| 21 | + holds all the toplevel items. "Root" will not be shown to the final user, but | ||
| 22 | + provides a single "parent" to the toplevel items.{/i18n}</p> | ||
| 23 | + | ||
| 24 | + <p class="descriptiveText">{i18n}As an example, if you are creating a tree of the | ||
| 25 | + countries in the world, the actual countries would be <strong>keywords</strong> | ||
| 26 | + (e.g. South Africa, England, Pakistan, India). The highest group of categories | ||
| 27 | + would be continents — e.g. Africa, Europe, Asia, The Americas — followed by | ||
| 28 | + subcategories that contain actual countries — e.g. Western Europe, Sub-saharan Africa, | ||
| 29 | + Austalasia.{/i18n}</p> | ||
| 30 | + | ||
| 31 | + {foreach from=$args item=v key=k} | ||
| 32 | + <input type="hidden" name="{$k}" value="{$v}" /> | ||
| 33 | + {/foreach} | ||
| 34 | + <input type="hidden" name="subaction" value="addCategory" /> | ||
| 35 | + <input type="hidden" name="current_node" value="{$currentNode}" /> | ||
| 36 | + | ||
| 37 | +<input type="text" name="category_name"/> | ||
| 38 | + | ||
| 39 | +<div class="form_actions"> | ||
| 40 | + <input type="submit" name="submit" value="{i18n}add new subcategory{/i18n}" /> | ||
| 41 | +</div> | ||
| 42 | +</fieldset> | ||
| 43 | +</form> | ||
| 44 | + | ||
| 45 | +{if ($currentNode != 0)} | ||
| 46 | +{if (empty($freechildren))} | ||
| 47 | +<p class="descriptiveText">{i18n}Keywords which are directly below the | ||
| 48 | + <strong>Root</strong> are considered "free" — they are not attached to | ||
| 49 | + a subcategory. Only free keywords can be associated with a subcategory. To | ||
| 50 | + free a keyword, click on the "unlink" command next to it in the preview tree below. | ||
| 51 | + Deleting a subcategory will automatically unlink all keywords below it (including | ||
| 52 | + those in subcategories of the subcategory). | ||
| 53 | + {/i18n}</p> | ||
| 54 | + | ||
| 55 | +<div class="ktInfo"><p>{i18n}No free keywords. Use the "unlink" action on a keyword to | ||
| 56 | +make it available.{/i18n}</p></div> | ||
| 57 | +{else} | ||
| 58 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 59 | +<fieldset> | ||
| 60 | + <legend>{i18n arg_category=$category_name}Attach keywords to <strong>#category#</strong>{/i18n}</legend> | ||
| 61 | + | ||
| 62 | + <p class="descriptiveText">{i18n}Keywords which are directly below the | ||
| 63 | + <strong>Root</strong> are considered "free" — they are not attached to | ||
| 64 | + a subcategory. Only free keywords can be associated with a subcategory. To | ||
| 65 | + free a keyword, click on the "unlink" command next to it in the preview tree below. | ||
| 66 | + {/i18n}</p> | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + {foreach from=$args item=v key=k} | ||
| 70 | + <input type="hidden" name="{$k}" value="{$v}" /> | ||
| 71 | + {/foreach} | ||
| 72 | + <input type="hidden" name="subaction" value="linkKeywords" /> | ||
| 73 | + <input type="hidden" name="current_node" value="{$currentNode}" /> | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + | ||
| 77 | +<select multiple="1" name="keywordsToAdd[]"> | ||
| 78 | + {foreach item=oKeyword from=$freechildren name=kc} | ||
| 79 | + <option value="{$oKeyword->getId()}" {if $smarty.foreach.kc.total == 1} SELECTED="true"{/if}>{$oKeyword->getName()}</option> | ||
| 80 | + {/foreach} | ||
| 81 | +</select> | ||
| 82 | + | ||
| 83 | +<div class="form_actions"> | ||
| 84 | + <input type="submit" name="submit" value="{i18n}Add to category{/i18n}" /> | ||
| 85 | +</div> | ||
| 86 | +</fieldset> | ||
| 87 | +</form> | ||
| 88 | +{/if} | ||
| 89 | +{/if} | ||
| 90 | + | ||
| 91 | + | ||
| 92 | +<h2>{i18n}Preview{/i18n}</h2> | ||
| 93 | +<div><p class="descriptiveText"> | ||
| 94 | + {i18n}Use the +/- arrows to open or close the tree. Bold items are metadata keywords. | ||
| 95 | + To edit a category (including adding or removing keywords) click on the "attach keywords" link next to it.{/i18n} | ||
| 96 | + </p> | ||
| 97 | +</div> | ||
| 98 | + | ||
| 99 | +{$renderedTree} |