private function getMappingFieldValuesIndexedByTracker(Tracker $tracker) { $mappings = array(); foreach ($this->dao->searchMappingFieldValues($tracker->getId()) as $row) { $field = $this->element_factory->getFieldById($row['field_id']); $value = $field->getListValueById($row['value_id']); $mappings[$row['tracker_id']][$row['field_id']][$row['value_id']] = new Cardwall_OnTop_Config_ValueMapping($value, $row['column_id']); } return $mappings; }
/** * @see Cardwall_OnTop_Config_Command::execute() */ public function execute(Codendi_Request $request) { if (!is_array($request->get('mapping_field'))) { return; } $mapping_fields = $this->getMappingFields(); foreach ($request->get('mapping_field') as $mapping_tracker_id => $mapping_tracker_info) { if (!isset($mapping_tracker_info['field'])) { continue; } $field_id = (int) $mapping_tracker_info['field']; $mapping_tracker = $this->tracker_factory->getTrackerById($mapping_tracker_id); $field = $this->form_element_factory->getFieldById($field_id); $this->save($mapping_tracker_info, $mapping_fields, $mapping_tracker, $field); } }
function displayDefineDependencies($engine, $request, $current_user, $source_field_id, $target_field_id) { $hp = Codendi_HTMLPurifier::instance(); $this->tracker->displayAdminItemHeader($engine, 'dependencies'); $source_field = $this->form_element_factory->getFieldById($source_field_id); $target_field = $this->form_element_factory->getFieldById($target_field_id); //Display creation form echo '<h3>' . $GLOBALS['Language']->getText('plugin_tracker_field_dependencies', 'dependencies_matrix_title') . '</h3>'; echo '<p>' . $GLOBALS['Language']->getText('plugin_tracker_field_dependencies', 'dependencies_matrix_help', array($source_field->getlabel(), $target_field->getlabel())) . '</p>'; $this->displayDependenciesMatrix($source_field, $target_field); }
private function instantiateMappingFromRow(Tracker $tracker, array &$mappings, array $row, Cardwall_OnTop_Config_ColumnCollection $columns) { $mapping_tracker = $this->tracker_factory->getTrackerById($row['tracker_id']); if ($mapping_tracker && $mapping_tracker != $tracker) { //TODO: field is used? $available_fields = $this->element_factory->getUsedSbFields($mapping_tracker); $mapping_field = $this->element_factory->getFieldById($row['field_id']); if ($mapping_field) { $mapping = $this->instantiateFreestyleMapping($tracker, $mappings, $mapping_tracker, $available_fields, $mapping_field); } else { $status_field = $mapping_tracker->getStatusField(); if ($status_field) { $mapping = $this->instantiateMappingStatus($tracker, $mappings, $mapping_tracker, $available_fields, $columns); } else { $mapping = $this->instantiateNoFieldMapping($mapping_tracker, $available_fields); } } $mappings[$mapping_tracker->getId()] = $mapping; } }
private function buildRuleTargetFromTemplateTriggerRule(Tracker_Workflow_Trigger_FieldValue $template_trigger_rule_target, array $field_mapping) { foreach ($field_mapping as $mapping) { if ($mapping['from'] === $template_trigger_rule_target->getField()->getId()) { $new_field_id = $mapping['to']; $target_field = $this->formelement_factory->getFieldById($new_field_id); $target_value = $template_trigger_rule_target->getValue(); $target_value->setId($mapping['values'][$template_trigger_rule_target->getValue()->getId()]); break; } } return new Tracker_Workflow_Trigger_FieldValue($target_field, $target_value); }