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 ($request->get('column')) { $deleted_columns = 0; foreach ($request->get('column') as $id => $column_definition) { if (empty($column_definition['label'])) { $this->value_dao->deleteForColumn($this->tracker->getId(), $id); $this->dao->delete($this->tracker->getId(), $id); $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('plugin_cardwall', 'on_top_column_removed')); $deleted_columns++; } } if (count($request->get('column')) === $deleted_columns) { $this->field_dao->deleteCardwall($this->tracker->getId()); } } }
private function saveValuesMapping(array $mapping_tracker_info, Tracker $mapping_tracker, Tracker_FormElement $field) { if (empty($mapping_tracker_info['values']) || !is_array($mapping_tracker_info['values'])) { return; } $nb_changes = 0; $mapping_changed = false; foreach ($mapping_tracker_info['values'] as $column_id => $values) { if ($this->mappingValuesChanged($mapping_tracker, $column_id, $values)) { $mapping_changed = true; $this->value_dao->deleteAllFieldValues($this->tracker->getId(), $mapping_tracker->getId(), $field->getId(), $column_id); foreach ($values as $value_id) { $nb_changes += $this->value_dao->save($this->tracker->getId(), $mapping_tracker->getId(), $field->getId(), (int) $value_id, $column_id); } } } if ($mapping_changed && $nb_changes > 0) { $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('plugin_cardwall', 'on_top_mapping_values_changed', array($field->getLabel()))); } }
private function delete(Tracker $mapping_tracker) { return $this->dao->delete($this->tracker->getId(), $mapping_tracker->getId()) && $this->value_dao->delete($this->tracker->getId(), $mapping_tracker->getId()); }