Beispiel #1
0
 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);
 }