mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-09 16:19:28 +00:00
- Notizen können per klick im Tree erledigt werden
- Bugfix für Tree-Column Resize in XBLs
This commit is contained in:
@@ -52,7 +52,7 @@ function NotizInit(id)
|
||||
verfasser = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verfasser_uid" ));
|
||||
bearbeiter = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bearbeiter_uid" ));
|
||||
erledigt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#erledigt" ));
|
||||
if(erledigt=='Ja')
|
||||
if(erledigt=='true')
|
||||
erledigt=true;
|
||||
else
|
||||
erledigt=false;
|
||||
|
||||
+68
-16
@@ -50,46 +50,49 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/notiz/liste"
|
||||
ondblclick="document.getBindingParent(this).openNotiz(document.getBindingParent(this).value);"
|
||||
onclick="document.getBindingParent(this).updateErledigt(event);"
|
||||
editable="true"
|
||||
>
|
||||
|
||||
<xul:treecols>
|
||||
<xul:treecol anonid="treecol-notiz-titel" label="Titel" flex="5" primary="true" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#titel" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-text" label="Text" flex="2" hidden="false" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#text" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-verfasser" label="Verfasser" flex="2" hidden="false" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#verfasser_uid" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-bearbeiter" label="Bearbeiter" flex="2" hidden="true" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#bearbeiter_uid" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-start" label="Start" flex="2" hidden="false" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#startISO" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-ende" label="Ende" flex="2" hidden="false" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#endeISO" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-erledigt" label="Erledigt" flex="2" hidden="true" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#erledigt" />
|
||||
<xul:treecol anonid="treecol-notiz-erledigt" label="Erledigt" flex="2" hidden="false" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator" type="checkbox" editable="true"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#erledigt_boolean" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-notiz_id" label="NotizID" flex="2" hidden="true" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#notiz_id" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-startISO" label="StartISO" flex="2" hidden="true" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#startISO" />
|
||||
<xul:splitter class="tree-splitter"/>
|
||||
<xul:treecol anonid="treecol-notiz-ende" label="EndeISO" flex="2" hidden="true" persist="hidden width ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
class="sortDirectionIndicator" editable="false"
|
||||
sort="rdf:http://www.technikum-wien.at/notiz/rdf#endeISO" />
|
||||
</xul:treecols>
|
||||
|
||||
@@ -104,7 +107,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#bearbeiter_uid"/>
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#start"/>
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#ende"/>
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#erledigt"/>
|
||||
<xul:treecell label="erledigt" value="rdf:http://www.technikum-wien.at/notiz/rdf#erledigt"/>
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#notiz_id"/>
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#startISO"/>
|
||||
<xul:treecell label="rdf:http://www.technikum-wien.at/notiz/rdf#endeISO"/>
|
||||
@@ -159,6 +162,52 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="updateErledigt">
|
||||
<parameter name="event"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
var row = new Object();
|
||||
var col = new Object();
|
||||
var childElt = new Object();
|
||||
//Tree holen
|
||||
var tree = event.currentTarget;
|
||||
//Treecol ermitteln in die geklickt wurde
|
||||
tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, childElt);
|
||||
//abbrechen wenn auf Header oder Scrollbar geklickt wurde
|
||||
if(!col.value)
|
||||
return 0;
|
||||
|
||||
var val = tree.view.getCellValue(row.value, col.value);
|
||||
var text = tree.view.getCellText(row.value, col.value);
|
||||
|
||||
var col = tree.columns.getColumnFor(document.getAnonymousElementByAttribute(this ,'anonid', 'treecol-notiz-notiz_id'));
|
||||
var id = tree.view.getCellText(row.value, col);
|
||||
|
||||
if(text=='erledigt')
|
||||
{
|
||||
var soapBody = new SOAPObject("setErledigt");
|
||||
soapBody.appendChild(new SOAPObject("notiz_id")).val(id);
|
||||
soapBody.appendChild(new SOAPObject("erledigt")).val(val);
|
||||
|
||||
var sr = new SOAPRequest("setErledigt",soapBody);
|
||||
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/notiz.soap.php?"+gettimestamp();
|
||||
|
||||
SOAPClient.SendRequest(sr,function (respObj) {
|
||||
try
|
||||
{
|
||||
var id = respObj.Body[0].setErledigtResponse[0].message[0].Text;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
|
||||
alert('Fehler: '+fehler);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="LoadNotizTree">
|
||||
<parameter name="projekt_kurzbz"/>
|
||||
<parameter name="projektphase_id"/>
|
||||
@@ -234,15 +283,18 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
{ alert("error! " + aErrorMsg); }
|
||||
});
|
||||
tree.builder.addListener({
|
||||
notiz: this,
|
||||
willRebuild : function(builder)
|
||||
{
|
||||
},
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
//debug("didrebuild");
|
||||
//builder.removeListener(this);
|
||||
//Workaround damit das Resize des Trees funktioniert
|
||||
var tree = document.getAnonymousElementByAttribute(this.notiz ,'anonid', 'tree-notiz');
|
||||
tree.columns.restoreNaturalOrder();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
@@ -299,7 +351,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
|| uid!='' || person_id!='' || prestudent_id!='' || bestellung_id!='' || user!='')
|
||||
{
|
||||
this.LoadNotizTree(projekt_kurzbz,projektphase_id,projekttask_id,uid,person_id,prestudent_id,bestellung_id, user);
|
||||
}
|
||||
}
|
||||
</constructor>
|
||||
<destructor>
|
||||
//debug('Notiz Binding Stop');
|
||||
|
||||
@@ -298,8 +298,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
},
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
var tree = document.getAnonymousElementByAttribute(this.ressource ,'anonid', 'tree-ressource');
|
||||
|
||||
//Workaround damit das Resize des Trees funktioniert
|
||||
tree.columns.restoreNaturalOrder();
|
||||
|
||||
//Nach dem Laden alle Subtrees aufklappen
|
||||
var tree = document.getAnonymousElementByAttribute(this.ressource ,'anonid', 'tree-ressource');
|
||||
var treeView = tree.treeBoxObject.view;
|
||||
for (var i = 0; i < treeView.rowCount; i++)
|
||||
{
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ foreach($notiz->result as $row)
|
||||
<NOTIZ:ende><![CDATA['.$datum_obj->formatDatum($row->ende,'d.m.Y').']]></NOTIZ:ende>
|
||||
<NOTIZ:startISO><![CDATA['.$row->start.']]></NOTIZ:startISO>
|
||||
<NOTIZ:endeISO><![CDATA['.$row->ende.']]></NOTIZ:endeISO>
|
||||
<NOTIZ:erledigt><![CDATA['.($row->erledigt?'Ja':'Nein').']]></NOTIZ:erledigt>
|
||||
<NOTIZ:erledigt><![CDATA['.($row->erledigt?'true':'false').']]></NOTIZ:erledigt>
|
||||
<NOTIZ:insertamum><![CDATA['.$row->insertamum.']]></NOTIZ:insertamum>
|
||||
<NOTIZ:insertvon><![CDATA['.$row->insertvon.']]></NOTIZ:insertvon>
|
||||
<NOTIZ:updateamum><![CDATA['.$row->updateamum.']]></NOTIZ:updateamum>
|
||||
|
||||
+15
-1
@@ -1,5 +1,6 @@
|
||||
@import url("chrome://global/skin/");
|
||||
|
||||
|
||||
button
|
||||
{
|
||||
font-size: x-small;
|
||||
@@ -46,4 +47,17 @@ treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
|
||||
treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
|
||||
treechildren::-moz-tree-row(even, selected) { background-color: #FFFFAA; }
|
||||
treechildren::-moz-tree-cell-text(selected) { color: #000000; }
|
||||
treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
|
||||
treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
|
||||
treechildren::-moz-tree-checkbox
|
||||
{
|
||||
/* unchecked checkbox treecells. This style MUST come before treechildren::-moz-tree-checkbox(checked) otherwise it won't take effect. */
|
||||
list-style-image: url("../skin/images/false_red.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-checkbox(checked)
|
||||
{
|
||||
/* css for checked cells. cbox-check.gif isn't available in Firefox 1, 2, and 3 on Mac OS X, so you should specify a URL to an image
|
||||
in your extension or elsewhere. */
|
||||
/*list-style-image: url("chrome://global/skin/checkbox/cbox-check.gif");*/
|
||||
list-style-image: url("../skin/images/true_green.png");
|
||||
}
|
||||
@@ -33,6 +33,7 @@ require_once('../include/benutzerberechtigung.class.php');
|
||||
$SOAPServer = new SoapServer(APP_ROOT."/soap/notiz.wsdl.php?".microtime());
|
||||
$SOAPServer->addFunction("saveNotiz");
|
||||
$SOAPServer->addFunction("deleteNotiz");
|
||||
$SOAPServer->addFunction("setErledigt");
|
||||
$SOAPServer->handle();
|
||||
|
||||
// WSDL Chache auf aus
|
||||
@@ -134,6 +135,38 @@ function deleteNotiz($notiz_id)
|
||||
else
|
||||
return new SoapFault("Server", $projekttask->errormsg);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Setzt den erledigt Status
|
||||
* @param $notiz_id
|
||||
* @param $erledigt
|
||||
*/
|
||||
function setErledigt($notiz_id, $erledigt)
|
||||
{
|
||||
$user = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/notiz', null, 'su'))
|
||||
return new SoapFault("Server", "Sie haben keine Berechtigung zum Speichern von Notizen");
|
||||
|
||||
$notiz = new notiz();
|
||||
if($notiz->load($notiz_id))
|
||||
{
|
||||
$notiz->erledigt=$erledigt;
|
||||
|
||||
if($notiz->save())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return new SoapFault("Server", $notiz->errormsg);
|
||||
}
|
||||
else
|
||||
return new SoapFault("Server", "Fehler beim Laden");
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
+21
-1
@@ -40,6 +40,13 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<wsdl:message name="deleteNotizResponse">
|
||||
<wsdl:part name="message" type="xsd:string"></wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="setErledigtRequest">
|
||||
<wsdl:part name="notiz_id" type="xsd:string"></wsdl:part>
|
||||
<wsdl:part name="erledigt" type="xsd:boolean"></wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="setErledigtResponse">
|
||||
<wsdl:part name="message" type="xsd:string"></wsdl:part>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:portType name="ConfigPortType" >
|
||||
<wsdl:operation name="saveNotiz">
|
||||
@@ -50,6 +57,10 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<wsdl:input message="tns:deleteNotizRequest"></wsdl:input>
|
||||
<wsdl:output message="tns:deleteNotizResponse"></wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="setErledigt">
|
||||
<wsdl:input message="tns:setErledigtRequest"></wsdl:input>
|
||||
<wsdl:output message="tns:setErledigtResponse"></wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<wsdl:binding name="ConfigBinding" type="tns:ConfigPortType">
|
||||
@@ -71,7 +82,16 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<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="setErledigt">
|
||||
<soap:operation soapAction="<?php echo APP_ROOT."soap/setErledigt";?>" />
|
||||
<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:binding>
|
||||
|
||||
<wsdl:service name="Notiz">
|
||||
|
||||
Reference in New Issue
Block a user