Commit 9ab2895b525df1ec271cac471a90aa93f020907b

Authored by nbm
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
presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/documentFields.php
... ... @@ -12,9 +12,11 @@ $sectionName = "Administration";
12 12 require_once(KT_DIR . "/presentation/webpageTemplate.inc");
13 13  
14 14 class KTDocumentFieldDispatcher extends KTStandardDispatcher {
  15 + var $bAutomaticTransaction = true;
  16 +
15 17 function do_main () {
16 18 $oTemplating =& KTTemplating::getSingleton();
17   - $oTemplate = $oTemplating->loadTemplate('ktcore/fields/list');
  19 + $oTemplate =& $oTemplating->loadTemplate('ktcore/metadata/listFieldsets');
18 20 $oTemplate->setData(array(
19 21 'fieldsets' => KTFieldset::getList(),
20 22 ));
... ... @@ -23,7 +25,7 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher {
23 25  
24 26 function do_edit() {
25 27 $oTemplating =& KTTemplating::getSingleton();
26   - $oTemplate = $oTemplating->loadTemplate('ktcore/fields/edit');
  28 + $oTemplate =& $oTemplating->loadTemplate('ktcore/metadata/editFieldset');
27 29 $oFieldset =& KTFieldset::get($_REQUEST['fFieldsetId']);
28 30 $oTemplate->setData(array(
29 31 'oFieldset' => $oFieldset,
... ... @@ -70,6 +72,29 @@ class KTDocumentFieldDispatcher extends KTStandardDispatcher {
70 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 98 function handleOutput($data) {
74 99 global $main;
75 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>
... ...