function getAllTargetFields($source_id) { $targets = array(); $used_fields = $this->form_element_factory->getUsedSbFields($this->tracker); foreach ($used_fields as $field) { if (!$source_id || !$this->fieldIsAForbiddenTarget($this->tracker->id, $field->getId(), $source_id)) { $targets[$field->getId()] = $field; } } return $targets; }
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; } }