Commit 079c63e6822f5af6ca759cae46791c5cfa46a1c7

Authored by nbm
1 parent 89f69e2f

Remove code from previous conditional metadata framework.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3782 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/administration/docfieldmanagement/conditional/manageConditionals.php
... ... @@ -72,291 +72,12 @@ class ManageConditionalDispatcher extends KTStandardDispatcher {
72 72 return $oTemplate->render($aTemplateData);
73 73 }
74 74  
75   -
76   -
77   - /** DELETE FROM HERE. */
78   -
79   -
80   - function do_newMasterConditionSet() {
81   - $fieldset_id = KTUtil::arrayGet($_REQUEST, 'fieldset_id');
82   -
83   - if (empty($fieldset_id)) {
84   - return $this->errorRedirectToMain("No fieldset specified.");
85   - }
86   - $oFieldset = KTFieldset::get($fieldset_id);
87   - if (PEAR::isError($oFieldset)) {
88   - return $this->errorRedirectToMain("Unable to open the specified fieldset.");
89   - }
90   -
91   -
92   - // now we need to get other fields in this set.
93   - $aOtherFields = DocumentField::getList('parent_fieldset = '.$oFieldset->getId().' AND id != '.$oFieldset->getMasterField());
94   - if (PEAR::isError($aOtherFields)) {
95   - $this->errorRedirectToMain("Failed to get field list for table.");
96   - }
97   - $oTemplating = new KTTemplating;
98   -
99   - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/conditional/editsimple");
100   - $aTemplateData = array(
101   - "fieldset_id" => $fieldset_id,
102   - "other_fields" => $aOtherFields,
103   - );
104   - return $oTemplate->render($aTemplateData);
105   - }
106   -
107   - function do_newSubConditionSet() {
108   - global $default;
109   - $default->log->debug('SUBCONDITION CREATION: starting.');
110   - $fieldset_id = KTUtil::arrayGet($_REQUEST, 'fieldset_id');
111   - $starting_id = KTUtil::arrayGet($_REQUEST, 'starting_field'); // populated elsewhere.
112   -
113   - if (empty($fieldset_id)) {
114   - return $this->errorRedirectToMain("No fieldset specified.");
115   - }
116   - if (empty($starting_id)) {
117   - return $this->errorRedirectToMain("No field specified to start from.");
118   - }
119   - $default->log->debug('SUBCONDITION CREATION: extracted.');
120   - $oFieldset = KTFieldset::get($fieldset_id);
121   - if (PEAR::isError($oFieldset)) {
122   - return $this->errorRedirectToMain("Unable to open the specified fieldset.");
123   - }
124   - $default->log->debug('SUBCONDITION CREATION: validated.');
125   -
126   - // now we need to get other fields in this set.
127   - $aOtherFields = DocumentField::getList('parent_fieldset = '.$oFieldset->getId().' AND id != '.$oFieldset->getMasterField().' AND id != '.$starting_id);
128   - if (PEAR::isError($aOtherFields)) {
129   - $this->errorRedirectToMain("Failed to get field list for table.");
130   - }
131   - // FIXME we tableMappings.
132   - $starting_lookup = DBUtil::getResultArray(array('SELECT id, name FROM metadata_lookup WHERE document_field_id = ? ', array($starting_id)));
133   - if (PEAR::isError($starting_lookup)) {
134   - return $this->errorRedirectToMain('invalid starting field.');
135   - }
136   - $default->log->debug('SUBCONDITION CREATION: rendering.');
137   - $oTemplating = new KTTemplating;
138   -
139   - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/conditional/new_subchain");
140   - $aTemplateData = array(
141   - "fieldset_id" => $fieldset_id,
142   - "starting_field" => $starting_id,
143   - "starting_lookup" => $starting_lookup,
144   - "other_fields" => $aOtherFields,
145   - );
146   - return $oTemplate->render($aTemplateData);
147   - }
148   -
149   -
150 75 function handleOutput($data) {
151 76 global $main;
152 77 $main->bFormDisabled = true;
153 78 $main->setCentralPayload($data);
154 79 $main->render();
155 80 }
156   -
157   - /* create a "master" (or root) condition for a fieldset.
158   - * this _must_ be for a "masterfield".
159   - */
160   -
161   - function do_createMasterChain() {
162   - global $default;
163   - $default->log->debug("CREATE MASTER CHAIN: starting.");
164   -
165   -
166   - // FIXME: delete EVERYTHING that chains FROM this item.
167   - $fieldset_id = KTUtil::arrayGet($_REQUEST, 'fieldset_id');
168   - $rule_name = KTUtil::arrayGet($_REQUEST, 'rule_name');
169   - $base_lookup_id = KTUtil::arrayGet($_REQUEST, 'lookup_id'); // we ARE on the master field, this represents that.
170   -
171   - $default->log->debug("CREATE MASTER CHAIN: lookup_id " .print_r($lookup_id, true));
172   -
173   - $fields_to_attach = KTUtil::arrayGet($_REQUEST, 'fields_to_attach'); // listed as fields_to_attach[], a list.
174   - if (empty($fields_to_attach)) {
175   - return $this->errorRedirectToMain("No fields specified.");
176   - } else {
177   - // get the list of fields, and their "chained" values.
178   - // we key this by field.
179   - $chained_direct_values = array();
180   - foreach ($fields_to_attach as $field_id) {
181   - $chained_direct_values[$field_id] = array();
182   - // we now grab the appropriate values from the form.
183   - // these will have been input as "direct_values_{$field_id}
184   - $direct_values = KTUtil::arrayGet($_REQUEST, "direct_values_".$field_id);
185   - if (empty($direct_values)) {
186   - return $this->errorRedirectToMain("Missing input for field ".$field_id);
187   - } else {
188   - foreach ($direct_values as $lookup_id) {
189   - // FIXME use MetaData::get() on these to verify their existence.
190   - $chained_direct_values[$field_id][] = $lookup_id;
191   - }
192   - }
193   - }
194   - }
195   -
196   - $default->log->debug("CREATE MASTER CHAIN: lookup_id (2) " .print_r($lookup_id, true));
197   - $rulesets_to_attach = KTUtil::arrayGet($_REQUEST, 'rulesets_to_attach');
198   -
199   - $oFieldset = KTFieldset::get($fieldset_id);
200   - if (PEAR::isError($oFieldset)) {
201   - return $this->errorRedirectToMain("Invalid Fieldset.");
202   - }
203   -
204   - $resObj = MDConditionNode::createFromArray(array(
205   - "iFieldId" => $oFieldset->getMasterField(),
206   - "iLookupId" => $base_lookup_id,
207   - "sName" => $rule_name,
208   - ));
209   -
210   - $default->log->debug("CREATE MASTER CHAIN: created master chain node " .print_r($resObj, true));
211   -
212   - $resObj2 = MDConditionChain::createFromArray(array(
213   - "iParentCondition" => null, // this is a MASTER chain.
214   - "iChildCondition" => $resObj->getId(),
215   - ));
216   -
217   - // the id of this "master rule".
218   - $master_rule_id = $resObj->getId();
219   -
220   - // walk the connections to make, and ...
221   - // NBM: please make this transactional...
222   - foreach ($chained_direct_values as $field_id => $lookup_ids) {
223   - foreach ($lookup_ids as $lookup_id) {
224   - $lookupCreation = MDConditionNode::createFromArray(array(
225   - "iFieldId" => $field_id,
226   - "iLookupId" => $lookup_id,
227   - ));
228   - if (PEAR::isError($lookupCreation)) {
229   - return $this->errorRedirectToMain("Error creating link to ".$field_id." => ".$lookup_id);
230   - }
231   - $lookupChain = MDConditionChain::createFromArray(array(
232   - "iParentCondition" => $master_rule_id,
233   - "iChildCondition" => $lookupCreation->getId(),
234   - ));
235   - if (PEAR::isError($lookupChain)) {
236   - return $this->errorRedirectToMain("Error creating link to ".$field_id." => ".$lookup_id);
237   - }
238   - }
239   - }
240   - if (!empty($rulesets_to_attach)) {
241   - foreach ($rulesets_to_attach as $child_ruleset) {
242   - $lookupChain = MDConditionChain::createFromArray(array(
243   - "iParentCondition" => $master_rule_id,
244   - "iChildCondition" => $child_ruleset,
245   - ));
246   - if (PEAR::isError($lookupChain)) {
247   - return $this->errorRedirectToMain("Error creating link to ruleset ".$child_ruleset);
248   - }
249   - }
250   - }
251   - $default->log->debug("CREATE MASTER CHAIN: done.");
252   - return $this->errorRedirectToMain("Created ruleset.");
253   - }
254   -
255   - function do_createSubChain() {
256   - global $default;
257   - $default->log->debug("CREATE SB CHAIN: starting.");
258   -
259   -
260   - // FIXME: delete EVERYTHING that chains FROM this item.
261   - $fieldset_id = KTUtil::arrayGet($_REQUEST, 'fieldset_id');
262   - $starting_id = KTUtil::arrayGet($_REQUEST, 'starting_field');
263   - $rule_name = KTUtil::arrayGet($_REQUEST, 'rule_name');
264   -
265   - if (empty($fieldset_id)) {
266   - return $this->errorRedirectToMain('No fieldset specified.');
267   - }
268   - if (empty($rule_name)) {
269   - return $this->errorRedirectToMain('Sub-rules MUST have a name specified.');
270   - }
271   - if (empty($starting_id)) {
272   - return $this->errorRedirectToMain('Must indicate which fieldset to start with.');
273   - }
274   -
275   - $base_lookup_id = KTUtil::arrayGet($_REQUEST, 'lookup_id'); // we NEED TO KNOW which is the "base" element.
276   -
277   - $default->log->debug("CREATE SB CHAIN: lookup_id " .print_r($base_lookup_id, true));
278   -
279   - // these are the next layers of rules to attach.
280   - $fields_to_attach = KTUtil::arrayGet($_REQUEST, 'fields_to_attach'); // listed as fields_to_attach[], a list.
281   - $default->log->debug("CREATE SB CHAIN: fields_to_attach " .print_r($fields_to_attach, true));
282   - if (empty($fields_to_attach)) {
283   - return $this->errorRedirectToMain("No fields specified.");
284   - } else {
285   - // get the list of fields, and their "chained" values.
286   - // we key this by field.
287   - $chained_direct_values = array();
288   - foreach ($fields_to_attach as $field_id) {
289   - $chained_direct_values[$field_id] = array();
290   - // we now grab the appropriate values from the form.
291   - // these will have been input as "direct_values_{$field_id}
292   - $direct_values = KTUtil::arrayGet($_REQUEST, "direct_values_".$field_id);
293   - if (empty($direct_values)) {
294   - return $this->errorRedirectToMain("Missing input for field ".$field_id);
295   - } else {
296   - foreach ($direct_values as $lookup_id) {
297   - // FIXME use MetaData::get() on these to verify their existence.
298   - $chained_direct_values[$field_id][] = $lookup_id;
299   - }
300   - }
301   - }
302   - }
303   -
304   - $default->log->debug("CREATE SB CHAIN: lookup_id (2) " .print_r($lookup_id, true));
305   - $rulesets_to_attach = KTUtil::arrayGet($_REQUEST, 'rulesets_to_attach');
306   -
307   - $oFieldset = KTFieldset::get($fieldset_id);
308   - if (PEAR::isError($oFieldset)) {
309   - return $this->errorRedirectToMain("Invalid Fieldset.");
310   - }
311   -
312   - $resObj = MDConditionNode::createFromArray(array(
313   - "iFieldId" => $starting_id,
314   - "iLookupId" => $base_lookup_id,
315   - "sName" => $rule_name,
316   - ));
317   -
318   - $default->log->debug("CREATE SB CHAIN: created master chain node " .print_r($resObj, true));
319   -
320   - // WE DON'T CREATE A PARENT-CHAIN ... this one must be picked up by other nodes.
321   -
322   - // the id of this "master rule".
323   - $master_rule_id = $resObj->getId();
324   -
325   - // walk the connections to make, and ...
326   - // NBM: please make this transactional...
327   - foreach ($chained_direct_values as $field_id => $lookup_ids) {
328   - foreach ($lookup_ids as $lookup_id) {
329   - $lookupCreation = MDConditionNode::createFromArray(array(
330   - "iFieldId" => $field_id,
331   - "iLookupId" => $lookup_id,
332   - ));
333   - if (PEAR::isError($lookupCreation)) {
334   - return $this->errorRedirectToMain("Error creating link to ".$field_id." => ".$lookup_id);
335   - }
336   - $lookupChain = MDConditionChain::createFromArray(array(
337   - "iParentCondition" => $master_rule_id,
338   - "iChildCondition" => $lookupCreation->getId(),
339   - ));
340   - if (PEAR::isError($lookupChain)) {
341   - return $this->errorRedirectToMain("Error creating link to ".$field_id." => ".$lookup_id);
342   - }
343   - }
344   - }
345   - if (!empty($rulesets_to_attach)) {
346   - foreach ($rulesets_to_attach as $child_ruleset) {
347   - $lookupChain = MDConditionChain::createFromArray(array(
348   - "iParentCondition" => $master_rule_id,
349   - "iChildCondition" => $child_ruleset,
350   - ));
351   - if (PEAR::isError($lookupChain)) {
352   - return $this->errorRedirectToMain("Error creating link to ruleset ".$child_ruleset);
353   - }
354   - }
355   - }
356   - $default->log->debug("CREATE SB CHAIN: done.");
357   - return $this->errorRedirectToMain("Created ruleset.");
358   - }
359   -
360 81 }
361 82  
362 83 $oDispatcher = new ManageConditionalDispatcher();
... ...