コード例 #1
0
 private function saveAllChildrenFromXMLFieldChange($parent_id, SimpleXMLElement $xml)
 {
     foreach ($xml->value as $value) {
         $artifact_id = (int) $value;
         if ($artifact_id) {
             $this->children_collector->addChild($artifact_id, $parent_id);
         }
     }
 }
 private function appendValueToFieldChangeNode(Tracker_ArtifactLinkInfo $artifact_link_info, $index, $userdata)
 {
     $field_xml = $userdata['field_xml'];
     $artifact = $userdata['artifact'];
     $children_trackers = $userdata['children_trackers'];
     if ($this->canExportLinkedArtifact($artifact_link_info, $children_trackers)) {
         $field_xml->addChild('value', $artifact_link_info->getArtifactId());
         $this->children_collector->addChild($artifact_link_info->getArtifactId(), $artifact->getId());
     }
 }
コード例 #3
0
 public function itCreatesAnArtifactLinkIfThereIsOneChild()
 {
     $this->children_collector->addChild(123, 100);
     $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?>
         <artifacts>
             <artifact id="100" tracker_id="22">
                 <changeset>
                     <field_change field_name="content" type="art_link">
                         <value>123</value>
                     </field_change>
                 </changeset>
             </artifact>
             <artifact id="123" tracker_id="23">
                 <changeset>
                     <field_change field_name="content" type="art_link">
                         <value/>
                     </field_change>
                 </changeset>
             </artifact>
         </artifacts>');
     stub($this->artifacts_imported_mapping)->get(100)->returns($this->root_artifact->getId());
     stub($this->artifacts_imported_mapping)->get(123)->returns($this->created_artifact->getId());
     stub($this->artifacts_imported_mapping)->getOriginal($this->root_artifact->getId())->returns(100);
     stub($this->artifacts_imported_mapping)->getOriginal($this->created_artifact->getId())->returns(123);
     $fields_data = array($this->field_id => array(Tracker_FormElement_Field_ArtifactLink::NEW_VALUES_KEY => "1023"));
     expect($this->root_artifact)->createNewChangeset($fields_data, '', $this->user, false, Tracker_Artifact_Changeset_Comment::TEXT_COMMENT)->once();
     $this->importer->importChildren($this->artifacts_imported_mapping, $xml, 'whatever', $this->root_artifact, $this->user);
 }