diff --git a/composer.json b/composer.json
index 145927be0..4d1c2a896 100644
--- a/composer.json
+++ b/composer.json
@@ -246,7 +246,7 @@
"afarkas/html5shiv": "3.7.*",
- "chriskacerguis/codeigniter-restserver": "3.0.*",
+ "chriskacerguis/codeigniter-restserver": "3.0.3",
"christianbach/tablesorter": "1.0.*",
"codeigniter/framework": "3.*",
"components/jquery": "3.*",
diff --git a/composer.lock b/composer.lock
index 467af9461..6fc201986 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "d9941245360c86434d18413999bdc812",
- "content-hash": "fbeb5d4ef943f6d1d55220cb844d11f1",
+ "hash": "ab181b377c4128ccde03cc50571b7ab6",
+ "content-hash": "e19ca762a6a929e69ae3b0e649fa4f6d",
"packages": [
{
"name": "BlackrockDigital/startbootstrap-sb-admin-2",
@@ -130,24 +130,24 @@
},
{
"name": "codeigniter/framework",
- "version": "3.1.11",
+ "version": "3.1.13",
"source": {
"type": "git",
"url": "https://github.com/bcit-ci/CodeIgniter.git",
- "reference": "b73eb19aed66190c10c9cad476da7c36c271d6dc"
+ "reference": "bcb17eb8ba53a85de154439d0ab8ff1bed047bc9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/b73eb19aed66190c10c9cad476da7c36c271d6dc",
- "reference": "b73eb19aed66190c10c9cad476da7c36c271d6dc",
+ "url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/bcb17eb8ba53a85de154439d0ab8ff1bed047bc9",
+ "reference": "bcb17eb8ba53a85de154439d0ab8ff1bed047bc9",
"shasum": ""
},
"require": {
"php": ">=5.3.7"
},
"require-dev": {
- "mikey179/vfsstream": "1.1.*",
- "phpunit/phpunit": "4.* || 5.*"
+ "mikey179/vfsstream": "1.6.*",
+ "phpunit/phpunit": "4.* || 5.* || 9.*"
},
"suggest": {
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
@@ -159,7 +159,7 @@
],
"description": "The CodeIgniter framework",
"homepage": "https://codeigniter.com",
- "time": "2019-09-19 12:08:45"
+ "time": "2022-03-03 13:21:49"
},
{
"name": "components/angular.js",
@@ -502,16 +502,16 @@
},
{
"name": "components/jquery",
- "version": "3.4.1",
+ "version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/components/jquery.git",
- "reference": "901828b7968b18319e377dc23d466f28426ee083"
+ "reference": "6cf38ee1fd04b6adf8e7dda161283aa35be818c3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/components/jquery/zipball/901828b7968b18319e377dc23d466f28426ee083",
- "reference": "901828b7968b18319e377dc23d466f28426ee083",
+ "url": "https://api.github.com/repos/components/jquery/zipball/6cf38ee1fd04b6adf8e7dda161283aa35be818c3",
+ "reference": "6cf38ee1fd04b6adf8e7dda161283aa35be818c3",
"shasum": ""
},
"type": "component",
@@ -540,7 +540,7 @@
],
"description": "jQuery JavaScript Library",
"homepage": "http://jquery.com",
- "time": "2019-10-23 05:15:13"
+ "time": "2021-03-20 19:13:42"
},
{
"name": "components/jqueryui",
@@ -674,6 +674,7 @@
"captcha",
"security"
],
+ "abandoned": true,
"time": "2018-03-09 06:07:41"
},
{
@@ -750,16 +751,16 @@
},
{
"name": "fzaninotto/faker",
- "version": "v1.9.1",
+ "version": "v1.9.2",
"source": {
"type": "git",
"url": "https://github.com/fzaninotto/Faker.git",
- "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f"
+ "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f",
- "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f",
+ "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e",
+ "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e",
"shasum": ""
},
"require": {
@@ -797,7 +798,7 @@
"fixtures"
],
"abandoned": true,
- "time": "2019-12-12 13:22:17"
+ "time": "2020-12-11 09:56:16"
},
{
"name": "joeldbirch/superfish",
@@ -1086,16 +1087,16 @@
},
{
"name": "ml/json-ld",
- "version": "1.1.0",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/lanthaler/JsonLD.git",
- "reference": "b5f82820c255cb64067b1c7adbb819cad4afa70a"
+ "reference": "c74a1aed5979ed1cfb1be35a55a305fd30e30b93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/b5f82820c255cb64067b1c7adbb819cad4afa70a",
- "reference": "b5f82820c255cb64067b1c7adbb819cad4afa70a",
+ "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/c74a1aed5979ed1cfb1be35a55a305fd30e30b93",
+ "reference": "c74a1aed5979ed1cfb1be35a55a305fd30e30b93",
"shasum": ""
},
"require": {
@@ -1131,7 +1132,7 @@
"JSON-LD",
"jsonld"
],
- "time": "2018-11-18 20:26:18"
+ "time": "2020-06-16 17:45:06"
},
{
"name": "moment/momentjs",
@@ -1146,16 +1147,16 @@
},
{
"name": "mottie/tablesorter",
- "version": "v2.31.2",
+ "version": "v2.31.3",
"source": {
"type": "git",
"url": "https://github.com/Mottie/tablesorter.git",
- "reference": "6a32e5acc294be5b6c420c83d70d66e096533d8f"
+ "reference": "7202d5faf8105a5ecd1a2b7a653777618713ffe5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Mottie/tablesorter/zipball/6a32e5acc294be5b6c420c83d70d66e096533d8f",
- "reference": "6a32e5acc294be5b6c420c83d70d66e096533d8f",
+ "url": "https://api.github.com/repos/Mottie/tablesorter/zipball/7202d5faf8105a5ecd1a2b7a653777618713ffe5",
+ "reference": "7202d5faf8105a5ecd1a2b7a653777618713ffe5",
"shasum": ""
},
"require": {
@@ -1193,7 +1194,7 @@
"sorting",
"table"
],
- "time": "2019-12-01 13:49:52"
+ "time": "2020-03-03 13:46:03"
},
{
"name": "nategood/httpful",
@@ -1322,16 +1323,16 @@
},
{
"name": "phpseclib/phpseclib",
- "version": "2.0.31",
+ "version": "2.0.36",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "233a920cb38636a43b18d428f9a8db1f0a1a08f4"
+ "reference": "a97547126396548c224703a267a30af1592be146"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/233a920cb38636a43b18d428f9a8db1f0a1a08f4",
- "reference": "233a920cb38636a43b18d428f9a8db1f0a1a08f4",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/a97547126396548c224703a267a30af1592be146",
+ "reference": "a97547126396548c224703a267a30af1592be146",
"shasum": ""
},
"require": {
@@ -1409,7 +1410,7 @@
"x.509",
"x509"
],
- "time": "2021-04-06 13:56:45"
+ "time": "2022-01-30 08:48:36"
},
{
"name": "rmariuzzo/jquery-checkboxes",
@@ -1435,16 +1436,16 @@
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.13.1",
+ "version": "v1.19.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
+ "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/aed596913b70fae57be53d86faa2e9ef85a2297b",
+ "reference": "aed596913b70fae57be53d86faa2e9ef85a2297b",
"shasum": ""
},
"require": {
@@ -1456,16 +1457,20 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.13-dev"
+ "dev-main": "1.19-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1489,7 +1494,7 @@
"polyfill",
"portable"
],
- "time": "2019-11-27 13:56:44"
+ "time": "2020-10-23 09:01:57"
},
{
"name": "tapmodo/Jcrop",
@@ -1504,16 +1509,16 @@
},
{
"name": "tinymce/tinymce",
- "version": "4.9.8",
+ "version": "4.9.11",
"source": {
"type": "git",
"url": "https://github.com/tinymce/tinymce-dist.git",
- "reference": "912df2bc85015c758e32d1262219f1653bbf9783"
+ "reference": "3a68b67d1120ab89c6760afeb787291703c9a7d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/912df2bc85015c758e32d1262219f1653bbf9783",
- "reference": "912df2bc85015c758e32d1262219f1653bbf9783",
+ "url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/3a68b67d1120ab89c6760afeb787291703c9a7d5",
+ "reference": "3a68b67d1120ab89c6760afeb787291703c9a7d5",
"shasum": ""
},
"type": "component",
@@ -1546,7 +1551,7 @@
"tinymce",
"wysiwyg"
],
- "time": "2020-01-28 05:03:01"
+ "time": "2020-07-13 05:29:19"
},
{
"name": "tomazdragar/SimpleCropper",
@@ -1611,16 +1616,16 @@
},
{
"name": "twig/twig",
- "version": "v1.42.4",
+ "version": "v1.42.5",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "e587180584c3d2d6cb864a0454e777bb6dcb6152"
+ "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/e587180584c3d2d6cb864a0454e777bb6dcb6152",
- "reference": "e587180584c3d2d6cb864a0454e777bb6dcb6152",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
+ "reference": "87b2ea9d8f6fd014d0621ca089bb1b3769ea3f8e",
"shasum": ""
},
"require": {
@@ -1629,8 +1634,7 @@
},
"require-dev": {
"psr/container": "^1.0",
- "symfony/debug": "^3.4|^4.2",
- "symfony/phpunit-bridge": "^4.4@dev|^5.0"
+ "symfony/phpunit-bridge": "^4.4|^5.0"
},
"type": "library",
"extra": {
@@ -1659,7 +1663,6 @@
},
{
"name": "Twig Team",
- "homepage": "https://twig.symfony.com/contributors",
"role": "Contributors"
},
{
@@ -1673,24 +1676,24 @@
"keywords": [
"templating"
],
- "time": "2019-11-11 16:49:32"
+ "time": "2020-02-11 05:59:23"
},
{
"name": "zetacomponents/base",
- "version": "1.9.1",
+ "version": "1.9.3",
"source": {
"type": "git",
"url": "https://github.com/zetacomponents/Base.git",
- "reference": "489e20235989ddc97fdd793af31ac803972454f1"
+ "reference": "2f432f4117a5aa2164d4fb1784f84db91dbdd3b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zetacomponents/Base/zipball/489e20235989ddc97fdd793af31ac803972454f1",
- "reference": "489e20235989ddc97fdd793af31ac803972454f1",
+ "url": "https://api.github.com/repos/zetacomponents/Base/zipball/2f432f4117a5aa2164d4fb1784f84db91dbdd3b8",
+ "reference": "2f432f4117a5aa2164d4fb1784f84db91dbdd3b8",
"shasum": ""
},
"require-dev": {
- "phpunit/phpunit": "~5.7",
+ "phpunit/phpunit": "~8.0",
"zetacomponents/unit-test": "*"
},
"type": "library",
@@ -1737,27 +1740,27 @@
],
"description": "The Base package provides the basic infrastructure that all packages rely on. Therefore every component relies on this package.",
"homepage": "https://github.com/zetacomponents",
- "time": "2017-11-28 11:30:00"
+ "time": "2021-07-25 15:46:08"
},
{
"name": "zetacomponents/database",
- "version": "1.5.1",
+ "version": "1.5.2",
"source": {
"type": "git",
"url": "https://github.com/zetacomponents/Database.git",
- "reference": "1750d34bf64b62f064c5b1aeb5374fbd06400904"
+ "reference": "85a2fd2af4e49f64d5c7616b6fb82c1b88de53b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zetacomponents/Database/zipball/1750d34bf64b62f064c5b1aeb5374fbd06400904",
- "reference": "1750d34bf64b62f064c5b1aeb5374fbd06400904",
+ "url": "https://api.github.com/repos/zetacomponents/Database/zipball/85a2fd2af4e49f64d5c7616b6fb82c1b88de53b4",
+ "reference": "85a2fd2af4e49f64d5c7616b6fb82c1b88de53b4",
"shasum": ""
},
"require": {
"zetacomponents/base": "~1.8"
},
"require-dev": {
- "phpunit/phpunit": "~5.7",
+ "phpunit/phpunit": "~8.0",
"zetacomponents/database-schema": "~1.5",
"zetacomponents/unit-test": "*"
},
@@ -1814,27 +1817,28 @@
],
"description": "A lightweight database layer on top of PHP's PDO that allows you to utilize a database without having to take care of differences in SQL dialects.",
"homepage": "https://github.com/zetacomponents",
- "time": "2017-11-28 10:55:26"
+ "time": "2022-02-11 17:18:33"
},
{
"name": "zetacomponents/document",
- "version": "1.3.1",
+ "version": "1.3.3",
"source": {
"type": "git",
"url": "https://github.com/zetacomponents/Document.git",
- "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8"
+ "reference": "196884f00871ea7dcbca9ab8bc85716f626e9cc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zetacomponents/Document/zipball/688abfde573cf3fe0730f82538fbd7aa9fc95bc8",
- "reference": "688abfde573cf3fe0730f82538fbd7aa9fc95bc8",
+ "url": "https://api.github.com/repos/zetacomponents/Document/zipball/196884f00871ea7dcbca9ab8bc85716f626e9cc3",
+ "reference": "196884f00871ea7dcbca9ab8bc85716f626e9cc3",
"shasum": ""
},
"require": {
- "zetacomponents/base": "*"
+ "zetacomponents/base": "~1.8"
},
"require-dev": {
- "zetacomponents/unit-test": "dev-master"
+ "phpunit/phpunit": "~8.0",
+ "zetacomponents/unit-test": "*"
},
"type": "library",
"autoload": {
@@ -1865,7 +1869,7 @@
],
"description": "The Document components provides a general conversion framework for different semantic document markup languages like XHTML, Docbook, RST and similar.",
"homepage": "https://github.com/zetacomponents",
- "time": "2013-12-19 11:40:00"
+ "time": "2022-02-11 17:26:31"
},
{
"name": "zetacomponents/workflow",
diff --git a/content/planner.overlay.js.php b/content/planner.overlay.js.php
index e71db9680..d51378b61 100644
--- a/content/planner.overlay.js.php
+++ b/content/planner.overlay.js.php
@@ -31,18 +31,18 @@ function treeProjektmenueSelect()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('tree-projektmenue');
-
+
// Wenn auf die Ueberschrift geklickt wird, soll nix passieren
if(tree.currentIndex==-1)
return;
-
+
var bezeichnung = getTreeCellText(tree, "treecol-projektmenue-bezeichnung", tree.currentIndex);
var oe=getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
var projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
var projekt_phase=getTreeCellText(tree, "treecol-projektmenue-projekt_phase", tree.currentIndex);
var projekt_phase_id=getTreeCellText(tree, "treecol-projektmenue-projekt_phase_id", tree.currentIndex);
-
-
+
+
//Neu und Delete Button fuer Projekte und Phasen aktivieren/deaktivieren
if (projekt_kurzbz=='')
{
@@ -54,7 +54,7 @@ function treeProjektmenueSelect()
document.getElementById('toolbarbutton-projekt-neu').disabled=true;
document.getElementById('toolbarbutton-projektphase-neu').disabled=false;
}
-
+
//Projekte neu laden
try
{
@@ -75,8 +75,8 @@ function treeProjektmenueSelect()
reloadRessourcePhasen();
}
}
- else
- {
+ else
+ {
// Wenn der Tab Phase oder Tasks ausgewaehlt ist auf die Projekte wechseln
if(document.getElementById('tabs-planner-main').selectedItem==document.getElementById('tab-projektphase')
|| document.getElementById('tabs-planner-main').selectedItem==document.getElementById('tab-projekttask'))
@@ -102,7 +102,7 @@ function treeProjektmenueSelect()
}
catch(e)
{}
-
+
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeProjekt = rdfService.GetDataSource(datasource);
datasourceTreeProjekt.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -115,12 +115,12 @@ function treeProjektmenueSelect()
{
debug("whoops Projekt load failed with exception: "+e);
}
-
+
// Projektphasen neu laden
if(projekt_kurzbz!='')
{
// Wenn ein Projekt angeklickt wird, ggf Karteireiter wechseln
-
+
// Wenn der Ressourceauslastung Tab geoeffnet ist
if(document.getElementById('tabs-planner-main').selectedItem==document.getElementById('tab-ressourceauslastung'))
{
@@ -135,7 +135,7 @@ function treeProjektmenueSelect()
reloadRessourcePhasen();
}
}
- else
+ else
{
// Wenn der Tab Projekte oder Tasks ausgewaehlt ist auf die Phasen wechseln
if(document.getElementById('tabs-planner-main').selectedItem==document.getElementById('tab-projekte')
@@ -144,10 +144,11 @@ function treeProjektmenueSelect()
document.getElementById('tabs-planner-main').selectedItem=document.getElementById('tab-projektphase');
}
}
-
+
try
{
var datasources="rdf/projektphase.rdf.php?"+gettimestamp();
+ datasources = datasources + "&filterprj=" + encodeURIComponent(projekt_kurzbz);
var ref="http://www.technikum-wien.at/projektphase/"+oe+"/"+projekt_kurzbz;
var treePhase=document.getElementById('tree-projektphase');
@@ -165,7 +166,7 @@ function treeProjektmenueSelect()
}
catch(e)
{}
-
+
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeProjektphase = rdfService.GetDataSource(datasources);
datasourceTreeProjektphase.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -180,7 +181,7 @@ function treeProjektmenueSelect()
debug("whoops Projektphase load failed with exception: "+e);
}
}
-
+
// Projekttasks neu laden
if(projekt_phase_id!='')
{
@@ -190,12 +191,12 @@ function treeProjektmenueSelect()
{
document.getElementById('tabs-planner-main').selectedItem=document.getElementById('tab-projekttask');
}
- LoadTasks(projekt_phase_id);
+ LoadTasks(projekt_phase_id);
}
-
+
document.getElementById('projekttask-toolbar-del').disabled=true;
-
-
+
+
// Dokumente laden
if(projekt_phase_id!='' || projekt_kurzbz!='')
{
@@ -203,21 +204,21 @@ function treeProjektmenueSelect()
document.getElementById('toolbarbutton-projektdokument-zuweisung').disabled=false;
try
{
-
+
if(projekt_phase_id!='')
url = "rdf/dms.rdf.php?projektphase_id="+projekt_phase_id+"&"+gettimestamp();
else if(projekt_kurzbz!='')
url = "rdf/dms.rdf.php?projekt_kurzbz="+projekt_kurzbz+"&"+gettimestamp();
-
+
var treeDokument=document.getElementById('tree-projektdokument');
-
+
//Alte DS entfernen
var oldDatasources = treeDokument.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeDokument.database.RemoveDataSource(oldDatasources.getNext());
}
-
+
try
{
datasourceTreeDokument.removeXMLSinkObserver(DokumentTreeSinkObserver);
@@ -226,7 +227,7 @@ function treeProjektmenueSelect()
catch(e)
{}
treeDokument.builder.rebuild();
-
+
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeDokument = rdfService.GetDataSource(url);
datasourceTreeDokument.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -245,13 +246,13 @@ function treeProjektmenueSelect()
else
{
document.getElementById('toolbarbutton-projektdokument-neu').disabled=true;
- document.getElementById('toolbarbutton-projektdokument-zuweisung').disabled=true;
+ document.getElementById('toolbarbutton-projektdokument-zuweisung').disabled=true;
drawGantt();
}
-
-
-
-
+
+
+
+
// Bestellung laden
if(projekt_phase_id=='' && projekt_kurzbz!='')
{
@@ -259,14 +260,14 @@ function treeProjektmenueSelect()
{
url = "rdf/bestellung.rdf.php?projektKurzbz="+projekt_kurzbz+"&"+gettimestamp();
var treeBestellung=document.getElementById('tree-bestellung');
-
+
//Alte DS entfernen
var oldDatasources = treeBestellung.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeBestellung.database.RemoveDataSource(oldDatasources.getNext());
}
-
+
try
{
datasourceTreeBestellung.removeXMLSinkObserver(BestellungTreeSinkObserver);
@@ -274,7 +275,7 @@ function treeProjektmenueSelect()
}
catch(e)
{}
-
+
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeBestellung = rdfService.GetDataSource(url);
datasourceTreeBestellung.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -323,7 +324,7 @@ function ProjektmenueRefresh(filter)
global_filter='alle';
if(filter==undefined)
filter=global_filter;
-
+
global_filter=filter;
try
{
@@ -332,7 +333,7 @@ function ProjektmenueRefresh(filter)
url = "rdf/projektphase.rdf.php?"+gettimestamp();
else
url = "rdf/projektphase.rdf.php?filter="+global_filter+"&"+gettimestamp();
-
+
var treeProjektmenue=document.getElementById('tree-projektmenue');
//Alte DS entfernen
@@ -342,7 +343,7 @@ function ProjektmenueRefresh(filter)
treeProjektmenue.database.RemoveDataSource(oldDatasources.getNext());
}
treeProjektmenue.builder.rebuild();
-
+
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeProjektmenue = rdfService.GetDataSource(url);
datasourceTreeProjektmenue.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -372,11 +373,11 @@ function loadURL(event)
function parseRDFString(str, url)
{
- try
+ try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- }
- catch(e)
+ }
+ catch(e)
{
alert(e);
return;
@@ -423,34 +424,34 @@ var projektTaskDDObserver=
{
debug('treeDragDrop: e');
}
-
+
var ds = dragservice_ds;
var tree = document.getElementById('tree-projektmenue')
var row = { }
var col = { }
var child = { }
-
+
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
-
+
col = tree.columns ? tree.columns["treecol-projektmenue-projekt_phase_id"] : "treecol-projektmenue-projekt_phase_id";
projektphaseID=tree.view.getCellText(row.value,col);
-
+
if(projektphaseID == '')
{
alert('keine phase ausgewählt!');
- return false;
+ return false;
}
- var projekttask_id = dropdata.data;
-
+ var projekttask_id = dropdata.data;
+
var soapBody = new SOAPObject("changeProjektPhase");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
//soapBody.appendChild(new SOAPObject("passwort")).val('waschl');
soapBody.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id);
soapBody.appendChild(new SOAPObject("projektphase_id")).val(projektphaseID);
-
+
var sr = new SOAPRequest("changeProjektPhase",soapBody);
-
+
SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_changePhaseTask);
}
@@ -473,7 +474,7 @@ function clb_changePhaseTask(respObj)
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('textbox-projekttaskdetail-projekttask_id').value=id;
-
+
TaskSelectID=id;
datasourceTreeTask.Refresh(false); //non blocking
TaskTreeRefresh()
diff --git a/content/projekt/projekt.overlay.xul.php b/content/projekt/projekt.overlay.xul.php
index d51388eaa..c1cd7d100 100644
--- a/content/projekt/projekt.overlay.xul.php
+++ b/content/projekt/projekt.overlay.xul.php
@@ -109,6 +109,14 @@ echo '
+
+
+
+
@@ -126,6 +134,8 @@ echo '
+
+
diff --git a/content/projekt/projektphase.overlay.xul.php b/content/projekt/projektphase.overlay.xul.php
index a18ad9ff5..0e5fffcad 100644
--- a/content/projekt/projektphase.overlay.xul.php
+++ b/content/projekt/projektphase.overlay.xul.php
@@ -91,6 +91,10 @@ echo '
+
+
@@ -129,6 +133,7 @@ echo '
+
diff --git a/content/projekt/ressource.xml.php b/content/projekt/ressource.xml.php
index d6f6c47c2..40d5ce204 100644
--- a/content/projekt/ressource.xml.php
+++ b/content/projekt/ressource.xml.php
@@ -160,15 +160,15 @@ echo '';
+ sort="rdf:http://www.technikum-wien.at/ressource/rdf#aufwand" />
+ sort="rdf:http://www.technikum-wien.at/ressource/rdf#funktion_kurzbz" />
+ sort="rdf:http://www.technikum-wien.at/ressource/rdf#typ" />
beschreibung = $row->beschreibung;
$obj->start = $row->start;
$obj->ende = $row->ende;
- //$obj->personentage = $row->personentage;
+ $obj->personentage = $row->personentage;
$obj->farbe = $row->farbe;
$obj->budget = $row->budget;
$obj->ressource_id = $row->ressource_id;
diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php
index 9ca99a101..fd007d1ad 100644
--- a/include/zeitaufzeichnung.class.php
+++ b/include/zeitaufzeichnung.class.php
@@ -886,7 +886,7 @@ or not exists
{
$tagesbeginn = '';
$tagesende = '';
- $pausesumme = '00:00';
+ $pausesumme = 0;
$tagessaldo = '';
$elsumme = '00:00';
$pflichtpause = false;
@@ -906,14 +906,14 @@ or not exists
$tagesende = $datum->formatDatum($row->ende, 'H:i');
if ($row->aktivitaet_kurzbz == "Pause")
- $pausesumme = $row->diff;
+ {
+ list($h1, $m1) = explode(':', $row->diff);
+ $pausesumme += ($h1 * 3600 + $m1 * 60);
+ }
}
$tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format = 'Y-m-d H:i:s')) - $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) - 3600;
- list($h1, $m1) = explode(':', $pausesumme);
- $pausesumme = $h1 * 3600 + $m1 * 60;
-
list($h2, $m2) = explode(':', $elsumme);
$elsumme = $h2 * 3600 + $m2 * 60;
diff --git a/rdf/projektphase.rdf.php b/rdf/projektphase.rdf.php
index dfe3b1f4c..cf3a536df 100644
--- a/rdf/projektphase.rdf.php
+++ b/rdf/projektphase.rdf.php
@@ -36,9 +36,9 @@ $projekt_kurzbz = isset($_GET['projekt_kurzbz'])?$_GET['projekt_kurzbz'] : '';
if($projektphase_id != '')
{
$phase = new projektphase();
- $timestamp = time();
+ $timestamp = time();
$timestamp = date('Y-m-d');
-
+
if(!$phase->load($projektphase_id))
die('Fehler beim Laden der Phase');
$ergebnis = $phase->getFortschritt($projektphase_id);
@@ -47,7 +47,7 @@ if($projektphase_id != '')
// hat phase schon begonnen
if($timestamp <= $phase->start || $phase->start == '')
$ergebnis = "-";
-
+
$oRdf->obj[$i]->setAttribut('projektphase_id',$phase->projektphase_id);
$oRdf->obj[$i]->setAttribut('projekt_kurzbz',$phase->projekt_kurzbz);
$oRdf->obj[$i]->setAttribut('projektphase_fk',$phase->projektphase_fk);
@@ -69,49 +69,50 @@ if($projektphase_id != '')
$oRdf->addSequence($phase->projektphase_id, $phase->projektphase_fk);
else
$oRdf->addSequence($phase->projektphase_id);
-
-}else if($projekt_kurzbz != '')
+
+}
+else if($projekt_kurzbz != '')
{
$projektphase = new projektphase();
-
+
// gesetzt wenn abfrage für fk ansonsten lade alle phasen zur projekt_kurzbz
if(isset($_GET['phase_id']))
$projektphase->getProjektphasenForFk($projekt_kurzbz, $_GET['phase_id']);
- else
- $projektphase->getProjektphasen($projekt_kurzbz);
-
+ else
+ $projektphase->getProjektphasen($projekt_kurzbz);
+
if(isset($_GET['optional']))
{
$idx=$oRdf->newObjekt('opt');
-
- $oRdf->obj[$idx]->setAttribut('projektphase_id','');
- $oRdf->obj[$idx]->setAttribut('projekt_kurzbz', '');
+
+ $oRdf->obj[$idx]->setAttribut('projektphase_id','');
+ $oRdf->obj[$idx]->setAttribut('projekt_kurzbz', '');
$oRdf->obj[$idx]->setAttribut('projektphase_fk', '');
- $oRdf->obj[$idx]->setAttribut('bezeichnung','< Auswahl >');
- $oRdf->obj[$idx]->setAttribut('beschreibung', '');
+ $oRdf->obj[$idx]->setAttribut('bezeichnung','< Auswahl >');
+ $oRdf->obj[$idx]->setAttribut('beschreibung', '');
$oRdf->obj[$idx]->setAttribut('start', '');
$oRdf->obj[$idx]->setAttribut('ende', '');
- $oRdf->obj[$idx]->setAttribut('budget', '');
- $oRdf->obj[$idx]->setAttribut('personentage', '');
+ $oRdf->obj[$idx]->setAttribut('budget', '');
+ $oRdf->obj[$idx]->setAttribut('personentage', '');
$oRdf->obj[$idx]->setAttribut('farbe', '');
$oRdf->obj[$idx]->setAttribut('typ', '');
$oRdf->obj[$idx]->setAttribut('zeitaufzeichnung','');
$oRdf->addSequence('opt');
}
-
+
foreach($projektphase->result as $phase)
{
$idx=$oRdf->newObjekt($phase->projektphase_id);
-
- $oRdf->obj[$idx]->setAttribut('projektphase_id',$phase->projektphase_id);
- $oRdf->obj[$idx]->setAttribut('projekt_kurzbz', $phase->projekt_kurzbz);
+
+ $oRdf->obj[$idx]->setAttribut('projektphase_id',$phase->projektphase_id);
+ $oRdf->obj[$idx]->setAttribut('projekt_kurzbz', $phase->projekt_kurzbz);
$oRdf->obj[$idx]->setAttribut('projektphase_fk', $phase->projektphase_fk);
- $oRdf->obj[$idx]->setAttribut('bezeichnung',$phase->bezeichnung);
- $oRdf->obj[$idx]->setAttribut('beschreibung', $phase->beschreibung);
+ $oRdf->obj[$idx]->setAttribut('bezeichnung',$phase->bezeichnung);
+ $oRdf->obj[$idx]->setAttribut('beschreibung', $phase->beschreibung);
$oRdf->obj[$idx]->setAttribut('start', $phase->start);
$oRdf->obj[$idx]->setAttribut('ende', $phase->ende);
- $oRdf->obj[$idx]->setAttribut('budget', $phase->budget);
+ $oRdf->obj[$idx]->setAttribut('budget', $phase->budget);
$oRdf->obj[$idx]->setAttribut('personentage', $phase->personentage);
$oRdf->obj[$idx]->setAttribut('farbe', $phase->farbe);
$oRdf->obj[$idx]->setAttribut('typ', $phase->typ);
@@ -119,25 +120,36 @@ if($projektphase_id != '')
$oRdf->addSequence($phase->projektphase_id);
}
-
+
}
else
{
$projekt_obj = new projekt();
-
- if(!isset($_REQUEST['filter']))
- $projekt_obj->getProjekte();
- else
- {
- if($_REQUEST['filter']=='aktuell')
- $projekt_obj->getProjekteAktuell();
- else if($_REQUEST['filter']=='kommende')
- $projekt_obj->getProjekteAktuell(true);
- }
-
+
+ if(isset($_REQUEST['filterprj']))
+ {
+ $projekt_obj2 = new projekt();
+ if($projekt_obj2->load($_REQUEST['filterprj']))
+ {
+ $projekt_obj->result[] = $projekt_obj2;
+ }
+ }
+ else
+ {
+ if(!isset($_REQUEST['filter']))
+ $projekt_obj->getProjekte();
+ else
+ {
+ if($_REQUEST['filter']=='aktuell')
+ $projekt_obj->getProjekteAktuell();
+ else if($_REQUEST['filter']=='kommende')
+ $projekt_obj->getProjekteAktuell(true);
+ }
+ }
+
$projektphase_obj = new projektphase();
$sequenzProjektphase = array();
-
+
$descr='';
$sequenz='';
$lastOE=null;
@@ -152,7 +164,7 @@ else
if ($lastOE!=$currentOE || $i==0)
{
$idx=$oRdf->newObjekt($projekt->oe_kurzbz);
-
+
$oRdf->obj[$idx]->setAttribut('bezeichnung',$projekt->oe_kurzbz);
$oRdf->obj[$idx]->setAttribut('oe_kurzbz',$projekt->oe_kurzbz);
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz','');
@@ -169,12 +181,12 @@ else
$oRdf->obj[$idx]->setAttribut('zeitaufzeichnung','');
$oRdf->addSequence($projekt->oe_kurzbz);
-
+
$lastOE=$currentOE;
}
-
+
$idx=$oRdf->newObjekt($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz);
-
+
$oRdf->obj[$idx]->setAttribut('bezeichnung',$projekt->titel);
$oRdf->obj[$idx]->setAttribut('oe_kurzbz',$projekt->oe_kurzbz);
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz',$projekt->projekt_kurzbz);
@@ -190,26 +202,26 @@ else
$oRdf->obj[$idx]->setAttribut('typ','projekt');
$oRdf->obj[$idx]->setAttribut('zeitaufzeichnung',$projekt->zeitaufzeichnung);
-
+
$oRdf->addSequence($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz, $projekt->oe_kurzbz);
-
+
$projektphase_obj->getProjektphasen($projekt->projekt_kurzbz);
$tmpStr='';
for ($j=0;$jresult);$j++)
{
$projektphase=$projektphase_obj->result[$j];
-
- $timestamp = time();
+
+ $timestamp = time();
$timestamp = date('Y-m-d');
$ergebnis = $projektphase->getFortschritt($projektphase->projektphase_id);
-
+
// hat phase schon begonnen
if($timestamp <= $projektphase->start || $projektphase->start == '')
$ergebnis = "-";
-
+
$idx=$oRdf->newObjekt($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id);
-
+
$oRdf->obj[$idx]->setAttribut('bezeichnung',$projektphase->bezeichnung);
$oRdf->obj[$idx]->setAttribut('oe_kurzbz',$projekt->oe_kurzbz);
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz',$projektphase->projekt_kurzbz);
diff --git a/rdf/ressource.rdf.php b/rdf/ressource.rdf.php
index 5306113b2..483732896 100644
--- a/rdf/ressource.rdf.php
+++ b/rdf/ressource.rdf.php
@@ -188,7 +188,7 @@ function draw_ressource($ressource)
else
die('Fehler beim Laden der Studenten-daten');
- $student.="\n\t\t\tressource_id."\" />";
+ $student.="\n\t\t\tressource_id.'/'.$ressource->projekt_ressource_id."\" />";
$typ ='Student';
}
@@ -206,7 +206,7 @@ function draw_ressource($ressource)
else
die('Fehler beim Laden der Betriebsmittel-daten');
- $betriebsmittel.="\n\t\t\tressource_id."\" />";
+ $betriebsmittel.="\n\t\t\tressource_id.'/'.$ressource->projekt_ressource_id."\" />";
$typ = 'Betriebsmittel';
}
@@ -224,7 +224,7 @@ function draw_ressource($ressource)
else
die('Fehler beim Laden der Firmen-daten');
- $firma.="\n\t\t\tressource_id."\" />";
+ $firma.="\n\t\t\tressource_id.'/'.$ressource->projekt_ressource_id."\" />";
$typ = 'Firma';
}
@@ -249,4 +249,4 @@ function draw_ressource($ressource)
';
}
-?>
\ No newline at end of file
+?>
diff --git a/system/filtersupdate.php b/system/filtersupdate.php
index 641553096..a1536ca67 100644
--- a/system/filtersupdate.php
+++ b/system/filtersupdate.php
@@ -985,8 +985,8 @@ $filters = array(
'oe_kurzbz' => null,
),
array(
- 'app' => 'core',
- 'dataset_name' => 'overview',
+ 'app' => 'dvuh',
+ 'dataset_name' => 'storno',
'filter_kurzbz' => 'DVUHStorno',
'description' => '{DVUH Storno Übersicht}',
'sort' => 1,
@@ -1005,6 +1005,29 @@ $filters = array(
}
',
'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'dvuh',
+ 'dataset_name' => 'overview',
+ 'filter_kurzbz' => 'BPKWartungDVUH',
+ 'description' => '{bPK Uebersicht}',
+ 'sort' => 1,
+ 'default_filter' => true,
+ 'filter' => '
+ {
+ "name": "Fehlende bPK",
+ "columns": [
+ {"name": "person_id"},
+ {"name": "vorname"},
+ {"name": "nachname"},
+ {"name": "svnr"},
+ {"name": "ersatzkennzeichen"},
+ {"name": "mitarbeiter"}
+ ],
+ "filters": []
+ }
+ ',
+ 'oe_kurzbz' => null,
)
);
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php
index 139ab17b5..3b43a1ac0 100644
--- a/system/phrasesupdate.php
+++ b/system/phrasesupdate.php
@@ -2705,6 +2705,26 @@ $phrases = array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'lehre',
+ 'phrase' => 'studiengangskennzahlLehre',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Studiengangskennzahl',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Study program number',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
//********************** INFOCENTER/infocenter
array(
'app' => 'infocenter',