From 83a29142b349876ceff5a6edf31890424802573d Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 30 Apr 2018 17:58:48 +0200 Subject: [PATCH 01/16] added jQuery treetable to composer --- composer.json | 553 ++++++++++++++++++++++++++------------------------ composer.lock | 107 +++++----- 2 files changed, 342 insertions(+), 318 deletions(-) diff --git a/composer.json b/composer.json index 8558cbdd5..25d4e3407 100644 --- a/composer.json +++ b/composer.json @@ -1,270 +1,283 @@ -{ - "name": "fh-complete/fhc-core", - "type": "app", - "description": "FH-Complete Core", - "keywords": [ - "fhc", - "fh-complete", - "campusmanagement" - ], - "homepage": "https://github.com/FH-Complete/FHC-Core", - "license": "GPLv3", - "authors": [ - { - "name": "Christian Paminger", - "email": "christian.paminger@fhcomplete.org", - "homepage": "http://fhcomplete.org" - }, - { - "name": "Andreas Österreicher", - "email": "oesi@technikum-wien.at", - "homepage": "http://fhcomplete.org" - } - ], - "support": { - "email": "info@fhcomplete.org", - "forum": "https://plus.google.com/communities/113278802529782592610", - "wiki": "http://wiki.fhcomplete.org/" - }, - "repositories": [ - { - "type": "package", - "package": { - "name": "codeigniter-restserver", - "version": "2.6", - "dist": { - "url": "https://github.com/chriskacerguis/codeigniter-restserver/archive/master.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "jsoneditor", - "version": "5.5.6", - "dist": { - "url": "https://github.com/josdejong/jsoneditor/archive/v5.5.6.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "json-forms", - "version": "1.4.0", - "dist": { - "url": "https://github.com/brutusin/json-forms/archive/v1.4.0.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "borgar/textile-js", - "version": "1.0", - "source": { - "url": "https://github.com/borgar/textile-js.git", - "type": "git", - "reference": "master" - } - } - }, - { - "type": "package", - "package": { - "name": "rmariuzzo/jquery-checkboxes", - "version": "1.0.7", - "source": { - "url": "https://github.com/rmariuzzo/checkboxes.js.git", - "type": "git", - "reference": "081cac1eb9b504dc32be27b57f32f6d1d29a5253" - } - } - }, - { - "type": "package", - "package": { - "name": "jquery/jqueryV1", - "version": "1.12.4", - "dist": { - "type": "file", - "url": "https://code.jquery.com/jquery-1.12.4.min.js" - } - } - }, - { - "type": "package", - "package": { - "name": "jquery/jqueryV2", - "version": "2.2.4", - "dist": { - "type": "file", - "url": "https://code.jquery.com/jquery-2.2.4.min.js" - } - } - }, - { - "type": "package", - "package": { - "name": "fgelinas/timepicker", - "version": "0.3.3", - "dist": { - "url": "https://fgelinas.com/code/timepicker/releases/jquery-ui-timepicker-0.3.3.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "alvaro-prieto/colResizable", - "version": "1.6", - "dist": { - "url": "https://github.com/alvaro-prieto/colResizable/archive/1.6.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "tapmodo/Jcrop", - "version": "2.0.4", - "dist": { - "url": "https://github.com/tapmodo/Jcrop/archive/v2.0.4.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "jquery-archive/jquery-metadata", - "version": "1.0", - "source": { - "url": "https://github.com/jquery-archive/jquery-metadata.git", - "type": "git", - "reference": "e5a9e4315675bf4d68716872ca754e858088f8ab" - } - } - }, - { - "type": "package", - "package": { - "name": "tomazdragar/SimpleCropper", - "version": "1.0", - "source": { - "url": "https://github.com/tomazdragar/SimpleCropper.git", - "type": "git", - "reference": "9750b81fa55ed07b3b429297d18ffbeac07a2cde" - } - } - }, - { - "type": "package", - "package": { - "name": "joeldbirch/superfish", - "version": "1.7.9", - "dist": { - "url": "https://github.com/joeldbirch/superfish/archive/v1.7.9.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "jquery/sizzle", - "version": "1.0", - "dist": { - "url": "https://github.com/jquery/sizzle/archive/1.0.0.zip", - "type": "zip" - } - } - }, - { - "type": "package", - "package": { - "name": "nicolaskruchten/pivottable", - "version": "2.15.0", - "source": { - "url": "https://github.com/nicolaskruchten/pivottable.git", - "type": "git", - "reference": "b15ea33268b587d986371c0b6f215c36ffbb860c" - } - } - }, - { - "type": "package", - "package": { - "name": "BlackrockDigital/startbootstrap-sb-admin-2", - "version": "3.3.7", - "source": { - "url": "https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git", - "type": "git", - "reference": "master" - } - } - } - ], - "require": { - "php": ">=5.4.0", - - "alvaro-prieto/colResizable": "^1.6", - "borgar/textile-js": "1.0", - "BlackrockDigital/startbootstrap-sb-admin-2": "^3.3", - "christianbach/tablesorter": "^1.0", - - "codeigniter/framework": "3.*", - "codeigniter-restserver": "2.6", - - "components/jquery": "^3.2", - "components/jqueryui": "^1.12", - "components/font-awesome": "^4.7", - "components/angular.js": "1.3.16", - - "easyrdf/easyrdf": "0.9.*", - "fgelinas/timepicker": "^0.3.3", - "fzaninotto/faker": "1.*", - "joeldbirch/superfish": "^1.7", - - "jquery/jqueryV1": "^1.12", - "jquery/jqueryV2": "^2.2", - "jquery/sizzle": "^1.0", - - "jquery-archive/jquery-metadata": "^1.0", - - "json-forms": "1.4.0", - "jsoneditor": "5.5.6", - "kingsquare/json-schema-form": "*", - "michelf/php-markdown": "1.5.0", - "ml/json-ld": "1.*", - "mottie/tablesorter": "^2.29", - "netcarver/textile": "^3.5", - "nicolaskruchten/pivottable": "^2.15.0", - "rmariuzzo/jquery-checkboxes": "1.0.7", - - "rougin/combustor": "1.1.*", - "rougin/refinery": "*", - - "tapmodo/Jcrop": "^2.0", - "tinymce/tinymce": "4.*", - "tomazdragar/SimpleCropper": "^1.0", - "twbs/bootstrap": "^3.3", - - "zetacomponents/workflow": "1.*", - "zetacomponents/document": "1.*", - "zetacomponents/workflow-database-tiein": "1.*", - "zetacomponents/workflow-event-log-tiein": "1.*" - }, - "require-dev": { - "squizlabs/php_codesniffer": "2.*" - }, - "config": { - "bin-dir": "vendor/bin" - } -} - +{ + "name": "fh-complete/fhc-core", + "type": "app", + "description": "FH-Complete Core", + "keywords": [ + "fhc", + "fh-complete", + "campusmanagement" + ], + "homepage": "https://github.com/FH-Complete/FHC-Core", + "license": "GPLv3", + "authors": [ + { + "name": "Christian Paminger", + "email": "christian.paminger@fhcomplete.org", + "homepage": "http://fhcomplete.org" + }, + { + "name": "Andreas Österreicher", + "email": "oesi@technikum-wien.at", + "homepage": "http://fhcomplete.org" + } + ], + "support": { + "email": "info@fhcomplete.org", + "forum": "https://plus.google.com/communities/113278802529782592610", + "wiki": "http://wiki.fhcomplete.org/" + }, + "repositories": [ + { + "type": "package", + "package": { + "name": "codeigniter-restserver", + "version": "2.6", + "dist": { + "url": "https://github.com/chriskacerguis/codeigniter-restserver/archive/master.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "jsoneditor", + "version": "5.5.6", + "dist": { + "url": "https://github.com/josdejong/jsoneditor/archive/v5.5.6.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "json-forms", + "version": "1.4.0", + "dist": { + "url": "https://github.com/brutusin/json-forms/archive/v1.4.0.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "borgar/textile-js", + "version": "1.0", + "source": { + "url": "https://github.com/borgar/textile-js.git", + "type": "git", + "reference": "master" + } + } + }, + { + "type": "package", + "package": { + "name": "rmariuzzo/jquery-checkboxes", + "version": "1.0.7", + "source": { + "url": "https://github.com/rmariuzzo/checkboxes.js.git", + "type": "git", + "reference": "081cac1eb9b504dc32be27b57f32f6d1d29a5253" + } + } + }, + { + "type": "package", + "package": { + "name": "jquery/jqueryV1", + "version": "1.12.4", + "dist": { + "type": "file", + "url": "https://code.jquery.com/jquery-1.12.4.min.js" + } + } + }, + { + "type": "package", + "package": { + "name": "jquery/jqueryV2", + "version": "2.2.4", + "dist": { + "type": "file", + "url": "https://code.jquery.com/jquery-2.2.4.min.js" + } + } + }, + { + "type": "package", + "package": { + "name": "fgelinas/timepicker", + "version": "0.3.3", + "dist": { + "url": "https://fgelinas.com/code/timepicker/releases/jquery-ui-timepicker-0.3.3.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "alvaro-prieto/colResizable", + "version": "1.6", + "dist": { + "url": "https://github.com/alvaro-prieto/colResizable/archive/1.6.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "tapmodo/Jcrop", + "version": "2.0.4", + "dist": { + "url": "https://github.com/tapmodo/Jcrop/archive/v2.0.4.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "jquery-archive/jquery-metadata", + "version": "1.0", + "source": { + "url": "https://github.com/jquery-archive/jquery-metadata.git", + "type": "git", + "reference": "e5a9e4315675bf4d68716872ca754e858088f8ab" + } + } + }, + { + "type": "package", + "package": { + "name": "tomazdragar/SimpleCropper", + "version": "1.0", + "source": { + "url": "https://github.com/tomazdragar/SimpleCropper.git", + "type": "git", + "reference": "9750b81fa55ed07b3b429297d18ffbeac07a2cde" + } + } + }, + { + "type": "package", + "package": { + "name": "joeldbirch/superfish", + "version": "1.7.9", + "dist": { + "url": "https://github.com/joeldbirch/superfish/archive/v1.7.9.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "jquery/sizzle", + "version": "1.0", + "dist": { + "url": "https://github.com/jquery/sizzle/archive/1.0.0.zip", + "type": "zip" + } + } + }, + { + "type": "package", + "package": { + "name": "nicolaskruchten/pivottable", + "version": "2.15.0", + "source": { + "url": "https://github.com/nicolaskruchten/pivottable.git", + "type": "git", + "reference": "b15ea33268b587d986371c0b6f215c36ffbb860c" + } + } + }, + { + "type": "package", + "package": { + "name": "BlackrockDigital/startbootstrap-sb-admin-2", + "version": "3.3.7", + "source": { + "url": "https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git", + "type": "git", + "reference": "e85ee3814ba12b7095024d31424cc9d19d791d05" + } + } + }, + { + "type": "package", + "package": { + "name": "ludo/jquery-treetable", + "version": "3.2.0", + "source": { + "url": "https://github.com/ludo/jquery-treetable.git", + "type": "git", + "reference": "73690a9df26dbc1a49981f9335df2a9cd9808813" + } + } + } + ], + "require": { + "php": ">=5.4.0", + + "alvaro-prieto/colResizable": "^1.6", + "borgar/textile-js": "1.0", + "BlackrockDigital/startbootstrap-sb-admin-2": "^3.3", + "christianbach/tablesorter": "^1.0", + + "codeigniter/framework": "3.*", + "codeigniter-restserver": "2.6", + + "components/jquery": "^3.2", + "components/jqueryui": "^1.12", + "components/font-awesome": "^4.7", + "components/angular.js": "1.3.16", + + "easyrdf/easyrdf": "0.9.*", + "fgelinas/timepicker": "^0.3.3", + "fzaninotto/faker": "1.*", + "joeldbirch/superfish": "^1.7", + + "jquery/jqueryV1": "^1.12", + "jquery/jqueryV2": "^2.2", + "jquery/sizzle": "^1.0", + + "jquery-archive/jquery-metadata": "^1.0", + + "json-forms": "1.4.0", + "jsoneditor": "5.5.6", + "kingsquare/json-schema-form": "*", + "ludo/jquery-treetable": "^3.2", + "michelf/php-markdown": "1.5.0", + "ml/json-ld": "1.*", + "mottie/tablesorter": "^2.29", + "netcarver/textile": "^3.5", + "nicolaskruchten/pivottable": "^2.15.0", + "rmariuzzo/jquery-checkboxes": "1.0.7", + + "rougin/combustor": "1.1.*", + "rougin/refinery": "*", + + "tapmodo/Jcrop": "^2.0", + "tinymce/tinymce": "4.*", + "tomazdragar/SimpleCropper": "^1.0", + "twbs/bootstrap": "^3.3", + + "zetacomponents/workflow": "1.*", + "zetacomponents/document": "1.*", + "zetacomponents/workflow-database-tiein": "1.*", + "zetacomponents/workflow-event-log-tiein": "1.*" + }, + "require-dev": { + "squizlabs/php_codesniffer": "2.*" + }, + "config": { + "bin-dir": "vendor/bin" + } +} + diff --git a/composer.lock b/composer.lock index 9964729cd..506882e61 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": "329973fd68eea79f7c67464cbd121d58", - "content-hash": "bf03cef0846a79959456abfccf90730e", + "hash": "00d176bc89167feef10405c7457b6d6a", + "content-hash": "8cd3ddef525145593a8fe885184ef4cc", "packages": [ { "name": "BlackrockDigital/startbootstrap-sb-admin-2", @@ -69,16 +69,16 @@ }, { "name": "codeigniter/framework", - "version": "3.1.7", + "version": "3.1.8", "source": { "type": "git", "url": "https://github.com/bcit-ci/CodeIgniter.git", - "reference": "02a0518e1c56ba3506f370362ac5ebdb8a138312" + "reference": "71e647782764184e3aab4faffe6d99176758979f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/02a0518e1c56ba3506f370362ac5ebdb8a138312", - "reference": "02a0518e1c56ba3506f370362ac5ebdb8a138312", + "url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/71e647782764184e3aab4faffe6d99176758979f", + "reference": "71e647782764184e3aab4faffe6d99176758979f", "shasum": "" }, "require": { @@ -98,7 +98,7 @@ ], "description": "The CodeIgniter framework", "homepage": "https://codeigniter.com", - "time": "2018-01-13 11:57:11" + "time": "2018-03-22 14:48:55" }, { "name": "components/angular.js", @@ -441,16 +441,16 @@ }, { "name": "components/jquery", - "version": "3.2.1", + "version": "3.3.1", "source": { "type": "git", "url": "https://github.com/components/jquery.git", - "reference": "e5534d4ab8e80c159553d507e358ed20a806d3bf" + "reference": "459648cda77875519c5da3ae1dd0ed5d170aa649" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/components/jquery/zipball/e5534d4ab8e80c159553d507e358ed20a806d3bf", - "reference": "e5534d4ab8e80c159553d507e358ed20a806d3bf", + "url": "https://api.github.com/repos/components/jquery/zipball/459648cda77875519c5da3ae1dd0ed5d170aa649", + "reference": "459648cda77875519c5da3ae1dd0ed5d170aa649", "shasum": "" }, "type": "component", @@ -479,7 +479,7 @@ ], "description": "jQuery JavaScript Library", "homepage": "http://jquery.com", - "time": "2017-03-21 07:01:49" + "time": "2018-03-04 13:23:48" }, { "name": "components/jqueryui", @@ -916,6 +916,16 @@ "description": "A framework-agnostic PHP Implementation for generating simple forms based on json-schema", "time": "2014-07-10 12:27:19" }, + { + "name": "ludo/jquery-treetable", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/ludo/jquery-treetable.git", + "reference": "73690a9df26dbc1a49981f9335df2a9cd9808813" + }, + "type": "library" + }, { "name": "michelf/php-markdown", "version": "1.5.0", @@ -1016,17 +1026,17 @@ }, { "name": "ml/json-ld", - "version": "1.0.7", + "version": "1.0.8", "target-dir": "ML/JsonLD", "source": { "type": "git", "url": "https://github.com/lanthaler/JsonLD.git", - "reference": "f9dfe184f0da9ce0e0ffdddabf6d93d01787ac91" + "reference": "da8efc590273f0420e79cb110778508875690bde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/f9dfe184f0da9ce0e0ffdddabf6d93d01787ac91", - "reference": "f9dfe184f0da9ce0e0ffdddabf6d93d01787ac91", + "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/da8efc590273f0420e79cb110778508875690bde", + "reference": "da8efc590273f0420e79cb110778508875690bde", "shasum": "" }, "require": { @@ -1035,7 +1045,8 @@ "php": ">=5.3.0" }, "require-dev": { - "json-ld/tests": "@dev" + "json-ld/tests": "1.0", + "phpunit/phpunit": "^4" }, "type": "library", "autoload": { @@ -1061,20 +1072,20 @@ "JSON-LD", "jsonld" ], - "time": "2016-10-10 08:57:56" + "time": "2018-01-28 12:53:52" }, { "name": "mottie/tablesorter", - "version": "v2.29.4", + "version": "v2.30.1", "source": { "type": "git", "url": "https://github.com/Mottie/tablesorter.git", - "reference": "bf7339036ce11c91f55281825b1b601d18b67ed8" + "reference": "c74a34b070002776133757faa5b8613988b42470" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Mottie/tablesorter/zipball/bf7339036ce11c91f55281825b1b601d18b67ed8", - "reference": "bf7339036ce11c91f55281825b1b601d18b67ed8", + "url": "https://api.github.com/repos/Mottie/tablesorter/zipball/c74a34b070002776133757faa5b8613988b42470", + "reference": "c74a34b070002776133757faa5b8613988b42470", "shasum": "" }, "require": { @@ -1112,7 +1123,7 @@ "sorting", "table" ], - "time": "2018-01-18 23:30:03" + "time": "2018-03-19 12:17:24" }, { "name": "netcarver/textile", @@ -1590,16 +1601,16 @@ }, { "name": "symfony/console", - "version": "v2.8.33", + "version": "v2.8.38", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a4bd0f02ea156cf7b5138774a7ba0ab44d8da4fe" + "reference": "7f78892d900c72a40acd1fe793c856ef0c110f26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a4bd0f02ea156cf7b5138774a7ba0ab44d8da4fe", - "reference": "a4bd0f02ea156cf7b5138774a7ba0ab44d8da4fe", + "url": "https://api.github.com/repos/symfony/console/zipball/7f78892d900c72a40acd1fe793c856ef0c110f26", + "reference": "7f78892d900c72a40acd1fe793c856ef0c110f26", "shasum": "" }, "require": { @@ -1647,7 +1658,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-01-03 07:36:31" + "time": "2018-04-03 05:20:27" }, { "name": "symfony/debug", @@ -1708,16 +1719,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", "shasum": "" }, "require": { @@ -1729,7 +1740,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -1763,11 +1774,11 @@ "portable", "shim" ], - "time": "2017-10-11 12:05:26" + "time": "2018-01-30 19:27:44" }, { "name": "symfony/yaml", - "version": "v2.8.33", + "version": "v2.8.38", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", @@ -1827,16 +1838,16 @@ }, { "name": "tinymce/tinymce", - "version": "4.7.5", + "version": "4.7.11", "source": { "type": "git", "url": "https://github.com/tinymce/tinymce-dist.git", - "reference": "256a571d890d4e15da618019994f072cd43209bc" + "reference": "a7178e20d6053b92a177900531ffd2cdcb77f77c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/256a571d890d4e15da618019994f072cd43209bc", - "reference": "256a571d890d4e15da618019994f072cd43209bc", + "url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/a7178e20d6053b92a177900531ffd2cdcb77f77c", + "reference": "a7178e20d6053b92a177900531ffd2cdcb77f77c", "shasum": "" }, "type": "component", @@ -1857,7 +1868,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1" + "LGPL-2.1-only" ], "description": "Web based JavaScript HTML WYSIWYG editor control.", "homepage": "http://www.tinymce.com", @@ -1869,7 +1880,7 @@ "tinymce", "wysiwyg" ], - "time": "2018-01-22 13:09:23" + "time": "2018-04-11 09:26:11" }, { "name": "tomazdragar/SimpleCropper", @@ -1934,16 +1945,16 @@ }, { "name": "twig/twig", - "version": "v1.35.0", + "version": "v1.35.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "daa657073e55b0a78cce8fdd22682fddecc6385f" + "reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/daa657073e55b0a78cce8fdd22682fddecc6385f", - "reference": "daa657073e55b0a78cce8fdd22682fddecc6385f", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f", + "reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f", "shasum": "" }, "require": { @@ -1951,8 +1962,8 @@ }, "require-dev": { "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.3" }, "type": "library", "extra": { @@ -1995,7 +2006,7 @@ "keywords": [ "templating" ], - "time": "2017-09-27 18:06:46" + "time": "2018-03-20 04:25:58" }, { "name": "zetacomponents/base", From c4baa454aa5f101f993a060e39fff0242df8a809 Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 3 May 2018 12:26:50 +0200 Subject: [PATCH 02/16] Added comment to application/helpers/fhc_helper.php --- application/helpers/fhc_helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/helpers/fhc_helper.php b/application/helpers/fhc_helper.php index 549247754..0db246441 100644 --- a/application/helpers/fhc_helper.php +++ b/application/helpers/fhc_helper.php @@ -69,7 +69,7 @@ function generateToken($length = 64) function var_dump_to_error_log($parameter) { ob_start(); - var_dump($parameter); + var_dump($parameter); // KEEP IT!!! $ob_get_contents = ob_get_contents(); ob_end_clean(); error_log(str_replace("\n", '', $ob_get_contents)); From 4e90523cccdb036b2756ade036cccb4714759fef Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 3 May 2018 12:31:56 +0200 Subject: [PATCH 03/16] Removed var_dumps and error_logs where not needed or placed a comment where they are needed --- application/controllers/DBTools.php | 1 - application/helpers/fhc_helper.php | 3 +-- application/widgets/mimetype_widget.php | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/application/controllers/DBTools.php b/application/controllers/DBTools.php index 8590c2285..ee5d8e363 100644 --- a/application/controllers/DBTools.php +++ b/application/controllers/DBTools.php @@ -391,7 +391,6 @@ class DBTools extends FHC_Controller // **** Permission **** // ToDo: Check Persmissions in the bottom of this file case 'permissions': - //var_dump($this->config->item('fhc_acl')); echo ' Permissions!'; //$this->config->load('roles'); foreach ($this->config->item('fhc_acl') as $b) diff --git a/application/helpers/fhc_helper.php b/application/helpers/fhc_helper.php index 0db246441..19326e4df 100644 --- a/application/helpers/fhc_helper.php +++ b/application/helpers/fhc_helper.php @@ -62,7 +62,6 @@ function generateToken($length = 64) } /** - * var_dump_to_error_log() * Gets the output of the var_dump function and print it out * via the error log. It also removes the end line characters */ @@ -72,7 +71,7 @@ function var_dump_to_error_log($parameter) var_dump($parameter); // KEEP IT!!! $ob_get_contents = ob_get_contents(); ob_end_clean(); - error_log(str_replace("\n", '', $ob_get_contents)); + error_log(str_replace("\n", '', $ob_get_contents)); // KEEP IT!!! } /** diff --git a/application/widgets/mimetype_widget.php b/application/widgets/mimetype_widget.php index 82fd394fb..fbb69119b 100644 --- a/application/widgets/mimetype_widget.php +++ b/application/widgets/mimetype_widget.php @@ -11,7 +11,7 @@ class mimetype_widget extends Widget $data['mimetype'] = ''; $this->load->model('system/Vorlage_model'); $res = $this->Vorlage_model->getMimeTypes(); - //var_dump($res); + foreach ($res->retval as $obj) { $item = array('name' => $obj->mimetype, 'value' => $obj->mimetype); From dba08d4d9e52cc6a52c616b22a5097ba9d1f749f Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 3 May 2018 12:33:01 +0200 Subject: [PATCH 04/16] - Added the feature to the Infocenter controller to generate a unique identifier for each call of itself, and to keep using the identifier for the next calls in the same browser/tab - Added the feature to the FilterWidget to use this identifier to create a different session for each FilterWidget --- application/controllers/system/Filters.php | 182 +++++++++++------- .../system/infocenter/InfoCenter.php | 56 ++++-- .../views/system/infocenter/infocenter.php | 2 +- .../system/infocenter/infocenterData.php | 1 + .../infocenter/infocenterFreigegeben.php | 11 +- application/views/widgets/filter/filter.php | 3 +- .../views/widgets/filter/saveFilter.php | 3 +- .../views/widgets/filter/selectFields.php | 13 +- .../views/widgets/filter/selectFilters.php | 13 +- .../views/widgets/filter/tableDataset.php | 4 +- application/widgets/FilterWidget.php | 76 ++++++-- .../js/infocenter/infocenterPersonDataset.js | 35 +++- 12 files changed, 277 insertions(+), 122 deletions(-) diff --git a/application/controllers/system/Filters.php b/application/controllers/system/Filters.php index cda080a46..738799747 100644 --- a/application/controllers/system/Filters.php +++ b/application/controllers/system/Filters.php @@ -7,7 +7,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); */ class Filters extends VileSci_Controller { - const SESSION_NAME = 'FILTER'; + const SESSION_NAME = 'FHC_FILTER_WIDGET'; const SELECTED_FIELDS = 'selectedFields'; const SELECTED_FILTERS = 'selectedFilters'; @@ -37,11 +37,13 @@ class Filters extends VileSci_Controller { $json = new stdClass(); - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; - $json->additionalColumns = $_SESSION[self::SESSION_NAME]['additionalColumns']; - $json->checkboxes = $_SESSION[self::SESSION_NAME]['checkboxes']; - $json->dataset = $_SESSION[self::SESSION_NAME]['dataset']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); + + $json->selectedFields = $session['selectedFields']; + $json->columnsAliases = $session['columnsAliases']; + $json->additionalColumns = $session['additionalColumns']; + $json->checkboxes = $session['checkboxes']; + $json->dataset = $session['dataset']; $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -53,11 +55,13 @@ class Filters extends VileSci_Controller { $json = new stdClass(); - $json->allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $json->allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $json->allSelectedFields = $session['allSelectedFields']; + $json->allColumnsAliases = $session['allColumnsAliases']; + + $json->selectedFields = $session['selectedFields']; + $json->columnsAliases = $session['columnsAliases']; $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -68,14 +72,17 @@ class Filters extends VileSci_Controller public function sortSelectedFields() { $selectedFieldsLst = $this->input->post('selectedFieldsLst'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); $json = new stdClass(); - $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($fhc_controller_id); - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $allSelectedFields = $session['allSelectedFields']; + $allColumnsAliases = $session['allColumnsAliases']; + + $json->selectedFields = $session['selectedFields']; + $json->columnsAliases = $session['columnsAliases']; if (isset($selectedFieldsLst) && is_array($selectedFieldsLst)) { @@ -98,8 +105,8 @@ class Filters extends VileSci_Controller } } - $_SESSION[self::SESSION_NAME]['selectedFields'] = $json->selectedFields; - $_SESSION[self::SESSION_NAME]['columnsAliases'] = $json->columnsAliases; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $json->selectedFields; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $json->columnsAliases; $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -111,10 +118,12 @@ class Filters extends VileSci_Controller { $json = new stdClass(); - $json->allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $json->allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); - $json->selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters']; + $json->allSelectedFields = $session['allSelectedFields']; + $json->allColumnsAliases = $session['allColumnsAliases']; + + $json->selectedFilters = $session['selectedFilters']; $json->selectedFiltersAliases = array(); $json->selectedFiltersMetaData = array(); @@ -122,10 +131,10 @@ class Filters extends VileSci_Controller $json->selectedFiltersActiveFiltersOperation = array(); $json->selectedFiltersActiveFiltersOption = array(); - $metaData = $_SESSION[self::SESSION_NAME]['metaData']; - $activeFilters = $_SESSION[self::SESSION_NAME]['activeFilters']; - $activeFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation']; - $activeFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption']; + $metaData = $session['metaData']; + $activeFilters = $session['activeFilters']; + $activeFiltersOperation = $session['activeFiltersOperation']; + $activeFiltersOption = $session['activeFiltersOption']; for ($i = 0; $i < count($json->selectedFilters); $i++) { @@ -166,7 +175,7 @@ class Filters extends VileSci_Controller */ public function saveFilter() { - $this->_saveFilter($this->input->post("customFilterDescription")); + $this->_saveFilter($this->input->post("customFilterDescription"), $this->input->post("fhc_controller_id")); $this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!')); } @@ -174,11 +183,11 @@ class Filters extends VileSci_Controller /** * */ - private function _saveFilter($customFilterDescription) + private function _saveFilter($customFilterDescription, $fhc_controller_id) { $objToBeSaved = new stdClass(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession($fhc_controller_id); $objToBeSaved->name = $customFilterDescription; @@ -231,8 +240,8 @@ class Filters extends VileSci_Controller $personId = $resultBenutzer->retval[0]->person_id; $result = $this->FiltersModel->loadWhere(array( - 'app' => $_SESSION[self::SESSION_NAME]['app'], - 'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'], + 'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'], + 'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'], 'description' => $descPGArray, 'person_id' => $personId )); @@ -241,8 +250,8 @@ class Filters extends VileSci_Controller { $this->FiltersModel->update( array( - 'app' => $_SESSION[self::SESSION_NAME]['app'], - 'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'], + 'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'], + 'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'], 'description' => $descPGArray, 'person_id' => $personId ), @@ -254,8 +263,8 @@ class Filters extends VileSci_Controller else { $this->FiltersModel->insert(array( - 'app' => $_SESSION[self::SESSION_NAME]['app'], - 'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'], + 'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'], + 'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'], 'filter_kurzbz' => uniqid($personId, true), 'person_id' => $personId, 'description' => $descPGArray, @@ -273,12 +282,13 @@ class Filters extends VileSci_Controller public function deleteCustomFilter() { $filter_id = $this->input->post('filter_id'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); if (is_numeric($filter_id)) { $this->FiltersModel->deleteCustomFilter($filter_id); - $this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!')); + $this->output->set_content_type('application/json')->set_output(json_encode('Removed')); } } @@ -288,12 +298,15 @@ class Filters extends VileSci_Controller public function removeSelectedFields() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($fhc_controller_id); - $selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $allSelectedFields = $session['allSelectedFields']; + $allColumnsAliases = $session['allColumnsAliases']; + + $selectedFields = $session['selectedFields']; + $columnsAliases = $session['columnsAliases']; if (($pos = array_search($fieldName, $selectedFields)) !== false) { @@ -305,8 +318,8 @@ class Filters extends VileSci_Controller } } - $_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFields; - $_SESSION[self::SESSION_NAME]['columnsAliases'] = $columnsAliases; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases; $json = new stdClass(); @@ -324,11 +337,14 @@ class Filters extends VileSci_Controller public function removeSelectedFilters() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters']; - $selectedFiltersActiveFilters = $_SESSION[self::SESSION_NAME]['activeFilters']; - $selectedFiltersActiveFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation']; - $selectedFiltersActiveFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption']; + $session = $this->_readSession($fhc_controller_id); + + $selectedFilters = $session['selectedFilters']; + $selectedFiltersActiveFilters = $session['activeFilters']; + $selectedFiltersActiveFiltersOperation = $session['activeFiltersOperation']; + $selectedFiltersActiveFiltersOption = $session['activeFiltersOption']; if (($pos = array_search($fieldName, $selectedFilters)) !== false) { @@ -338,10 +354,10 @@ class Filters extends VileSci_Controller array_splice($selectedFiltersActiveFiltersOption, $pos, 1); } - $_SESSION[self::SESSION_NAME]['selectedFilters'] = $selectedFilters; - $_SESSION[self::SESSION_NAME]['activeFilters'] = $selectedFiltersActiveFilters; - $_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation; - $_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption; $json = new stdClass(); @@ -359,12 +375,15 @@ class Filters extends VileSci_Controller public function addSelectedFields() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; - $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $session = $this->_readSession($fhc_controller_id); - $selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; - $columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + $allSelectedFields = $session['allSelectedFields']; + $allColumnsAliases = $session['allColumnsAliases']; + + $selectedFields = $session['selectedFields']; + $columnsAliases = $session['columnsAliases']; if (($pos = array_search($fieldName, $allSelectedFields)) !== false && array_search($fieldName, $selectedFields) === false) @@ -377,8 +396,8 @@ class Filters extends VileSci_Controller } } - $_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFields; - $_SESSION[self::SESSION_NAME]['columnsAliases'] = $columnsAliases; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases; $json = new stdClass(); @@ -396,11 +415,14 @@ class Filters extends VileSci_Controller public function addSelectedFilters() { $fieldName = $this->input->post('fieldName'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); - $selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters']; - $selectedFiltersActiveFilters = $_SESSION[self::SESSION_NAME]['activeFilters']; - $selectedFiltersActiveFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation']; - $selectedFiltersActiveFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption']; + $session = $this->_readSession($fhc_controller_id); + + $selectedFilters = $session['selectedFilters']; + $selectedFiltersActiveFilters = $session['activeFilters']; + $selectedFiltersActiveFiltersOperation = $session['activeFiltersOperation']; + $selectedFiltersActiveFiltersOption = $session['activeFiltersOption']; if (!in_array($fieldName, $selectedFilters)) { @@ -410,10 +432,10 @@ class Filters extends VileSci_Controller $selectedFiltersActiveFiltersOption[$fieldName] = ""; } - $_SESSION[self::SESSION_NAME]['selectedFilters'] = $selectedFilters; - $_SESSION[self::SESSION_NAME]['activeFilters'] = $selectedFiltersActiveFilters; - $_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation; - $_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption; $json = new stdClass(); @@ -434,14 +456,17 @@ class Filters extends VileSci_Controller $filterOperations = $this->input->post('filterOperations'); $filterOperationValues = $this->input->post('filterOperationValues'); $filterOptions = $this->input->post('filterOptions'); + $fhc_controller_id = $this->input->post('fhc_controller_id'); + + $session = $this->_readSession($fhc_controller_id); $activeFilters = array_combine($fieldNames, $filterOperationValues); $activeFiltersOperation = array_combine($fieldNames, $filterOperations); $activeFiltersOption = array_combine($fieldNames, $filterOptions); - $_SESSION[self::SESSION_NAME]['activeFilters'] = $activeFilters; - $_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $activeFiltersOperation; - $_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $activeFiltersOption; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $activeFilters; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $activeFiltersOperation; + $_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $activeFiltersOption; $json = new stdClass(); @@ -460,7 +485,9 @@ class Filters extends VileSci_Controller { $json = new stdClass(); - $dataset = $_SESSION[self::SESSION_NAME]['dataset']; + $session = $this->_readSession($this->input->get('fhc_controller_id')); + + $dataset = $session['dataset']; if (is_array($dataset)) { @@ -469,4 +496,29 @@ class Filters extends VileSci_Controller $this->output->set_content_type('application/json')->set_output(json_encode($json)); } + + /** + * + */ + private function _readSession($fhc_controller_id) + { + if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$fhc_controller_id])) + return $_SESSION[self::SESSION_NAME][$fhc_controller_id]; + + return array(); + } + + /** + * + */ + private function _writeSession($data, $fhc_controller_id) + { + if (!isset($_SESSION[self::SESSION_NAME]) + || (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME]))) + { + $_SESSION[self::SESSION_NAME] = array(); + } + + $_SESSION[self::SESSION_NAME][$fhc_controller_id] = $data; + } } diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 86b5d1e8b..7d81cc021 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -80,6 +80,8 @@ class InfoCenter extends VileSci_Controller if(!$this->permissionlib->isBerechtigt('basis/person')) show_error('You have no Permission! You need Infocenter Role'); + $this->_setControllerId(); // sets the controller id + $this->setNavigationMenuArray(); // sets property navigationMenuArray } @@ -91,14 +93,14 @@ class InfoCenter extends VileSci_Controller */ public function index() { - $this->load->view('system/infocenter/infocenter.php'); + $this->load->view('system/infocenter/infocenter.php', array('fhc_controller_id' => $this->fhc_controller_id)); } - + public function infocenterFreigegeben() { - $this->load->view('system/infocenter/infocenterFreigegeben.php'); + $this->load->view('system/infocenter/infocenterFreigegeben.php', array('fhc_controller_id' => $this->fhc_controller_id)); } - + /** * Initialization function, gets person and prestudent data and loads the view with the data * @param $person_id @@ -132,7 +134,7 @@ class InfoCenter extends VileSci_Controller ) ); } - + /** * unlocks page from edit by a person, redirects to overview filter page * @param $person_id @@ -362,7 +364,7 @@ class InfoCenter extends VileSci_Controller $this->_redirectToStart($prestudent_id, 'ZgvPruef'); } - + /** * Saves a new Notiz for a person * @param $person_id @@ -386,7 +388,7 @@ class InfoCenter extends VileSci_Controller ->set_content_type('application/json') ->set_output(json_encode($result->retval)); } - + /** * Updates a new Notiz for a person * @param int $notiz_id @@ -394,7 +396,7 @@ class InfoCenter extends VileSci_Controller * @return bool true if success */ public function updateNotiz($notiz_id, $person_id) - { + { $titel = $this->input->post('notiztitel'); $text = $this->input->post('notiz'); @@ -408,18 +410,18 @@ class InfoCenter extends VileSci_Controller "updatevon" => $this->uid ) ); - - + + $json = FALSE; - + if (isSuccess($result)) { $json = TRUE; - + //set log "Notiz updated" $this->_log($person_id, 'updatenotiz', array($titel)); } - + $this->output ->set_content_type('application/json') ->set_output(json_encode($json)); @@ -547,7 +549,7 @@ class InfoCenter extends VileSci_Controller 'children' => array() ) ); - + $this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']); $this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']); @@ -593,9 +595,10 @@ class InfoCenter extends VileSci_Controller { foreach ($filters as $filterId => $description) { - $toPrint = "%s=%s"; + $toPrint = "%s?%s=%s&%s=%s"; + $tofill['children'][] = array( - 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter?filter_id'), $filterId), + 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id), 'description' => $description ); } @@ -605,10 +608,10 @@ class InfoCenter extends VileSci_Controller { foreach ($filters as $filterId => $description) { - $toPrint = "%s=%s"; + $toPrint = "%s?%s=%s&%s=%s"; $tofill['children'][] = array( - 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter?filter_id'), $filterId), + 'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id), 'description' => $description, 'subscriptDescription' => 'Remove', 'subscriptLinkClass' => 'remove-filter', @@ -956,4 +959,21 @@ class InfoCenter extends VileSci_Controller $this->loglib->logError('Studiengang has no mail for sending Freigabe mail'); } } + + /** + * Sets the unique id for the called controller + */ + private function _setControllerId() + { + $fhc_controller_id = $this->input->get('fhc_controller_id'); + + if (!isset($fhc_controller_id) || empty($fhc_controller_id)) + { + $fhc_controller_id = uniqid(); + header('Location: '.$_SERVER['REQUEST_URI'].'?fhc_controller_id='.$fhc_controller_id); + exit; + } + + $this->fhc_controller_id = $fhc_controller_id; + } } diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index 5963f77ca..1ecfe31f7 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -29,7 +29,7 @@
load->view('system/infocenter/infocenterData.php'); + $this->load->view('system/infocenter/infocenterData.php', array('fhc_controller_id' => $fhc_controller_id)); ?>
diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index 311dd647b..2d9d30cf2 100755 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -186,6 +186,7 @@ ) ORDER BY "LastAction" ASC ', + 'fhc_controller_id' => $fhc_controller_id, 'checkboxes' => 'PersonId', 'additionalColumns' => array('Details'), 'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation', 'Letzte Aktion','Letzter Bearbeiter', diff --git a/application/views/system/infocenter/infocenterFreigegeben.php b/application/views/system/infocenter/infocenterFreigegeben.php index bc9d9f305..66e5b5c8b 100644 --- a/application/views/system/infocenter/infocenterFreigegeben.php +++ b/application/views/system/infocenter/infocenterFreigegeben.php @@ -146,7 +146,7 @@ JOIN public.tbl_studiengang USING(studiengang_kz) WHERE person_id=p.person_id - AND tbl_studiengang.typ in(\'b\') + AND tbl_studiengang.typ in(\'b\') AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC @@ -170,8 +170,7 @@ ) ORDER BY "LastAction" ASC ', - 'hideHeader' => false, - 'hideSave' => false, + 'fhc_controller_id' => $fhc_controller_id, 'checkboxes' => 'PersonId', 'additionalColumns' => array('Details'), 'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation','Letzte Aktion','Letzter Bearbeiter', @@ -238,9 +237,9 @@ } ); - + $filterId = isset($_GET[InfoCenter::FILTER_ID]) ? $_GET[InfoCenter::FILTER_ID] : null; - + if (isset($filterId) && is_numeric($filterId)) { $filterWidgetArray[InfoCenter::FILTER_ID] = $filterId; @@ -251,7 +250,7 @@ $filterWidgetArray['datasetName'] = 'PersonActions'; $filterWidgetArray['filterKurzbz'] = 'InfoCenterNotSentApplicationAll'; } - + echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray); ?> diff --git a/application/views/widgets/filter/filter.php b/application/views/widgets/filter/filter.php index d368cc6e1..5fbff4953 100644 --- a/application/views/widgets/filter/filter.php +++ b/application/views/widgets/filter/filter.php @@ -119,7 +119,8 @@ url: "", method: "POST", data: { - filter_id: $(this).attr('value') + filter_id: $(this).attr('value'), + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { diff --git a/application/views/widgets/filter/saveFilter.php b/application/views/widgets/filter/saveFilter.php index f6b7dc529..ce2d454ca 100644 --- a/application/views/widgets/filter/saveFilter.php +++ b/application/views/widgets/filter/saveFilter.php @@ -9,7 +9,8 @@ url: "", method: "POST", data: { - customFilterDescription: $("#customFilterDescription").val() + customFilterDescription: $("#customFilterDescription").val(), + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { diff --git a/application/views/widgets/filter/selectFields.php b/application/views/widgets/filter/selectFields.php index 7613639ff..a011e5555 100644 --- a/application/views/widgets/filter/selectFields.php +++ b/application/views/widgets/filter/selectFields.php @@ -77,7 +77,8 @@ url: "", method: "POST", data: { - selectedFieldsLst: arrayDndId + selectedFieldsLst: arrayDndId, + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { @@ -109,7 +110,8 @@ url: "", method: "POST", data: { - fieldName: $(this).val() + fieldName: $(this).val(), + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { @@ -131,7 +133,8 @@ url: "", method: "POST", data: { - fieldName: $(this).attr('fieldToRemove') + fieldName: $(this).attr('fieldToRemove'), + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { @@ -153,7 +156,9 @@ $.ajax({ url: "", method: "GET", - data: {}, + data: { + fhc_controller_id: getUrlParameter("fhc_controller_id") + }, dataType: "json" }) .done(function(data, textStatus, jqXHR) { diff --git a/application/views/widgets/filter/selectFilters.php b/application/views/widgets/filter/selectFilters.php index bca975b13..cf5443069 100644 --- a/application/views/widgets/filter/selectFilters.php +++ b/application/views/widgets/filter/selectFilters.php @@ -13,7 +13,8 @@ url: "", method: "POST", data: { - fieldName: $(this).val() + fieldName: $(this).val(), + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { @@ -76,7 +77,8 @@ filterNames: selectFilterName, filterOperations: selectFilterOperation, filterOperationValues: selectFilterOperationValue, - filterOptions: selectFilterOption + filterOptions: selectFilterOption, + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { @@ -100,7 +102,8 @@ url: "", method: "POST", data: { - fieldName: $(this).attr('filterToRemove') + fieldName: $(this).attr('filterToRemove'), + fhc_controller_id: getUrlParameter("fhc_controller_id") } }) .done(function(data, textStatus, jqXHR) { @@ -199,7 +202,9 @@ $.ajax({ url: "", method: "GET", - data: {}, + data: { + fhc_controller_id: getUrlParameter("fhc_controller_id") + }, dataType: "json" }) .done(function(data, textStatus, jqXHR) { diff --git a/application/views/widgets/filter/tableDataset.php b/application/views/widgets/filter/tableDataset.php index f0a3efa27..1a19876f4 100644 --- a/application/views/widgets/filter/tableDataset.php +++ b/application/views/widgets/filter/tableDataset.php @@ -21,7 +21,9 @@ $.ajax({ url: "", method: "GET", - data: {}, + data: { + fhc_controller_id: getUrlParameter("fhc_controller_id") + }, dataType: "json" }) .done(function(data, textStatus, jqXHR) { diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php index 925126a43..1e18b594a 100644 --- a/application/widgets/FilterWidget.php +++ b/application/widgets/FilterWidget.php @@ -29,7 +29,7 @@ class FilterWidget extends Widget const WIDGET_URL_SELECT_FILTERS = 'widgets/filter/selectFilters'; const WIDGET_URL_SAVE_FILTER = 'widgets/filter/saveFilter'; - const SESSION_NAME = 'FILTER'; + const SESSION_NAME = 'FHC_FILTER_WIDGET'; const ALL_SELECTED_FIELDS = 'allSelectedFields'; const ALL_COLUMNS_ALIASES = 'allColumnsAliases'; @@ -109,7 +109,7 @@ class FilterWidget extends Widget public function display($widgetData) { // - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); // if ($this->filterId == null && isset($filterSessionArray[self::FILTER_ID])) @@ -144,7 +144,7 @@ class FilterWidget extends Widget // $selectedFields = array(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::SELECTED_FIELDS])) { $selectedFields = $filterSessionArray[self::SELECTED_FIELDS]; @@ -195,6 +195,7 @@ class FilterWidget extends Widget $tmpDataset[] = $formattedResult; } } + $filterSessionArray[self::DATASET_PARAMETER] = $tmpDataset; /* ------------------------------------------------------------ */ @@ -204,7 +205,7 @@ class FilterWidget extends Widget $filterSessionArray[self::METADATA_PARAMETER] = $this->metaData; - $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); + $this->_writeSession($filterSessionArray); // $this->loadViewFilters(); @@ -422,9 +423,11 @@ class FilterWidget extends Widget { $filterSessionArray = array(); - if (isset($_SESSION[self::SESSION_NAME])) + $session = $this->_readSession(); + + if (count($session) > 0) { - $filterSessionArray = $_SESSION[self::SESSION_NAME]; + $filterSessionArray = $session; } if (!isset($filterSessionArray[self::SELECTED_FIELDS])) @@ -482,7 +485,7 @@ class FilterWidget extends Widget $filterSessionArray[self::DATASET_NAME_PARAMETER] = null; } - $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); + $this->_writeSession($filterSessionArray); } /** @@ -503,6 +506,7 @@ class FilterWidget extends Widget $this->hideSave = false; $this->columnsAliases = null; $this->filterName = null; + $this->fhc_controller_id = null; if (!is_array($args) || (is_array($args) && count($args) == 0)) { @@ -510,6 +514,15 @@ class FilterWidget extends Widget } else { + if (!isset($args['fhc_controller_id'])) + { + show_error('Dude you forgot the fhc_controller_id'); + } + else + { + $this->fhc_controller_id = $args['fhc_controller_id']; + } + if (( !isset($args[self::APP_PARAMETER]) && !isset($args[self::DATASET_NAME_PARAMETER]) @@ -704,7 +717,7 @@ class FilterWidget extends Widget self::DATASET_NAME_PARAMETER => $filter->retval[0]->dataset_name ); - $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); + $this->_writeSession($filterSessionArray); } else { @@ -719,7 +732,7 @@ class FilterWidget extends Widget self::DATASET_NAME_PARAMETER => null ); - $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); + $this->_writeSession($filterSessionArray); } } @@ -732,7 +745,7 @@ class FilterWidget extends Widget { $objToBeSaved = new stdClass(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::SELECTED_FIELDS])) { @@ -828,7 +841,7 @@ class FilterWidget extends Widget // Selected fields $selectedFields = array(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::SELECTED_FIELDS])) { $selectedFields = $filterSessionArray[self::SELECTED_FIELDS]; @@ -844,7 +857,7 @@ class FilterWidget extends Widget { $app = $this->app; - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::APP_PARAMETER])) { $app = $filterSessionArray[self::APP_PARAMETER]; @@ -860,7 +873,7 @@ class FilterWidget extends Widget { $datasetName = $this->datasetName; - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::DATASET_NAME_PARAMETER])) { $datasetName = $filterSessionArray[self::DATASET_NAME_PARAMETER]; @@ -877,7 +890,7 @@ class FilterWidget extends Widget $columnsAliases = $this->columnsAliases; $selectedFields = array(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::SELECTED_FIELDS])) { @@ -908,7 +921,7 @@ class FilterWidget extends Widget // Selected filters $selectedFilters = array(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::SELECTED_FILTERS])) { $selectedFilters = $filterSessionArray[self::SELECTED_FILTERS]; @@ -923,7 +936,7 @@ class FilterWidget extends Widget private function _setActiveFiltersFromPost(&$activeFilters, &$activeFiltersOperation, &$activeFiltersOption) { $selectedFilters = array(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::ACTIVE_FILTERS])) { @@ -994,6 +1007,8 @@ class FilterWidget extends Widget */ private function _setSessionFilterData() { + $session = $this->_readSession(); + $filterSessionArray = array( self::SELECTED_FIELDS => $this->_getSelectedFieldsFromPost(), self::SELECTED_FILTERS => $this->_getSelectedFiltersFromPost(), @@ -1016,7 +1031,7 @@ class FilterWidget extends Widget $filterSessionArray[self::FILTER_ID] = $this->filterId; $filterSessionArray[self::FILTER_NAME] = $this->filterName; - $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); + $this->_writeSession(array_merge($session, $filterSessionArray)); } /** @@ -1030,7 +1045,7 @@ class FilterWidget extends Widget $activeFiltersOperation = array(); $activeFiltersOption = array(); - $filterSessionArray = $this->session->userdata(self::SESSION_NAME); + $filterSessionArray = $this->_readSession(); if (isset($filterSessionArray[self::ACTIVE_FILTERS])) { @@ -1143,4 +1158,29 @@ class FilterWidget extends Widget return $query; } + + /** + * + */ + private function _readSession() + { + if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$this->fhc_controller_id])) + return $_SESSION[self::SESSION_NAME][$this->fhc_controller_id]; + + return array(); + } + + /** + * + */ + private function _writeSession($data) + { + if (!isset($_SESSION[self::SESSION_NAME]) + || (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME]))) + { + $_SESSION[self::SESSION_NAME] = array(); + } + + $_SESSION[self::SESSION_NAME][$this->fhc_controller_id] = $data; + } } diff --git a/include/js/infocenter/infocenterPersonDataset.js b/include/js/infocenter/infocenterPersonDataset.js index 8ee342d0a..5cac8933a 100644 --- a/include/js/infocenter/infocenterPersonDataset.js +++ b/include/js/infocenter/infocenterPersonDataset.js @@ -48,7 +48,11 @@ function appendTableActionsHtml() $.ajax({ url: window.location.pathname.replace('infocenter/InfoCenter', 'Filters/rowNumber'), - method: "GET" + method: "GET", + data: { + fhc_controller_id: getUrlParameter("fhc_controller_id") + }, + dataType: "json" }) .done(function(data, textStatus, jqXHR) { @@ -72,7 +76,9 @@ function appendTableActionsHtml() setTableActions(); } - }).fail(function(jqXHR, textStatus, errorThrown) {}); + }).fail(function(jqXHR, textStatus, errorThrown) { + alert(textStatus); + }); } @@ -112,6 +118,27 @@ function setTableActions() ); } +/** + * + */ +function getUrlParameter(sParam) +{ + var sPageURL = decodeURIComponent(window.location.search.substring(1)), + sURLVariables = sPageURL.split('&'), + sParameterName, + i; + + for (i = 0; i < sURLVariables.length; i++) + { + sParameterName = sURLVariables[i].split('='); + + if (sParameterName[0] === sParam) + { + return sParameterName[1]; + } + } +} + /** * Refreshes the side menu */ @@ -120,7 +147,9 @@ function refreshSideMenu() $.ajax({ url: window.location.pathname+"/setNavigationMenuArray", method: "GET", - data: {} + data: { + fhc_controller_id: getUrlParameter("fhc_controller_id") + } }) .done(function(data, textStatus, jqXHR) { From a2e109a1eb41537d2f94426e9398e376ae008871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 3 May 2018 13:04:56 +0200 Subject: [PATCH 05/16] Reactivated Freigegeben Page --- application/config/navigation.php | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/application/config/navigation.php b/application/config/navigation.php index 6ef2fb803..64397f681 100644 --- a/application/config/navigation.php +++ b/application/config/navigation.php @@ -5,11 +5,6 @@ $config['navigation_header'] = array( 'FH-Complete' => site_url(''), 'Vilesci' => base_url('/vilesci'), 'CIS' => CIS_ROOT - ), - 'system/infocenter/InfoCenter/infocenterFreigegeben' => array( - 'FH-Complete' => base_url('index.ci.php/'), - 'Vilesci' => base_url('/vilesci'), - 'CIS' => CIS_ROOT ) ); @@ -63,13 +58,13 @@ $config['navigation_menu']['Vilesci/index'] = array( ) ); -//HIDDEN as long as filter is revised -//$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array( -// 'Freigegeben' => array( -// 'link' => base_url('index.ci.php/system/infocenter/InfoCenter/infocenterFreigegeben'), -// 'description' => 'Freigegeben', -// 'icon' => 'thumbs-up' -// )); + +$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array( + 'Freigegeben' => array( + 'link' => base_url('index.ci.php/system/infocenter/InfoCenter/infocenterFreigegeben'), + 'description' => 'Freigegeben', + 'icon' => 'thumbs-up' + )); $config['navigation_menu']['system/infocenter/InfoCenter/showDetails'] = array( 'Freigegeben' => array( @@ -84,5 +79,3 @@ $config['navigation_menu']['system/infocenter/InfoCenter/infocenterFreigegeben'] 'description' => 'Zurück', 'icon' => 'angle-left' )); - - From 060e6fa8e9bda98d58d72a31c0e227621d3f0d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 3 May 2018 13:05:24 +0200 Subject: [PATCH 06/16] Changed length of Column oe_kurzbz in system.tbl_filter --- system/dbupdate_3.3.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 5b5cfe5cb..54b8f6211 100755 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -2218,6 +2218,20 @@ if($result = $db->db_query("SELECT view_definition FROM information_schema.views } } +// OE_KURZBZ in system.tbl_filters auf 32 Zeichen verlängert +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='system' AND TABLE_NAME='tbl_filters' AND COLUMN_NAME = 'oe_kurzbz' AND character_maximum_length=16")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " ALTER TABLE system.tbl_filters ALTER COLUMN oe_kurzbz TYPE varchar(32)"; + + if(!$db->db_query($qry)) + echo 'system.tbl_filters '.$db->db_last_error().'
'; + else + echo '
Spalte oe_kurzbz in system.tbl_filters von varchar(16) auf varchar(32) geändert
'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; From e4cdac1acb7a6c4fc5c3bd774932d42184f6ea1b Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 3 May 2018 13:33:08 +0200 Subject: [PATCH 07/16] moved infocenter and sb admin js and css from include to public, get inactive parents/children oe is possible --- .../Organisationseinheit_model.php | 17 ++++++++++------- .../views/system/infocenter/infocenter.php | 4 ++-- .../system/infocenter/infocenterDetails.php | 10 +++++----- .../infocenter/infocenterFreigegeben.php | 4 ++-- application/views/system/messageWrite.php | 4 ++-- .../css/sbadmin2}/admintemplate.css | 1 - .../sbadmin2}/admintemplate_contentonly.css | 0 .../css/sbadmin2}/tablesort_bootstrap.css | 0 {include => public}/js/bootstrapper.js | 0 .../js/infocenter/infocenterDetails.js | 14 -------------- .../js/infocenter/infocenterPersonDataset.js | 15 --------------- {include => public}/js/tablesort/tablesort.js | 19 ------------------- 12 files changed, 21 insertions(+), 67 deletions(-) rename {skin => public/css/sbadmin2}/admintemplate.css (99%) rename {skin => public/css/sbadmin2}/admintemplate_contentonly.css (100%) rename {skin => public/css/sbadmin2}/tablesort_bootstrap.css (100%) rename {include => public}/js/bootstrapper.js (100%) rename {include => public}/js/infocenter/infocenterDetails.js (92%) rename {include => public}/js/infocenter/infocenterPersonDataset.js (85%) rename {include => public}/js/tablesort/tablesort.js (69%) diff --git a/application/models/organisation/Organisationseinheit_model.php b/application/models/organisation/Organisationseinheit_model.php index 75791de1b..272204e7e 100644 --- a/application/models/organisation/Organisationseinheit_model.php +++ b/application/models/organisation/Organisationseinheit_model.php @@ -119,15 +119,16 @@ class Organisationseinheit_model extends DB_Model /** * Liefert die ChildNodes einer Organisationseinheit * @param $oe_kurzbz - * @return Array mit den Childs inkl dem Uebergebenen Element + * @param bool $includeinactive - wether to include inactive parent oes + * @return array mit den Childs inkl dem Uebergebenen Element */ - public function getChilds($oe_kurzbz) + public function getChilds($oe_kurzbz, $includeinactive = false) { $query = " WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as ( SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit - WHERE oe_kurzbz=? + WHERE oe_kurzbz=? %s UNION ALL SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes WHERE o.oe_parent_kurzbz=oes.oe_kurzbz @@ -136,20 +137,22 @@ class Organisationseinheit_model extends DB_Model FROM oes GROUP BY oe_kurzbz;"; - return $this->execQuery($query, array($oe_kurzbz)); + return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz)); } /** * Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen * @param $oe_kurzbz + * @param bool $includeinactive - wether to include inactive parent oes + * @return array|null */ - public function getParents($oe_kurzbz) + public function getParents($oe_kurzbz, $includeinactive = false) { $query= "WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as ( SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit - WHERE oe_kurzbz=? and aktiv = true + WHERE oe_kurzbz=? %s UNION ALL SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true @@ -157,7 +160,7 @@ class Organisationseinheit_model extends DB_Model SELECT oe_kurzbz FROM oes"; - return $this->execQuery($query, array($oe_kurzbz)); + return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz)); } } diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index 1ecfe31f7..ab9746a8e 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -9,8 +9,8 @@ 'fontawesome' => true, 'sbadmintemplate' => true, 'tablesorter' => true, - 'customCSSs' => 'skin/tablesort_bootstrap.css', - 'customJSs' => array('include/js/bootstrapper.js', 'include/js/infocenter/infocenterPersonDataset.js') + 'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css', + 'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js') ) ); ?> diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 147f5d981..7038031a0 100755 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -13,14 +13,14 @@ 'addons' => true, 'customCSSs' => array( - 'skin/admintemplate.css', - 'skin/tablesort_bootstrap.css' + 'public/css/sbadmin2/admintemplate.css', + 'public/css/sbadmin2/tablesort_bootstrap.css' ), 'customJSs' => array( - 'include/js/bootstrapper.js', - 'include/js/tablesort/tablesort.js', - 'include/js/infocenter/infocenterDetails.js') + 'public/js/bootstrapper.js', + 'public/js/tablesort/tablesort.js', + 'public/js/infocenter/infocenterDetails.js') ) ); ?> diff --git a/application/views/system/infocenter/infocenterFreigegeben.php b/application/views/system/infocenter/infocenterFreigegeben.php index 66e5b5c8b..03da9b718 100644 --- a/application/views/system/infocenter/infocenterFreigegeben.php +++ b/application/views/system/infocenter/infocenterFreigegeben.php @@ -9,8 +9,8 @@ 'fontawesome' => true, 'sbadmintemplate' => true, 'tablesorter' => true, - 'customCSSs' => 'skin/tablesort_bootstrap.css', - 'customJSs' => array('include/js/bootstrapper.js', 'include/js/infocenter/infocenterPersonDataset.js') + 'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css', + 'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js') ) ); ?> diff --git a/application/views/system/messageWrite.php b/application/views/system/messageWrite.php index 2b15cc12d..3f9ed5254 100644 --- a/application/views/system/messageWrite.php +++ b/application/views/system/messageWrite.php @@ -8,8 +8,8 @@ $this->load->view( 'fontawesome' => true, 'tinymce' => true, 'sbadmintemplate' => true, - 'customCSSs' => 'skin/admintemplate_contentonly.css', - 'customJSs' => 'include/js/bootstrapper.js' + 'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css', + 'customJSs' => 'public/js/bootstrapper.js' ) ); ?> diff --git a/skin/admintemplate.css b/public/css/sbadmin2/admintemplate.css similarity index 99% rename from skin/admintemplate.css rename to public/css/sbadmin2/admintemplate.css index 5df64ce30..e47fdd3b2 100644 --- a/skin/admintemplate.css +++ b/public/css/sbadmin2/admintemplate.css @@ -30,7 +30,6 @@ /*float: right; */ /* adjust as needed */ margin: 15px; color: grey; /* adjust as needed */ - } .panel-heading .accordion-toggle.collapsed:before{ diff --git a/skin/admintemplate_contentonly.css b/public/css/sbadmin2/admintemplate_contentonly.css similarity index 100% rename from skin/admintemplate_contentonly.css rename to public/css/sbadmin2/admintemplate_contentonly.css diff --git a/skin/tablesort_bootstrap.css b/public/css/sbadmin2/tablesort_bootstrap.css similarity index 100% rename from skin/tablesort_bootstrap.css rename to public/css/sbadmin2/tablesort_bootstrap.css diff --git a/include/js/bootstrapper.js b/public/js/bootstrapper.js similarity index 100% rename from include/js/bootstrapper.js rename to public/js/bootstrapper.js diff --git a/include/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js similarity index 92% rename from include/js/infocenter/infocenterDetails.js rename to public/js/infocenter/infocenterDetails.js index 0d409fe13..8373c7d4e 100644 --- a/include/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -1,17 +1,3 @@ -/* - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ /** * javascript file for infocenterDetails page */ diff --git a/include/js/infocenter/infocenterPersonDataset.js b/public/js/infocenter/infocenterPersonDataset.js similarity index 85% rename from include/js/infocenter/infocenterPersonDataset.js rename to public/js/infocenter/infocenterPersonDataset.js index 5cac8933a..7f99b6fc6 100644 --- a/include/js/infocenter/infocenterPersonDataset.js +++ b/public/js/infocenter/infocenterPersonDataset.js @@ -1,18 +1,3 @@ -/* - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - /** * Javascript file for infocenter overview page */ diff --git a/include/js/tablesort/tablesort.js b/public/js/tablesort/tablesort.js similarity index 69% rename from include/js/tablesort/tablesort.js rename to public/js/tablesort/tablesort.js index c1c171959..7ee70a002 100644 --- a/include/js/tablesort/tablesort.js +++ b/public/js/tablesort/tablesort.js @@ -1,22 +1,3 @@ -/* - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ -/** - * provides helper functions for adding mottie tablesorter - * enables easier configuration of the tablesorter by providing a common default configuration - */ - /** * adds tablesorter to specified tableid, german date format, default theme * @param tableid From 1550c856f4c7303e454ab609386f65b93cbdb91f Mon Sep 17 00:00:00 2001 From: Paolo Date: Thu, 3 May 2018 17:25:36 +0200 Subject: [PATCH 08/16] Bugfix: fixed Infocenter details page to be compatible with the fhc_controller_id parameter --- public/js/infocenter/infocenterDetails.js | 48 +++++++++++++++++------ 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index 8373c7d4e..bb67380af 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -1,7 +1,29 @@ +/** + * + */ +function getUrlParameter(sParam) +{ + var sPageURL = decodeURIComponent(window.location.search.substring(1)), + sURLVariables = sPageURL.split('&'), + sParameterName, + i; + + for (i = 0; i < sURLVariables.length; i++) + { + sParameterName = sURLVariables[i].split('='); + + if (sParameterName[0] === sParam) + { + return sParameterName[1]; + } + } +} + +var fhc_controller_id = getUrlParameter("fhc_controller_id"); + /** * javascript file for infocenterDetails page */ - $(document).ready( function () { @@ -85,7 +107,7 @@ $(document).ready( var personId = $("#hiddenpersonid").val(); var notizId = $("#notizform :input[name='hiddenNotizId']").val(); var data = $(this).serializeArray(); - + if (notizId !== '') { updateNotiz(notizId, personId, data); @@ -93,24 +115,24 @@ $(document).ready( else { saveNotiz(personId, data); - } + } } ); - + //update notiz - autofill notizform $(document).on("click", "#notiztable tbody tr", function () { var notizId = $(this).find("td:eq(3)").html(); var notizTitle = $(this).find("td:eq(1)").text(); var notizContent = this.title; - + $("#notizform label:first").text("Notiz ändern").css("color", "red"); $("#notizform :input[type='reset']").css("display", "inline-block"); - + $("#notizform :input[name='hiddenNotizId']").val(notizId); $("#notizform :input[name='notiztitel']").val(notizTitle); - $("#notizform :input[name='notiz']").val(notizContent); + $("#notizform :input[name='notiz']").val(notizContent); } ); @@ -131,7 +153,7 @@ function saveFormalGeprueft(personid, akteid, checked) $.ajax({ type: "POST", dataType: "json", - url: "../saveFormalGeprueft/" + personid, + url: "../saveFormalGeprueft/" + personid + '?fhc_controller_id=' + fhc_controller_id, data: {"akte_id": akteid, "formal_geprueft": checked}, success: function (data, textStatus, jqXHR) { @@ -161,7 +183,7 @@ function zgvUebernehmen(personid, prestudentid, btn) $.ajax({ type: "POST", dataType: "json", - url: "../getLastPrestudentWithZgvJson/" + personid, + url: "../getLastPrestudentWithZgvJson/" + personid + '?fhc_controller_id=' + fhc_controller_id, success: function (data, textStatus, jqXHR) { if (data !== null) @@ -201,7 +223,7 @@ function saveZgv(data) type: "POST", dataType: "json", data: data, - url: "../saveZgvPruefung/" + prestudentid, + url: "../saveZgvPruefung/" + prestudentid + '?fhc_controller_id=' + fhc_controller_id, success: function (data, textStatus, jqXHR) { if (data === prestudentid) @@ -227,7 +249,7 @@ function saveNotiz(personid, data) type: "POST", dataType: "json", data: data, - url: "../saveNotiz/" + personid, + url: "../saveNotiz/" + personid + '?fhc_controller_id=' + fhc_controller_id, success: function (data, textStatus, jqXHR) { refreshNotizen(); @@ -246,7 +268,7 @@ function updateNotiz(notizId, personId, data) type: "POST", dataType: "json", data: data, - url: "../updateNotiz/" + notizId + "/" + personId, + url: "../updateNotiz/" + notizId + "/" + personId + '?fhc_controller_id=' + fhc_controller_id, success: function (data, textStatus, jqXHR) { if (data) @@ -295,7 +317,7 @@ function refreshNotizen() //readd tablesorter formatNotizTable() } - ); + ); } function formatNotizTable() From c4e83ccc0292fd53dae6e46dd7441bc05be73080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 7 May 2018 15:23:18 +0200 Subject: [PATCH 09/16] Fehler behoben wodurch nicht alle Projekte geladen wurden wenn auf den Filter alle geklickt wird --- rdf/projekt.rdf.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rdf/projekt.rdf.php b/rdf/projekt.rdf.php index 8af5bf541..386b50fe5 100644 --- a/rdf/projekt.rdf.php +++ b/rdf/projekt.rdf.php @@ -34,7 +34,7 @@ else $projekt_obj = new projekt(); if(isset($_REQUEST['filter'])) { - if($_REQUEST['filter']=='') + if($_REQUEST['filter']=='' || $_REQUEST['filter']=='alle') $projekt_obj->getProjekte($oe); if($_REQUEST['filter']=='aktuell') $projekt_obj->getProjekteAktuell(false, $oe); @@ -68,8 +68,8 @@ for ($i=0;$iresult);$i++) '.$projekt->ende.' '.$datum_obj->formatDatum($projekt->ende,'d.m.Y').' '.$projekt->budget.' - '.$projekt->farbe.' - '.$projekt->anzahl_ma.' + '.$projekt->farbe.' + '.$projekt->anzahl_ma.' '.$projekt->aufwand_pt.' '.$projekt->aufwandstyp_kurzbz.' '."\n"; From 81473929a32255f910640fc3b5d58f519fb9f06f Mon Sep 17 00:00:00 2001 From: Paolo Date: Mon, 7 May 2018 15:52:35 +0200 Subject: [PATCH 10/16] Added primary key to system.tbl_extensions using column extension_id --- system/dbupdate_3.3.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 54b8f6211..c618b3535 100755 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -795,6 +795,7 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1")) else echo '
Created table system.tbl_extensions'; + // GRANT SELECT ON TABLE system.tbl_extensions TO web; $qry = 'GRANT SELECT ON TABLE system.tbl_extensions TO web;'; if (!$db->db_query($qry)) @@ -845,6 +846,20 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1")) echo '
Altered sequence system.tbl_extensions_id_seq'; } +// Adds primary key to system.tbl_extensions using column extension_id +if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_extensions_extension_id'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "ALTER TABLE system.tbl_extensions ADD CONSTRAINT pk_extensions_extension_id PRIMARY KEY (extension_id);"; + + if (!$db->db_query($qry)) + echo 'system.tbl_extensions '.$db->db_last_error().'
'; + else + echo '
system.tbl_extensions: added primary key on column extension_id'; + } +} + // UNIQUE INDEX uidx_extensions_name_version if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_extensions_name_version'")) { From aa278e89f0106948649cde02d1a3f70997b9adc2 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 8 May 2018 14:13:47 +0200 Subject: [PATCH 11/16] Infocenter details changes: popup for ZGV info, show Bewerbungsfriste(n), optimized mobile responsiveness, set dokumente to "akzeptiert" when freigegeben --- .../system/infocenter/InfoCenter.php | 62 +++++++++++++++++-- application/models/crm/Prestudent_model.php | 24 +++++++ .../models/crm/Prestudentstatus_model.php | 36 +++++++++++ .../views/system/infocenter/stammdaten.php | 4 +- .../system/infocenter/studiengangZgvInfo.php | 37 +++++++++++ .../views/system/infocenter/zgvpruefungen.php | 48 ++++++++++---- public/js/infocenter/infocenterDetails.js | 18 +++++- 7 files changed, 210 insertions(+), 19 deletions(-) create mode 100644 application/views/system/infocenter/studiengangZgvInfo.php diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 7d81cc021..4bafe591b 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -111,10 +111,11 @@ class InfoCenter extends VileSci_Controller show_error('person id is not numeric!'); $personexists = $this->PersonModel->load($person_id); + if(isError($personexists)) show_error($personexists->retval); - if (empty($personexists->retval[0])) + if (empty($personexists->retval)) show_error('person does not exist!'); //mark person as locked for editing @@ -211,6 +212,29 @@ class InfoCenter extends VileSci_Controller ->set_output(json_encode($jsonoutput)); } + /** + * Gets Zugangsvoraussetzungen for a prestudents as a description text + * @param $prestudent_id + */ + public function getZgvInfoForPrestudent($prestudent_id) + { + $studienordnung = $this->PrestudentstatusModel->getStudienordnungWithZgvText($prestudent_id); + + $prestudentdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id); + $studiengangbezeichnung = $prestudentdata['studiengang_bezeichnung']; + + $data = array('studiengang_bezeichnung' => $studiengangbezeichnung, 'data' => null); + + if (hasData($studienordnung)) + { + $data['data'] = $studienordnung->retval[0]->data; + } + + $this->load->view('system/infocenter/studiengangZgvInfo.php', + $data + ); + } + /** * Saves a zgv for a prestudent. includes Ort, Datum, Nation for bachelor and master. * @param $prestudent_id @@ -279,7 +303,7 @@ class InfoCenter extends VileSci_Controller } //check if still Interessent and not freigegeben yet - if ($lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam)) + if (count($lastStatus->retval) > 0 && $lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam)) { $result = $this->PrestudentstatusModel->insert( array( @@ -327,6 +351,11 @@ class InfoCenter extends VileSci_Controller { $lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id); + if (isError($lastStatus)) + { + show_error($lastStatus->retval); + } + if (count($lastStatus->retval) > 0) { $lastStatus = $lastStatus->retval[0]; @@ -354,10 +383,34 @@ class InfoCenter extends VileSci_Controller show_error($result->retval); } - $this->_sendFreigabeMail($prestudent_id); + $this->load->model('crm/dokumentprestudent_model', 'DokumentprestudentModel'); $logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id); + //set documents which have been formal geprüft to accepted + $result = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL)); + + if (isError($result)) + { + show_error($result->retval); + } + + $dokument_kurzbzs = array(); + + foreach ($result->retval as $akte) + { + $dokument_kurzbzs[] = $akte->dokument_kurzbz; + } + + $result = $this->DokumentprestudentModel->setAcceptedDocuments($prestudent_id, $dokument_kurzbzs); + + if (isError($result)) + { + show_error($result->retval); + } + + $this->_sendFreigabeMail($prestudent_id); + $this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz'])); } } @@ -821,8 +874,9 @@ class InfoCenter extends VileSci_Controller $person_id = $prestudent->retval[0]->person_id; $studiengang_kurzbz = $prestudent->retval[0]->studiengang; + $studiengang_bezeichnung = $prestudent->retval[0]->studiengangbezeichnung; - return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz); + return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung); } /** diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 2051c1666..2473099eb 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -229,10 +229,34 @@ class Prestudent_model extends DB_Model { $this->load->model('system/sprache_model', 'SpracheModel'); $language = $this->SpracheModel->load($lastStatus->retval[0]->sprache); + if ($language->error) return error($language->retval); + if (count($language->retval) > 0) $lastStatus->retval[0]->sprachedetails = $language->retval[0]; + + //get Bewerbungsfrist + $this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel'); + $this->BewerbungstermineModel->addSelect('ende, nachfrist_ende'); + $this->BewerbungstermineModel->addOrder('ende', 'DESC'); + $this->BewerbungstermineModel->addLimit(1); + $bewerbungstermin = $this->BewerbungstermineModel->loadWhere( + array( + 'studienplan_id' => $lastStatus->retval[0]->studienplan_id, + 'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz, + 'studiengang_kz' => $prestudent->retval[0]->studiengang_kz + ) + ); + if ($bewerbungstermin->error) + return error($bewerbungstermin->retval); + + if (count($bewerbungstermin->retval) > 0) + { + $lastStatus->retval[0]->bewerbungstermin = $bewerbungstermin->retval[0]->ende; + $lastStatus->retval[0]->bewerbungsnachfrist = $bewerbungstermin->retval[0]->nachfrist_ende; + } + $prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0]; } diff --git a/application/models/crm/Prestudentstatus_model.php b/application/models/crm/Prestudentstatus_model.php index 27f09289a..f2ba9ee0a 100644 --- a/application/models/crm/Prestudentstatus_model.php +++ b/application/models/crm/Prestudentstatus_model.php @@ -119,4 +119,40 @@ class Prestudentstatus_model extends DB_Model return $this->execQuery($query, $parametersArray); } + + /** + * Gets Studienordnung for last status of Prestudent + * @param $prestudent_id + * @return array + */ + public function getStudienordnungWithZgvText($prestudent_id) + { + $lastStatus = $this->getLastStatus($prestudent_id); + + if ($lastStatus->error) + { + return error($lastStatus->retval); + } + + if (count($lastStatus->retval) > 0) + { + $lastStatus = $lastStatus->retval[0]; + + $this->addJoin('lehre.tbl_studienplan', 'studienplan_id'); + $this->addJoin('lehre.tbl_studienordnung', 'studienordnung_id'); + $this->addJoin('addon.tbl_stgv_zugangsvoraussetzung', 'studienordnung_id'); + return $this->loadWhere( + array( + 'public.tbl_prestudentstatus.prestudent_id' => $lastStatus->prestudent_id, + 'public.tbl_prestudentstatus.status_kurzbz' => $lastStatus->status_kurzbz, + 'public.tbl_prestudentstatus.studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz, + 'public.tbl_prestudentstatus.ausbildungssemester' => $lastStatus->ausbildungssemester + ) + ); + } + else + { + return sucess(array()); + } + } } diff --git a/application/views/system/infocenter/stammdaten.php b/application/views/system/infocenter/stammdaten.php index c3b14bd3e..daf0b7d24 100755 --- a/application/views/system/infocenter/stammdaten.php +++ b/application/views/system/infocenter/stammdaten.php @@ -91,7 +91,7 @@
-
+
zugangscode)): ?> -
+ diff --git a/application/views/system/infocenter/studiengangZgvInfo.php b/application/views/system/infocenter/studiengangZgvInfo.php new file mode 100644 index 000000000..92f9d08e1 --- /dev/null +++ b/application/views/system/infocenter/studiengangZgvInfo.php @@ -0,0 +1,37 @@ +load->view( + 'templates/FHC-Header', + array( + 'title' => 'ZGV Info', + 'jquery' => true, + 'bootstrap' => true, + 'fontawesome' => true, + 'sbadmintemplate' => true, + 'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css' + ) +); +?> + +
+
+
+
+
+ +
+
+
+ + Keine Zugangsvoraussetzungen für den Studiengang definiert + +
+
+
+
+ + +load->view('templates/FHC-Footer'); ?> \ No newline at end of file diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php index 2e98005b8..c8091a5dc 100644 --- a/application/views/system/infocenter/zgvpruefungen.php +++ b/application/views/system/infocenter/zgvpruefungen.php @@ -9,18 +9,29 @@
-
+ - prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent' && !$infoonly): ?> -
+ prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'/* && !$infoonly*/): ?> + + prestudentstatus->bestaetigtam)): ?> +
+ + An Studiengang freigegeben +
+ + +
prestudentstatus->bewerbung_abgeschicktamum) ? '' : ''); ?> + prestudentstatus->bewerbungsnachfrist) ? ' | Nachfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?> + prestudentstatus->bewerbungstermin) ? ' | Bewerbungsfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
- + +
- - zgv_bez; - else +
+ +
+ + zgv_bez; ?> +
+ +
+ +
+ + +
+ widgetlib->widget( 'Zgv_widget', array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code), @@ -188,12 +213,12 @@
-
+
-
+
@@ -331,8 +356,7 @@ Interessentenstatus bestätigt und
deren Zgvdaten können im - Infocenter nicht mehr bearbeitet oder - freigegeben + Infocenter nicht mehr bearbeitet werden.
Alle nicht gespeicherten Zgvdaten gehen verloren. diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index bb67380af..e5c966f7b 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -79,6 +79,14 @@ $(document).ready( } ); + //show popup with zgvinfo + $(".zgvinfo").click(function () + { + var prestudentid = this.id.substr(this.id.indexOf("_") + 1); + openZgvInfoForPrestudent(prestudentid); + } + ); + //prevent opening modal when Statusgrund not chosen $(".absageModal").on('show.bs.modal', function (e) { @@ -119,7 +127,6 @@ $(document).ready( } ); - //update notiz - autofill notizform $(document).on("click", "#notiztable tbody tr", function () { @@ -145,6 +152,15 @@ $(document).ready( }); +function openZgvInfoForPrestudent(prestudent_id) +{ + var screenwidth = screen.width; + var popupwidth = 760; + var marginleft = screenwidth - popupwidth; + console.log(marginleft); + window.open("../getZgvInfoForPrestudent/" + prestudent_id, "_blank","resizable=yes,scrollbars=yes,width="+popupwidth+",height="+screen.height+",left="+marginleft); +} + // ----------------------------------------------------------------------------------------------------------------- // ajax calls From 8c00fb7be5891537b8a426e99b08c2131faaa670 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 9 May 2018 12:02:31 +0200 Subject: [PATCH 12/16] Improved the code in fhcauth_helper --- application/helpers/fhcauth_helper.php | 39 ++------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/application/helpers/fhcauth_helper.php b/application/helpers/fhcauth_helper.php index 42fe5889f..da01d62ba 100644 --- a/application/helpers/fhcauth_helper.php +++ b/application/helpers/fhcauth_helper.php @@ -60,41 +60,8 @@ if ( ! function_exists('auth')) */ function getAuthUID() { - $uid = false; $ci =& get_instance(); // get CI instance - $ci->load->library('session'); // load session library + $ci->load->library('AuthLib'); // load session library - // If uid hasn't never been set and is present in CI session - if ($uid === false && isset($ci->session->uid)) - { - $uid = $ci->session->uid; - } - else - { - // Try to check if uid is stored elsewhere - if (isset($_SERVER['PHP_AUTH_USER'])) - { - $uid = $_SERVER['PHP_AUTH_USER']; - } - else if (isset($_SESSION['uid'])) - { - $uid = $_SESSION['uid']; - } - // Workaround for a strange behavior - // Sometimes $_SERVER['PHP_AUTH_USER'] is not set here, but is set when - // used by authentication object - else - { - $auth = new authentication(); - $uid = $auth->getUser(); - } - } - - // If uid is set and uid in CI session is not set - if ($uid !== false && !isset($ci->session->uid)) - { - $ci->session->uid = $uid; - } - - return $uid; -} \ No newline at end of file + return $ci->authlib->getUser(); +} From 26600dac056ca05cf656c0d2aa0d6a7167db92ed Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 11 May 2018 14:14:16 +0200 Subject: [PATCH 13/16] added kurzbz to zgv info, optimized responsiveness of panel headers, whole notizenrow clickable --- .../controllers/system/infocenter/InfoCenter.php | 3 ++- application/views/system/infocenter/notizen.php | 4 ++-- .../views/system/infocenter/studiengangZgvInfo.php | 2 +- .../views/system/infocenter/zgvpruefungen.php | 14 ++++++++++---- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 4bafe591b..1973b84c5 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -221,9 +221,10 @@ class InfoCenter extends VileSci_Controller $studienordnung = $this->PrestudentstatusModel->getStudienordnungWithZgvText($prestudent_id); $prestudentdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id); + $studiengangkurzbz = $prestudentdata['studiengang_kurzbz']; $studiengangbezeichnung = $prestudentdata['studiengang_bezeichnung']; - $data = array('studiengang_bezeichnung' => $studiengangbezeichnung, 'data' => null); + $data = array('studiengang_bezeichnung' => $studiengangbezeichnung, 'studiengang_kurzbz' => $studiengangkurzbz, 'data' => null); if (hasData($studienordnung)) { diff --git a/application/views/system/infocenter/notizen.php b/application/views/system/infocenter/notizen.php index 683a9b3d9..646645ae3 100644 --- a/application/views/system/infocenter/notizen.php +++ b/application/views/system/infocenter/notizen.php @@ -9,9 +9,9 @@ + title="text) ? strip_tags($notiz->text) : '' ?>" style="cursor: pointer"> insertamum), 'd.m.Y H:i:s') ?> - titel) ?> + titel) ?> verfasser_uid ?> notiz_id ?> diff --git a/application/views/system/infocenter/studiengangZgvInfo.php b/application/views/system/infocenter/studiengangZgvInfo.php index 92f9d08e1..6242d0db6 100644 --- a/application/views/system/infocenter/studiengangZgvInfo.php +++ b/application/views/system/infocenter/studiengangZgvInfo.php @@ -17,7 +17,7 @@ $this->load->view(
- +
diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php index c8091a5dc..1a31fc643 100644 --- a/application/views/system/infocenter/zgvpruefungen.php +++ b/application/views/system/infocenter/zgvpruefungen.php @@ -2,14 +2,20 @@ infoonly; - //set bootstrap columns + //set bootstrap columns for zgv form $columns = array(4, 3, 2, 3); + $headercolumns = array(7, 5); + if (!$infoonly && isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) && isset($zgvpruefung->prestudentstatus->bewerbungstermin)) + { + $headercolumns[0] = 5; + $headercolumns[1] = 7; + } ?>
-
+

studiengang.' - '.$zgvpruefung->studiengangbezeichnung.' | '.(isset($zgvpruefung->prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : ''); @@ -19,13 +25,13 @@ prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'/* && !$infoonly*/): ?> prestudentstatus->bestaetigtam)): ?> -
+
An Studiengang freigegeben
-
+
prestudentstatus->bewerbung_abgeschicktamum) ? '' : ''); ?> prestudentstatus->bewerbungsnachfrist) ? ' | Nachfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?> prestudentstatus->bewerbungstermin) ? ' | Bewerbungsfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?> From bdf03efa353fe37863207011dc00711ca36ddfa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 11 May 2018 15:01:10 +0200 Subject: [PATCH 14/16] Added Config Subfolder Production and Testing to ignore List --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index de95987a8..c6bc2ccc3 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ documents/ .project .buildpath application/config/development/ +application/config/testing/ +application/config/production application/extensions/ application/controllers/extensions/ application/config/extensions/ From 84ba892dc185fae400e0471843a9a25f4f12654c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 11 May 2018 15:01:40 +0200 Subject: [PATCH 15/16] Added missing Permission to infocenter role --- application/config/roles.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/config/roles.php b/application/config/roles.php index a95a94215..75a928db0 100644 --- a/application/config/roles.php +++ b/application/config/roles.php @@ -56,7 +56,7 @@ $config['roles'] = array 'basis/adresse','basis/akte','basis/kontakt','basis/log','basis/nation','basis/notiz','basis/notizzuordnung', 'basis/person','basis/prestudent','basis/prestudentstatus','basis/status','basis/zgv','basis/zgvmaster', 'lehre/studienplan','system/filters','fs/dms','basis/message','basis/benutzerrolle', 'basis/sprache', - 'system/personlock','basis/benutzerfunktion','system/vorlagestudiengang' + 'system/personlock','basis/benutzerfunktion','system/vorlagestudiengang', 'basis/bewerbungstermine' ) ) ); From 257c833d45c450a404087bb4549ce48678c9ba20 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Fri, 11 May 2018 15:43:39 +0200 Subject: [PATCH 16/16] 'Interessent rejected' ignored in list --- application/views/system/infocenter/infocenterData.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index 2d9d30cf2..8abc163b7 100755 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -14,7 +14,7 @@ SELECT zeitpunkt FROM system.tbl_log WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') - AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\') + AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\') AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 @@ -23,7 +23,7 @@ SELECT insertvon FROM system.tbl_log WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') - AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\') + AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\') AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1