Commit fc4251534d9be2d0bf86869fbbef1eefc2e4a7b5

Authored by Bryn Divey
1 parent a1af6d64

Added iframecollection to unit folder creation page


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5913 c91229c3-7414-0410-bfa2-8a42b809f60b
plugins/ktcore/admin/unitManagement.php
@@ -94,58 +94,48 @@ class KTUnitAdminDispatcher extends KTAdminDispatcher { @@ -94,58 +94,48 @@ class KTUnitAdminDispatcher extends KTAdminDispatcher {
94 $_REQUEST['fFolderId'] = $iFolderId; 94 $_REQUEST['fFolderId'] = $iFolderId;
95 $oFolder = $this->oValidator->validateFolder($_REQUEST['fFolderId']); 95 $oFolder = $this->oValidator->validateFolder($_REQUEST['fFolderId']);
96 96
97 - $collection = new DocumentCollection();  
98 - $collection->addColumn(new KTUnitTitleColumn($sName));  
99 - $qObj = new FolderBrowseQuery($oFolder->getId());  
100 - $collection->setQueryObject($qObj);  
101 - $batchPage = (int) KTUtil::arrayGet($_REQUEST, "page", 0);  
102 - $batchSize = 20;  
103 - $collection->empty_message = _kt('No folders available in this location.');  
104 - $resultURL = KTUtil::addQueryString($_SERVER['PHP_SELF'], sprintf("action=addUnit2&unit_name=%s&fFolderId=%d", $sName, $oFolder->getId()));  
105 - $collection->setBatching($resultURL, $batchPage, $batchSize);  
106 97
107 - // ordering. (direction and column)  
108 - $displayOrder = KTUtil::arrayGet($_REQUEST, 'sort_order', "asc");  
109 - if ($displayOrder !== "asc") { $displayOrder = "desc"; }  
110 - $displayControl = KTUtil::arrayGet($_REQUEST, 'sort_on', "title");  
111 98
112 - $collection->setSorting($displayControl, $displayOrder); 99 + // Setup the collection for move display.
  100 + $collection = new AdvancedCollection();
113 101
114 - $collection->getResults(); 102 + $oCR =& KTColumnRegistry::getSingleton();
  103 + $col = $oCR->getColumn('ktcore.columns.title');
  104 + $col->setOptions(array('qs_params'=>array('fFolderId'=>$oFolder->getId())));
  105 + $collection->addColumn($col);
115 106
116 - $aBreadcrumbs = array();  
117 - $folder_path_names = $oFolder->getPathArray();  
118 - $folder_path_ids = explode(',', $oFolder->getParentFolderIds());  
119 - $folder_path_ids[] = $oFolder->getId();  
120 - if ($folder_path_ids[0] == 0) {  
121 - array_shift($folder_path_ids);  
122 - array_shift($folder_path_names);  
123 - } 107 + $qObj = new FolderBrowseQuery($oFolder->getId());
  108 + $collection->setQueryObject($qObj);
124 109
125 - foreach (range(0, count($folder_path_ids) - 1) as $index) {  
126 - $id = $folder_path_ids[$index];  
127 - $url = KTUtil::addQueryString($_SERVER['PHP_SELF'], sprintf("action=addUnit2&unit_name=%s&fFolderId=%d", $sName, $id));  
128 - $aBreadcrumbs[] = array("url" => $url, "name" => $folder_path_names[$index]);  
129 - } 110 + $collection->empty_message = _kt('No folders available in this location.');
  111 + $aOptions = $collection->getEnvironOptions();
  112 + $collection->setOptions($aOptions);
  113 +
  114 + $oWF =& KTWidgetFactory::getSingleton();
  115 + $oWidget = $oWF->get('ktcore.widgets.collection',
  116 + array('label' => _kt('Target Folder'),
  117 + 'description' => _kt('<p>The folder given below is where the unit folder will be created. Use the folder collection and path below to browse to the folder you wish to create the unit folder into.</p><p>The unit administrators have additional rights within that portion of the document management system.
  118 +</p>'),
  119 + 'required' => true,
  120 + 'name' => 'browse',
  121 + 'folder_id' => $oFolder->getId(),
  122 + 'collection' => $collection));
  123 +
  124 +
130 125
131 $add_fields = array(); 126 $add_fields = array();
132 $add_fields[] = new KTStaticTextWidget(_kt('Unit Name'), _kt('A short name for the unit. e.g. <strong>Accounting</strong>.'), 'unit_name', $sName, $this->oPage, true); 127 $add_fields[] = new KTStaticTextWidget(_kt('Unit Name'), _kt('A short name for the unit. e.g. <strong>Accounting</strong>.'), 'unit_name', $sName, $this->oPage, true);
133 128
134 - $isValid = true;  
135 - if (KTFolderUtil::exists($oFolder, $sName)) {  
136 - $isValid = false; // can't add a unit folder with the same name.  
137 - } 129 + $add_fields[] = $oWidget;
138 130
139 $oTemplating =& KTTemplating::getSingleton(); 131 $oTemplating =& KTTemplating::getSingleton();
140 $oTemplate = $oTemplating->loadTemplate("ktcore/principals/addunit2"); 132 $oTemplate = $oTemplating->loadTemplate("ktcore/principals/addunit2");
141 $aTemplateData = array( 133 $aTemplateData = array(
142 "context" => $this, 134 "context" => $this,
143 "add_fields" => $add_fields, 135 "add_fields" => $add_fields,
144 - "collection" => $collection,  
145 - "collection_breadcrumbs" => $aBreadcrumbs, 136 + "unit_name" => $sName,
146 "folder" => $oFolder, 137 "folder" => $oFolder,
147 "name" => $sName, 138 "name" => $sName,
148 - "is_valid" => $isValid,  
149 ); 139 );
150 return $oTemplate->render($aTemplateData); 140 return $oTemplate->render($aTemplateData);
151 } 141 }
@@ -161,9 +151,9 @@ class KTUnitAdminDispatcher extends KTAdminDispatcher { @@ -161,9 +151,9 @@ class KTUnitAdminDispatcher extends KTAdminDispatcher {
161 'message' => _kt('No name given'), 151 'message' => _kt('No name given'),
162 ); 152 );
163 $sName = $this->oValidator->validateString($_REQUEST['unit_name'], $aOptions); 153 $sName = $this->oValidator->validateString($_REQUEST['unit_name'], $aOptions);
164 - $aOptions['message'] = _kt('A unit with that name already exists.');  
165 - $sName = $this->oValidator->validateDuplicateName('Unit', $sName, $aOptions);  
166 - 154 + $aOptions['message'] = _kt('A unit with that name already exists.');
  155 + $sName = $this->oValidator->validateDuplicateName('Unit', $sName, $aOptions);
  156 +
167 $oFolder = KTFolderUtil::add($oParentFolder, $sName, $this->oUser); 157 $oFolder = KTFolderUtil::add($oParentFolder, $sName, $this->oUser);
168 $aOptions = array( 158 $aOptions = array(
169 'redirect_to' => array('addUnit2', sprintf('fFolderId=%d&unit_name=%s', $oParentFolder->getId(), $sName)), 159 'redirect_to' => array('addUnit2', sprintf('fFolderId=%d&unit_name=%s', $oParentFolder->getId(), $sName)),
templates/ktcore/principals/addunit2.smarty
@@ -13,32 +13,9 @@ your unit folder.{/i18n}&lt;/p&gt; @@ -13,32 +13,9 @@ your unit folder.{/i18n}&lt;/p&gt;
13 {$oWidget->render()} 13 {$oWidget->render()}
14 {/foreach} 14 {/foreach}
15 15
16 -<div class="field ">  
17 -<label for="fFolderId">{i18n}Target folder{/i18n}</label>  
18 -<p class="descriptiveText">{i18n}The folder given below is where the  
19 -unit folder will be created. Use the folder collection and path below  
20 -to browse to the folder you wish to create the unit folder into.{/i18n}</p>  
21 -  
22 -<p class="descriptiveText">{i18n}The unit administrators have additional  
23 -rights within that portion of the document management system.{/i18n}</p>  
24 -  
25 -<input type="hidden" name="fFolderId" value="{$folder->getId()}" />  
26 -{foreach from=$collection_breadcrumbs item=breadcrumb name=bc}  
27 -<a href="{$breadcrumb.url}">{$breadcrumb.name}</a>  
28 -{if !$smarty.foreach.bc.last}  
29 -&raquo;  
30 -{/if}  
31 -{/foreach}  
32 -{$collection->render()}  
33 -</div>  
34 16
35 <div class="form_actions"> 17 <div class="form_actions">
36 - {if $is_valid}  
37 <input type="submit" value="{i18n}create unit{/i18n}" /> 18 <input type="submit" value="{i18n}create unit{/i18n}" />
38 - {else}  
39 - <p class="descriptiveText">{i18n}A folder with this name already exists in this location. Please select  
40 - another folder before creating the unit.{/i18n}</p>  
41 - {/if}  
42 <input type="submit" name="kt_cancel[]" value="{i18n}Cancel{/i18n}" /> 19 <input type="submit" name="kt_cancel[]" value="{i18n}Cancel{/i18n}" />
43 </div> 20 </div>
44 </fieldset> 21 </fieldset>