Im Planner werden jetzt Tags angezeigt und können zugeordnet werden

This commit is contained in:
Karl Burkhart
2014-03-05 12:34:06 +00:00
parent 1ae3f27493
commit 50f35562a8
6 changed files with 129 additions and 4 deletions
+5 -1
View File
@@ -106,7 +106,11 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<row> <row>
<label value="Schritte zur Reproduktion" control="textbox-projekttask-mantis-steps_to_reproduce"/> <label value="Schritte zur Reproduktion" control="textbox-projekttask-mantis-steps_to_reproduce"/>
<textbox id="textbox-projekttask-mantis-issue_steps_to_reproduce" multiline="true"/> <textbox id="textbox-projekttask-mantis-issue_steps_to_reproduce" multiline="true"/>
<label value="Tags" control="textbox-projekttask-mantis-issue_tags"/>
<vbox>
<textbox id="textbox-projekttask-mantis-issue_tags"/>
<spacer />
</vbox>
</row> </row>
<row> <row>
<label value="Zusätzliche Informationen" control="textbox-projekttask-mantis-issue_additional_information"/> <label value="Zusätzliche Informationen" control="textbox-projekttask-mantis-issue_additional_information"/>
+18 -1
View File
@@ -551,6 +551,7 @@ function onselectProjekttask()
var issue_projection_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_projection_name" )); var issue_projection_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_projection_name" ));
var issue_eta_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_eta_id" )); var issue_eta_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_eta_id" ));
var issue_eta_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_eta_name" )); var issue_eta_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_eta_name" ));
var issue_tags_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_tags_name" ));
var issue_resolution_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_id" )); var issue_resolution_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_id" ));
var issue_resolution_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_name" )); var issue_resolution_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_name" ));
var issue_due_date=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_due_date" )); var issue_due_date=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_due_date" ));
@@ -592,6 +593,7 @@ function onselectProjekttask()
document.getElementById('textbox-projekttask-mantis-issue_due_date').value=issue_due_date; document.getElementById('textbox-projekttask-mantis-issue_due_date').value=issue_due_date;
document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value=issue_steps_to_reproduce; document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value=issue_steps_to_reproduce;
document.getElementById('textbox-projekttask-mantis-issue_additional_information').value=issue_additional_information; document.getElementById('textbox-projekttask-mantis-issue_additional_information').value=issue_additional_information;
document.getElementById('textbox-projekttask-mantis-issue_tags').value=issue_tags_name;
} }
} }
@@ -676,7 +678,8 @@ function saveProjekttaskMantis()
var issue_due_date=document.getElementById('textbox-projekttask-mantis-issue_due_date').value; var issue_due_date=document.getElementById('textbox-projekttask-mantis-issue_due_date').value;
var issue_steps_to_reproduce=document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value; var issue_steps_to_reproduce=document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value;
var issue_additional_information=document.getElementById('textbox-projekttask-mantis-issue_additional_information').value; var issue_additional_information=document.getElementById('textbox-projekttask-mantis-issue_additional_information').value;
var issue_tags = document.getElementById('textbox-projekttask-mantis-issue_tags').value;
var soapBody = new SOAPObject("saveMantis"); var soapBody = new SOAPObject("saveMantis");
soapBody.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id); soapBody.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id);
soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id); soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id);
@@ -716,6 +719,20 @@ function saveProjekttaskMantis()
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp(); SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis); SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis);
// Tags speichern
if(mantis_id != '')
{
var soapBody = new SOAPObject("saveTagsForIssue");
soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id);
soapBody.appendChild(new SOAPObject("issue_tags")).val(issue_tags);
var sr = new SOAPRequest("saveTagsForIssue",soapBody);
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis);
}
} }
// **** // ****
+62 -1
View File
@@ -52,6 +52,7 @@ class mantis extends basis_db
public $issue_due_date; public $issue_due_date;
public $issue_steps_to_reproduce; public $issue_steps_to_reproduce;
public $issue_additional_information; public $issue_additional_information;
public $issue_tags;
public $soapClient; public $soapClient;
public $errormsg; public $errormsg;
@@ -80,6 +81,51 @@ class mantis extends basis_db
} }
} }
/**
*
* @param type $issue_tags
* @return type
*/
public function setTags($issue_tags)
{
$tags = array();
$tags_array = explode(',', $issue_tags);
// Hole alle Tags
$params_tags=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT, 'page_number'=>1, 'per_page'=>20);
$result_tags = $this->soapClient->__soapCall('mc_tag_get_all',$params_tags);
$test = array();
$test = $result_tags->results;
foreach($tags_array as $t)
{
$tags_help = new stdClass();
$tags_help->name = trim($t);
foreach($result_tags->results as $rt)
{
if($rt->name == $tags_help->name)
{
$tags_help->id = $rt->id;
}
}
//$tags_help->id = 10;
$tags[] = $tags_help;
}
$params=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT,'issue_id' =>$this->issue_id, $tags);
$result = $this->soapClient->__soapCall('mc_issue_set_tags',$params);
return $result;
}
/** /**
* Ticket Update * Ticket Update
*/ */
@@ -169,6 +215,21 @@ class mantis extends basis_db
$this->issue_resolution = new stdclass(); $this->issue_resolution = new stdclass();
$this->issue_resolution->id = $result->resolution->id; $this->issue_resolution->id = $result->resolution->id;
$this->issue_resolution->name = $result->resolution->name; $this->issue_resolution->name = $result->resolution->name;
$this->issue_tags = new stdclass();
$anzTags = count($result->tags);
$i = 1;
foreach($result->tags as $r)
{
if($i == $anzTags)
$this->issue_tags->name.= $r->name;
else
$this->issue_tags->name.=$r->name.',';
$i++;
}
if($anzTags == 0)
$this->issue_tags->name = '';
$this->issue_description = $result->description; $this->issue_description = $result->description;
//$this->issue_attachments = $result->attachments; //$this->issue_attachments = $result->attachments;
$this->issue_due_date = $result->due_date; $this->issue_due_date = $result->due_date;
@@ -239,4 +300,4 @@ class mantis extends basis_db
return false; return false;
} }
} }
} }
+1
View File
@@ -79,6 +79,7 @@ $mantis->getIssue($issue_id);
<MANTIS:issue_projection_name><![CDATA[<?php echo $mantis->issue_projection->name; ?>]]></MANTIS:issue_projection_name> <MANTIS:issue_projection_name><![CDATA[<?php echo $mantis->issue_projection->name; ?>]]></MANTIS:issue_projection_name>
<MANTIS:issue_eta_id><![CDATA[<?php echo $mantis->issue_eta->id; ?>]]></MANTIS:issue_eta_id> <MANTIS:issue_eta_id><![CDATA[<?php echo $mantis->issue_eta->id; ?>]]></MANTIS:issue_eta_id>
<MANTIS:issue_eta_name><![CDATA[<?php echo $mantis->issue_eta->name; ?>]]></MANTIS:issue_eta_name> <MANTIS:issue_eta_name><![CDATA[<?php echo $mantis->issue_eta->name; ?>]]></MANTIS:issue_eta_name>
<MANTIS:issue_tags_name><![CDATA[<?php echo $mantis->issue_tags->name; ?>]]></MANTIS:issue_tags_name>
<MANTIS:issue_resolution_id><![CDATA[<?php echo $mantis->issue_resolution->id; ?>]]></MANTIS:issue_resolution_id> <MANTIS:issue_resolution_id><![CDATA[<?php echo $mantis->issue_resolution->id; ?>]]></MANTIS:issue_resolution_id>
<MANTIS:issue_resolution_name><![CDATA[<?php echo $mantis->issue_resolution->name; ?>]]></MANTIS:issue_resolution_name> <MANTIS:issue_resolution_name><![CDATA[<?php echo $mantis->issue_resolution->name; ?>]]></MANTIS:issue_resolution_name>
<MANTIS:issue_due_date><![CDATA[<?php echo $mantis->issue_due_date; ?>]]></MANTIS:issue_due_date> <MANTIS:issue_due_date><![CDATA[<?php echo $mantis->issue_due_date; ?>]]></MANTIS:issue_due_date>
+21
View File
@@ -39,6 +39,7 @@ $SOAPServer->addFunction("deleteProjekttask");
$SOAPServer->addFunction("saveMantis"); $SOAPServer->addFunction("saveMantis");
$SOAPServer->addFunction("setErledigt"); $SOAPServer->addFunction("setErledigt");
$SOAPServer->addFunction("changeProjektPhase"); $SOAPServer->addFunction("changeProjektPhase");
$SOAPServer->addFunction("saveTagsForIssue");
$SOAPServer->handle(); $SOAPServer->handle();
// WSDL Chache auf aus // WSDL Chache auf aus
@@ -205,6 +206,26 @@ function saveMantis($projekttask_id, $mantis_id, $issue_summary, $issue_descript
} }
} }
/**
* Setzt Tags für einen Eintrag
* @param type $mantis_id
* @param type $issue_tags
* @return string|\SoapFault
*/
function saveTagsForIssue($mantis_id, $issue_tags)
{
//get_uid();
$mantis = new mantis();
$mantis->issue_id = $mantis_id;
if($mantis->setTags($issue_tags))
return 'ok';
else
return new SoapFault("Server", $mantis->errormsg);
}
/** /**
* *
* Setzt den Erledigt Status * Setzt den Erledigt Status
+22 -1
View File
@@ -46,7 +46,15 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:part name="message" type="xsd:string"></wsdl:part> <wsdl:part name="message" type="xsd:string"></wsdl:part>
</wsdl:message> </wsdl:message>
<wsdl:message name="setErledigtRequest"> <wsdl:message name="saveTagsForIssueRequest">
<wsdl:part name="mantis_id" type="xsd:string" minOccurs="0"></wsdl:part>
<wsdl:part name="issue_tags" type="xsd:string" minOccurs="0"></wsdl:part>
</wsdl:message>
<wsdl:message name="saveTagsForIssueResponse">
<wsdl:part name="message" type="xsd:string"></wsdl:part>
</wsdl:message>
<wsdl:message name="setErledigtRequest">
<wsdl:part name="username" type="xsd:string" minOccurs="0"></wsdl:part> <wsdl:part name="username" type="xsd:string" minOccurs="0"></wsdl:part>
<wsdl:part name="passwort" type="xsd:string" minOccurs="0"></wsdl:part> <wsdl:part name="passwort" type="xsd:string" minOccurs="0"></wsdl:part>
<wsdl:part name="projekttask_id" type="xsd:string"></wsdl:part> <wsdl:part name="projekttask_id" type="xsd:string"></wsdl:part>
@@ -122,6 +130,10 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:operation name="setErledigt"> <wsdl:operation name="setErledigt">
<wsdl:input message="tns:setErledigtRequest"></wsdl:input> <wsdl:input message="tns:setErledigtRequest"></wsdl:input>
<wsdl:output message="tns:setErledigtResponse"></wsdl:output> <wsdl:output message="tns:setErledigtResponse"></wsdl:output>
</wsdl:operation>
<wsdl:operation name="saveTagsForIssue">
<wsdl:input message="tns:saveTagsForIssueRequest"></wsdl:input>
<wsdl:output message="tns:saveTagsForIssueResponse"></wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="changeProjektPhase"> <wsdl:operation name="changeProjektPhase">
<wsdl:input message="tns:changeProjektPhaseRequest"></wsdl:input> <wsdl:input message="tns:changeProjektPhaseRequest"></wsdl:input>
@@ -166,6 +178,15 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:output> <wsdl:output>
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output> </wsdl:output>
</wsdl:operation>
<wsdl:operation name="saveTagsForIssue">
<soap:operation soapAction="<?php echo APP_ROOT."soap/saveTagsForIssue";?>" />
<wsdl:input>
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation> </wsdl:operation>
<wsdl:operation name="changeProjektPhase"> <wsdl:operation name="changeProjektPhase">
<soap:operation soapAction="<?php echo APP_ROOT."soap/changeProjektPhase";?>" /> <soap:operation soapAction="<?php echo APP_ROOT."soap/changeProjektPhase";?>" />