Commit 9ab2895b525df1ec271cac471a90aa93f020907b
1 parent
32482ae0
New document fieldset and field management interface.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3695 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
5 changed files
with
242 additions
and
2 deletions
presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php
| @@ -12,9 +12,11 @@ $sectionName = "Administration"; | @@ -12,9 +12,11 @@ $sectionName = "Administration"; | ||
| 12 | require_once(KT_DIR . "/presentation/webpageTemplate.inc"); | 12 | require_once(KT_DIR . "/presentation/webpageTemplate.inc"); |
| 13 | 13 | ||
| 14 | class KTDocumentFieldDispatcher extends KTStandardDispatcher { | 14 | class KTDocumentFieldDispatcher extends KTStandardDispatcher { |
| 15 | + var $bAutomaticTransaction = true; | ||
| 16 | + | ||
| 15 | function do_main () { | 17 | function do_main () { |
| 16 | $oTemplating =& KTTemplating::getSingleton(); | 18 | $oTemplating =& KTTemplating::getSingleton(); |
| 17 | - $oTemplate = $oTemplating->loadTemplate('ktcore/fields/list'); | 19 | + $oTemplate =& $oTemplating->loadTemplate('ktcore/metadata/listFieldsets'); |
| 18 | $oTemplate->setData(array( | 20 | $oTemplate->setData(array( |
| 19 | 'fieldsets' => KTFieldset::getList(), | 21 | 'fieldsets' => KTFieldset::getList(), |
| 20 | )); | 22 | )); |
| @@ -23,7 +25,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | @@ -23,7 +25,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | ||
| 23 | 25 | ||
| 24 | function do_edit() { | 26 | function do_edit() { |
| 25 | $oTemplating =& KTTemplating::getSingleton(); | 27 | $oTemplating =& KTTemplating::getSingleton(); |
| 26 | - $oTemplate = $oTemplating->loadTemplate('ktcore/fields/edit'); | 28 | + $oTemplate =& $oTemplating->loadTemplate('ktcore/metadata/editFieldset'); |
| 27 | $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); | 29 | $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); |
| 28 | $oTemplate->setData(array( | 30 | $oTemplate->setData(array( |
| 29 | 'oFieldset' => $oFieldset, | 31 | 'oFieldset' => $oFieldset, |
| @@ -70,6 +72,29 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | @@ -70,6 +72,29 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher { | ||
| 70 | exit(0); | 72 | exit(0); |
| 71 | } | 73 | } |
| 72 | 74 | ||
| 75 | + function do_editField() { | ||
| 76 | + $oTemplating =& KTTemplating::getSingleton(); | ||
| 77 | + $oTemplate =& $oTemplating->loadTemplate('ktcore/metadata/editField'); | ||
| 78 | + $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); | ||
| 79 | + $oField =& DocumentField::get($_REQUEST['fFieldId']); | ||
| 80 | + $oTemplate->setData(array( | ||
| 81 | + 'oFieldset' => $oFieldset, | ||
| 82 | + 'oField' => $oField, | ||
| 83 | + )); | ||
| 84 | + return $oTemplate; | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + function do_addLookups() { | ||
| 88 | + $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']); | ||
| 89 | + $oField =& DocumentField::get($_REQUEST['fFieldId']); | ||
| 90 | + $oMetaData =& MetaData::createFromArray(array( | ||
| 91 | + 'name' => $_REQUEST['value'], | ||
| 92 | + 'docfieldid' => $oField->getId(), | ||
| 93 | + )); | ||
| 94 | + $this->successRedirectTo('editField', 'Lookup added', 'fFieldsetId=' . $oFieldset->getId() . '&fFieldId=' . $oField->getId()); | ||
| 95 | + exit(0); | ||
| 96 | + } | ||
| 97 | + | ||
| 73 | function handleOutput($data) { | 98 | function handleOutput($data) { |
| 74 | global $main; | 99 | global $main; |
| 75 | $main->bFormDisabled = true; | 100 | $main->bFormDisabled = true; |
templates/ktcore/metadata/edit.smarty
0 → 100644
| 1 | +<h1>Fieldset: {$oFieldset->getName()|escape}</h1> | ||
| 2 | + | ||
| 3 | +<h2>Fieldset properties</h2> | ||
| 4 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 5 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 6 | +<input type="hidden" name="action" value="editobject"> | ||
| 7 | +<table class="prettysw" cellpadding="0" cellspacing="0"> | ||
| 8 | + <tr> | ||
| 9 | + <th>Name</th> | ||
| 10 | + <td><input type="textbox" name="name" value="{$oFieldset->getName()|escape}"></td> | ||
| 11 | + </tr> | ||
| 12 | + <tr> | ||
| 13 | + <th>Namespace</th> | ||
| 14 | + <td><input type="textbox" name="namespace" value="{$oFieldset->getNamespace()|escape}"></td> | ||
| 15 | + </tr> | ||
| 16 | +</table> | ||
| 17 | +<input type="submit" name="submit" value="Change"> | ||
| 18 | +</form> | ||
| 19 | + | ||
| 20 | +<h2>Fieldset members</h2> | ||
| 21 | + | ||
| 22 | +{if $oFieldset->getFields() } | ||
| 23 | +<h3>Existing members</h3> | ||
| 24 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 25 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 26 | +<ul> | ||
| 27 | +{foreach from=$oFieldset->getFields() item=oField} | ||
| 28 | + <li><label><input type="checkbox" | ||
| 29 | +name="fieldsetids[]" | ||
| 30 | +value="{$oField->getId()}">{$oField->getName()|escape}</label></li> | ||
| 31 | +{/foreach} | ||
| 32 | +</ul> | ||
| 33 | +<input type="submit" name="submit" value="Remove fields"> | ||
| 34 | +</form> | ||
| 35 | +{/if} | ||
| 36 | + | ||
| 37 | +<h3>Add a new field</h3> | ||
| 38 | + | ||
| 39 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 40 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 41 | +<input type="hidden" name="action" value="newfield"> | ||
| 42 | +<table class="prettysw" cellpadding="0" cellspacing="0"> | ||
| 43 | + <tr> | ||
| 44 | + <th>Name</th> | ||
| 45 | + <td><input type="textbox" name="name" /> | ||
| 46 | + </tr> | ||
| 47 | + <tr> | ||
| 48 | + <th>Type</th> | ||
| 49 | + <td> | ||
| 50 | +<select name="type"> | ||
| 51 | +<option value="normal">Normal</option> | ||
| 52 | +<option value="lookup">Lookup</option> | ||
| 53 | +<option value="tree">Tree</option> | ||
| 54 | +</select> | ||
| 55 | + </td> | ||
| 56 | + </tr> | ||
| 57 | +</table> | ||
| 58 | +<input type="submit" name="submit" value="Add field"> | ||
| 59 | +</form> |
templates/ktcore/metadata/editField.smarty
0 → 100644
| 1 | +<h1>Field: {$oField->getName()|escape}</h1> | ||
| 2 | + | ||
| 3 | +<h2>Field properties</h2> | ||
| 4 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 5 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 6 | +<input type="hidden" name="fFieldId" value="{$oField->getId()}"> | ||
| 7 | +<input type="hidden" name="action" value="editfieldobject"> | ||
| 8 | +<table class="prettysw" cellpadding="0" cellspacing="0"> | ||
| 9 | + <tr> | ||
| 10 | + <th>Name</th> | ||
| 11 | + <td><input type="textbox" name="name" value="{$oField->getName()|escape}"></td> | ||
| 12 | + </tr> | ||
| 13 | + <tr> | ||
| 14 | + <th>Type</th> | ||
| 15 | + <td>{$oField->getType()|escape}</td> | ||
| 16 | + </tr> | ||
| 17 | +</table> | ||
| 18 | +<input type="submit" name="submit" value="Change"> | ||
| 19 | +</form> | ||
| 20 | + | ||
| 21 | +{if $oField->getHasLookup() and !$oField->getHasLookupTree()} | ||
| 22 | +{assign var="aMetadata" value=$oField->getValues()} | ||
| 23 | +{if $aMetadata} | ||
| 24 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 25 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 26 | +<input type="hidden" name="fFieldId" value="{$oField->getId()}"> | ||
| 27 | +<input type="hidden" name="action" value="removeLookups"> | ||
| 28 | +<ul> | ||
| 29 | +{foreach from=$aMetadata item=oMetaData} | ||
| 30 | + <li><label><input type="checkbox" name="metadata[]" value="{$oMetaData->getId()}">{$oMetaData->getName()|escape}</label> | ||
| 31 | +{/foreach} | ||
| 32 | +</ul> | ||
| 33 | +<input type="submit" name="submit" value="Remove"> | ||
| 34 | +</form> | ||
| 35 | +{/if} | ||
| 36 | + | ||
| 37 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 38 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 39 | +<input type="hidden" name="fFieldId" value="{$oField->getId()}"> | ||
| 40 | +<input type="hidden" name="action" value="addLookups"> | ||
| 41 | +<input type="textbox" name="value"> | ||
| 42 | +<input type="submit" name="submit" value="Add"> | ||
| 43 | +</form> | ||
| 44 | +{/if} | ||
| 45 | + | ||
| 46 | +{if $oField->getHasLookup() and $oField->getHasLookupTree()} | ||
| 47 | +Tree | ||
| 48 | +{/if} |
templates/ktcore/metadata/editFieldset.smarty
0 → 100644
| 1 | +<h1>Fieldset: {$oFieldset->getName()|escape}</h1> | ||
| 2 | + | ||
| 3 | +<h2>Fieldset properties</h2> | ||
| 4 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 5 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 6 | +<input type="hidden" name="action" value="editobject"> | ||
| 7 | +<table class="prettysw" cellpadding="0" cellspacing="0"> | ||
| 8 | + <tr> | ||
| 9 | + <th>Name</th> | ||
| 10 | + <td><input type="textbox" name="name" value="{$oFieldset->getName()|escape}"></td> | ||
| 11 | + </tr> | ||
| 12 | + <tr> | ||
| 13 | + <th>Namespace</th> | ||
| 14 | + <td><input type="textbox" name="namespace" value="{$oFieldset->getNamespace()|escape}"></td> | ||
| 15 | + </tr> | ||
| 16 | +</table> | ||
| 17 | +<input type="submit" name="submit" value="Change"> | ||
| 18 | +</form> | ||
| 19 | + | ||
| 20 | +<h2>Fieldset members</h2> | ||
| 21 | + | ||
| 22 | +{if $oFieldset->getFields() } | ||
| 23 | +<h3>Existing members</h3> | ||
| 24 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 25 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 26 | +<ul> | ||
| 27 | +{foreach from=$oFieldset->getFields() item=oField} | ||
| 28 | + <li><input type="checkbox" name="fieldsetids[]" | ||
| 29 | +value="{$oField->getId()}"> | ||
| 30 | +<a | ||
| 31 | +href="{$smarty.server.PHP_SELF}?action=editField&fFieldId={$oField->getId()}&fFieldsetId={$oFieldset->getId()}">{$oField->getName()|escape}</a> | ||
| 32 | +</li> | ||
| 33 | +{/foreach} | ||
| 34 | +</ul> | ||
| 35 | +<input type="submit" name="submit" value="Remove fields"> | ||
| 36 | +</form> | ||
| 37 | +{/if} | ||
| 38 | + | ||
| 39 | +<h3>Add a new field</h3> | ||
| 40 | + | ||
| 41 | +<form action="{$smarty.server.PHP_SELF}" method="POST"> | ||
| 42 | +<input type="hidden" name="fFieldsetId" value="{$oFieldset->getId()}"> | ||
| 43 | +<input type="hidden" name="action" value="newfield"> | ||
| 44 | +<table class="prettysw" cellpadding="0" cellspacing="0"> | ||
| 45 | + <tr> | ||
| 46 | + <th>Name</th> | ||
| 47 | + <td><input type="textbox" name="name" /> | ||
| 48 | + </tr> | ||
| 49 | + <tr> | ||
| 50 | + <th>Type</th> | ||
| 51 | + <td> | ||
| 52 | +<select name="type"> | ||
| 53 | +<option value="normal">Normal</option> | ||
| 54 | +<option value="lookup">Lookup</option> | ||
| 55 | +<option value="tree">Tree</option> | ||
| 56 | +</select> | ||
| 57 | + </td> | ||
| 58 | + </tr> | ||
| 59 | +</table> | ||
| 60 | +<input type="submit" name="submit" value="Add field"> | ||
| 61 | +</form> |
templates/ktcore/metadata/listFieldsets.smarty
0 → 100644
| 1 | +<h1>Document Fields</h1> | ||
| 2 | + | ||
| 3 | +{ if $fieldsets} | ||
| 4 | +<h2>Existing generic document fields</h2> | ||
| 5 | + | ||
| 6 | +<table class="pretty" cellspacing="0" cellpadding="0"> | ||
| 7 | + <thead> | ||
| 8 | + <tr> | ||
| 9 | + <th>Name</th> | ||
| 10 | + <th>Generic</th> | ||
| 11 | + <th>Fields</th> | ||
| 12 | + </tr> | ||
| 13 | + </thead> | ||
| 14 | + <tbody> | ||
| 15 | +{foreach from=$fieldsets item=oFieldset} | ||
| 16 | + <tr> | ||
| 17 | + <td> | ||
| 18 | + <a href="?action=edit&fFieldsetId={$oFieldset->getId()}"> { $oFieldset->getName() } | ||
| 19 | + </a> | ||
| 20 | + </td> | ||
| 21 | + <td> | ||
| 22 | +{if $oFieldset->getIsGeneric()} | ||
| 23 | + Yes | ||
| 24 | +{else} | ||
| 25 | + No | ||
| 26 | +{/if} | ||
| 27 | + </td> | ||
| 28 | + <td> | ||
| 29 | +<ul> | ||
| 30 | +{foreach from=$oFieldset->getFields() item=oField} | ||
| 31 | + <li>{$oField->getName()}</li> | ||
| 32 | +{/foreach} | ||
| 33 | +</ul> | ||
| 34 | + </td> | ||
| 35 | + </tr> | ||
| 36 | + </tbody> | ||
| 37 | +{/foreach} | ||
| 38 | +</table> | ||
| 39 | +{/if} | ||
| 40 | + | ||
| 41 | +<h2>Create a new document field set</h2> | ||
| 42 | + | ||
| 43 | +<form method="POST"> | ||
| 44 | +<input type="hidden" name="action" value="new"> | ||
| 45 | +<input type="textbox" name="name"> | ||
| 46 | +<input type="submit" name="submit" value="Create"> | ||
| 47 | +</form> |