mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-12 15:04:04 +00:00
Compare commits
116
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89ea378cbb | ||
|
|
2d353799d8 | ||
|
|
e327270ea2 | ||
|
|
e9049e1660 | ||
|
|
85bdd3a686 | ||
|
|
acedc11be8 | ||
|
|
15c1da74a2 | ||
|
|
d33b45d7cb | ||
|
|
b3b6d847a7 | ||
|
|
80365de28c | ||
|
|
2d74522a4f | ||
|
|
d00aef66e1 | ||
|
|
241eec3ef2 | ||
|
|
2050f5ae65 | ||
|
|
587e523990 | ||
|
|
5ec1a1c54c | ||
|
|
2c65ccc8da | ||
|
|
787308aad4 | ||
|
|
8b44e4475b | ||
|
|
d251987850 | ||
|
|
ba92eea7eb | ||
|
|
50951dfdcf | ||
|
|
be7527e994 | ||
|
|
d5c1721ab1 | ||
|
|
8eb27b194f | ||
|
|
579a55a00d | ||
|
|
0a00caa1e4 | ||
|
|
224cef7fad | ||
|
|
c53040ed5c | ||
|
|
f7465047cb | ||
|
|
1c6912776b | ||
|
|
0dadaece08 | ||
|
|
69fd223358 | ||
|
|
9c43374267 | ||
|
|
ea7c0cccde | ||
|
|
6dfe292776 | ||
|
|
c90f7a31bb | ||
|
|
073160dde4 | ||
|
|
56fe8c9d09 | ||
|
|
9a3532265f | ||
|
|
4abe6f0d24 | ||
|
|
9fbbd6b855 | ||
|
|
59b4b2bac9 | ||
|
|
5f546fca2a | ||
|
|
1bf2b707ef | ||
|
|
f74b885253 | ||
|
|
3ab402adef | ||
|
|
52f24645fb | ||
|
|
4ac108174b | ||
|
|
6378b80d87 | ||
|
|
658c8d6bd4 | ||
|
|
bf29faa5a7 | ||
|
|
2ada167557 | ||
|
|
cc9d1f983e | ||
|
|
57c48f2c4a | ||
|
|
e32691994c | ||
|
|
46f8d0d07d | ||
|
|
9274743df3 | ||
|
|
66e400013a | ||
|
|
3f95bfd82f | ||
|
|
9629345473 | ||
|
|
4d72b0047a | ||
|
|
dc22ac6b06 | ||
|
|
f4cc311806 | ||
|
|
df46b8ebdd | ||
|
|
bfdec12c0e | ||
|
|
870c36e76b | ||
|
|
179386bea9 | ||
|
|
8ae3afa98a | ||
|
|
96b2d88d39 | ||
|
|
474fc1fc57 | ||
|
|
3825e2fb38 | ||
|
|
4c0635be7c | ||
|
|
67b863f9db | ||
|
|
7628ebc9ca | ||
|
|
deb6dad7ad | ||
|
|
077f052112 | ||
|
|
e7f57c9ddd | ||
|
|
095e2bf581 | ||
|
|
25345a0522 | ||
|
|
e2b5201b5a | ||
|
|
5c80a382bf | ||
|
|
aa940683d6 | ||
|
|
843c65d52b | ||
|
|
e26f4262df | ||
|
|
dde586e004 | ||
|
|
506c23ae89 | ||
|
|
e90e03e0cc | ||
|
|
335671b46a | ||
|
|
19b8c16057 | ||
|
|
dea3aac222 | ||
|
|
5d7281e470 | ||
|
|
4a4731e619 | ||
|
|
0e4c7dcd14 | ||
|
|
a7d925a177 | ||
|
|
4ef4a06a7e | ||
|
|
29515491a2 | ||
|
|
a68b730ce0 | ||
|
|
6cb8d0a9d1 | ||
|
|
cdcc734401 | ||
|
|
f9b9fc1124 | ||
|
|
2c4574d93b | ||
|
|
2fde630971 | ||
|
|
fce5ee7a16 | ||
|
|
8ccb9cd892 | ||
|
|
d1af44bcdc | ||
|
|
976ef1f975 | ||
|
|
f42ef3d5b6 | ||
|
|
c47a1cb627 | ||
|
|
a57df7862c | ||
|
|
c664c14afc | ||
|
|
efc67d14a5 | ||
|
|
9183c4f04c | ||
|
|
6495f741b9 | ||
|
|
d3210f0d3d | ||
|
|
a0dce925d4 |
@@ -0,0 +1,6 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
// Link for download of Ferien days (should be csv)
|
||||||
|
$config['ferien_import_link'] = 'https://www.wien.gv.at/gogv/l9ogdfeiertagskalender';
|
||||||
@@ -3,3 +3,4 @@
|
|||||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
$config['infocenter_studiengang_kz'] = '10021, 10027, 10002';
|
$config['infocenter_studiengang_kz'] = '10021, 10027, 10002';
|
||||||
|
$config['infocenter_qualifikationskurs_kz'] = '10002';
|
||||||
|
|||||||
@@ -119,6 +119,15 @@ $config['navigation_header'] = array(
|
|||||||
'requiredPermissions' => array(
|
'requiredPermissions' => array(
|
||||||
'lehre/zgvpruefung:r'
|
'lehre/zgvpruefung:r'
|
||||||
)
|
)
|
||||||
|
),
|
||||||
|
'ferien' => array(
|
||||||
|
'link' => site_url('lehre/Ferienverwaltung'),
|
||||||
|
'description' => 'Ferienverwaltung',
|
||||||
|
'expand' => true,
|
||||||
|
'sort' => 55,
|
||||||
|
'requiredPermissions' => array(
|
||||||
|
'basis/ferien:r'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (!defined('BASEPATH'))
|
||||||
|
exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class Compat extends Auth_Controller
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct([
|
||||||
|
'ci' => ['basis/cis:r'],
|
||||||
|
'legacy' => ['basis/cis:r'],
|
||||||
|
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
// Public methods
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @access public
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function ci()
|
||||||
|
{
|
||||||
|
$this->load->view('CisRouterView/CisRouterView.php',['route' => 'Compat']);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @access public
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function legacy()
|
||||||
|
{
|
||||||
|
$this->load->view('CisRouterView/CisRouterView.php',['route' => 'Compat']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -67,8 +67,11 @@ class CisMenu extends FHCAPI_Controller
|
|||||||
|
|
||||||
private function generateUrlForMenuItem($menuItem)
|
private function generateUrlForMenuItem($menuItem)
|
||||||
{
|
{
|
||||||
$menuItem->url = $this->menuItemUrlHelper($menuItem);
|
if(!isset($menuItem->url))
|
||||||
unset($menuItem->content);
|
{
|
||||||
|
$menuItem->url = $this->menuItemUrlHelper($menuItem);
|
||||||
|
unset($menuItem->content);
|
||||||
|
}
|
||||||
|
|
||||||
if ($menuItem->childs && count($menuItem->childs)) {
|
if ($menuItem->childs && count($menuItem->childs)) {
|
||||||
$menuItem->childs = $this->generateUrlsForMenuItems($menuItem->childs);
|
$menuItem->childs = $this->generateUrlsForMenuItems($menuItem->childs);
|
||||||
@@ -83,7 +86,7 @@ class CisMenu extends FHCAPI_Controller
|
|||||||
return site_url("/CisVue/Cms/content/" . $menuItem->content_id);
|
return site_url("/CisVue/Cms/content/" . $menuItem->content_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$menuItem->content || !mb_strlen($menuItem->content)) {
|
if (!isset($menuItem->content) || !$menuItem->content || !mb_strlen($menuItem->content)) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,6 +94,8 @@ class CisMenu extends FHCAPI_Controller
|
|||||||
$doc->loadXML($menuItem->content);
|
$doc->loadXML($menuItem->content);
|
||||||
$urlElem = $doc->getElementsByTagName('url')->item(0);
|
$urlElem = $doc->getElementsByTagName('url')->item(0);
|
||||||
|
|
||||||
|
$this->menuItemUrlTargetHelper($menuItem, $doc);
|
||||||
|
|
||||||
if (!$urlElem) {
|
if (!$urlElem) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -122,5 +127,18 @@ class CisMenu extends FHCAPI_Controller
|
|||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function menuItemUrlTargetHelper($menuItem, $xmldoc)
|
||||||
|
{
|
||||||
|
if($menuItem->template_kurzbz === 'redirect')
|
||||||
|
{
|
||||||
|
$targetElem = $xmldoc->getElementsByTagName('target')->item(0);
|
||||||
|
$target = ($targetElem) ? $targetElem->textContent : '';
|
||||||
|
if(!in_array($target, array('_self', '_top', '_blank')))
|
||||||
|
{
|
||||||
|
$target = '_self';
|
||||||
|
}
|
||||||
|
$menuItem->target = $target;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class Lehrveranstaltung extends FHCAPI_Controller
|
|||||||
{
|
{
|
||||||
$studiengang_kz = $this->getStudiengangKz($stg_kz);
|
$studiengang_kz = $this->getStudiengangKz($stg_kz);
|
||||||
|
|
||||||
if (is_null($studiengang_kz) || !preg_match("/^-?[1-9][0-9]*$/", (string)$studiengang_kz))
|
if (is_null($studiengang_kz) || !preg_match("/^(-?[1-9][0-9]*|0)$/", (string)$studiengang_kz))
|
||||||
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
|
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
$verband = null;
|
$verband = null;
|
||||||
|
|||||||
@@ -167,7 +167,9 @@ class Studium extends FHCAPI_Controller
|
|||||||
if($aktuelles_studienplan){
|
if($aktuelles_studienplan){
|
||||||
$lehrveranstaltungen = $this->computeStudienplanLehrveranstaltungen($aktuelles_studienplan->studienplan_id, $aktuelles_semester);
|
$lehrveranstaltungen = $this->computeStudienplanLehrveranstaltungen($aktuelles_studienplan->studienplan_id, $aktuelles_semester);
|
||||||
foreach($lehrveranstaltungen as $lehrv){
|
foreach($lehrveranstaltungen as $lehrv){
|
||||||
foreach($lehrv->lehrveranstaltungen as $lv){
|
// a lehrveranstaltung without a modul has no children and gets its lektoren directly
|
||||||
|
$lvs = isset($lehrv->lehrveranstaltungen) ? $lehrv->lehrveranstaltungen : [$lehrv];
|
||||||
|
foreach($lvs as $lv){
|
||||||
$lvLektoren =$this->computeLektorenFromLehrveranstaltung($lv->lehrveranstaltung_id,$aktuelles_semester, $aktuelles_studiengang->studiengang_kz, $aktuelles_studiensemester->studiensemester_kurzbz);
|
$lvLektoren =$this->computeLektorenFromLehrveranstaltung($lv->lehrveranstaltung_id,$aktuelles_semester, $aktuelles_studiengang->studiengang_kz, $aktuelles_studiensemester->studiensemester_kurzbz);
|
||||||
$lv->lektoren = $lvLektoren;
|
$lv->lektoren = $lvLektoren;
|
||||||
}
|
}
|
||||||
@@ -286,6 +288,7 @@ SELECT tbl_lehrveranstaltung.*,
|
|||||||
$lehrveranstaltungen = $this->LehrveranstaltungModel->execReadOnlyQuery($query,[$studienplan_id, $semester]);
|
$lehrveranstaltungen = $this->LehrveranstaltungModel->execReadOnlyQuery($query,[$studienplan_id, $semester]);
|
||||||
|
|
||||||
$lehrveranstaltungen = $this->getDataOrTerminateWithError($lehrveranstaltungen);
|
$lehrveranstaltungen = $this->getDataOrTerminateWithError($lehrveranstaltungen);
|
||||||
|
|
||||||
usort($lehrveranstaltungen, function($a, $b){
|
usort($lehrveranstaltungen, function($a, $b){
|
||||||
if($a->lehrtyp_kurzbz == "modul"){
|
if($a->lehrtyp_kurzbz == "modul"){
|
||||||
return -1;
|
return -1;
|
||||||
@@ -302,12 +305,17 @@ SELECT tbl_lehrveranstaltung.*,
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$parent =array_filter($carry, function($item)use($lehrv){
|
$parent =array_filter($carry, function($item)use($lehrv){
|
||||||
return $item->studienplan_lehrveranstaltung_id == $lehrv->studienplan_lehrveranstaltung_id_parent;
|
return isset($item->lehrveranstaltungen)
|
||||||
|
&& $item->studienplan_lehrveranstaltung_id == $lehrv->studienplan_lehrveranstaltung_id_parent;
|
||||||
});
|
});
|
||||||
$parent = current($parent);
|
$parent = current($parent);
|
||||||
if($parent){
|
if($parent){
|
||||||
$parent->lehrveranstaltungen[] = $lehrv;
|
$parent->lehrveranstaltungen[] = $lehrv;
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
// lehrveranstaltung without a modul: keep it on the top level
|
||||||
|
array_push($carry, $lehrv);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $carry;
|
return $carry;
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
@@ -0,0 +1,482 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2024 fhcomplete.org
|
||||||
|
*
|
||||||
|
* 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
//use CI3_Events as Events;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This controller operates between (interface) the JS (GUI) and the back-end
|
||||||
|
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
|
||||||
|
*/
|
||||||
|
class Ferien extends FHCAPI_Controller
|
||||||
|
{
|
||||||
|
const DEFAULT_BERECHTIGUNG = 'basis/ferien';
|
||||||
|
const FERIENTYP_KURZBZ = 'Feiertag';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calls the parent's constructor and prepares libraries and phrases
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct([
|
||||||
|
'getFerien' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||||
|
'getDefaultVonBis' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||||
|
'getOe' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||||
|
'getStudienplaene' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||||
|
'getFerientypen' => self::DEFAULT_BERECHTIGUNG.':r',
|
||||||
|
'insert' => self::DEFAULT_BERECHTIGUNG.':w',
|
||||||
|
'update' => self::DEFAULT_BERECHTIGUNG.':w',
|
||||||
|
'delete' => self::DEFAULT_BERECHTIGUNG.':w',
|
||||||
|
'importFerien' => self::DEFAULT_BERECHTIGUNG.':w'
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Load models
|
||||||
|
$this->load->model('organisation/Ferien_model', 'FerienModel');
|
||||||
|
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||||
|
|
||||||
|
$this->load->library('PermissionLib');
|
||||||
|
|
||||||
|
$this->load->config('ferienimport');
|
||||||
|
|
||||||
|
// Load language phrases
|
||||||
|
$this->loadPhrases([
|
||||||
|
'ui'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------------------------------------------
|
||||||
|
// Public methods
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Ferien
|
||||||
|
*/
|
||||||
|
public function getFerien()
|
||||||
|
{
|
||||||
|
$filterVonDatum = $this->input->get('filterVonDatum');
|
||||||
|
$filterBisDatum = $this->input->get('filterBisDatum');
|
||||||
|
|
||||||
|
if (isset($filterVonDatum) && !is_valid_date($filterVonDatum))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_invalid_date'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
if (isset($filterBisDatum) && !is_valid_date($filterBisDatum))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_invalid_date'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
$this->FerienModel->addSelect(
|
||||||
|
'tbl_ferien.ferien_id, tbl_ferien.bezeichnung, tbl_ferien.vondatum, tbl_ferien.bisdatum,
|
||||||
|
plan.studienplan_id, oe.oe_kurzbz, fetyp.ferientyp_kurzbz, oe.bezeichnung AS oe_bezeichnung,
|
||||||
|
plan.studienplan_id, plan.bezeichnung AS studienplan_bezeichnung, fetyp.mitarbeiter AS mitarbeiterrelevant,
|
||||||
|
fetyp.studierende AS studierendenrelevant, fetyp.lehre'
|
||||||
|
);
|
||||||
|
$this->FerienModel->addJoin('public.tbl_studiengang stg', 'studiengang_kz', 'LEFT');
|
||||||
|
$this->FerienModel->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT');
|
||||||
|
$this->FerienModel->addJoin('public.tbl_organisationseinheit oe', 'tbl_ferien.oe_kurzbz = oe.oe_kurzbz', 'LEFT');
|
||||||
|
$this->FerienModel->addJoin('lehre.tbl_ferientyp fetyp', 'ferientyp_kurzbz', 'LEFT');
|
||||||
|
|
||||||
|
if (isset($filterVonDatum))
|
||||||
|
$this->FerienModel->db->where('tbl_ferien.bisdatum >=', $filterVonDatum);
|
||||||
|
|
||||||
|
if (isset($filterBisDatum))
|
||||||
|
$this->FerienModel->db->where('tbl_ferien.vondatum <=', $filterBisDatum);
|
||||||
|
|
||||||
|
$this->FerienModel->addOrder('vondatum', 'DESC');
|
||||||
|
$result = $this->FerienModel->load();
|
||||||
|
|
||||||
|
$data = $this->getDataOrTerminateWithError($result);
|
||||||
|
|
||||||
|
$this->terminateWithSuccess($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets default dates (from - to) for filtering Ferien.
|
||||||
|
*/
|
||||||
|
public function getDefaultVonBis()
|
||||||
|
{
|
||||||
|
$defaultVonBis = ['defaultVon' => null, 'defaultBis' => null];
|
||||||
|
|
||||||
|
// get current Studienjahr
|
||||||
|
$this->load->model('organisation/Studienjahr_model', 'StudienjahrModel');
|
||||||
|
|
||||||
|
$result = $this->StudienjahrModel->getAktOrNextStudienjahr(62);
|
||||||
|
|
||||||
|
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||||
|
|
||||||
|
if (hasData($result))
|
||||||
|
{
|
||||||
|
$studienjahr = getData($result)[0];
|
||||||
|
$defaultVonBis['defaultVon'] = $studienjahr->beginn;
|
||||||
|
$defaultVonBis['defaultBis'] = $studienjahr->ende;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->terminateWithSuccess($defaultVonBis);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get list of Organisationseinheiten
|
||||||
|
*/
|
||||||
|
public function getOe()
|
||||||
|
{
|
||||||
|
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
|
||||||
|
|
||||||
|
//$this->StudiengangModel->addSelect(' tbl_studiengang.*, UPPER(typ::varchar(1) || kurzbz) AS kuerzel');
|
||||||
|
$this->OrganisationseinheitModel->addOrder('organisationseinheittyp_kurzbz, oe_kurzbz');
|
||||||
|
$result = $this->OrganisationseinheitModel->loadWhere(['aktiv' => true]);
|
||||||
|
|
||||||
|
$data = $this->getDataOrTerminateWithError($result);
|
||||||
|
|
||||||
|
$this->terminateWithSuccess($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get list of Studienplaene.
|
||||||
|
* Studienplaene are returned by Organisationseinheit, von and bis datum.
|
||||||
|
*/
|
||||||
|
public function getStudienplaene()
|
||||||
|
{
|
||||||
|
// check input
|
||||||
|
$oe_kurzbz = $this->input->get('oe_kurzbz');
|
||||||
|
$vondatum = $this->input->get('vondatum');
|
||||||
|
$bisdatum = $this->input->get('bisdatum');
|
||||||
|
|
||||||
|
if (!isset($oe_kurzbz) || isEmptyString($oe_kurzbz))
|
||||||
|
return $this->terminateWithError($this->p->t('ferien', 'error_missingId', ['id' => 'Organisationseinheit']));
|
||||||
|
|
||||||
|
if (isset($vondatum) && !is_valid_date($vondatum))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_invalid_date'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
if (isset($bisdatum) && !is_valid_date($bisdatum))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_invalid_date'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
// get Studiengang from Oe
|
||||||
|
$result = $this->StudiengangModel->loadWhere(['oe_kurzbz' => $oe_kurzbz]);
|
||||||
|
|
||||||
|
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||||
|
if (!hasData($result)) return $this->terminateWithSuccess([]);
|
||||||
|
$studiengangKzArr = array_column(getData($result), 'studiengang_kz');
|
||||||
|
|
||||||
|
// load models
|
||||||
|
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||||
|
$this->load->model('organisation/Studienplan_model', 'StudienplanModel');
|
||||||
|
|
||||||
|
// get all Studiensemester in requested date range
|
||||||
|
$result = $this->StudiensemesterModel->getByDateRange($vondatum, $bisdatum);
|
||||||
|
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||||
|
if (!hasData($result)) return $this->terminateWithSuccess([]);
|
||||||
|
$studiensemesterArr = array_column(getData($result), 'studiensemester_kurzbz');
|
||||||
|
|
||||||
|
$studienplaene = [];
|
||||||
|
foreach ($studiengangKzArr as $studiengang_kz)
|
||||||
|
{
|
||||||
|
foreach ($studiensemesterArr as $studiensemester_kurzbz)
|
||||||
|
{
|
||||||
|
// get studienplaene for each Studiengang and Studiensemester
|
||||||
|
$this->StudienplanModel->addDistinct("studienplan_id");
|
||||||
|
$this->StudienplanModel->addSelect("lehre.tbl_studienplan.*");
|
||||||
|
$this->StudienplanModel->addJoin("lehre.tbl_studienordnung", "studienordnung_id");
|
||||||
|
$this->StudienplanModel->addJoin("lehre.tbl_studienplan_semester", "studienplan_id");
|
||||||
|
|
||||||
|
$whereArray = array(
|
||||||
|
"tbl_studienplan.aktiv" => "TRUE",
|
||||||
|
"tbl_studienordnung.studiengang_kz" => $studiengang_kz,
|
||||||
|
"tbl_studienplan_semester.studiensemester_kurzbz" => $studiensemester_kurzbz
|
||||||
|
);
|
||||||
|
|
||||||
|
$result = $this->StudienplanModel->loadWhere($whereArray);
|
||||||
|
|
||||||
|
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||||
|
if (!hasData($result)) continue;
|
||||||
|
|
||||||
|
foreach (getData($result) as $studienplan)
|
||||||
|
{
|
||||||
|
$studienplaene[$studienplan->studienplan_id] = $studienplan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->terminateWithSuccess($studienplaene);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get list of Ferientypen
|
||||||
|
*/
|
||||||
|
public function getFerientypen()
|
||||||
|
{
|
||||||
|
$this->load->model('organisation/Ferientyp_model', 'FerientypModel');
|
||||||
|
|
||||||
|
$this->FerientypModel->addOrder('ferientyp_kurzbz');
|
||||||
|
$result = $this->FerientypModel->load();
|
||||||
|
|
||||||
|
$data = $this->getDataOrTerminateWithError($result);
|
||||||
|
|
||||||
|
$this->terminateWithSuccess($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add Ferien
|
||||||
|
*/
|
||||||
|
public function insert()
|
||||||
|
{
|
||||||
|
$this->_validate();
|
||||||
|
|
||||||
|
$data = $this->_getData();
|
||||||
|
|
||||||
|
// check permissions for new Ferien
|
||||||
|
if (!$this->permissionlib->isBerechtigt(self::DEFAULT_BERECHTIGUNG, 'suid', $data['oe_kurzbz']))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'keineBerechtigung'));
|
||||||
|
|
||||||
|
$data = array_merge($data, ['insertamum' => date('c'), 'insertvon' => getAuthUID()]);
|
||||||
|
|
||||||
|
$id = $this->getDataOrTerminateWithError($this->FerienModel->insert($data));
|
||||||
|
|
||||||
|
$this->terminateWithSuccess(hasData($id) ? getData($id) : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update Ferien
|
||||||
|
*/
|
||||||
|
public function update()
|
||||||
|
{
|
||||||
|
$id = $this->input->post('ferien_id');
|
||||||
|
|
||||||
|
if (!is_numeric($id))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Ferien Id']), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
$this->_validate();
|
||||||
|
|
||||||
|
$data = $this->_getData();
|
||||||
|
|
||||||
|
// check permissions for existing Ferien
|
||||||
|
$this->_validateBerechtigung('suid', $id);
|
||||||
|
|
||||||
|
// check permissions for new Ferien
|
||||||
|
if (!$this->permissionlib->isBerechtigt(self::DEFAULT_BERECHTIGUNG, 'suid', $data['oe_kurzbz']))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'keineBerechtigung'));
|
||||||
|
|
||||||
|
if (isEmptyArray($data)) return $this->terminateWithSuccess(null);
|
||||||
|
|
||||||
|
$data = array_merge($data, ['ferien_id' => $id, 'updateamum' => date('c'), 'updatevon' => getAuthUID()]);
|
||||||
|
|
||||||
|
$result = $this->FerienModel->update($id, $data);
|
||||||
|
|
||||||
|
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||||
|
|
||||||
|
$this->terminateWithSuccess($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Ferien
|
||||||
|
*/
|
||||||
|
public function delete()
|
||||||
|
{
|
||||||
|
$this->load->library('form_validation');
|
||||||
|
|
||||||
|
$this->form_validation->set_rules('ferien_id', 'Ferien Id', 'required');
|
||||||
|
|
||||||
|
if (!$this->form_validation->run())
|
||||||
|
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||||
|
|
||||||
|
$ferien_id = $this->input->post('ferien_id');
|
||||||
|
|
||||||
|
$this->_validateBerechtigung('suid', $ferien_id);
|
||||||
|
|
||||||
|
$this->FerienModel->addSelect('ferien_id');
|
||||||
|
$result = $this->FerienModel->load($ferien_id);
|
||||||
|
|
||||||
|
if (!hasData($result)) return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['ferien_id' => $ferien_id]));
|
||||||
|
|
||||||
|
$result = $this->getDataOrTerminateWithError($this->FerienModel->delete($ferien_id));
|
||||||
|
|
||||||
|
$this->terminateWithSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Import Ferien from external source
|
||||||
|
*/
|
||||||
|
public function importFerien()
|
||||||
|
{
|
||||||
|
$filterVonDatum = $this->input->get('filterVonDatum');
|
||||||
|
$filterBisDatum = $this->input->get('filterBisDatum');
|
||||||
|
|
||||||
|
if (isset($filterVonDatum) && !is_valid_date($filterVonDatum))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_invalid_date'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
if (isset($filterBisDatum) && !is_valid_date($filterBisDatum))
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'error_invalid_date'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
$noImported = 0;
|
||||||
|
|
||||||
|
$data = file_get_contents($this->config->item('ferien_import_link'));
|
||||||
|
|
||||||
|
if (!$data) return $this->terminateWithError($this->p->t('ferien', 'csvNichtGelesen'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
$rows = explode("\n", $data);
|
||||||
|
$headers = [];
|
||||||
|
$ferien = [];
|
||||||
|
$headerRow = true;
|
||||||
|
|
||||||
|
foreach($rows as $row)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Wenn escape auf etwas anderes als eine leere Zeichenkette ("") gesetzt wird, kann dies zu einer CSV-Datei führen,
|
||||||
|
* die nicht mit » RFC 4180 konform ist oder die den Umlauf durch die PHP-CSV-Funktionen nicht übersteht.
|
||||||
|
* Der Standardwert für escape ist "\\", weshalb empfohlen wird, diesen Parameter explizit auf eine leere Zeichenkette zu setzen.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$fe = str_getcsv($row, ",", "\"", '');
|
||||||
|
if ($headerRow)
|
||||||
|
{
|
||||||
|
$headers = $fe;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$importedFerien = [];
|
||||||
|
foreach ($fe as $idx => $value)
|
||||||
|
{
|
||||||
|
if (!isset($headers[$idx])) continue;
|
||||||
|
$importedFerien[$headers[$idx]] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// map Ferien so they can be imported
|
||||||
|
$ferien = $this->_mapImportFerien($importedFerien);
|
||||||
|
|
||||||
|
// do not import Ferien if no successfull import or not in date range
|
||||||
|
if (
|
||||||
|
!$ferien
|
||||||
|
|| ($filterVonDatum != null && new DateTime($filterVonDatum) > new DateTime($ferien['bisdatum']))
|
||||||
|
|| ($filterBisDatum != null && new DateTime($filterBisDatum) < new DateTime($ferien['vondatum']))
|
||||||
|
) continue;
|
||||||
|
|
||||||
|
$result = $this->FerienModel->loadWhere([
|
||||||
|
'vondatum' => $ferien['vondatum'],
|
||||||
|
'bisdatum' => $ferien['bisdatum'],
|
||||||
|
'bezeichnung' => $ferien['bezeichnung'],
|
||||||
|
'oe_kurzbz' => null
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (isError($result)) return $this->terminateWithError($this->p->t('ferien', 'fehlerBeimLaden'), self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
|
// add Ferien if there have been
|
||||||
|
if (!hasData($result))
|
||||||
|
{
|
||||||
|
$result = $this->FerienModel->insert($ferien);
|
||||||
|
if (isError($result)) return $this->terminateWithError($this->p->t('ferien', 'fehlerBeimHinzufuegen'), self::ERROR_TYPE_GENERAL);
|
||||||
|
$noImported++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$headerRow = false;
|
||||||
|
}
|
||||||
|
$this->terminateWithSuccess($noImported);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate ferien post input.
|
||||||
|
*/
|
||||||
|
private function _validate()
|
||||||
|
{
|
||||||
|
$this->load->library('form_validation');
|
||||||
|
|
||||||
|
$this->form_validation->set_rules('vondatum', 'Von Datum', 'required|is_valid_date');
|
||||||
|
$this->form_validation->set_rules('bisdatum', 'Bis Datum', 'required|is_valid_date');
|
||||||
|
$this->form_validation->set_rules('bezeichnung', 'Bezeichnung', 'required|max_length[128]');
|
||||||
|
$this->form_validation->set_rules('oe_kurzbz', 'Organisationseinheit', 'max_length[32]');
|
||||||
|
$this->form_validation->set_rules('studienplan_id', 'Studienplan', 'numeric');
|
||||||
|
$this->form_validation->set_rules('ferientyp_kurzbz', 'Ferientyp', 'max_length[64]');
|
||||||
|
|
||||||
|
if (!$this->form_validation->run())
|
||||||
|
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks permission for oe of Ferien. Terminates if unauthorized.
|
||||||
|
* @param typ permission type suid
|
||||||
|
* @param ferien_id
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
private function _validateBerechtigung($typ, $ferien_id)
|
||||||
|
{
|
||||||
|
if (isset($ferien_id))
|
||||||
|
{
|
||||||
|
$this->FerienModel->addSelect('oe_kurzbz');
|
||||||
|
$result = $this->FerienModel->load($ferien_id);
|
||||||
|
|
||||||
|
if (isError($result)) return $this->terminateWithError(getError($result));
|
||||||
|
|
||||||
|
if (hasData($result))
|
||||||
|
{
|
||||||
|
$ferien = getData($result)[0];
|
||||||
|
|
||||||
|
if ($this->permissionlib->isBerechtigt(self::DEFAULT_BERECHTIGUNG, $typ, $ferien->oe_kurzbz)) return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->terminateWithError($this->p->t('ui', 'keineBerechtigung'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets Ferien data from post input.
|
||||||
|
*/
|
||||||
|
private function _getData()
|
||||||
|
{
|
||||||
|
$data = [];
|
||||||
|
|
||||||
|
$allowed = [
|
||||||
|
'vondatum',
|
||||||
|
'bisdatum',
|
||||||
|
'bezeichnung',
|
||||||
|
'oe_kurzbz',
|
||||||
|
'studienplan_id',
|
||||||
|
'ferientyp_kurzbz'
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($allowed as $field)
|
||||||
|
{
|
||||||
|
$data[$field] = $this->input->post($field);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Map ferien from external source to internal format
|
||||||
|
* @param $importedFerien from external source
|
||||||
|
* @return array imported Ferien, in fhcomplete format
|
||||||
|
*/
|
||||||
|
private function _mapImportFerien($importedFerien)
|
||||||
|
{
|
||||||
|
$mappings = [
|
||||||
|
'vondatum' => 'DATUM',
|
||||||
|
'bisdatum' => 'DATUM',
|
||||||
|
'bezeichnung' => 'TEXT'
|
||||||
|
];
|
||||||
|
|
||||||
|
$ferien = [
|
||||||
|
'ferientyp_kurzbz' => self::FERIENTYP_KURZBZ,
|
||||||
|
'insertamum' => date('c'),
|
||||||
|
'insertvon' => getAuthUID()
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($mappings as $key => $name)
|
||||||
|
{
|
||||||
|
if (!isset($importedFerien[$name])) return null;
|
||||||
|
$ferien[$key] = $importedFerien[$name];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ferien;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -370,6 +370,7 @@ class LvTermine extends FHCAPI_Controller
|
|||||||
$result->semester = $item->semester;
|
$result->semester = $item->semester;
|
||||||
$result->verband = $item->verband;
|
$result->verband = $item->verband;
|
||||||
$result->gruppe = $item->gruppe;
|
$result->gruppe = $item->gruppe;
|
||||||
|
$result->studiensemester_kurzbz = $item->studiensemester_kurzbz;
|
||||||
return $result;
|
return $result;
|
||||||
},
|
},
|
||||||
$lehrverband_query_result));
|
$lehrverband_query_result));
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ class Projektarbeit extends FHCAPI_Controller
|
|||||||
$this->load->model('education/Note_model', 'NoteModel');
|
$this->load->model('education/Note_model', 'NoteModel');
|
||||||
$this->load->model('education/Projektbetreuer_model', 'BetreuerModel');
|
$this->load->model('education/Projektbetreuer_model', 'BetreuerModel');
|
||||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||||
|
$this->load->model('crm/Student_model', 'StudentModel');
|
||||||
|
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||||
|
|
||||||
// load libraries
|
// load libraries
|
||||||
$this->load->library('PermissionLib');
|
$this->load->library('PermissionLib');
|
||||||
@@ -100,16 +102,16 @@ class Projektarbeit extends FHCAPI_Controller
|
|||||||
private function fetchProjektarbeitById($projektarbeit_id) {
|
private function fetchProjektarbeitById($projektarbeit_id) {
|
||||||
$this->ProjektarbeitModel->resetQuery();
|
$this->ProjektarbeitModel->resetQuery();
|
||||||
$this->ProjektarbeitModel->addSelect(
|
$this->ProjektarbeitModel->addSelect(
|
||||||
'lehre.tbl_projektarbeit.projektarbeit_id, titel, titel_english, themenbereich, projekttyp_kurzbz, lehrveranstaltung_id, lehreinheit_id,
|
'lehre.tbl_projektarbeit.projektarbeit_id, titel, titel_english, themenbereich, projekttyp_kurzbz, lehrveranstaltung_id, lehreinheit_id,
|
||||||
firma_id, beginn, ende, gesperrtbis, note, final, freigegeben, tbl_projektarbeit.anmerkung, fa.name AS firma_name'
|
tbl_projektarbeit.studiensemester_kurzbz, firma_id, beginn, ende, gesperrtbis, note, final, freigegeben, tbl_projektarbeit.anmerkung, fa.name AS firma_name'
|
||||||
);
|
);
|
||||||
$this->ProjektarbeitModel->addJoin('lehre.tbl_lehreinheit le', 'lehreinheit_id');
|
|
||||||
$this->ProjektarbeitModel->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id');
|
$this->ProjektarbeitModel->addJoin('lehre.tbl_lehrveranstaltung lv', 'lehrveranstaltung_id');
|
||||||
$this->ProjektarbeitModel->addJoin('public.tbl_firma fa', 'firma_id', 'LEFT');
|
$this->ProjektarbeitModel->addJoin('public.tbl_firma fa', 'firma_id', 'LEFT');
|
||||||
|
|
||||||
|
|
||||||
return $this->ProjektarbeitModel->loadWhere(
|
return $this->ProjektarbeitModel->loadWhere(
|
||||||
array('projektarbeit_id' => $projektarbeit_id)
|
array('projektarbeit_id' => $projektarbeit_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -246,14 +248,38 @@ class Projektarbeit extends FHCAPI_Controller
|
|||||||
$additional_lehrveranstaltung_id = $this->input->get('additional_lehrveranstaltung_id');
|
$additional_lehrveranstaltung_id = $this->input->get('additional_lehrveranstaltung_id');
|
||||||
|
|
||||||
if (!isset($student_uid)) $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Student UID']), self::ERROR_TYPE_GENERAL);
|
if (!isset($student_uid)) $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Student UID']), self::ERROR_TYPE_GENERAL);
|
||||||
if (!isset($studiensemester_kurzbz)) $this->terminateWithError('Studiensemster missing', self::ERROR_TYPE_GENERAL);
|
if (!isset($studiensemester_kurzbz)) $this->terminateWithError('Studiensemester missing', self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
// get Lvs
|
// get prestudent_id from student model
|
||||||
|
$studentRes = $this->StudentModel->load(['student_uid' => $student_uid]);
|
||||||
|
if(hasData($studentRes)) {
|
||||||
|
$student = getData($studentRes);
|
||||||
|
} else {
|
||||||
|
$this->terminateWithError($studentRes, self::ERROR_TYPE_GENERAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
// to get prestudent_status history
|
||||||
|
$historyRes = $this->PrestudentstatusModel->getHistoryPrestudent($student[0]->prestudent_id);
|
||||||
|
if(hasData($historyRes)) {
|
||||||
|
$history = getData($historyRes);
|
||||||
|
} else {
|
||||||
|
$this->terminateWithError($historyRes, self::ERROR_TYPE_GENERAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
// query for every lva of a studiengang that has projektarbeit flag true
|
||||||
$lvsResult = $this->LehrveranstaltungModel->getLvsForProjektarbeit($student_uid, $studiengang_kz, $additional_lehrveranstaltung_id);
|
$lvsResult = $this->LehrveranstaltungModel->getLvsForProjektarbeit($student_uid, $studiengang_kz, $additional_lehrveranstaltung_id);
|
||||||
|
|
||||||
if (isError($lvsResult)) return $this->terminateWithError($lvsResult, self::ERROR_TYPE_GENERAL);
|
if (isError($lvsResult)) return $this->terminateWithError($lvsResult, self::ERROR_TYPE_GENERAL);
|
||||||
|
|
||||||
$lvs = hasData($lvsResult) ? getData($lvsResult) : [];
|
$lvs = hasData($lvsResult) ? getData($lvsResult) : [];
|
||||||
|
|
||||||
|
$lvsIDs = array_column($lvs, 'lehrveranstaltung_id');
|
||||||
|
|
||||||
|
// get current studienplan_id from status history to find out which lva options are actually assigned to the students studienplan
|
||||||
|
// important so the projektarbeit has the correct lva assigned to be able to find and print the thesis title on the degree documents!
|
||||||
|
$currentStatus = $history[0];
|
||||||
|
$lvByStudienPlanRes = $this->LehrveranstaltungModel->getLvsByStudienplanByLvaIDs($currentStatus->studienplan_id, $lvsIDs);
|
||||||
|
if(hasData($lvByStudienPlanRes)) {
|
||||||
|
$lvs = getData($lvByStudienPlanRes);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($lvs as $lv)
|
foreach ($lvs as $lv)
|
||||||
{
|
{
|
||||||
@@ -320,11 +346,18 @@ class Projektarbeit extends FHCAPI_Controller
|
|||||||
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Projekttyp'])
|
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Projekttyp'])
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->form_validation->set_rules('lehreinheit_id', 'Lehreinheit', 'required|is_natural', [
|
$this->form_validation->set_rules('lehreinheit_id', 'Lehreinheit', 'is_natural', [
|
||||||
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Lehreinheit']),
|
|
||||||
'is_natural' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Lehreinheit'])
|
'is_natural' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Lehreinheit'])
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$this->form_validation->set_rules('lehrveranstaltung_id', 'Lehrveranstaltung', 'required', [
|
||||||
|
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Lehrveranstaltung'])
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->form_validation->set_rules('studiensemester_kurzbz', 'Studiensemester', 'required', [
|
||||||
|
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Studiensemester'])
|
||||||
|
]);
|
||||||
|
|
||||||
$this->form_validation->set_rules('beginn', 'Beginn', 'is_valid_date', [
|
$this->form_validation->set_rules('beginn', 'Beginn', 'is_valid_date', [
|
||||||
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Beginn'])
|
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'Beginn'])
|
||||||
]);
|
]);
|
||||||
@@ -354,6 +387,8 @@ class Projektarbeit extends FHCAPI_Controller
|
|||||||
'projekttyp_kurzbz' => $formData['projekttyp_kurzbz'],
|
'projekttyp_kurzbz' => $formData['projekttyp_kurzbz'],
|
||||||
'firma_id' => $formData['firma_id'] ?? null,
|
'firma_id' => $formData['firma_id'] ?? null,
|
||||||
'lehreinheit_id' => $formData['lehreinheit_id'],
|
'lehreinheit_id' => $formData['lehreinheit_id'],
|
||||||
|
'lehrveranstaltung_id' => $formData['lehrveranstaltung_id'],
|
||||||
|
'studiensemester_kurzbz' => $formData['studiensemester_kurzbz'],
|
||||||
'beginn' => isset($formData['beginn']) && !isEmptyString($formData['beginn']) ? $formData['beginn'] : null,
|
'beginn' => isset($formData['beginn']) && !isEmptyString($formData['beginn']) ? $formData['beginn'] : null,
|
||||||
'ende' => isset($formData['ende']) && !isEmptyString($formData['ende']) ? $formData['ende'] : null,
|
'ende' => isset($formData['ende']) && !isEmptyString($formData['ende']) ? $formData['ende'] : null,
|
||||||
'note' => $formData['note'] ?? null,
|
'note' => $formData['note'] ?? null,
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ class Students extends FHCAPI_Controller
|
|||||||
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$studiensemester_kurzbz = $this->getStudiensemesterKurzbz($studiensemester_kurzbz);
|
||||||
|
|
||||||
$this->studentlistlib->addJoin(
|
$this->studentlistlib->addJoin(
|
||||||
"(
|
"(
|
||||||
@@ -153,7 +154,8 @@ class Students extends FHCAPI_Controller
|
|||||||
$this->addMeta('ci_params', [
|
$this->addMeta('ci_params', [
|
||||||
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$studiensemester_kurzbz = $this->getStudiensemesterKurzbz($studiensemester_kurzbz);
|
||||||
|
|
||||||
$this->studentlistlib->addJoin(
|
$this->studentlistlib->addJoin(
|
||||||
"(
|
"(
|
||||||
@@ -213,6 +215,7 @@ class Students extends FHCAPI_Controller
|
|||||||
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$studiensemester_kurzbz = $this->getStudiensemesterKurzbz($studiensemester_kurzbz);
|
||||||
|
|
||||||
$this->studentlistlib->addJoin(
|
$this->studentlistlib->addJoin(
|
||||||
"(
|
"(
|
||||||
|
|||||||
@@ -803,7 +803,7 @@ class ReihungstestJob extends JOB_Controller
|
|||||||
{
|
{
|
||||||
if (!isset($studiensemester) || isEmptyString($studiensemester))
|
if (!isset($studiensemester) || isEmptyString($studiensemester))
|
||||||
{
|
{
|
||||||
$this->logError("Studiensemster not passed as parameter");
|
$this->logError("Studiensemester not passed as parameter");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ferien management
|
||||||
|
*/
|
||||||
|
class Ferienverwaltung extends Auth_Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct(
|
||||||
|
array(
|
||||||
|
'index' => ['basis/ferien:r']
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Loads WidgetLib
|
||||||
|
//$this->load->library('WidgetLib');
|
||||||
|
|
||||||
|
// Loads phrases system
|
||||||
|
$this->loadPhrases(
|
||||||
|
array(
|
||||||
|
'global',
|
||||||
|
'ui'
|
||||||
|
//'ferien'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
|
// Public methods
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Everything has a beginning
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$this->load->view('lehre/ferienverwaltung.php');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -34,6 +34,9 @@ class InfoCenter extends Auth_Controller
|
|||||||
const PREV_FILTER_ID = 'prev_filter_id';
|
const PREV_FILTER_ID = 'prev_filter_id';
|
||||||
const KEEP_TABLESORTER_FILTER = 'keepTsFilter';
|
const KEEP_TABLESORTER_FILTER = 'keepTsFilter';
|
||||||
|
|
||||||
|
const ONBOARDING_INSERTVON = 'onboarding';
|
||||||
|
const ONBOARDING_KENNZEICHENTYP = 'eobRegistrierungsId';
|
||||||
|
|
||||||
private $_uid; // contains the UID of the logged user
|
private $_uid; // contains the UID of the logged user
|
||||||
|
|
||||||
// Used to log with PersonLogLib
|
// Used to log with PersonLogLib
|
||||||
@@ -175,6 +178,7 @@ class InfoCenter extends Auth_Controller
|
|||||||
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
||||||
$this->load->model('person/Geschlecht_model', 'GeschlechtModel');
|
$this->load->model('person/Geschlecht_model', 'GeschlechtModel');
|
||||||
$this->load->model('person/adresse_model', 'AdresseModel');
|
$this->load->model('person/adresse_model', 'AdresseModel');
|
||||||
|
$this->load->model('person/Kennzeichen_model', 'KennzeichenModel');
|
||||||
|
|
||||||
// Loads libraries
|
// Loads libraries
|
||||||
$this->load->library('PersonLogLib');
|
$this->load->library('PersonLogLib');
|
||||||
@@ -1452,6 +1456,100 @@ class InfoCenter extends Auth_Controller
|
|||||||
|
|
||||||
$this->outputJsonSuccess("Done!");
|
$this->outputJsonSuccess("Done!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getAbsageData()
|
||||||
|
{
|
||||||
|
$stg_typ = $this->getStudienArtBerechtigung(['b', 'm']);
|
||||||
|
|
||||||
|
if (!is_null($stg_typ))
|
||||||
|
{
|
||||||
|
$statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
||||||
|
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
||||||
|
$studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(array_column($stg_typ, 'typ'), $studienSemester);
|
||||||
|
|
||||||
|
$data = array (
|
||||||
|
'statusgruende' => $statusgruende,
|
||||||
|
'studiengaenge' => $studiengaenge->retval
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->outputJsonSuccess($data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$this->outputJsonSuccess(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStudienArtBerechtigung($typ = null)
|
||||||
|
{
|
||||||
|
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
||||||
|
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, $typ);
|
||||||
|
return getData($stg_typ);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStudienartData()
|
||||||
|
{
|
||||||
|
$this->outputJsonSuccess($this->getStudienArtBerechtigung(['b', 'm', 'l']));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function saveAbsageForAll()
|
||||||
|
{
|
||||||
|
$statusgrund = $this->input->post('statusgrund');
|
||||||
|
$studiengang = $this->input->post('studiengang');
|
||||||
|
$abgeschickt = $this->input->post('abgeschickt');
|
||||||
|
$personen = $this->input->post('personen');
|
||||||
|
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
||||||
|
|
||||||
|
if ($statusgrund === 'null' || $studiengang === 'null' || $abgeschickt === 'null' || empty($personen))
|
||||||
|
$this->terminateWithJsonError("Bitte füllen Sie alle Felder aus");
|
||||||
|
|
||||||
|
if ($studiengang === 'all' && $abgeschickt === 'all')
|
||||||
|
{
|
||||||
|
foreach($personen as $person)
|
||||||
|
{
|
||||||
|
$prestudenten = $this->PrestudentModel->getByPersonWithoutLehrgang($person, $studienSemester);
|
||||||
|
|
||||||
|
if (!hasData($prestudenten))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$prestudentenData = getData($prestudenten);
|
||||||
|
|
||||||
|
foreach ($prestudentenData as $prestudent)
|
||||||
|
{
|
||||||
|
$this->saveAbsage($prestudent->prestudent_id, $statusgrund);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->load->model('organisation/Studienplan_model', 'StudienplanModel');
|
||||||
|
|
||||||
|
$this->StudienplanModel->addSelect('1');
|
||||||
|
$this->StudienplanModel->addJoin('lehre.tbl_studienordnung so', 'studienordnung_id');
|
||||||
|
$escaped = $this->StudienplanModel->db->escape(strtoupper($studiengang));
|
||||||
|
$this->StudienplanModel->db->where("UPPER(so.studiengangkurzbzlang || ':' || tbl_studienplan.orgform_kurzbz) = $escaped");
|
||||||
|
$this->StudienplanModel->addLimit(1);
|
||||||
|
$studiengangResult = $this->StudienplanModel->load();
|
||||||
|
|
||||||
|
if (hasData($studiengangResult))
|
||||||
|
{
|
||||||
|
foreach($personen as $person)
|
||||||
|
{
|
||||||
|
$prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester, $abgeschickt, $abgeschickt === 'all');
|
||||||
|
|
||||||
|
if (!hasData($prestudent))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$prestudentData = getData($prestudent);
|
||||||
|
$this->saveAbsage($prestudentData[0]->prestudent_id, $statusgrund);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$this->terminateWithJsonError("Falschen Studiengang übergeben!");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->outputJsonSuccess("Success");
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------------------
|
||||||
// Private methods
|
// Private methods
|
||||||
|
|
||||||
@@ -1946,6 +2044,17 @@ class InfoCenter extends Auth_Controller
|
|||||||
show_error(getError($user_person));
|
show_error(getError($user_person));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add info about first electronig onboarding login
|
||||||
|
$this->KennzeichenModel->addSelect('insertamum');
|
||||||
|
$onboarding_first_login = $this->KennzeichenModel->loadWhere(
|
||||||
|
array('person_id' => $person_id, 'kennzeichentyp_kurzbz' => self::ONBOARDING_KENNZEICHENTYP)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isError($onboarding_first_login))
|
||||||
|
{
|
||||||
|
show_error(getError($onboarding_first_login));
|
||||||
|
}
|
||||||
|
|
||||||
$data = array (
|
$data = array (
|
||||||
'lockedby' => $lockedby,
|
'lockedby' => $lockedby,
|
||||||
'lockedbyother' => $lockedbyother,
|
'lockedbyother' => $lockedbyother,
|
||||||
@@ -1955,7 +2064,9 @@ class InfoCenter extends Auth_Controller
|
|||||||
'messages' => $messages->retval,
|
'messages' => $messages->retval,
|
||||||
'logs' => $logs,
|
'logs' => $logs,
|
||||||
'notizen' => $notizen->retval,
|
'notizen' => $notizen->retval,
|
||||||
'notizenbewerbung' => $notizen_bewerbung->retval
|
'notizenbewerbung' => $notizen_bewerbung->retval,
|
||||||
|
'created_by_onboarding' => $stammdaten->retval->insertvon == self::ONBOARDING_INSERTVON,
|
||||||
|
'onboarding_first_login' => hasData($onboarding_first_login) ? getData($onboarding_first_login)[0]->insertamum : null
|
||||||
);
|
);
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
@@ -2375,97 +2486,4 @@ class InfoCenter extends Auth_Controller
|
|||||||
$this->loglib->logError('Studiengang has no mail for sending Freigabe mail');
|
$this->loglib->logError('Studiengang has no mail for sending Freigabe mail');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAbsageData()
|
|
||||||
{
|
|
||||||
$stg_typ = $this->getStudienArtBerechtigung(['b', 'm']);
|
|
||||||
|
|
||||||
if (!is_null($stg_typ))
|
|
||||||
{
|
|
||||||
$statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
|
||||||
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
|
||||||
$studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(array_column($stg_typ, 'typ'), $studienSemester);
|
|
||||||
|
|
||||||
$data = array (
|
|
||||||
'statusgruende' => $statusgruende,
|
|
||||||
'studiengaenge' => $studiengaenge->retval
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->outputJsonSuccess($data);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
$this->outputJsonSuccess(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getStudienArtBerechtigung($typ = null)
|
|
||||||
{
|
|
||||||
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
|
||||||
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, $typ);
|
|
||||||
return getData($stg_typ);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getStudienartData()
|
|
||||||
{
|
|
||||||
$this->outputJsonSuccess($this->getStudienArtBerechtigung(['b', 'm', 'l']));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function saveAbsageForAll()
|
|
||||||
{
|
|
||||||
$statusgrund = $this->input->post('statusgrund');
|
|
||||||
$studiengang = $this->input->post('studiengang');
|
|
||||||
$abgeschickt = $this->input->post('abgeschickt');
|
|
||||||
$personen = $this->input->post('personen');
|
|
||||||
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
|
||||||
|
|
||||||
if ($statusgrund === 'null' || $studiengang === 'null' || $abgeschickt === 'null' || empty($personen))
|
|
||||||
$this->terminateWithJsonError("Bitte füllen Sie alle Felder aus");
|
|
||||||
|
|
||||||
if ($studiengang === 'all' && $abgeschickt === 'all')
|
|
||||||
{
|
|
||||||
foreach($personen as $person)
|
|
||||||
{
|
|
||||||
$prestudenten = $this->PrestudentModel->getByPersonWithoutLehrgang($person, $studienSemester);
|
|
||||||
|
|
||||||
if (!hasData($prestudenten))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
$prestudentenData = getData($prestudenten);
|
|
||||||
|
|
||||||
foreach ($prestudentenData as $prestudent)
|
|
||||||
{
|
|
||||||
$this->saveAbsage($prestudent->prestudent_id, $statusgrund);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->load->model('organisation/Studienplan_model', 'StudienplanModel');
|
|
||||||
|
|
||||||
$this->StudienplanModel->addSelect('1');
|
|
||||||
$this->StudienplanModel->addJoin('lehre.tbl_studienordnung so', 'studienordnung_id');
|
|
||||||
$escaped = $this->StudienplanModel->db->escape(strtoupper($studiengang));
|
|
||||||
$this->StudienplanModel->db->where("UPPER(so.studiengangkurzbzlang || ':' || tbl_studienplan.orgform_kurzbz) = $escaped");
|
|
||||||
$this->StudienplanModel->addLimit(1);
|
|
||||||
$studiengangResult = $this->StudienplanModel->load();
|
|
||||||
|
|
||||||
if (hasData($studiengangResult))
|
|
||||||
{
|
|
||||||
foreach($personen as $person)
|
|
||||||
{
|
|
||||||
$prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester, $abgeschickt, $abgeschickt === 'all');
|
|
||||||
|
|
||||||
if (!hasData($prestudent))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
$prestudentData = getData($prestudent);
|
|
||||||
$this->saveAbsage($prestudentData[0]->prestudent_id, $statusgrund);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
$this->terminateWithJsonError("Falschen Studiengang übergeben!");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->outputJsonSuccess("Success");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,8 @@ class Rueckstellung extends Auth_Controller
|
|||||||
private $_ci; // Code igniter instance
|
private $_ci; // Code igniter instance
|
||||||
private $_uid;
|
private $_uid;
|
||||||
|
|
||||||
|
const ZGV_UEBERPRUEFUNG_MAIL_VORLAGE = 'ZGVUEP';
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct(
|
parent::__construct(
|
||||||
@@ -23,6 +25,7 @@ class Rueckstellung extends Auth_Controller
|
|||||||
$this->load->model('crm/RueckstellungStatus_model', 'RueckstellungStatusModel');
|
$this->load->model('crm/RueckstellungStatus_model', 'RueckstellungStatusModel');
|
||||||
$this->load->model('person/Person_model', 'PersonModel');
|
$this->load->model('person/Person_model', 'PersonModel');
|
||||||
$this->load->library('PersonLogLib');
|
$this->load->library('PersonLogLib');
|
||||||
|
$this->load->library('MessageLib');
|
||||||
|
|
||||||
$this->_setAuthUID(); // sets property uid
|
$this->_setAuthUID(); // sets property uid
|
||||||
|
|
||||||
@@ -78,6 +81,8 @@ class Rueckstellung extends Auth_Controller
|
|||||||
|
|
||||||
$this->_log($person_id, $status_kurzbz);
|
$this->_log($person_id, $status_kurzbz);
|
||||||
|
|
||||||
|
if ($status_kurzbz === 'onhold_zgv')
|
||||||
|
$this->sendRueckstellungMessage($person_id);
|
||||||
$this->outputJson($result);
|
$this->outputJson($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,6 +109,10 @@ class Rueckstellung extends Auth_Controller
|
|||||||
if (isError($result))
|
if (isError($result))
|
||||||
$this->terminateWithJsonError(getError($result));
|
$this->terminateWithJsonError(getError($result));
|
||||||
$this->_log($person, $status_kurzbz);
|
$this->_log($person, $status_kurzbz);
|
||||||
|
|
||||||
|
if ($status_kurzbz === 'onhold_zgv')
|
||||||
|
$this->sendRueckstellungMessage($person);
|
||||||
|
|
||||||
}
|
}
|
||||||
$this->outputJsonSuccess("Erfolgreich gespeichert!");
|
$this->outputJsonSuccess("Erfolgreich gespeichert!");
|
||||||
}
|
}
|
||||||
@@ -160,4 +169,26 @@ class Rueckstellung extends Auth_Controller
|
|||||||
$this->_uid
|
$this->_uid
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function sendRueckstellungMessage($person_id)
|
||||||
|
{
|
||||||
|
$person = $this->_ci->PersonModel->load($person_id);
|
||||||
|
|
||||||
|
if (hasData($person))
|
||||||
|
{
|
||||||
|
$person = getData($person)[0];
|
||||||
|
|
||||||
|
return $this->messagelib->sendMessageUserTemplate(
|
||||||
|
$person_id,
|
||||||
|
self::ZGV_UEBERPRUEFUNG_MAIL_VORLAGE,
|
||||||
|
array(
|
||||||
|
'anrede' => $person->anrede,
|
||||||
|
'nachname' => $person->nachname
|
||||||
|
),
|
||||||
|
null,
|
||||||
|
getAuthPersonId(),
|
||||||
|
'infocenter'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -741,7 +741,7 @@ class AnrechnungLib
|
|||||||
$fullname = hasData($result) ? $result->retval[0]->vorname. $result->retval[0]->nachname : '';
|
$fullname = hasData($result) ? $result->retval[0]->vorname. $result->retval[0]->nachname : '';
|
||||||
|
|
||||||
// Return filename
|
// Return filename
|
||||||
return 'Anrechnungsantrag'. $orgform_kurzbz .'_LV-'. $lehrveranstaltung_id. '_'. $fullname;
|
return 'Anrechnungsantrag'. $orgform_kurzbz .'_LV-'. $lehrveranstaltung_id. '_'. $fullname . '.pdf';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function LVhasLector($anrechnung_id)
|
public function LVhasLector($anrechnung_id)
|
||||||
|
|||||||
@@ -405,11 +405,7 @@ class StundenplanLib
|
|||||||
|
|
||||||
$tz = new DateTimeZone($this->_ci->config->item('timezone'));
|
$tz = new DateTimeZone($this->_ci->config->item('timezone'));
|
||||||
|
|
||||||
$ferienEvents = $this->_ci->FerienModel->execReadOnlyQuery("
|
$ferienEvents = $this->_ci->FerienModel->getByDateRange($start_date, $end_date, $studiengang_kz);
|
||||||
SELECT *
|
|
||||||
FROM lehre.tbl_ferien
|
|
||||||
WHERE (bisdatum >= ? AND vondatum < ?) AND (studiengang_kz = 0 OR studiengang_kz = ?)
|
|
||||||
", [$start_date, $end_date, $studiengang_kz]);
|
|
||||||
|
|
||||||
if (isError($ferienEvents))
|
if (isError($ferienEvents))
|
||||||
return $ferienEvents;
|
return $ferienEvents;
|
||||||
|
|||||||
@@ -31,18 +31,20 @@ class Vertrag_model extends DB_Model
|
|||||||
*/
|
*/
|
||||||
public function save($person_id, $mitarbeiter_uid, $lehrveranstaltung_id, $lehreinheit_id, $projektarbeit_id = null, $vertragsstunden, $betrag, $studiensemester_kurzbz)
|
public function save($person_id, $mitarbeiter_uid, $lehrveranstaltung_id, $lehreinheit_id, $projektarbeit_id = null, $vertragsstunden, $betrag, $studiensemester_kurzbz)
|
||||||
{
|
{
|
||||||
$person_id = (isset($person_id) && is_numeric($person_id))
|
$vertragstyp_kurzbz = (is_null($projektarbeit_id)) ? 'Lehrauftrag' : 'Betreuung';
|
||||||
|
|
||||||
|
$person_id = (isset($person_id) && is_numeric($person_id))
|
||||||
? $person_id
|
? $person_id
|
||||||
: show_error('peron_id must be set and numeric.');
|
: show_error('peron_id must be set and numeric.');
|
||||||
$lehreinheit_id = (isset($lehreinheit_id) && is_numeric($lehreinheit_id))
|
|
||||||
? $lehreinheit_id
|
|
||||||
: show_error('lehreinheit_id must be set and numeric.');
|
|
||||||
$lehrveranstaltung_id = (isset($lehrveranstaltung_id) && is_numeric($lehrveranstaltung_id))
|
$lehrveranstaltung_id = (isset($lehrveranstaltung_id) && is_numeric($lehrveranstaltung_id))
|
||||||
? $lehrveranstaltung_id
|
? $lehrveranstaltung_id
|
||||||
: show_error('lehrveranstaltung_id must be set and numeric.');
|
: show_error('lehrveranstaltung_id must be set and numeric.');
|
||||||
$projektarbeit_id = (isset($projektarbeit_id) && is_numeric($projektarbeit_id))
|
$projektarbeit_id = (isset($projektarbeit_id) && is_numeric($projektarbeit_id))
|
||||||
? $projektarbeit_id
|
? $projektarbeit_id
|
||||||
: null;
|
: null;
|
||||||
|
$lehreinheit_id = (isset($lehreinheit_id) && is_numeric($lehreinheit_id))
|
||||||
|
? $lehreinheit_id
|
||||||
|
: (($vertragstyp_kurzbz == 'Betreuung') ? null : show_error('lehreinheit_id must be set and numeric.'));
|
||||||
$vertragsstunden = (isset($vertragsstunden) && is_numeric($vertragsstunden))
|
$vertragsstunden = (isset($vertragsstunden) && is_numeric($vertragsstunden))
|
||||||
? $vertragsstunden
|
? $vertragsstunden
|
||||||
: 0;
|
: 0;
|
||||||
@@ -53,7 +55,7 @@ class Vertrag_model extends DB_Model
|
|||||||
? $mitarbeiter_uid
|
? $mitarbeiter_uid
|
||||||
: show_error('mitarbeiter_uid must be set and a string value.');;
|
: show_error('mitarbeiter_uid must be set and a string value.');;
|
||||||
|
|
||||||
$vertragstyp_kurzbz = (is_null($projektarbeit_id)) ? 'Lehrauftrag' : 'Betreuung';
|
|
||||||
|
|
||||||
// First check if Vertrag already exists for that Lehrauftrag or for that Projektbetreuerauftrag
|
// First check if Vertrag already exists for that Lehrauftrag or for that Projektbetreuerauftrag
|
||||||
if ($vertragstyp_kurzbz == 'Lehrauftrag')
|
if ($vertragstyp_kurzbz == 'Lehrauftrag')
|
||||||
@@ -257,7 +259,7 @@ class Vertrag_model extends DB_Model
|
|||||||
}
|
}
|
||||||
elseif ($vertragstyp_kurzbz == 'Betreuung')
|
elseif ($vertragstyp_kurzbz == 'Betreuung')
|
||||||
{
|
{
|
||||||
$this->addSelect('lehreinheit_id');
|
$this->addSelect('lehreinheit_id, lehre.tbl_projektarbeit.lehrveranstaltung_id, lehre.tbl_projektarbeit.studiensemester_kurzbz');
|
||||||
$this->addJoin('lehre.tbl_projektbetreuer', 'vertrag_id');
|
$this->addJoin('lehre.tbl_projektbetreuer', 'vertrag_id');
|
||||||
$this->addJoin('lehre.tbl_projektarbeit', 'projektarbeit_id');
|
$this->addJoin('lehre.tbl_projektarbeit', 'projektarbeit_id');
|
||||||
if ($result = $this->loadWhere(array('vertrag_id' => $vertrag_id)))
|
if ($result = $this->loadWhere(array('vertrag_id' => $vertrag_id)))
|
||||||
@@ -281,17 +283,22 @@ class Vertrag_model extends DB_Model
|
|||||||
{
|
{
|
||||||
if ($result = getData($this->getLehreinheitID($vertrag_id)))
|
if ($result = getData($this->getLehreinheitID($vertrag_id)))
|
||||||
{
|
{
|
||||||
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
|
if (!empty($result[0]->lehreinheit_id))
|
||||||
$this->LehreinheitModel->addSelect($select);
|
{
|
||||||
|
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
|
||||||
|
$this->LehreinheitModel->addSelect($select);
|
||||||
|
|
||||||
if($result = $this->LehreinheitModel->load($result[0]->lehreinheit_id))
|
if ($result = $this->LehreinheitModel->load($result[0]->lehreinheit_id))
|
||||||
{
|
{
|
||||||
return success($result->retval);
|
return success($result->retval);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return error('Fehler beim Laden der Lehreinheit');
|
return error('Fehler beim Laden der Lehreinheit');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return success($result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -563,14 +570,13 @@ SELECT
|
|||||||
null::integer as pruefung_id,
|
null::integer as pruefung_id,
|
||||||
projektarbeit_id,
|
projektarbeit_id,
|
||||||
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag1,
|
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag1,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz,
|
tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
tbl_projektbetreuer.betreuerart_kurzbz,
|
tbl_projektbetreuer.betreuerart_kurzbz,
|
||||||
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
||||||
as bezeichnung
|
as bezeichnung
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer
|
lehre.tbl_projektbetreuer
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektbetreuer.person_id=?
|
tbl_projektbetreuer.person_id=?
|
||||||
AND vertrag_id IS NULL
|
AND vertrag_id IS NULL
|
||||||
@@ -619,14 +625,13 @@ SELECT
|
|||||||
null::integer as pruefung_id,
|
null::integer as pruefung_id,
|
||||||
projektarbeit_id,
|
projektarbeit_id,
|
||||||
(tbl_projektbetreuer.stunden * tbl_projektbetreuer.stundensatz) as betrag,
|
(tbl_projektbetreuer.stunden * tbl_projektbetreuer.stundensatz) as betrag,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz,
|
tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
tbl_projektbetreuer.betreuerart_kurzbz,
|
tbl_projektbetreuer.betreuerart_kurzbz,
|
||||||
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
||||||
as bezeichnung, vertrag_id
|
as bezeichnung, vertrag_id
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer
|
lehre.tbl_projektbetreuer
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektbetreuer.person_id=?
|
tbl_projektbetreuer.person_id=?
|
||||||
AND vertrag_id = ?
|
AND vertrag_id = ?
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ class Prestudentstatus_model extends DB_Model
|
|||||||
* @param prestudent_id ID of the Prestudent.
|
* @param prestudent_id ID of the Prestudent.
|
||||||
* @param $status_kurzbz kurzbz of the status.
|
* @param $status_kurzbz kurzbz of the status.
|
||||||
* @param $ausbildungssemester ausbildungssemester of the status.
|
* @param $ausbildungssemester ausbildungssemester of the status.
|
||||||
* @param $studiensemester_kurzbz studiensemster of the status.
|
* @param $studiensemester_kurzbz studiensemester of the status.
|
||||||
*
|
*
|
||||||
* @return result object with all the status entries
|
* @return result object with all the status entries
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -85,9 +85,18 @@ class Lehreinheitmitarbeiter_model extends DB_Model
|
|||||||
|
|
||||||
public function getLektorenByLe($lehreinheit_id)
|
public function getLektorenByLe($lehreinheit_id)
|
||||||
{
|
{
|
||||||
$this->addSelect('vorname, nachname, tbl_lehreinheitmitarbeiter.*, stundenplan.verplant');
|
$this->addSelect('tbl_person.vorname, tbl_person.nachname, tbl_lehreinheitmitarbeiter.*, stundenplan.verplant,
|
||||||
|
COALESCE(insertvonperson.vorname || \' \' || insertvonperson.nachname, tbl_lehreinheitmitarbeiter.insertvon) as insertvon,
|
||||||
|
COALESCE(updatevonperson.vorname || \' \' || updatevonperson.nachname, tbl_lehreinheitmitarbeiter.updatevon) as updatevon');
|
||||||
$this->addJoin('tbl_benutzer', 'uid = mitarbeiter_uid');
|
$this->addJoin('tbl_benutzer', 'uid = mitarbeiter_uid');
|
||||||
$this->addJoin('tbl_person', 'person_id');
|
$this->addJoin('tbl_person', 'person_id');
|
||||||
|
$this->addJoin('tbl_benutzer insertvonbenutzer', 'insertvonbenutzer.uid = tbl_lehreinheitmitarbeiter.insertvon', 'LEFT');
|
||||||
|
$this->addJoin('tbl_person insertvonperson', 'insertvonperson.person_id = insertvonbenutzer.person_id', 'LEFT');
|
||||||
|
|
||||||
|
$this->addJoin('tbl_benutzer updatevonbenutzer', 'updatevonbenutzer.uid = tbl_lehreinheitmitarbeiter.updatevon', 'LEFT');
|
||||||
|
$this->addJoin('tbl_person updatevonperson', 'updatevonperson.person_id = updatevonbenutzer.person_id', 'LEFT');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$this->addJoin('(
|
$this->addJoin('(
|
||||||
SELECT 1 as verplant, lehreinheit_id, mitarbeiter_uid
|
SELECT 1 as verplant, lehreinheit_id, mitarbeiter_uid
|
||||||
|
|||||||
@@ -1263,6 +1263,39 @@ class Lehrveranstaltung_model extends DB_Model
|
|||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets lehrveranstaltungen of Studienplan of a certain lva_id set
|
||||||
|
* used if a bigger set of lva id is already available and it needs to be checked against a certain studienplan aswell
|
||||||
|
* @param $studienplan_id ID des Studienplans
|
||||||
|
* @param $lva_ids LVA_ID welche abgegleicht werden sollen
|
||||||
|
* @return array|null
|
||||||
|
*/
|
||||||
|
public function getLvsByStudienplanByLvaIDs($studienplan_id, $lva_ids)
|
||||||
|
{
|
||||||
|
$params = array($studienplan_id, $lva_ids);
|
||||||
|
|
||||||
|
$qry = "SELECT tbl_lehrveranstaltung.*,
|
||||||
|
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
|
||||||
|
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
|
||||||
|
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
|
||||||
|
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
|
||||||
|
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
|
||||||
|
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
|
||||||
|
tbl_studienplan_lehrveranstaltung.curriculum,
|
||||||
|
tbl_studienplan_lehrveranstaltung.export,
|
||||||
|
tbl_studienplan_lehrveranstaltung.genehmigung
|
||||||
|
FROM lehre.tbl_lehrveranstaltung
|
||||||
|
JOIN lehre.tbl_studienplan_lehrveranstaltung
|
||||||
|
USING(lehrveranstaltung_id)
|
||||||
|
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id = ?
|
||||||
|
AND tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id IN ?
|
||||||
|
";
|
||||||
|
|
||||||
|
$qry .= " ORDER BY stpllv_sort, semester, sort";
|
||||||
|
|
||||||
|
return $this->execQuery($qry, $params);
|
||||||
|
}
|
||||||
|
|
||||||
public function getAllOe($lv_id)
|
public function getAllOe($lv_id)
|
||||||
{
|
{
|
||||||
$qry = "SELECT DISTINCT oe_kurzbz
|
$qry = "SELECT DISTINCT oe_kurzbz
|
||||||
|
|||||||
@@ -50,8 +50,7 @@ class Paabgabe_model extends DB_Model
|
|||||||
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||||
JOIN public.tbl_benutzer bn_student ON(tbl_projektarbeit.student_uid=bn_student.uid)
|
JOIN public.tbl_benutzer bn_student ON(tbl_projektarbeit.student_uid=bn_student.uid)
|
||||||
JOIN public.tbl_person person_student ON(bn_student.person_id=person_student.person_id)
|
JOIN public.tbl_person person_student ON(bn_student.person_id=person_student.person_id)
|
||||||
JOIN lehre.tbl_lehreinheit ON(tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
|
|
||||||
JOIN public.tbl_studiengang ON(tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz)
|
JOIN public.tbl_studiengang ON(tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||||
JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz)
|
JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz)
|
||||||
WHERE
|
WHERE
|
||||||
@@ -68,14 +67,13 @@ class Paabgabe_model extends DB_Model
|
|||||||
campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.insertamum, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.updateamum,
|
campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.insertamum, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.updateamum,
|
||||||
campus.tbl_paabgabe.note, upload_allowed, beurteilungsnotiz, student_uid, tbl_projektarbeit.note, lehre.tbl_projektarbeit.titel,
|
campus.tbl_paabgabe.note, upload_allowed, beurteilungsnotiz, student_uid, tbl_projektarbeit.note, lehre.tbl_projektarbeit.titel,
|
||||||
UPPER(tbl_studiengang.typ) as stgtyp, UPPER(tbl_studiengang.kurzbz) as stgkz, public.tbl_studiengang.studiengang_kz,
|
UPPER(tbl_studiengang.typ) as stgtyp, UPPER(tbl_studiengang.kurzbz) as stgkz, public.tbl_studiengang.studiengang_kz,
|
||||||
public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_lehreinheit.studiensemester_kurzbz,
|
public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
public.tbl_person.anrede, public.tbl_person.titelpre, public.tbl_person.vorname, public.tbl_person.nachname, public.tbl_person.titelpost
|
public.tbl_person.anrede, public.tbl_person.titelpre, public.tbl_person.vorname, public.tbl_person.nachname, public.tbl_person.titelpost
|
||||||
FROM campus.tbl_paabgabe
|
FROM campus.tbl_paabgabe
|
||||||
JOIN campus.tbl_paabgabetyp USING (paabgabetyp_kurzbz)
|
JOIN campus.tbl_paabgabetyp USING (paabgabetyp_kurzbz)
|
||||||
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit using(lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id)
|
JOIN public.tbl_studiengang ON(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz)
|
||||||
JOIN public.tbl_studiengang on(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz)
|
|
||||||
JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid)
|
JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid)
|
||||||
JOIN public.tbl_person USING (person_id)
|
JOIN public.tbl_person USING (person_id)
|
||||||
|
|
||||||
@@ -93,7 +91,7 @@ class Paabgabe_model extends DB_Model
|
|||||||
campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.insertamum, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.updateamum,
|
campus.tbl_paabgabe.insertvon, campus.tbl_paabgabe.insertamum, campus.tbl_paabgabe.updatevon, campus.tbl_paabgabe.updateamum,
|
||||||
campus.tbl_paabgabe.note, upload_allowed, beurteilungsnotiz, student_uid, tbl_projektarbeit.note, lehre.tbl_projektarbeit.titel,
|
campus.tbl_paabgabe.note, upload_allowed, beurteilungsnotiz, student_uid, tbl_projektarbeit.note, lehre.tbl_projektarbeit.titel,
|
||||||
UPPER(tbl_studiengang.typ) as stgtyp, UPPER(tbl_studiengang.kurzbz) as stgkz, public.tbl_studiengang.studiengang_kz,
|
UPPER(tbl_studiengang.typ) as stgtyp, UPPER(tbl_studiengang.kurzbz) as stgkz, public.tbl_studiengang.studiengang_kz,
|
||||||
public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_lehreinheit.studiensemester_kurzbz,
|
public.tbl_studiengang.oe_kurzbz as stg_oe_kurzbz, tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
lehre.tbl_projektbetreuer.betreuerart_kurzbz, lehre.tbl_projektbetreuer.person_id,
|
lehre.tbl_projektbetreuer.betreuerart_kurzbz, lehre.tbl_projektbetreuer.person_id,
|
||||||
public.tbl_person.anrede, public.tbl_person.titelpre, public.tbl_person.vorname, public.tbl_person.nachname, public.tbl_person.titelpost
|
public.tbl_person.anrede, public.tbl_person.titelpre, public.tbl_person.vorname, public.tbl_person.nachname, public.tbl_person.titelpost
|
||||||
|
|
||||||
@@ -101,8 +99,7 @@ class Paabgabe_model extends DB_Model
|
|||||||
JOIN campus.tbl_paabgabetyp USING (paabgabetyp_kurzbz)
|
JOIN campus.tbl_paabgabetyp USING (paabgabetyp_kurzbz)
|
||||||
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_projektbetreuer USING (projektarbeit_id)
|
JOIN lehre.tbl_projektbetreuer USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit using(lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id)
|
|
||||||
JOIN public.tbl_studiengang on(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz)
|
JOIN public.tbl_studiengang on(lehre.tbl_lehrveranstaltung.studiengang_kz = public.tbl_studiengang.studiengang_kz)
|
||||||
JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid)
|
JOIN public.tbl_benutzer ON (public.tbl_benutzer.uid = student_uid)
|
||||||
JOIN public.tbl_person ON (public.tbl_benutzer.person_id = public.tbl_person.person_id)
|
JOIN public.tbl_person ON (public.tbl_benutzer.person_id = public.tbl_person.person_id)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class Projektarbeit_model extends DB_Model
|
|||||||
{
|
{
|
||||||
$qry = "SELECT
|
$qry = "SELECT
|
||||||
pa.*, tbl_projekttyp.bezeichnung,
|
pa.*, tbl_projekttyp.bezeichnung,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
pa.studiensemester_kurzbz, pa.lehrveranstaltung_id,
|
||||||
tbl_firma.name AS firma_name,
|
tbl_firma.name AS firma_name,
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@@ -41,7 +41,6 @@ class Projektarbeit_model extends DB_Model
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit pa
|
lehre.tbl_projektarbeit pa
|
||||||
JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
|
||||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_firma USING (firma_id)
|
LEFT JOIN public.tbl_firma USING (firma_id)
|
||||||
WHERE
|
WHERE
|
||||||
@@ -57,7 +56,7 @@ class Projektarbeit_model extends DB_Model
|
|||||||
|
|
||||||
if (isset($studiensemester_kurzbz))
|
if (isset($studiensemester_kurzbz))
|
||||||
{
|
{
|
||||||
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz=?';
|
$qry .= ' AND tbl_projektarbeit.studiensemester_kurzbz=?';
|
||||||
$params[] = $studiensemester_kurzbz;
|
$params[] = $studiensemester_kurzbz;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,7 +133,7 @@ class Projektarbeit_model extends DB_Model
|
|||||||
projektarbeit_id,
|
projektarbeit_id,
|
||||||
lehre.tbl_projekttyp.bezeichnung as projekttypbezeichnung,
|
lehre.tbl_projekttyp.bezeichnung as projekttypbezeichnung,
|
||||||
lehre.tbl_projekttyp.projekttyp_kurzbz as projekttypkurzbz,
|
lehre.tbl_projekttyp.projekttyp_kurzbz as projekttypkurzbz,
|
||||||
lehre.tbl_lehreinheit.studiensemester_kurzbz,
|
lehre.tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
lehre.tbl_lehrveranstaltung.studiengang_kz,
|
lehre.tbl_lehrveranstaltung.studiengang_kz,
|
||||||
public.tbl_studiengang.kurzbzlang,
|
public.tbl_studiengang.kurzbzlang,
|
||||||
lehre.tbl_projektarbeit.note as note,
|
lehre.tbl_projektarbeit.note as note,
|
||||||
@@ -157,7 +156,6 @@ class Projektarbeit_model extends DB_Model
|
|||||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
LEFT JOIN lehre.tbl_betreuerart USING(betreuerart_kurzbz)
|
LEFT JOIN lehre.tbl_betreuerart USING(betreuerart_kurzbz)
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_mitarbeiter.mitarbeiter_uid = public.tbl_benutzer.uid)
|
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_mitarbeiter.mitarbeiter_uid = public.tbl_benutzer.uid)
|
||||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||||
@@ -366,7 +364,7 @@ class Projektarbeit_model extends DB_Model
|
|||||||
tbl_studiengang.typ, tbl_studiengang.kurzbz,
|
tbl_studiengang.typ, tbl_studiengang.kurzbz,
|
||||||
tbl_projektarbeit.projekttyp_kurzbz, tbl_projekttyp.bezeichnung,
|
tbl_projektarbeit.projekttyp_kurzbz, tbl_projekttyp.bezeichnung,
|
||||||
tbl_projektarbeit.titel, tbl_projektarbeit.projektarbeit_id, tbl_projektarbeit.note,
|
tbl_projektarbeit.titel, tbl_projektarbeit.projektarbeit_id, tbl_projektarbeit.note,
|
||||||
student_benutzer.uid, tbl_student.matrikelnr, tbl_lehreinheit.studiensemester_kurzbz, public.tbl_student.student_uid,
|
student_benutzer.uid, tbl_student.matrikelnr, tbl_projektarbeit.studiensemester_kurzbz, public.tbl_student.student_uid,
|
||||||
|
|
||||||
lehre.tbl_projektarbeit.sprache,
|
lehre.tbl_projektarbeit.sprache,
|
||||||
lehre.tbl_projektarbeit.seitenanzahl,
|
lehre.tbl_projektarbeit.seitenanzahl,
|
||||||
@@ -430,7 +428,6 @@ class Projektarbeit_model extends DB_Model
|
|||||||
LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid
|
LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid
|
||||||
LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id
|
LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id
|
||||||
LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid
|
LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
|
LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
|
||||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
@@ -503,7 +500,7 @@ class Projektarbeit_model extends DB_Model
|
|||||||
student_person.vorname AS student_vorname,
|
student_person.vorname AS student_vorname,
|
||||||
student_person.nachname AS student_nachname,
|
student_person.nachname AS student_nachname,
|
||||||
public.tbl_student.matrikelnr,
|
public.tbl_student.matrikelnr,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz,
|
tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
betreuer_benutzer.uid AS betreuer_benutzer_uid,
|
betreuer_benutzer.uid AS betreuer_benutzer_uid,
|
||||||
betreuer_person.titelpre AS betreuer_titelpre,
|
betreuer_person.titelpre AS betreuer_titelpre,
|
||||||
betreuer_person.vorname AS betreuer_vorname,
|
betreuer_person.vorname AS betreuer_vorname,
|
||||||
@@ -565,7 +562,6 @@ class Projektarbeit_model extends DB_Model
|
|||||||
LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid
|
LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid
|
||||||
LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id
|
LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id
|
||||||
LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid
|
LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
|
LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
|
||||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
@@ -633,7 +629,7 @@ class Projektarbeit_model extends DB_Model
|
|||||||
student_person.vorname AS student_vorname,
|
student_person.vorname AS student_vorname,
|
||||||
student_person.nachname AS student_nachname,
|
student_person.nachname AS student_nachname,
|
||||||
public.tbl_student.matrikelnr,
|
public.tbl_student.matrikelnr,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz,
|
tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
betreuer_benutzer.uid AS betreuer_benutzer_uid,
|
betreuer_benutzer.uid AS betreuer_benutzer_uid,
|
||||||
betreuer_person.titelpre AS betreuer_titelpre,
|
betreuer_person.titelpre AS betreuer_titelpre,
|
||||||
betreuer_person.vorname AS betreuer_vorname,
|
betreuer_person.vorname AS betreuer_vorname,
|
||||||
@@ -695,7 +691,6 @@ class Projektarbeit_model extends DB_Model
|
|||||||
LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid
|
LEFT JOIN public.tbl_benutzer student_benutzer ON student_benutzer.uid = lehre.tbl_projektarbeit.student_uid
|
||||||
LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id
|
LEFT JOIN public.tbl_person student_person ON student_benutzer.person_id = student_person.person_id
|
||||||
LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid
|
LEFT JOIN public.tbl_student ON student_benutzer.uid = public.tbl_student.student_uid
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
|
LEFT JOIN public.tbl_studiengang ON public.tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
|
||||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
|
|||||||
@@ -9,6 +9,52 @@ class Ferien_model extends DB_Model
|
|||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->dbTable = 'lehre.tbl_ferien';
|
$this->dbTable = 'lehre.tbl_ferien';
|
||||||
$this->pk = array('studiengang_kz', 'bezeichnung');
|
$this->pk = 'ferien_id';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads all Ferien between two dates.
|
||||||
|
* @param $vondatum
|
||||||
|
* @param $bisdatum
|
||||||
|
* @param $studiengang_kz by default, loads only Ferien from oe of 0 Studiengang (and parents)
|
||||||
|
* @return object success or error
|
||||||
|
*/
|
||||||
|
public function getByDateRange($vondatum, $bisdatum, $studiengang_kz = 0)
|
||||||
|
{
|
||||||
|
if (!is_numeric($studiengang_kz)) return error("Invalid Studiengang Kz");
|
||||||
|
if (!is_valid_date($vondatum)) return error("Invalid von date");
|
||||||
|
if (!is_valid_date($bisdatum)) return error("Invalid bis date");
|
||||||
|
|
||||||
|
// get oe from studiengang
|
||||||
|
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||||
|
$result = $this->StudiengangModel->loadWhere(['studiengang_kz' => $studiengang_kz]);
|
||||||
|
|
||||||
|
if (isError($result)) return $result;
|
||||||
|
if (!hasData($result)) return success([]);
|
||||||
|
|
||||||
|
$oe_kurzbz = getData($result)[0]->oe_kurzbz;
|
||||||
|
|
||||||
|
// get all parents oes
|
||||||
|
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
|
||||||
|
$result = $this->OrganisationseinheitModel->getParents($oe_kurzbz);
|
||||||
|
|
||||||
|
if (isError($result)) return $result;
|
||||||
|
if (!hasData($result)) return success([]);
|
||||||
|
|
||||||
|
$parents = array_column(getData($result), 'oe_kurzbz');
|
||||||
|
|
||||||
|
// get ferien - use oe_kurzbz
|
||||||
|
$qry = "
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
lehre.tbl_ferien
|
||||||
|
WHERE
|
||||||
|
bisdatum >= ? AND vondatum < ?
|
||||||
|
AND (oe_kurzbz IS NULL OR oe_kurzbz IN ?)
|
||||||
|
ORDER BY
|
||||||
|
vondatum";
|
||||||
|
|
||||||
|
return $this->execReadOnlyQuery($qry, [$vondatum, $bisdatum, $parents]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
class Ferientyp_model extends DB_Model
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->dbTable = 'lehre.tbl_ferientyp';
|
||||||
|
$this->pk = 'ferientyp_kurzbz';
|
||||||
|
$this->hasSequence = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -53,11 +53,9 @@ class Studienjahr_model extends DB_Model
|
|||||||
* @param int $days
|
* @param int $days
|
||||||
* @return array|stdClass|null
|
* @return array|stdClass|null
|
||||||
*/
|
*/
|
||||||
public function getLastOrAktStudienjahr($days = 60)
|
public function getLastOrAktStudienjahr($days = 0)
|
||||||
{
|
{
|
||||||
if (!is_numeric($days)) {
|
$days = is_numeric($days) ? $this->escape($days) : 0;
|
||||||
$days = 60;
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = '
|
$query = '
|
||||||
SELECT *
|
SELECT *
|
||||||
@@ -77,19 +75,25 @@ class Studienjahr_model extends DB_Model
|
|||||||
* @param int $days
|
* @param int $days
|
||||||
* @return array|stdClass|null
|
* @return array|stdClass|null
|
||||||
*/
|
*/
|
||||||
public function getAktOrNextStudienjahr($days = 62)
|
public function getAktOrNextStudienjahr($days = 0)
|
||||||
{
|
{
|
||||||
if (!is_numeric($days)) {
|
$days = is_numeric($days) ? $this->escape($days) : 0;
|
||||||
$days = 62;
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = '
|
$query = '
|
||||||
SELECT *
|
SELECT * FROM (
|
||||||
FROM public.tbl_studienjahr
|
SELECT
|
||||||
JOIN public.tbl_studiensemester using(studienjahr_kurzbz)
|
jahr.*, MIN(sem.start) AS beginn, MAX(sem.ende) AS ende
|
||||||
WHERE start < NOW() + \'' . $days . ' DAYS\'::INTERVAL
|
FROM
|
||||||
ORDER by start DESC
|
public.tbl_studienjahr jahr
|
||||||
LIMIT 1
|
JOIN public.tbl_studiensemester sem using(studienjahr_kurzbz)
|
||||||
|
GROUP BY
|
||||||
|
studienjahr_kurzbz
|
||||||
|
) jahre
|
||||||
|
WHERE
|
||||||
|
ende >= NOW() + \'' . $days . ' DAYS\'::INTERVAL
|
||||||
|
ORDER BY
|
||||||
|
ende
|
||||||
|
LIMIT 1
|
||||||
';
|
';
|
||||||
|
|
||||||
return $this->execQuery($query);
|
return $this->execQuery($query);
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ class Studiensemester_model extends DB_Model
|
|||||||
*/
|
*/
|
||||||
public function getByDate($date)
|
public function getByDate($date)
|
||||||
{
|
{
|
||||||
// gets the studiensemster of a date or the next closest previous studiensemester if a date is not within a studiensemester
|
// gets the studiensemester of a date or the next closest previous studiensemester if a date is not within a studiensemester
|
||||||
$query = "
|
$query = "
|
||||||
SELECT studiensemester_kurzbz, start, ende
|
SELECT studiensemester_kurzbz, start, ende
|
||||||
FROM public.tbl_studiensemester
|
FROM public.tbl_studiensemester
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ class Notiz_model extends DB_Model
|
|||||||
/**
|
/**
|
||||||
* Add a Notiz for a given person
|
* Add a Notiz for a given person
|
||||||
*/
|
*/
|
||||||
public function addNotizForPerson($person_id, $titel, $text, $erledigt, $verfasser_uid)
|
public function addNotizForPerson($person_id, $titel, $text, $erledigt, $verfasser_uid, $insertvon = null)
|
||||||
{
|
{
|
||||||
// Loads model Notizzuordnung_model
|
// Loads model Notizzuordnung_model
|
||||||
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
|
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
|
||||||
@@ -106,8 +106,15 @@ class Notiz_model extends DB_Model
|
|||||||
// Start DB transaction
|
// Start DB transaction
|
||||||
$this->db->trans_start(false);
|
$this->db->trans_start(false);
|
||||||
|
|
||||||
$result = $this->insert(array('titel' => $titel, 'text' => $text, 'erledigt' => $erledigt, 'verfasser_uid' => $verfasser_uid,
|
$result = $this->insert(
|
||||||
"insertvon" => $verfasser_uid));
|
array(
|
||||||
|
'titel' => $titel,
|
||||||
|
'text' => $text,
|
||||||
|
'erledigt' => $erledigt,
|
||||||
|
'verfasser_uid' => $verfasser_uid,
|
||||||
|
'insertvon' => $insertvon ?? $verfasser_uid
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
if (isSuccess($result))
|
if (isSuccess($result))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ $query = '
|
|||||||
anrechnung.begruendung_id,
|
anrechnung.begruendung_id,
|
||||||
anrechnung.dms_id,
|
anrechnung.dms_id,
|
||||||
CASE
|
CASE
|
||||||
WHEN stg.typ || stg.kurzbz IN (' . $ORGANISATIONSEINHEITEN_SCHREIBBERECHTIGT . ') THEN TRUE
|
WHEN stg.oe_kurzbz IN (' . $ORGANISATIONSEINHEITEN_SCHREIBBERECHTIGT . ') THEN TRUE
|
||||||
ELSE FALSE
|
ELSE FALSE
|
||||||
END "schreibberechtigt",
|
END "schreibberechtigt",
|
||||||
anrechnung.studiensemester_kurzbz,
|
anrechnung.studiensemester_kurzbz,
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
$includesArray = array(
|
||||||
|
'title' => 'Ferienverwaltung',
|
||||||
|
'axios027' => true,
|
||||||
|
'bootstrap5' => true,
|
||||||
|
'fontawesome6' => true,
|
||||||
|
'vue3' => true,
|
||||||
|
'filtercomponent' => true,
|
||||||
|
'navigationcomponent' => true,
|
||||||
|
'tabulator6' => true,
|
||||||
|
'primevue3' => true,
|
||||||
|
//'vuedatepicker11' => true,
|
||||||
|
'customJSModules' => array('public/js/apps/lehre/Ferienverwaltung/Ferienverwaltung.js'),
|
||||||
|
'customCSSs' => array('vendor/vuejs/vuedatepicker_css/main.css')
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->load->view('templates/FHC-Header', $includesArray);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
<div>
|
||||||
|
<ferienverwaltung></ferienverwaltung>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php $this->load->view('templates/FHC-Footer', $includesArray); ?>
|
||||||
|
|
||||||
@@ -232,8 +232,8 @@ FROM
|
|||||||
SELECT
|
SELECT
|
||||||
pa.lehreinheit_id,
|
pa.lehreinheit_id,
|
||||||
lv.lehrveranstaltung_id,
|
lv.lehrveranstaltung_id,
|
||||||
pa.projektarbeit_id::text AS "projektarbeit_id",
|
pa.projektarbeit_id::text AS "projektarbeit_id",
|
||||||
le.studiensemester_kurzbz,
|
pa.studiensemester_kurzbz,
|
||||||
stg.studiengang_kz,
|
stg.studiengang_kz,
|
||||||
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
||||||
lv.orgform_kurzbz,
|
lv.orgform_kurzbz,
|
||||||
@@ -268,8 +268,7 @@ FROM
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer pb
|
lehre.tbl_projektbetreuer pb
|
||||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
|
||||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||||
JOIN PUBLIC.tbl_person person USING (person_id)
|
JOIN PUBLIC.tbl_person person USING (person_id)
|
||||||
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
||||||
@@ -280,7 +279,7 @@ FROM
|
|||||||
/* filter projektbetreuuer */
|
/* filter projektbetreuuer */
|
||||||
pb.person_id = \'' . $PERSON_ID . '\'
|
pb.person_id = \'' . $PERSON_ID . '\'
|
||||||
/* filter studiensemester */
|
/* filter studiensemester */
|
||||||
AND le.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
AND pa.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||||
/* filter active lehrveranstaltungen */
|
/* filter active lehrveranstaltungen */
|
||||||
AND lv.aktiv = TRUE
|
AND lv.aktiv = TRUE
|
||||||
/* filter active organisationseinheiten */
|
/* filter active organisationseinheiten */
|
||||||
|
|||||||
@@ -242,8 +242,8 @@ FROM
|
|||||||
pa.lehreinheit_id,
|
pa.lehreinheit_id,
|
||||||
lv.lehrveranstaltung_id,
|
lv.lehrveranstaltung_id,
|
||||||
lv.bezeichnung AS "lv_bezeichnung",
|
lv.bezeichnung AS "lv_bezeichnung",
|
||||||
(pa.projektarbeit_id::text) AS "projektarbeit_id",
|
(pa.projektarbeit_id::text) AS "projektarbeit_id",
|
||||||
le.studiensemester_kurzbz,
|
pa.studiensemester_kurzbz,
|
||||||
stg.studiengang_kz,
|
stg.studiengang_kz,
|
||||||
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
||||||
lv.orgform_kurzbz,
|
lv.orgform_kurzbz,
|
||||||
@@ -270,7 +270,7 @@ FROM
|
|||||||
ELSE (oe.organisationseinheittyp_kurzbz ||
|
ELSE (oe.organisationseinheittyp_kurzbz ||
|
||||||
\' \' || oe.bezeichnung)
|
\' \' || oe.bezeichnung)
|
||||||
END AS "lv_oe_kurzbz",
|
END AS "lv_oe_kurzbz",
|
||||||
(nachname || \' \' || vorname) AS "lektor",
|
(nachname || \' \' || vorname) AS "lektor",
|
||||||
TRUNC(pb.stunden, 1) AS "stunden",
|
TRUNC(pb.stunden, 1) AS "stunden",
|
||||||
pb.stundensatz,
|
pb.stundensatz,
|
||||||
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
||||||
@@ -280,8 +280,7 @@ FROM
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer pb
|
lehre.tbl_projektbetreuer pb
|
||||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
|
||||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||||
JOIN PUBLIC.tbl_person person USING (person_id)
|
JOIN PUBLIC.tbl_person person USING (person_id)
|
||||||
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
||||||
@@ -291,7 +290,7 @@ FROM
|
|||||||
/* filter organisationseinheit */
|
/* filter organisationseinheit */
|
||||||
lv.oe_kurzbz IN (\'' . implode('\',\'', $ORGANISATIONSEINHEIT) . '\')
|
lv.oe_kurzbz IN (\'' . implode('\',\'', $ORGANISATIONSEINHEIT) . '\')
|
||||||
/* filter studiensemester */
|
/* filter studiensemester */
|
||||||
AND le.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
AND pa.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||||
/* filter active lehrveranstaltungen */
|
/* filter active lehrveranstaltungen */
|
||||||
AND lv.aktiv = TRUE
|
AND lv.aktiv = TRUE
|
||||||
/* filter active organisationseinheiten */
|
/* filter active organisationseinheiten */
|
||||||
|
|||||||
@@ -272,8 +272,8 @@ FROM
|
|||||||
pa.lehreinheit_id,
|
pa.lehreinheit_id,
|
||||||
lv.lehrveranstaltung_id,
|
lv.lehrveranstaltung_id,
|
||||||
lv.bezeichnung AS "lv_bezeichnung",
|
lv.bezeichnung AS "lv_bezeichnung",
|
||||||
pa.projektarbeit_id::text AS "projektarbeit_id",
|
pa.projektarbeit_id::text AS "projektarbeit_id",
|
||||||
le.studiensemester_kurzbz,
|
pa.studiensemester_kurzbz,
|
||||||
stg.studiengang_kz,
|
stg.studiengang_kz,
|
||||||
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
||||||
lv.orgform_kurzbz,
|
lv.orgform_kurzbz,
|
||||||
@@ -310,8 +310,7 @@ FROM
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer pb
|
lehre.tbl_projektbetreuer pb
|
||||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
|
||||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||||
JOIN PUBLIC.tbl_person person USING (person_id)
|
JOIN PUBLIC.tbl_person person USING (person_id)
|
||||||
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
LEFT JOIN lehre.tbl_vertrag vertrag USING (vertrag_id)
|
||||||
@@ -321,7 +320,7 @@ FROM
|
|||||||
/* filter studiengang */
|
/* filter studiengang */
|
||||||
lv.studiengang_kz IN ('. implode(',', $STUDIENGANG) . ')
|
lv.studiengang_kz IN ('. implode(',', $STUDIENGANG) . ')
|
||||||
/* filter studiensemester */
|
/* filter studiensemester */
|
||||||
AND le.studiensemester_kurzbz = \''. $STUDIENSEMESTER. '\'
|
AND pa.studiensemester_kurzbz = \''. $STUDIENSEMESTER. '\'
|
||||||
/* filter active lehrveranstaltungen */
|
/* filter active lehrveranstaltungen */
|
||||||
AND lv.aktiv = TRUE
|
AND lv.aktiv = TRUE
|
||||||
/* filter ausbildungssemester */
|
/* filter ausbildungssemester */
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
<div class="row<?php if ($lockedbyother) echo ' alert-danger' ?>">
|
<div class="row<?php if ($lockedbyother) echo ' alert-danger' ?>">
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
<h3 class="page-header">
|
<h3 class="page-header">
|
||||||
Infocenter Details: <a target="_blank" title="Studentenverwaltung" href="<?php echo site_url('/Studentenverwaltung/' . $studiensemester . '/person/' . $stammdaten->person_id) ?>"><?php echo $stammdaten->vorname.' '.$stammdaten->nachname ?> <i class="fa fa-external-link" style="font-size:small"></i></a>
|
Infocenter Details: <a target="_blank" title="Studentenverwaltung" href="<?php echo site_url('/studvw/stdsem/' . $studiensemester . '/person/' . $stammdaten->person_id) ?>"><?php echo $stammdaten->vorname.' '.$stammdaten->nachname ?> <i class="fa fa-external-link" style="font-size:small"></i></a>
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\', \'Access code sent\', \'Personal data saved\'';
|
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\', \'Access code sent\', \'Personal data saved\'';
|
||||||
$REJECTED_STATUS = '\'Abgewiesener\'';
|
$REJECTED_STATUS = '\'Abgewiesener\'';
|
||||||
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
|
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
|
||||||
|
$QUALIFIKATIONSKURS = $this->config->item('infocenter_qualifikationskurs_kz');
|
||||||
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
|
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
|
||||||
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
|
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
|
||||||
$ORG_NAME = '\'InfoCenter\'';
|
$ORG_NAME = '\'InfoCenter\'';
|
||||||
@@ -277,7 +278,26 @@ $query = '
|
|||||||
WHERE konto.person_id = p.person_id
|
WHERE konto.person_id = p.person_id
|
||||||
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
|
AND konto.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
|
||||||
AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .'
|
AND konto.buchungstyp_kurzbz = '. $KAUTION_DRITT_STAAT .'
|
||||||
) AS "Kaution"
|
) AS "Kaution",
|
||||||
|
(
|
||||||
|
SELECT 1
|
||||||
|
FROM public.tbl_prestudentstatus pss
|
||||||
|
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||||
|
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||||
|
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||||
|
JOIN lehre.tbl_studienordnung so USING(studienordnung_id)
|
||||||
|
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||||
|
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||||
|
AND ps.person_id = p.person_id
|
||||||
|
AND sg.studiengang_kz in('.$QUALIFIKATIONSKURS.')
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1
|
||||||
|
FROM tbl_prestudentstatus spss
|
||||||
|
WHERE spss.prestudent_id = ps.prestudent_id
|
||||||
|
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||||
|
)
|
||||||
|
LIMIT 1
|
||||||
|
) AS "Qualikurs"
|
||||||
FROM public.tbl_person p
|
FROM public.tbl_person p
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT tpl.person_id,
|
SELECT tpl.person_id,
|
||||||
@@ -351,7 +371,8 @@ $query = '
|
|||||||
'ZGV Nation MA',
|
'ZGV Nation MA',
|
||||||
'InfoCenter Mitarbeiter',
|
'InfoCenter Mitarbeiter',
|
||||||
'Identitätsnachweis',
|
'Identitätsnachweis',
|
||||||
ucfirst($this->p->t('infocenter', 'kaution'))
|
ucfirst($this->p->t('infocenter', 'kaution')),
|
||||||
|
'Qualikurs'
|
||||||
),
|
),
|
||||||
'formatRow' => function($datasetRaw) {
|
'formatRow' => function($datasetRaw) {
|
||||||
|
|
||||||
@@ -480,6 +501,14 @@ $query = '
|
|||||||
$datasetRaw->{'Kaution'} = 'Offen';
|
$datasetRaw->{'Kaution'} = 'Offen';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($datasetRaw->{'Qualikurs'} === null)
|
||||||
|
{
|
||||||
|
$datasetRaw->{'Qualikurs'} = 'Nein';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$datasetRaw->{'Qualikurs'} = 'Ja';
|
||||||
|
}
|
||||||
return $datasetRaw;
|
return $datasetRaw;
|
||||||
},
|
},
|
||||||
'markRow' => function($datasetRaw) {
|
'markRow' => function($datasetRaw) {
|
||||||
|
|||||||
@@ -92,6 +92,14 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 table-responsive">
|
<div class="col-lg-6 table-responsive">
|
||||||
|
<?php if ($onboarding_first_login): ?>
|
||||||
|
<div class="row" id="onboardingRow">
|
||||||
|
<?php if ($created_by_onboarding): ?>
|
||||||
|
<div class="col-xs-5"><strong><?php echo $this->p->t('infocenter','onboardingRegistriert') ?></strong></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
<div class="col-xs-7<?php echo $created_by_onboarding ? ' text-right' : '' ?>"><strong><?php echo $this->p->t('infocenter','ersterOnboardingLogin').': '.date_format(date_create($onboarding_first_login), 'd.m.Y') ?></strong></div>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
<table class="table table-bordered stammdaten_form">
|
<table class="table table-bordered stammdaten_form">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -191,12 +199,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<div class="col-xs-6">
|
<div class="col-xs-6">
|
||||||
<a class="editStammdaten">
|
<a class="editStammdaten" href="javascript:void(0);">
|
||||||
<i class="fa fa-edit"></i> <?php echo $this->p->t('ui','bearbeiten'); ?></a>
|
<i class="fa fa-edit"></i> <?php echo $this->p->t('ui','bearbeiten'); ?></a>
|
||||||
<div class="editActionStammdaten" style="display:none">
|
<div class="editActionStammdaten" style="display:none">
|
||||||
<a class="cancelStammdaten">
|
<a class="cancelStammdaten" href="javascript:void(0);">
|
||||||
<i class="fa fa-trash"></i> <?php echo $this->p->t('ui','abbrechen');?></a>
|
<i class="fa fa-trash"></i> <?php echo $this->p->t('ui','abbrechen');?></a>
|
||||||
<a class="saveStammdaten">
|
<a class="saveStammdaten" href="javascript:void(0);">
|
||||||
<i class="fa fa-save"></i> <?php echo $this->p->t('ui','speichern'); ?></a>
|
<i class="fa fa-save"></i> <?php echo $this->p->t('ui','speichern'); ?></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ if (!$berechtigung->isBerechtigt('admin')
|
|||||||
{
|
{
|
||||||
$worksheet->write($lines,3,$elem->vorname);
|
$worksheet->write($lines,3,$elem->vorname);
|
||||||
}
|
}
|
||||||
$worksheet->write($lines,4,$elem->semester.$elem->verband.$elem->gruppe);
|
$worksheet->writeString($lines,4,$elem->semester.$elem->verband.$elem->gruppe);
|
||||||
$worksheet->write($lines,5,trim($elem->matrikelnr),$format_highlight);
|
$worksheet->write($lines,5,trim($elem->matrikelnr),$format_highlight);
|
||||||
$worksheet->write($lines,6, $note, $format_highlightright);
|
$worksheet->write($lines,6, $note, $format_highlightright);
|
||||||
|
|
||||||
|
|||||||
@@ -345,11 +345,10 @@ $qry = "SELECT
|
|||||||
WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
|
WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
|
||||||
tbl_studiengang.email, tbl_betreuerart.beschreibung AS beutreuerart_beschreibung, tbl_projektbetreuer.stunden
|
tbl_studiengang.email, tbl_betreuerart.beschreibung AS beutreuerart_beschreibung, tbl_projektbetreuer.stunden
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang, lehre.tbl_betreuerart
|
lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang, lehre.tbl_betreuerart
|
||||||
WHERE
|
WHERE
|
||||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_projektarbeit.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
|
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND
|
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND
|
||||||
tbl_projektbetreuer.betreuerart_kurzbz=tbl_betreuerart.betreuerart_kurzbz AND
|
tbl_projektbetreuer.betreuerart_kurzbz=tbl_betreuerart.betreuerart_kurzbz AND
|
||||||
|
|||||||
@@ -143,7 +143,6 @@ if($aktion!='zip')
|
|||||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||||
@@ -214,7 +213,6 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
|
|||||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||||
|
|||||||
@@ -87,7 +87,6 @@ cellSeparator (default value: "|")
|
|||||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||||
|
|||||||
@@ -632,6 +632,7 @@ elseif (isset($prestudent_id))
|
|||||||
|
|
||||||
$ps_obj->lastStatus = $ps_tmp->status_kurzbz; // letzten Status dem result array hinzufügen
|
$ps_obj->lastStatus = $ps_tmp->status_kurzbz; // letzten Status dem result array hinzufügen
|
||||||
$ps_obj->status_mehrsprachig = $ps_tmp->status_mehrsprachig;
|
$ps_obj->status_mehrsprachig = $ps_tmp->status_mehrsprachig;
|
||||||
|
$ps_obj->ausbildungssemester = $ps_tmp->ausbildungssemester;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Falls Status 'Abgewiesene' vorhanden, nach hinten reihen
|
// Falls Status 'Abgewiesene' vorhanden, nach hinten reihen
|
||||||
|
|||||||
+33
-15
@@ -29,6 +29,7 @@ require_once('../../include/sprache.class.php');
|
|||||||
require_once '../../include/phrasen.class.php';
|
require_once '../../include/phrasen.class.php';
|
||||||
require_once '../../include/studiengang.class.php';
|
require_once '../../include/studiengang.class.php';
|
||||||
require_once('../../include/gebiet.class.php');
|
require_once('../../include/gebiet.class.php');
|
||||||
|
require_once('../../include/gebiet_pruefling.class.php');
|
||||||
|
|
||||||
if (!$db = new basis_db())
|
if (!$db = new basis_db())
|
||||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||||
@@ -198,8 +199,8 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
SELECT DISTINCT ON
|
SELECT * FROM (SELECT DISTINCT ON
|
||||||
(gebiet_id, semester, reihung)
|
(gebiet_id)
|
||||||
semester,
|
semester,
|
||||||
gebiet_id,
|
gebiet_id,
|
||||||
STRING_AGG(studiengang_kz::TEXT, ', ' ORDER BY studiengang_kz) AS studiengang_kz_list,
|
STRING_AGG(studiengang_kz::TEXT, ', ' ORDER BY studiengang_kz) AS studiengang_kz_list,
|
||||||
@@ -226,13 +227,7 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
JOIN
|
JOIN
|
||||||
testtool.tbl_gebiet USING (gebiet_id)
|
testtool.tbl_gebiet USING (gebiet_id)
|
||||||
WHERE
|
WHERE
|
||||||
(
|
tbl_ablauf.semester <= prestudent_data.semester
|
||||||
(prestudent_data.semester= 1 AND tbl_ablauf.semester = 1)
|
|
||||||
OR
|
|
||||||
(prestudent_data.semester= 2 AND tbl_ablauf.semester = 2)
|
|
||||||
OR
|
|
||||||
(prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3))
|
|
||||||
)
|
|
||||||
AND (
|
AND (
|
||||||
prestudent_data.studienplan_id = tbl_ablauf.studienplan_id
|
prestudent_data.studienplan_id = tbl_ablauf.studienplan_id
|
||||||
OR
|
OR
|
||||||
@@ -259,9 +254,7 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
JOIN
|
JOIN
|
||||||
testtool.tbl_gebiet USING (gebiet_id)
|
testtool.tbl_gebiet USING (gebiet_id)
|
||||||
WHERE
|
WHERE
|
||||||
(prestudent_data.semester= 1 AND tbl_ablauf.semester = 1)
|
tbl_ablauf.semester <= prestudent_data.semester
|
||||||
OR
|
|
||||||
(prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3))
|
|
||||||
)
|
)
|
||||||
) temp
|
) temp
|
||||||
) temp2
|
) temp2
|
||||||
@@ -270,7 +263,7 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
semester,
|
semester,
|
||||||
gebiet_id,
|
gebiet_id,
|
||||||
bezeichnung,
|
bezeichnung,
|
||||||
". $bezeichnung_mehrsprachig_sel ."
|
". $bezeichnung_mehrsprachig_sel ." ) temp3
|
||||||
|
|
||||||
ORDER BY
|
ORDER BY
|
||||||
semester,
|
semester,
|
||||||
@@ -283,6 +276,8 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
$lastsemester = '';
|
$lastsemester = '';
|
||||||
$quereinsteiger_stg = '';
|
$quereinsteiger_stg = '';
|
||||||
$_SESSION['alleGebiete']= [];
|
$_SESSION['alleGebiete']= [];
|
||||||
|
$gebiet_pruefling = new gebiet_pruefling();
|
||||||
|
$quereinsteiger_menu = false;
|
||||||
while($row = $db->db_fetch_object($result))
|
while($row = $db->db_fetch_object($result))
|
||||||
{
|
{
|
||||||
//Jedes Semester in einer eigenen Tabelle anzeigen
|
//Jedes Semester in einer eigenen Tabelle anzeigen
|
||||||
@@ -294,8 +289,25 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
}
|
}
|
||||||
$lastsemester = $row->semester;
|
$lastsemester = $row->semester;
|
||||||
|
|
||||||
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 3px; margin-top: 5px;">';
|
if ($row->semester == '1')
|
||||||
echo '<tr><td class="HeaderTesttool">'. ($row->semester == '1' ? $p->t('testtool/basisgebiete') : $p->t('testtool/quereinstiegsgebiete')).'</td></tr>';
|
{
|
||||||
|
// Basisgebiete anzeigen
|
||||||
|
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 3px; margin-top: 5px;">';
|
||||||
|
echo '<tr><td class="HeaderTesttool">' . $p->t('testtool/basisgebiete') . '</td></tr>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!$quereinsteiger_menu)
|
||||||
|
{
|
||||||
|
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 3px; margin-top: 5px;">';
|
||||||
|
echo '<tr><td class="HeaderTesttool">' . $p->t('testtool/quereinstiegsgebiete') . '</td></tr>';
|
||||||
|
$quereinsteiger_menu = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 3px; margin-top: 5px;">';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bei Quereinstiegsgebieten nach STG clustern und die STG anzeigen
|
// Bei Quereinstiegsgebieten nach STG clustern und die STG anzeigen
|
||||||
@@ -394,6 +406,12 @@ else if (isset($_SESSION['pruefling_id']))
|
|||||||
</td>
|
</td>
|
||||||
<!--<td width="10" class="ItemTesttoolRight" nowrap> </td>-->
|
<!--<td width="10" class="ItemTesttoolRight" nowrap> </td>-->
|
||||||
</tr>';
|
</tr>';
|
||||||
|
if (!$gebiet_pruefling->checkIfExists($_SESSION['pruefling_id'], $row->gebiet_id))
|
||||||
|
{
|
||||||
|
$gebiet_pruefling->pruefling_id = $_SESSION['pruefling_id'];
|
||||||
|
$gebiet_pruefling->gebiet_id = $row->gebiet_id;
|
||||||
|
$gebiet_pruefling->saveGebietForPruefling();
|
||||||
|
}
|
||||||
$_SESSION['alleGebiete'][] = $row->gebiet_id;
|
$_SESSION['alleGebiete'][] = $row->gebiet_id;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -122,8 +122,7 @@ foreach ($project_arr as $project)
|
|||||||
|
|
||||||
// * get studiensemester
|
// * get studiensemester
|
||||||
$pa = new Projektarbeit($pa_id);
|
$pa = new Projektarbeit($pa_id);
|
||||||
$le = new Lehreinheit($pa->lehreinheit_id);
|
$studiensemester_kurzbz = $pa->studiensemester_kurzbz;
|
||||||
$studiensemester_kurzbz = $le->studiensemester_kurzbz;
|
|
||||||
|
|
||||||
// * get begin- and end date of studiensemester
|
// * get begin- and end date of studiensemester
|
||||||
$ss = new Studiensemester($studiensemester_kurzbz);
|
$ss = new Studiensemester($studiensemester_kurzbz);
|
||||||
|
|||||||
@@ -107,16 +107,14 @@ SELECT
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit,
|
lehre.tbl_projektarbeit,
|
||||||
lehre.tbl_lehrveranstaltung,
|
lehre.tbl_lehrveranstaltung,
|
||||||
lehre.tbl_lehreinheit,
|
|
||||||
lehre.tbl_projektbetreuer,
|
lehre.tbl_projektbetreuer,
|
||||||
public.tbl_person
|
public.tbl_person
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_projektbetreuer.person_id=tbl_person.person_id AND
|
tbl_projektbetreuer.person_id=tbl_person.person_id AND
|
||||||
tbl_projektbetreuer.stunden<>0 AND
|
tbl_projektbetreuer.stunden<>0 AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($stsem)."
|
||||||
GROUP BY studiengang_kz,geschlecht";
|
GROUP BY studiengang_kz,geschlecht";
|
||||||
|
|
||||||
if(!$result = $db->db_query($qry))
|
if(!$result = $db->db_query($qry))
|
||||||
@@ -231,7 +229,7 @@ if($format=='xls')
|
|||||||
if(!isset($stunden['w']))
|
if(!isset($stunden['w']))
|
||||||
$stunden['w']=0;
|
$stunden['w']=0;
|
||||||
$summe_w+=$stunden['w'];
|
$summe_w+=$stunden['w'];
|
||||||
if(!isset($summe_oe[$oe]['w']))
|
if(!isset($summe_oe[$oe]['w']))
|
||||||
$summe_oe[$oe]['w']=0;
|
$summe_oe[$oe]['w']=0;
|
||||||
$summe_oe[$oe]['w']+=$stunden['w'];
|
$summe_oe[$oe]['w']+=$stunden['w'];
|
||||||
$worksheet->write($zeile,$organisationseinheiten_idx[$oe]+1,$stunden['w'],$format_data);
|
$worksheet->write($zeile,$organisationseinheiten_idx[$oe]+1,$stunden['w'],$format_data);
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ $db = new basis_db();
|
|||||||
//Daten holen
|
//Daten holen
|
||||||
$qry = "SELECT * FROM (
|
$qry = "SELECT * FROM (
|
||||||
SELECT
|
SELECT
|
||||||
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
|
tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
|
||||||
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
|
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
|
||||||
tbl_mitarbeiter.fixangestellt,
|
tbl_mitarbeiter.fixangestellt,
|
||||||
tbl_lehreinheitmitarbeiter.stundensatz as stundensatz,
|
tbl_lehreinheitmitarbeiter.stundensatz as stundensatz,
|
||||||
@@ -109,21 +109,20 @@ if($semester!='')
|
|||||||
//Projektsbetreuungen
|
//Projektsbetreuungen
|
||||||
$qry.= " UNION
|
$qry.= " UNION
|
||||||
SELECT
|
SELECT
|
||||||
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
|
tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
|
||||||
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
|
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
|
||||||
tbl_mitarbeiter.fixangestellt,
|
tbl_mitarbeiter.fixangestellt,
|
||||||
0 as stundensatz,
|
0 as stundensatz,
|
||||||
0 as semesterstunden
|
0 as semesterstunden
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_lehreinheit, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer,
|
lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer,
|
||||||
public.tbl_mitarbeiter, public.tbl_benutzer, lehre.tbl_lehrveranstaltung, public.tbl_person
|
public.tbl_mitarbeiter, public.tbl_benutzer, lehre.tbl_lehrveranstaltung, public.tbl_person
|
||||||
WHERE
|
WHERE
|
||||||
tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND
|
tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND
|
||||||
tbl_benutzer.person_id = tbl_projektbetreuer.person_id AND
|
tbl_benutzer.person_id = tbl_projektbetreuer.person_id AND
|
||||||
tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id AND
|
||||||
tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
|
tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||||
tbl_person.person_id = tbl_projektbetreuer.person_id";
|
tbl_person.person_id = tbl_projektbetreuer.person_id";
|
||||||
if($semester!='')
|
if($semester!='')
|
||||||
@@ -164,16 +163,15 @@ if($result = $db->db_query($qry))
|
|||||||
$qry = "
|
$qry = "
|
||||||
SELECT
|
SELECT
|
||||||
tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz
|
tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz
|
||||||
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehrveranstaltung,
|
||||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
|
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektbetreuer.person_id=tbl_benutzer.person_id
|
tbl_projektbetreuer.person_id=tbl_benutzer.person_id
|
||||||
AND tbl_benutzer.uid=".$db->db_add_param($uid)."
|
AND tbl_benutzer.uid=".$db->db_add_param($uid)."
|
||||||
AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
|
AND tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
|
||||||
AND student_uid=vw_student.uid
|
AND student_uid=vw_student.uid
|
||||||
AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id
|
AND tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
AND tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||||
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
|
||||||
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||||
if($semester!='')
|
if($semester!='')
|
||||||
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
|
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
|
||||||
|
|||||||
@@ -99,10 +99,9 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz
|
|||||||
studiengang_kz
|
studiengang_kz
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit ON tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit ON tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||||
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
|
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_projektarbeit.lehrveranstaltung_id
|
||||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
|
||||||
WHERE
|
WHERE
|
||||||
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
lehre.tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||||
) as foo
|
) as foo
|
||||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||||
";
|
";
|
||||||
@@ -506,10 +505,9 @@ if ($result_stg = $db->db_query($qry_stg))
|
|||||||
JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id
|
JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id
|
||||||
JOIN public.tbl_mitarbeiter ON tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid
|
JOIN public.tbl_mitarbeiter ON tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid
|
||||||
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
|
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
|
||||||
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id
|
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_projektarbeit.lehrveranstaltung_id
|
||||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
|
|
||||||
WHERE
|
WHERE
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
|
||||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||||
NOT EXISTS (SELECT
|
NOT EXISTS (SELECT
|
||||||
mitarbeiter_uid
|
mitarbeiter_uid
|
||||||
@@ -589,12 +587,11 @@ if ($result_stg = $db->db_query($qry_stg))
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer JOIN public.tbl_benutzer ON tbl_projektbetreuer.person_id = tbl_benutzer.person_id
|
lehre.tbl_projektbetreuer JOIN public.tbl_benutzer ON tbl_projektbetreuer.person_id = tbl_benutzer.person_id
|
||||||
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
||||||
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
|
JOIN lehre.tbl_lehrveranstaltung ON tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||||
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
|
||||||
JOIN campus.vw_student ON vw_student.uid = student_uid
|
JOIN campus.vw_student ON vw_student.uid = student_uid
|
||||||
WHERE
|
WHERE
|
||||||
tbl_benutzer.uid = ".$db->db_add_param($uid)."
|
tbl_benutzer.uid = ".$db->db_add_param($uid)."
|
||||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
AND tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||||
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||||
|
|
||||||
if ($result = $db->db_query($qry))
|
if ($result = $db->db_query($qry))
|
||||||
@@ -825,15 +822,14 @@ if ($result_stg = $db->db_query($qry_stg))
|
|||||||
$worksheet =& $workbook->addWorksheet('Betreuerstunden');
|
$worksheet =& $workbook->addWorksheet('Betreuerstunden');
|
||||||
$worksheet->setInputEncoding('utf-8');
|
$worksheet->setInputEncoding('utf-8');
|
||||||
$qry = "SELECT
|
$qry = "SELECT
|
||||||
studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre,
|
lehre.tbl_projektarbeit.studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre,
|
||||||
sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8, 2) AS euro, person_id
|
sum(tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)::numeric(8, 2) AS euro, person_id
|
||||||
FROM
|
FROM
|
||||||
public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id)
|
public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id)
|
||||||
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
|
||||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
WHERE
|
WHERE
|
||||||
studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
|
lehre.tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)." AND
|
||||||
stunden > 0";
|
stunden > 0";
|
||||||
|
|
||||||
if (count($stg_arr) > 0)
|
if (count($stg_arr) > 0)
|
||||||
@@ -841,7 +837,7 @@ if ($result_stg = $db->db_query($qry_stg))
|
|||||||
|
|
||||||
$qry .= "
|
$qry .= "
|
||||||
GROUP BY
|
GROUP BY
|
||||||
studiensemester_kurzbz, person_id, nachname, vorname, titelpre
|
lehre.tbl_projektarbeit.studiensemester_kurzbz, person_id, nachname, vorname, titelpre
|
||||||
ORDER BY
|
ORDER BY
|
||||||
nachname, vorname
|
nachname, vorname
|
||||||
";
|
";
|
||||||
|
|||||||
@@ -304,15 +304,14 @@ if($studiengang_kz!='')
|
|||||||
$qry = "SELECT
|
$qry = "SELECT
|
||||||
*
|
*
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
lehre.tbl_projektarbeit, lehre.tbl_lehrveranstaltung,
|
||||||
lehre.tbl_projektbetreuer, public.tbl_person
|
lehre.tbl_projektbetreuer, public.tbl_person
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
||||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||||
";
|
";
|
||||||
|
|
||||||
if($semester!='')
|
if($semester!='')
|
||||||
@@ -323,14 +322,13 @@ elseif($mitarbeiter_uid!='')
|
|||||||
$qry = "SELECT
|
$qry = "SELECT
|
||||||
*
|
*
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person
|
lehre.tbl_projektarbeit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer, public.tbl_person
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
||||||
tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER)." AND
|
tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER)." AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
elseif($oe_kurzbz!='')
|
elseif($oe_kurzbz!='')
|
||||||
@@ -338,15 +336,14 @@ elseif($oe_kurzbz!='')
|
|||||||
$qry = "SELECT
|
$qry = "SELECT
|
||||||
*
|
*
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer,
|
lehre.tbl_projektarbeit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektbetreuer,
|
||||||
public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach
|
public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
|
tbl_projektarbeit.lehrveranstaltung_id=lehrfach.lehrveranstaltung_id AND
|
||||||
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
|
||||||
lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)."
|
lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)."
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -490,15 +490,13 @@ if($result = $db->db_query($qry))
|
|||||||
tbl_projektbetreuer.person_id,
|
tbl_projektbetreuer.person_id,
|
||||||
tbl_lehrveranstaltung.orgform_kurzbz
|
tbl_lehrveranstaltung.orgform_kurzbz
|
||||||
FROM lehre.tbl_projektarbeit,
|
FROM lehre.tbl_projektarbeit,
|
||||||
lehre.tbl_lehreinheit,
|
|
||||||
lehre.tbl_lehrveranstaltung,
|
lehre.tbl_lehrveranstaltung,
|
||||||
lehre.tbl_projektbetreuer,
|
lehre.tbl_projektbetreuer,
|
||||||
PUBLIC.tbl_person
|
PUBLIC.tbl_person
|
||||||
WHERE tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id
|
WHERE tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||||
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
|
||||||
AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
||||||
AND tbl_person.person_id = tbl_projektbetreuer.person_id
|
AND tbl_person.person_id = tbl_projektbetreuer.person_id
|
||||||
AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
|
AND tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz);
|
||||||
|
|
||||||
if($uid!=='')
|
if($uid!=='')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -84,15 +84,14 @@ $qry = "SELECT
|
|||||||
ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, themenbereich,
|
ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, themenbereich,
|
||||||
tbl_projektarbeit.anmerkung, projektarbeit_id
|
tbl_projektarbeit.anmerkung, projektarbeit_id
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
lehre.tbl_projektarbeit, lehre.tbl_lehrveranstaltung,
|
||||||
public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp
|
public.tbl_benutzer, public.tbl_person, lehre.tbl_projekttyp
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND
|
|
||||||
tbl_projektarbeit.student_uid = tbl_benutzer.uid AND
|
tbl_projektarbeit.student_uid = tbl_benutzer.uid AND
|
||||||
tbl_benutzer.person_id = tbl_person.person_id AND
|
tbl_benutzer.person_id = tbl_person.person_id AND
|
||||||
tbl_projektarbeit.projekttyp_kurzbz = tbl_projekttyp.projekttyp_kurzbz AND
|
tbl_projektarbeit.projekttyp_kurzbz = tbl_projekttyp.projekttyp_kurzbz AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND
|
tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||||
tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz)." AND
|
tbl_lehrveranstaltung.studiengang_kz = ".$db->db_add_param($studiengang_kz)." AND
|
||||||
tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')";
|
tbl_projektarbeit.projekttyp_kurzbz IN ('Bachelor','Diplom','Projekt')";
|
||||||
|
|
||||||
|
|||||||
@@ -4374,6 +4374,8 @@ if(!$error)
|
|||||||
$projektarbeit->titel = $_POST['titel'];
|
$projektarbeit->titel = $_POST['titel'];
|
||||||
$projektarbeit->titel_english = $_POST['titel_english'];
|
$projektarbeit->titel_english = $_POST['titel_english'];
|
||||||
$projektarbeit->lehreinheit_id = $_POST['lehreinheit_id'];
|
$projektarbeit->lehreinheit_id = $_POST['lehreinheit_id'];
|
||||||
|
$projektarbeit->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
|
||||||
|
$projektarbeit->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
||||||
$projektarbeit->student_uid = $_POST['student_uid'];
|
$projektarbeit->student_uid = $_POST['student_uid'];
|
||||||
$projektarbeit->firma_id = $_POST['firma_id'];
|
$projektarbeit->firma_id = $_POST['firma_id'];
|
||||||
$projektarbeit->note = $_POST['note'];
|
$projektarbeit->note = $_POST['note'];
|
||||||
|
|||||||
@@ -239,6 +239,7 @@ function StudentProjektarbeitDetailDisableFields(val)
|
|||||||
document.getElementById('student-projektarbeit-button-speichern').disabled=val;
|
document.getElementById('student-projektarbeit-button-speichern').disabled=val;
|
||||||
document.getElementById('student-projektarbeit-menulist-projekttyp').disabled=val;
|
document.getElementById('student-projektarbeit-menulist-projekttyp').disabled=val;
|
||||||
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').disabled=val;
|
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').disabled=val;
|
||||||
|
document.getElementById('student-projektarbeit-menulist-studiensemester').disabled=val;
|
||||||
document.getElementById('student-projektarbeit-menulist-lehreinheit').disabled=val;
|
document.getElementById('student-projektarbeit-menulist-lehreinheit').disabled=val;
|
||||||
document.getElementById('student-projektarbeit-menulist-firma').disabled=val;
|
document.getElementById('student-projektarbeit-menulist-firma').disabled=val;
|
||||||
document.getElementById('student-projektarbeit-menulist-note').disabled=val;
|
document.getElementById('student-projektarbeit-menulist-note').disabled=val;
|
||||||
@@ -290,6 +291,7 @@ function StudentProjektarbeitResetFields()
|
|||||||
document.getElementById('student-projektarbeit-menulist-firma').value='';
|
document.getElementById('student-projektarbeit-menulist-firma').value='';
|
||||||
document.getElementById('student-projektarbeit-menulist-note').value='';
|
document.getElementById('student-projektarbeit-menulist-note').value='';
|
||||||
document.getElementById('student-projektarbeit-checkbox-final').checked=true;
|
document.getElementById('student-projektarbeit-checkbox-final').checked=true;
|
||||||
|
document.getElementById('student-projektarbeit-menulist-studiensemester').value=getStudiensemester();
|
||||||
|
|
||||||
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
|
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
|
||||||
|
|
||||||
@@ -379,6 +381,7 @@ function StudentProjektarbeitAuswahl()
|
|||||||
lehreinheit_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_id" ));
|
lehreinheit_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_id" ));
|
||||||
lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" ));
|
lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" ));
|
||||||
lehreinheit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_stsem" ));
|
lehreinheit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_stsem" ));
|
||||||
|
projektarbeit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#projektarbeit_stsem" ));
|
||||||
student_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#student_uid" ));
|
student_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#student_uid" ));
|
||||||
firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
|
firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
|
||||||
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
|
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
|
||||||
@@ -399,7 +402,7 @@ function StudentProjektarbeitAuswahl()
|
|||||||
|
|
||||||
//Lehrveranstaltung DropDown laden
|
//Lehrveranstaltung DropDown laden
|
||||||
var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung');
|
var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung');
|
||||||
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp();
|
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&stg_kz="+stg_kz+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp();
|
||||||
|
|
||||||
//Alte DS entfernen
|
//Alte DS entfernen
|
||||||
var oldDatasources = LvDropDown.database.GetDataSources();
|
var oldDatasources = LvDropDown.database.GetDataSources();
|
||||||
@@ -420,7 +423,7 @@ function StudentProjektarbeitAuswahl()
|
|||||||
|
|
||||||
// Lehreinheit Drop Down laden
|
// Lehreinheit Drop Down laden
|
||||||
var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit');
|
var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit');
|
||||||
url='<?php echo APP_ROOT;?>rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+lehreinheit_stsem+"&"+gettimestamp();
|
url='<?php echo APP_ROOT;?>rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+projektarbeit_stsem+"&"+gettimestamp();
|
||||||
|
|
||||||
//Alte DS entfernen
|
//Alte DS entfernen
|
||||||
var oldDatasources = LeDropDown.database.GetDataSources();
|
var oldDatasources = LeDropDown.database.GetDataSources();
|
||||||
@@ -442,6 +445,7 @@ function StudentProjektarbeitAuswahl()
|
|||||||
//Werte setzen
|
//Werte setzen
|
||||||
document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=projektarbeit_id;
|
document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=projektarbeit_id;
|
||||||
document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value=lehreinheit_stsem;
|
document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value=lehreinheit_stsem;
|
||||||
|
document.getElementById('student-projektarbeit-menulist-studiensemester').value=projektarbeit_stsem;
|
||||||
document.getElementById('student-projektarbeit-menulist-projekttyp').value=projekttyp_kurzbz;
|
document.getElementById('student-projektarbeit-menulist-projekttyp').value=projekttyp_kurzbz;
|
||||||
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value=lehrveranstaltung_id;
|
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value=lehrveranstaltung_id;
|
||||||
document.getElementById('student-projektarbeit-menulist-lehreinheit').value=lehreinheit_id;
|
document.getElementById('student-projektarbeit-menulist-lehreinheit').value=lehreinheit_id;
|
||||||
@@ -539,6 +543,7 @@ function StudentProjektarbeitSpeichern()
|
|||||||
projektarbeit_id = document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value;
|
projektarbeit_id = document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value;
|
||||||
projekttyp_kurzbz = document.getElementById('student-projektarbeit-menulist-projekttyp').value;
|
projekttyp_kurzbz = document.getElementById('student-projektarbeit-menulist-projekttyp').value;
|
||||||
lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value;
|
lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value;
|
||||||
|
studiensemester_kurzbz = document.getElementById('student-projektarbeit-menulist-studiensemester').value;
|
||||||
lehreinheit_id = document.getElementById('student-projektarbeit-menulist-lehreinheit').value;
|
lehreinheit_id = document.getElementById('student-projektarbeit-menulist-lehreinheit').value;
|
||||||
titel = document.getElementById('student-projektarbeit-textbox-titel').value;
|
titel = document.getElementById('student-projektarbeit-textbox-titel').value;
|
||||||
titel_english = document.getElementById('student-projektarbeit-textbox-titel_english').value;
|
titel_english = document.getElementById('student-projektarbeit-textbox-titel_english').value;
|
||||||
@@ -585,12 +590,18 @@ function StudentProjektarbeitSpeichern()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lehreinheit_id=='')
|
if(lehrveranstaltung_id=='')
|
||||||
{
|
{
|
||||||
alert('Bitte einen LV-Teil auswaehlen');
|
alert('Bitte eine Lehrveranstaltung auswaehlen');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(studiensemester_kurzbz=='')
|
||||||
|
{
|
||||||
|
alert('Bitte ein Studiensemester auswaehlen');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(isNaN(gesamtstunden))
|
if(isNaN(gesamtstunden))
|
||||||
gesamtstunden=0;
|
gesamtstunden=0;
|
||||||
|
|
||||||
@@ -603,6 +614,8 @@ function StudentProjektarbeitSpeichern()
|
|||||||
req.add('projekttyp_kurzbz', projekttyp_kurzbz );
|
req.add('projekttyp_kurzbz', projekttyp_kurzbz );
|
||||||
req.add('titel', titel);
|
req.add('titel', titel);
|
||||||
req.add('titel_english', titel_english);
|
req.add('titel_english', titel_english);
|
||||||
|
req.add('lehrveranstaltung_id', lehrveranstaltung_id);
|
||||||
|
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
|
||||||
req.add('lehreinheit_id', lehreinheit_id);
|
req.add('lehreinheit_id', lehreinheit_id);
|
||||||
req.add('student_uid', student_uid);
|
req.add('student_uid', student_uid);
|
||||||
req.add('firma_id', firma_id);
|
req.add('firma_id', firma_id);
|
||||||
@@ -738,7 +751,7 @@ function StudentProjektarbeitLVAChange()
|
|||||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||||
|
|
||||||
lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value;
|
lehrveranstaltung_id = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value;
|
||||||
studiensemester_kurzbz = getStudiensemester();
|
studiensemester_kurzbz = document.getElementById('student-projektarbeit-menulist-studiensemester').value;
|
||||||
|
|
||||||
// Lehreinheit Drop Down laden
|
// Lehreinheit Drop Down laden
|
||||||
var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit');
|
var LeDropDown = document.getElementById('student-projektarbeit-menulist-lehreinheit');
|
||||||
@@ -897,8 +910,8 @@ function StudentProjektbetreuerAuswahl()
|
|||||||
document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id;
|
document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id;
|
||||||
document.getElementById('student-projektbetreuer-checkbox-neu').checked=false;
|
document.getElementById('student-projektbetreuer-checkbox-neu').checked=false;
|
||||||
|
|
||||||
var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value;
|
var projektarbeitstsem = document.getElementById('student-projektarbeit-menulist-studiensemester').value;
|
||||||
var default_stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem);
|
var default_stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, projektarbeitstsem);
|
||||||
|
|
||||||
if (default_stundensatz != '')
|
if (default_stundensatz != '')
|
||||||
default_stundensatz = 'Stundensatz (Default '+default_stundensatz+'):';
|
default_stundensatz = 'Stundensatz (Default '+default_stundensatz+'):';
|
||||||
@@ -1410,9 +1423,10 @@ function StudentProjektbetreuerLoadStundensatz(person_id, studiensemester)
|
|||||||
function StudentProjektbetreuerLoadMitarbeiterDaten()
|
function StudentProjektbetreuerLoadMitarbeiterDaten()
|
||||||
{
|
{
|
||||||
var person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person');
|
var person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person');
|
||||||
var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value;
|
var projektarbeitstsem = document.getElementById('student-projektarbeit-menulist-studiensemester').value;
|
||||||
|
|
||||||
var stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem);
|
|
||||||
|
var stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, projektarbeitstsem);
|
||||||
|
|
||||||
if (stundensatz != '')
|
if (stundensatz != '')
|
||||||
default_stundensatz = 'Stundensatz (Default '+stundensatz+'):';
|
default_stundensatz = 'Stundensatz (Default '+stundensatz+'):';
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
|||||||
class="sortDirectionIndicator"
|
class="sortDirectionIndicator"
|
||||||
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id" />
|
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id" />
|
||||||
<splitter class="tree-splitter"/>
|
<splitter class="tree-splitter"/>
|
||||||
|
<treecol id="student-projektarbeit-tree-lehrveranstaltung_id" label="LehrveranstaltungID" flex="2" hidden="true"
|
||||||
|
class="sortDirectionIndicator"
|
||||||
|
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehrveranstaltung_id" />
|
||||||
|
<splitter class="tree-splitter"/>
|
||||||
<treecol id="student-projektarbeit-tree-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
|
<treecol id="student-projektarbeit-tree-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
|
||||||
class="sortDirectionIndicator"
|
class="sortDirectionIndicator"
|
||||||
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_id" />
|
sort="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_id" />
|
||||||
@@ -131,7 +135,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
|||||||
<treeitem uri="rdf:*">
|
<treeitem uri="rdf:*">
|
||||||
<treerow>
|
<treerow>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#bezeichnung"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#bezeichnung"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_stsem"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_stsem"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#titel"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#titel"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#note"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#note"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#beginn"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#beginn"/>
|
||||||
@@ -141,6 +145,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
|||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#themenbereich"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#themenbereich"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#anmerkung"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#anmerkung"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#projektarbeit_id"/>
|
||||||
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehrveranstaltung_id"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_id"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#lehreinheit_id"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#student_uid"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#student_uid"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#firma_id"/>
|
<treecell label="rdf:http://www.technikum-wien.at/projektarbeit/rdf#firma_id"/>
|
||||||
@@ -249,6 +254,20 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
|||||||
</template>
|
</template>
|
||||||
</menulist>
|
</menulist>
|
||||||
</row>
|
</row>
|
||||||
|
<row>
|
||||||
|
<label value="Studiensemester" control="student-projektarbeit-menulist-studiensemester"/>
|
||||||
|
<menulist id="student-projektarbeit-menulist-studiensemester" disabled="true"
|
||||||
|
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php?order=desc" flex="1"
|
||||||
|
ref="http://www.technikum-wien.at/studiensemester/liste">
|
||||||
|
<template>
|
||||||
|
<menupopup>
|
||||||
|
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
|
||||||
|
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
|
||||||
|
uri="rdf:*"/>
|
||||||
|
</menupopup>
|
||||||
|
</template>
|
||||||
|
</menulist>
|
||||||
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<label value="LV-Teil" control="student-projektarbeit-menulist-lehreinheit"/>
|
<label value="LV-Teil" control="student-projektarbeit-menulist-lehreinheit"/>
|
||||||
<menulist id="student-projektarbeit-menulist-lehreinheit" disabled="true"
|
<menulist id="student-projektarbeit-menulist-lehreinheit" disabled="true"
|
||||||
|
|||||||
@@ -271,7 +271,8 @@ foreach ($uid_arr as $uid)
|
|||||||
'matr_nr' => $person->matr_nr,
|
'matr_nr' => $person->matr_nr,
|
||||||
'ausstellungsdatum' => date('M.Y'),
|
'ausstellungsdatum' => date('M.Y'),
|
||||||
'gueltigbis' => $datum_obj->formatDatum($gueltigbis, 'd.m.Y'),
|
'gueltigbis' => $datum_obj->formatDatum($gueltigbis, 'd.m.Y'),
|
||||||
'gueltigbis_3jahre' => date('d.m.Y', strtotime('+3 years'))
|
'gueltigbis_3jahre' => date('d.m.Y', strtotime('+3 years')),
|
||||||
|
'gueltigbis_2jahre' => date('d.m.Y', strtotime('+2 years'))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -521,5 +521,63 @@ class adresse extends basis_db
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Laedt die österreichische Zustell Adresse einer Person
|
||||||
|
* @param $person_id ID der Person
|
||||||
|
* @return true wenn ok, false im Fehlerfall
|
||||||
|
*/
|
||||||
|
public function loadOesterreichischeZustellAdresse($person_id, $typ = null)
|
||||||
|
{
|
||||||
|
//Pruefen ob person_id eine gueltige Zahl ist
|
||||||
|
if(!is_numeric($person_id) || $person_id == '')
|
||||||
|
{
|
||||||
|
$this->errormsg = 'PersonID muss eine Zahl sein';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$typ_clause = '';
|
||||||
|
if (isset($typ)) $typ_clause = "AND typ=".$this->db_add_param($typ);
|
||||||
|
|
||||||
|
//Daten aus der Datenbank lesen
|
||||||
|
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER, false)."
|
||||||
|
AND nation = 'A'
|
||||||
|
{$typ_clause}
|
||||||
|
ORDER BY zustelladresse DESC, adresse_id DESC LIMIT 1";
|
||||||
|
|
||||||
|
if(!$this->db_query($qry))
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($row = $this->db_fetch_object())
|
||||||
|
{
|
||||||
|
$this->adresse_id = $row->adresse_id;
|
||||||
|
$this->heimatadresse = $this->db_parse_bool($row->heimatadresse);
|
||||||
|
$this->zustelladresse = $this->db_parse_bool($row->zustelladresse);
|
||||||
|
$this->gemeinde = $row->gemeinde;
|
||||||
|
$this->name = $row->name;
|
||||||
|
$this->nation = $row->nation;
|
||||||
|
$this->ort = $row->ort;
|
||||||
|
$this->person_id = $row->person_id;
|
||||||
|
$this->plz = $row->plz;
|
||||||
|
$this->strasse = $row->strasse;
|
||||||
|
$this->typ = $row->typ;
|
||||||
|
$this->updateamum = $row->updateamum;
|
||||||
|
$this->updatevon = $row->updatevon;
|
||||||
|
$this->insertamum = $row->insertamum;
|
||||||
|
$this->insertvon = $row->insertvon;
|
||||||
|
$this->firma_id = $row->firma_id;
|
||||||
|
$this->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
|
||||||
|
$this->anmerkung = $row->anmerkung;
|
||||||
|
$this->co_name = $row->co_name;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class bisarchiv extends basis_db
|
|||||||
*/
|
*/
|
||||||
protected function validate()
|
protected function validate()
|
||||||
{
|
{
|
||||||
if($this->studiensemster_kurzbz == null || mb_strlen($this->studiensemster_kurzbz) > 6)
|
if($this->studiensemester_kurzbz == null || mb_strlen($this->studiensemester_kurzbz) > 6)
|
||||||
{
|
{
|
||||||
$this->errormsg = "Studiensemester ist ungueltig";
|
$this->errormsg = "Studiensemester ist ungueltig";
|
||||||
return false;
|
return false;
|
||||||
@@ -107,7 +107,7 @@ class bisarchiv extends basis_db
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
$qry = "INSERT INTO bis.tbl_archiv (studiensemester_kurzbz, meldung, html, studiengang_kz, insertamum, insertvon, typ) VALUES ("
|
$qry = "INSERT INTO bis.tbl_archiv (studiensemester_kurzbz, meldung, html, studiengang_kz, insertamum, insertvon, typ) VALUES ("
|
||||||
. $this->db_add_param($this->studiensemster_kurzbz) . ","
|
. $this->db_add_param($this->studiensemester_kurzbz) . ","
|
||||||
. $this->db_add_param($this->meldung) . ","
|
. $this->db_add_param($this->meldung) . ","
|
||||||
. $this->db_add_param($this->html) . ","
|
. $this->db_add_param($this->html) . ","
|
||||||
. $this->db_add_param($this->studiengang_kz) . ","
|
. $this->db_add_param($this->studiengang_kz) . ","
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
* @create 07-12-2006
|
* @create 07-12-2006
|
||||||
*/
|
*/
|
||||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||||
|
require_once(dirname(__FILE__).'/organisationseinheit.class.php');
|
||||||
|
|
||||||
class ferien extends basis_db
|
class ferien extends basis_db
|
||||||
{
|
{
|
||||||
@@ -62,8 +63,50 @@ class ferien extends basis_db
|
|||||||
$this->errormsg = 'Studiengang_kz ist ungültig';
|
$this->errormsg = 'Studiengang_kz ist ungültig';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get oe from studiengang
|
||||||
|
$sql_query="
|
||||||
|
SELECT
|
||||||
|
oe_kurzbz
|
||||||
|
FROM
|
||||||
|
public.tbl_studiengang
|
||||||
|
WHERE
|
||||||
|
studiengang_kz=".$this->db_add_param($stg_kz, FHC_INTEGER)."
|
||||||
|
ORDER BY
|
||||||
|
studiengang_kz";
|
||||||
|
|
||||||
$sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz=".$this->db_add_param($stg_kz, FHC_INTEGER)." ORDER BY vondatum;";
|
if (!$this->db_query($sql_query))
|
||||||
|
{
|
||||||
|
$this->errormsg = $this->db_last_error();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$oe_kurzbz = '';
|
||||||
|
while ($row = $this->db_fetch_object())
|
||||||
|
{
|
||||||
|
$oe_kurzbz = $row->oe_kurzbz;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get all parents oes
|
||||||
|
$organisationseinheit = new organisationseinheit();
|
||||||
|
$parents = $organisationseinheit->getParents($oe_kurzbz);
|
||||||
|
|
||||||
|
if (!$parents)
|
||||||
|
{
|
||||||
|
$this->errormsg = $parents->errormsg;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql_query="
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
lehre.tbl_ferien
|
||||||
|
WHERE
|
||||||
|
oe_kurzbz IS NULL
|
||||||
|
OR oe_kurzbz IN (".$this->implode4SQL($parents).")
|
||||||
|
ORDER BY
|
||||||
|
vondatum";
|
||||||
|
|
||||||
if (!$this->db_query($sql_query))
|
if (!$this->db_query($sql_query))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2024 Technikum-Wien
|
||||||
|
*
|
||||||
|
* 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 2 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, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||||
|
|
||||||
|
class gebiet_pruefling extends basis_db
|
||||||
|
{
|
||||||
|
//Tabellenspalten
|
||||||
|
public $prueflinggebiet_id;
|
||||||
|
public $pruefling_id;
|
||||||
|
public $gebiet_id;
|
||||||
|
public $insertamum;
|
||||||
|
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadByPruefling($pruefling_id)
|
||||||
|
{
|
||||||
|
$qry = "SELECT *
|
||||||
|
FROM testtool.tbl_pruefling_gebiet
|
||||||
|
WHERE pruefling_id = ".$this->db_add_param($pruefling_id, FHC_INTEGER);
|
||||||
|
|
||||||
|
if($this->db_query($qry))
|
||||||
|
{
|
||||||
|
if($row = $this->db_fetch_object())
|
||||||
|
{
|
||||||
|
$this->prueflinggebiet_id = $row->prueflinggebiet_id;
|
||||||
|
$this->pruefling_id = $row->pruefling_id;
|
||||||
|
$this->gebiet_id = $row->gebiet_id;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = "Pruefling nicht gefunden";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = "Fehler beim Laden der Gebiete für den Pruefling";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function checkIfExists($pruefling_id, $gebiet_id)
|
||||||
|
{
|
||||||
|
$qry = "SELECT 1
|
||||||
|
FROM testtool.tbl_pruefling_gebiet
|
||||||
|
WHERE pruefling_id =".$this->db_add_param($pruefling_id, FHC_INTEGER) ." AND gebiet_id =".$this->db_add_param($gebiet_id, FHC_INTEGER);
|
||||||
|
|
||||||
|
if ($result = $this->db_query($qry))
|
||||||
|
{
|
||||||
|
if ($this->db_num_rows($result) > 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function saveGebietForPruefling()
|
||||||
|
{
|
||||||
|
$qry = "INSERT INTO testtool.tbl_pruefling_gebiet
|
||||||
|
(pruefling_id, gebiet_id)
|
||||||
|
VALUES(".
|
||||||
|
$this->db_add_param($this->pruefling_id, FHC_INTEGER).','.
|
||||||
|
$this->db_add_param($this->gebiet_id, FHC_INTEGER).');';
|
||||||
|
|
||||||
|
if ($this->db_query($qry))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -2088,7 +2088,7 @@ class lehrveranstaltung extends basis_db
|
|||||||
/**
|
/**
|
||||||
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
|
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
|
||||||
* @param String $uid User ID des Mitarbeiters
|
* @param String $uid User ID des Mitarbeiters
|
||||||
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
|
* @param String $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||||
*/
|
*/
|
||||||
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
|
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
|
||||||
{
|
{
|
||||||
@@ -2911,5 +2911,176 @@ class lehrveranstaltung extends basis_db
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filtert die geladenen Lehrveranstaltungen gegen den aktuellen Studienplan des Studenten.
|
||||||
|
* Ermittelt den Studienplan über den Prestudent-Status (aktuellster Eintrag) und gleicht
|
||||||
|
* die vorhandenen IDs mit der Tabelle tbl_studienplan_lehrveranstaltung ab.
|
||||||
|
* Die interne Liste wird nur bei gefundenen Treffern aktualisiert.
|
||||||
|
*
|
||||||
|
* @param string $student_uid Student uid.
|
||||||
|
* @return bool True bei erfolgreicher Abwicklung oder leeren Ausgangsdaten, False bei Datenbankfehlern.
|
||||||
|
*/
|
||||||
|
public function checkLvaAgainstStudentCurrentStudienplan($student_uid) {
|
||||||
|
$qryStudent = "SELECT prestudent_id FROM tbl_student WHERE student_uid = ".$this->db_add_param($student_uid)."";
|
||||||
|
|
||||||
|
if($result = $this->db_query($qryStudent))
|
||||||
|
{
|
||||||
|
if($row = $this->db_fetch_object($result))
|
||||||
|
{
|
||||||
|
$prestudent_id = $row->prestudent_id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Fehler beim Ermitteln der des aktuellen studienplan für studenten über prestudent';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg='Fehler bei Datenbankabfrage ' .$this->db_last_error();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$qryHistory = "SELECT studienplan_id
|
||||||
|
FROM public.tbl_prestudentstatus
|
||||||
|
WHERE prestudent_id = ".$this->db_add_param($prestudent_id)."
|
||||||
|
ORDER BY public.tbl_prestudentstatus.datum DESC";
|
||||||
|
if($result = $this->db_query($qryHistory))
|
||||||
|
{
|
||||||
|
if($row = $this->db_fetch_object($result))
|
||||||
|
{
|
||||||
|
$studienplan_id = $row->studienplan_id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Fehler beim Ermitteln der des aktuellen studienplan für studenten über prestudentstatus';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg='Fehler bei Datenbankabfrage ' .$this->db_last_error();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// needs to have lva_ids from previous query in this context
|
||||||
|
$lvsIDs = array_column($this->lehrveranstaltungen, 'lehrveranstaltung_id');
|
||||||
|
|
||||||
|
if (empty($lvsIDs)) {
|
||||||
|
// exit without modifying object state if no lva_id to query by are found
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ids = $this->db_implode4SQL($lvsIDs);
|
||||||
|
|
||||||
|
$qry = "SELECT tbl_lehrveranstaltung.*,
|
||||||
|
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
|
||||||
|
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
|
||||||
|
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
|
||||||
|
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
|
||||||
|
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
|
||||||
|
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
|
||||||
|
tbl_studienplan_lehrveranstaltung.curriculum,
|
||||||
|
tbl_studienplan_lehrveranstaltung.export,
|
||||||
|
tbl_studienplan_lehrveranstaltung.genehmigung
|
||||||
|
FROM lehre.tbl_lehrveranstaltung
|
||||||
|
JOIN lehre.tbl_studienplan_lehrveranstaltung
|
||||||
|
USING(lehrveranstaltung_id)
|
||||||
|
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id = ".$this->db_add_param($studienplan_id)."
|
||||||
|
AND tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id IN (".$ids.");";
|
||||||
|
|
||||||
|
if($result = $this->db_query($qry))
|
||||||
|
{
|
||||||
|
// reset the lva array and fill it with the new set
|
||||||
|
$temp_lvas = array();
|
||||||
|
while($row = $this->db_fetch_object($result))
|
||||||
|
{
|
||||||
|
$obj = new lehrveranstaltung();
|
||||||
|
|
||||||
|
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||||
|
$obj->studiengang_kz = $row->studiengang_kz;
|
||||||
|
$obj->bezeichnung = $row->bezeichnung;
|
||||||
|
$obj->kurzbz = $row->kurzbz;
|
||||||
|
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||||
|
$obj->semester = $row->semester;
|
||||||
|
$obj->ects = $row->ects;
|
||||||
|
$obj->semesterstunden = $row->semesterstunden;
|
||||||
|
$obj->anmerkung = $row->anmerkung;
|
||||||
|
$obj->lehre = $this->db_parse_bool($row->lehre);
|
||||||
|
$obj->lehreverzeichnis = $row->lehreverzeichnis;
|
||||||
|
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||||
|
$obj->ext_id = $row->ext_id;
|
||||||
|
$obj->insertamum = $row->insertamum;
|
||||||
|
$obj->insertvon = $row->insertvon;
|
||||||
|
$obj->planfaktor = $row->planfaktor;
|
||||||
|
$obj->planlektoren = $row->planlektoren;
|
||||||
|
$obj->planpersonalkosten = $row->planpersonalkosten;
|
||||||
|
$obj->plankostenprolektor = $row->plankostenprolektor;
|
||||||
|
$obj->updateamum = $row->updateamum;
|
||||||
|
$obj->updatevon = $row->updatevon;
|
||||||
|
$obj->sprache = $row->sprache;
|
||||||
|
$obj->sort = $row->sort;
|
||||||
|
$obj->incoming = $row->incoming;
|
||||||
|
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
|
||||||
|
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
|
||||||
|
$obj->koordinator = $row->koordinator;
|
||||||
|
$obj->bezeichnung_english = $row->bezeichnung_english;
|
||||||
|
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||||
|
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||||
|
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
|
||||||
|
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||||
|
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
|
||||||
|
$obj->anzahlsemester = $row->anzahlsemester;
|
||||||
|
$obj->semesterwochen = $row->semesterwochen;
|
||||||
|
$obj->lvnr = $row->lvnr;
|
||||||
|
$obj->semester_alternativ = $row->semester_alternativ;
|
||||||
|
$obj->farbe = $row->farbe;
|
||||||
|
$obj->lehrveranstaltung_template_id = $row->lehrveranstaltung_template_id;
|
||||||
|
$obj->stpllv_sort = $row->stpllv_sort;
|
||||||
|
$obj->benotung = $this->db_parse_bool($row->benotung);
|
||||||
|
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||||
|
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||||
|
$obj->evaluierung = $this->db_parse_bool($row->evaluierung);
|
||||||
|
|
||||||
|
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||||
|
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||||
|
if ($obj->bezeichnung_arr['English'] == '')
|
||||||
|
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
|
||||||
|
|
||||||
|
$obj->sws = $row->sws;
|
||||||
|
$obj->lvs = $row->lvs;
|
||||||
|
$obj->alvs = $row->alvs;
|
||||||
|
$obj->lvps = $row->lvps;
|
||||||
|
$obj->las = $row->las;
|
||||||
|
|
||||||
|
$obj->stpllv_semester = $row->stpllv_semester;
|
||||||
|
$obj->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht);
|
||||||
|
$obj->stpllv_koordinator = $row->stpllv_koordinator;
|
||||||
|
$obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id;
|
||||||
|
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
|
||||||
|
$obj->curriculum = $this->db_parse_bool($row->curriculum);
|
||||||
|
$obj->export = $this->db_parse_bool($row->export);
|
||||||
|
$obj->genehmigung = $this->db_parse_bool($row->genehmigung);
|
||||||
|
$obj->new = false;
|
||||||
|
|
||||||
|
$temp_lvas[] = $obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only update the class property if we actually found matching records.
|
||||||
|
// If $temp_lvas is empty, $this->lehrveranstaltungen remains unchanged.
|
||||||
|
if (!empty($temp_lvas)) {
|
||||||
|
$this->lehrveranstaltungen = $temp_lvas;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg='Fehler bei Datenbankabfrage ' .$this->db_last_error();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ class projektarbeit extends basis_db
|
|||||||
public $titel; // string
|
public $titel; // string
|
||||||
public $titel_english; // string
|
public $titel_english; // string
|
||||||
public $lehreinheit_id; // integer
|
public $lehreinheit_id; // integer
|
||||||
|
public $lehrveranstaltung_id; // integer
|
||||||
|
public $studiensemester_kurzbz; // string
|
||||||
public $student_uid; // integer
|
public $student_uid; // integer
|
||||||
public $firma_id; // integer
|
public $firma_id; // integer
|
||||||
public $note; // integer
|
public $note; // integer
|
||||||
@@ -129,6 +131,8 @@ class projektarbeit extends basis_db
|
|||||||
$this->titel = $row->titel;
|
$this->titel = $row->titel;
|
||||||
$this->titel_english = $row->titel_english;
|
$this->titel_english = $row->titel_english;
|
||||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||||
|
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||||
|
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||||
$this->student_uid = $row->student_uid;
|
$this->student_uid = $row->student_uid;
|
||||||
$this->firma_id = $row->firma_id;
|
$this->firma_id = $row->firma_id;
|
||||||
$this->note = $row->note;
|
$this->note = $row->note;
|
||||||
@@ -178,9 +182,13 @@ class projektarbeit extends basis_db
|
|||||||
{
|
{
|
||||||
$this->errormsg='Projekttyp_kurzbz darf nicht NULL sein!';
|
$this->errormsg='Projekttyp_kurzbz darf nicht NULL sein!';
|
||||||
}
|
}
|
||||||
if ($this->lehreinheit_id==null)
|
if ($this->lehrveranstaltung_id==null)
|
||||||
{
|
{
|
||||||
$this->errormsg='Lehreinheit_id darf nicht NULL sein!';
|
$this->errormsg='Lehrveranstaltung_id darf nicht NULL sein!';
|
||||||
|
}
|
||||||
|
if ($this->studiensemester_kurzbz==null)
|
||||||
|
{
|
||||||
|
$this->errormsg='Studiensemester_kurzbz darf nicht NULL sein!';
|
||||||
}
|
}
|
||||||
if(mb_strlen($this->projekttyp_kurzbz)>16)
|
if(mb_strlen($this->projekttyp_kurzbz)>16)
|
||||||
{
|
{
|
||||||
@@ -261,12 +269,15 @@ class projektarbeit extends basis_db
|
|||||||
{
|
{
|
||||||
//Neuen Datensatz einfuegen
|
//Neuen Datensatz einfuegen
|
||||||
|
|
||||||
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
|
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id,
|
||||||
|
lehrveranstaltung_id, studiensemester_kurzbz, student_uid, firma_id, note, punkte,
|
||||||
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
|
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
|
||||||
insertamum, insertvon, updateamum, updatevon, titel_english, final) VALUES('.
|
insertamum, insertvon, updateamum, updatevon, titel_english, final) VALUES('.
|
||||||
$this->db_add_param($this->projekttyp_kurzbz).', '.
|
$this->db_add_param($this->projekttyp_kurzbz).', '.
|
||||||
$this->db_add_param($this->titel).', '.
|
$this->db_add_param($this->titel).', '.
|
||||||
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
||||||
|
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '.
|
||||||
|
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||||
$this->db_add_param($this->student_uid).', '.
|
$this->db_add_param($this->student_uid).', '.
|
||||||
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
||||||
$this->db_add_param($this->note).', '.
|
$this->db_add_param($this->note).', '.
|
||||||
@@ -301,6 +312,8 @@ class projektarbeit extends basis_db
|
|||||||
'titel='.$this->db_add_param($this->titel).', '.
|
'titel='.$this->db_add_param($this->titel).', '.
|
||||||
'titel_english='.$this->db_add_param($this->titel_english).', '.
|
'titel_english='.$this->db_add_param($this->titel_english).', '.
|
||||||
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
||||||
|
'lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '.
|
||||||
|
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||||
'student_uid='.$this->db_add_param($this->student_uid).', '.
|
'student_uid='.$this->db_add_param($this->student_uid).', '.
|
||||||
'firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
'firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
|
||||||
'note='.$this->db_add_param($this->note).', '.
|
'note='.$this->db_add_param($this->note).', '.
|
||||||
@@ -406,6 +419,8 @@ class projektarbeit extends basis_db
|
|||||||
$obj->titel = $row->titel;
|
$obj->titel = $row->titel;
|
||||||
$obj->titel_english = $row->titel_english;
|
$obj->titel_english = $row->titel_english;
|
||||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||||
|
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||||
|
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||||
$obj->student_uid = $row->student_uid;
|
$obj->student_uid = $row->student_uid;
|
||||||
$obj->firma_id = $row->firma_id;
|
$obj->firma_id = $row->firma_id;
|
||||||
$obj->note = $row->note;
|
$obj->note = $row->note;
|
||||||
@@ -449,14 +464,13 @@ class projektarbeit extends basis_db
|
|||||||
tbl_projektarbeit.* , tbl_projekttyp.bezeichnung
|
tbl_projektarbeit.* , tbl_projekttyp.bezeichnung
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit
|
lehre.tbl_projektarbeit
|
||||||
JOIN
|
JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
lehre.tbl_projekttyp USING (projekttyp_kurzbz), lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
JOIN lehre.tbl_lehrveranstaltung ON (lehre.tbl_projektarbeit.lehrveranstaltung_id = lehre.tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
tbl_projektarbeit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_lehrveranstaltung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
tbl_lehrveranstaltung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
tbl_projektarbeit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||||
|
|
||||||
if($this->db_query($qry))
|
if($this->db_query($qry))
|
||||||
{
|
{
|
||||||
@@ -470,6 +484,8 @@ class projektarbeit extends basis_db
|
|||||||
$obj->titel = $row->titel;
|
$obj->titel = $row->titel;
|
||||||
$obj->titel_english = $row->titel_english;
|
$obj->titel_english = $row->titel_english;
|
||||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||||
|
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||||
|
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||||
$obj->student_uid = $row->student_uid;
|
$obj->student_uid = $row->student_uid;
|
||||||
$obj->firma_id = $row->firma_id;
|
$obj->firma_id = $row->firma_id;
|
||||||
$obj->note = $row->note;
|
$obj->note = $row->note;
|
||||||
@@ -534,7 +550,6 @@ class projektarbeit extends basis_db
|
|||||||
pa.projekttyp_kurzbz
|
pa.projekttyp_kurzbz
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit pa
|
lehre.tbl_projektarbeit pa
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
JOIN public.tbl_studiensemester sem USING(studiensemester_kurzbz)
|
JOIN public.tbl_studiensemester sem USING(studiensemester_kurzbz)
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
+11
-15
@@ -121,7 +121,7 @@ class vertrag extends basis_db
|
|||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||||
WHERE
|
WHERE
|
||||||
vertrag_id=tbl_vertrag.vertrag_id
|
vertrag_id=tbl_vertrag.vertrag_id
|
||||||
AND studiensemester_kurzbz in (SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start>=".$this->db_add_param($datum).")
|
AND studiensemester_kurzbz in (SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start>".$this->db_add_param($datum).")
|
||||||
)
|
)
|
||||||
)";
|
)";
|
||||||
}
|
}
|
||||||
@@ -371,14 +371,14 @@ class vertrag extends basis_db
|
|||||||
null::integer as pruefung_id,
|
null::integer as pruefung_id,
|
||||||
projektarbeit_id,
|
projektarbeit_id,
|
||||||
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
|
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz,
|
tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
tbl_projektbetreuer.betreuerart_kurzbz,
|
tbl_projektbetreuer.betreuerart_kurzbz,
|
||||||
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
||||||
as bezeichnung
|
as bezeichnung
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer
|
lehre.tbl_projektbetreuer
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektbetreuer.person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
|
tbl_projektbetreuer.person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||||
AND vertrag_id IS NULL";
|
AND vertrag_id IS NULL";
|
||||||
@@ -461,9 +461,8 @@ class vertrag extends basis_db
|
|||||||
OR
|
OR
|
||||||
EXISTS (SELECT 1 FROM lehre.tbl_projektbetreuer
|
EXISTS (SELECT 1 FROM lehre.tbl_projektbetreuer
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
||||||
AND tbl_projektbetreuer.person_id=tbl_person.person_id
|
AND tbl_projektbetreuer.person_id=tbl_person.person_id
|
||||||
AND tbl_projektbetreuer.vertrag_id IS NULL
|
AND tbl_projektbetreuer.vertrag_id IS NULL
|
||||||
)
|
)
|
||||||
@@ -535,12 +534,12 @@ class vertrag extends basis_db
|
|||||||
UNION
|
UNION
|
||||||
SELECT
|
SELECT
|
||||||
'Betreuung' as type,
|
'Betreuung' as type,
|
||||||
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
|
NULL as lehreinheit_id,
|
||||||
null as mitarbeiter_uid,
|
null as mitarbeiter_uid,
|
||||||
null::integer as pruefung_id,
|
null::integer as pruefung_id,
|
||||||
projektarbeit_id,
|
projektarbeit_id,
|
||||||
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
|
(tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
|
||||||
tbl_lehreinheit.studiensemester_kurzbz,
|
tbl_projektarbeit.studiensemester_kurzbz,
|
||||||
tbl_projektbetreuer.betreuerart_kurzbz,
|
tbl_projektbetreuer.betreuerart_kurzbz,
|
||||||
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
||||||
as bezeichnung,
|
as bezeichnung,
|
||||||
@@ -549,7 +548,6 @@ class vertrag extends basis_db
|
|||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer
|
lehre.tbl_projektbetreuer
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
JOIN lehre.tbl_vertrag USING (vertrag_id)
|
JOIN lehre.tbl_vertrag USING (vertrag_id)
|
||||||
WHERE
|
WHERE
|
||||||
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";";
|
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";";
|
||||||
@@ -942,17 +940,16 @@ class vertrag extends basis_db
|
|||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||||
WHERE
|
WHERE
|
||||||
vertrag_id=tbl_vertrag.vertrag_id
|
vertrag_id=tbl_vertrag.vertrag_id
|
||||||
AND studiensemester_kurzbz=".$this->db_add_param($stsem).")
|
AND lehre.tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem).")
|
||||||
OR
|
OR
|
||||||
EXISTS (SELECT
|
EXISTS (SELECT
|
||||||
1
|
1
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer
|
lehre.tbl_projektbetreuer
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
vertrag_id=tbl_vertrag.vertrag_id
|
vertrag_id=tbl_vertrag.vertrag_id
|
||||||
AND studiensemester_kurzbz=".$this->db_add_param($stsem).")
|
AND lehre.tbl_projektarbeit.studiensemester_kurzbz=".$this->db_add_param($stsem).")
|
||||||
OR
|
OR
|
||||||
(NOT EXISTS (SELECT
|
(NOT EXISTS (SELECT
|
||||||
1
|
1
|
||||||
@@ -980,7 +977,7 @@ class vertrag extends basis_db
|
|||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||||
WHERE
|
WHERE
|
||||||
vertrag_id=tbl_vertrag.vertrag_id
|
vertrag_id=tbl_vertrag.vertrag_id
|
||||||
AND studiensemester_kurzbz=".$this->db_add_param($stsem).")
|
AND lehre.tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem).")
|
||||||
)
|
)
|
||||||
AND tbl_benutzer.uid=".$this->db_add_param($mitarbeiter_uid);
|
AND tbl_benutzer.uid=".$this->db_add_param($mitarbeiter_uid);
|
||||||
|
|
||||||
@@ -1077,7 +1074,7 @@ class vertrag extends basis_db
|
|||||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(vertrag_id)
|
JOIN lehre.tbl_lehreinheitmitarbeiter USING(vertrag_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||||
WHERE
|
WHERE
|
||||||
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||||
AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT IN(SELECT uid FROM public.tbl_benutzer WHERE person_id=tbl_vertrag.person_id)
|
AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT IN(SELECT uid FROM public.tbl_benutzer WHERE person_id=tbl_vertrag.person_id)
|
||||||
UNION
|
UNION
|
||||||
SELECT
|
SELECT
|
||||||
@@ -1086,9 +1083,8 @@ class vertrag extends basis_db
|
|||||||
lehre.tbl_vertrag
|
lehre.tbl_vertrag
|
||||||
JOIN lehre.tbl_projektbetreuer USING(vertrag_id)
|
JOIN lehre.tbl_projektbetreuer USING(vertrag_id)
|
||||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
tbl_projektarbeit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||||
AND tbl_projektbetreuer.person_id!=tbl_vertrag.person_id";
|
AND tbl_projektbetreuer.person_id!=tbl_vertrag.person_id";
|
||||||
|
|
||||||
if($result = $this->db_query($qry))
|
if($result = $this->db_query($qry))
|
||||||
|
|||||||
@@ -748,17 +748,14 @@ or not exists
|
|||||||
UNION
|
UNION
|
||||||
SELECT sum(pb.stunden) AS semstunden
|
SELECT sum(pb.stunden) AS semstunden
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit pa,
|
lehre.tbl_projektarbeit pa
|
||||||
lehre.tbl_projektbetreuer pb,
|
JOIN lehre.tbl_projektbetreuer pb ON(pa.projektarbeit_id = pb.projektarbeit_id)
|
||||||
public.tbl_benutzer b,
|
JOIN public.tbl_benutzer b ON(pb.person_id = b.person_id)
|
||||||
lehre.tbl_lehreinheit l
|
JOIN lehre.tbl_lehreinheit l ON(pa.lehrveranstaltung_id = l.lehrveranstaltung_id AND pa.studiensemester_kurzbz = l.studiensemester_kurzbz)
|
||||||
JOIN
|
JOIN lehre.tbl_lehrveranstaltung lv ON (l.lehrveranstaltung_id = lv.lehrveranstaltung_id)
|
||||||
lehre.tbl_lehrveranstaltung lv using (lehrveranstaltung_id)
|
JOIN public.tbl_studiengang s USING (studiengang_kz)
|
||||||
JOIN
|
|
||||||
public.tbl_studiengang s using (studiengang_kz)
|
|
||||||
|
|
||||||
WHERE
|
WHERE
|
||||||
pa.lehreinheit_id = l.lehreinheit_id AND
|
|
||||||
pb.projektarbeit_id = pa.projektarbeit_id AND
|
pb.projektarbeit_id = pa.projektarbeit_id AND
|
||||||
pb.person_id = b.person_id AND
|
pb.person_id = b.person_id AND
|
||||||
b.uid = ".$this->db_add_param($user)." AND
|
b.uid = ".$this->db_add_param($user)." AND
|
||||||
|
|||||||
@@ -107,4 +107,9 @@
|
|||||||
|
|
||||||
.gesperrtoption {
|
.gesperrtoption {
|
||||||
color: gray;
|
color: gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
#onboardingRow
|
||||||
|
{
|
||||||
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (C) 2025 fhcomplete.org
|
||||||
|
*
|
||||||
|
* 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default {
|
||||||
|
getFerien(filterVonDatum, filterBisDatum) {
|
||||||
|
return {
|
||||||
|
method: 'get',
|
||||||
|
url: 'api/frontend/v1/education/ferien/getFerien',
|
||||||
|
params: {
|
||||||
|
filterVonDatum,
|
||||||
|
filterBisDatum
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getOe() {
|
||||||
|
return {
|
||||||
|
method: 'get',
|
||||||
|
url: 'api/frontend/v1/education/ferien/getOe'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getStudienplaene(oe_kurzbz, vondatum, bisdatum) {
|
||||||
|
return {
|
||||||
|
method: 'get',
|
||||||
|
url: 'api/frontend/v1/education/ferien/getStudienplaene',
|
||||||
|
params: {
|
||||||
|
oe_kurzbz,
|
||||||
|
vondatum,
|
||||||
|
bisdatum
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getFerientypen() {
|
||||||
|
return {
|
||||||
|
method: 'get',
|
||||||
|
url: 'api/frontend/v1/education/ferien/getFerientypen'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getDefaultVonBis() {
|
||||||
|
return {
|
||||||
|
method: 'get',
|
||||||
|
url: 'api/frontend/v1/education/ferien/getDefaultVonBis'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
insert(params) {
|
||||||
|
return {
|
||||||
|
method: 'post',
|
||||||
|
url: 'api/frontend/v1/education/ferien/insert',
|
||||||
|
params
|
||||||
|
};
|
||||||
|
},
|
||||||
|
update(params) {
|
||||||
|
return {
|
||||||
|
method: 'post',
|
||||||
|
url: 'api/frontend/v1/education/ferien/update',
|
||||||
|
params
|
||||||
|
};
|
||||||
|
},
|
||||||
|
delete(ferien_id) {
|
||||||
|
return {
|
||||||
|
method: 'post',
|
||||||
|
url: 'api/frontend/v1/education/ferien/delete',
|
||||||
|
params: { ferien_id }
|
||||||
|
};
|
||||||
|
},
|
||||||
|
importFerien(filterVonDatum, filterBisDatum) {
|
||||||
|
return {
|
||||||
|
method: 'get',
|
||||||
|
url: 'api/frontend/v1/education/ferien/importFerien',
|
||||||
|
params: {
|
||||||
|
filterVonDatum,
|
||||||
|
filterBisDatum
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -19,6 +19,7 @@ import DeadlineOverview from "../../components/Cis/Abgabetool/DeadlineOverview.j
|
|||||||
import Studium from "../../components/Cis/Studium/Studium.js";
|
import Studium from "../../components/Cis/Studium/Studium.js";
|
||||||
import StgOrgLvPlan from "../../components/Cis/LvPlan/StgOrg.js";
|
import StgOrgLvPlan from "../../components/Cis/LvPlan/StgOrg.js";
|
||||||
import OtherLvPlan from "../../components/Cis/LvPlan/OtherLvPlan.js";
|
import OtherLvPlan from "../../components/Cis/LvPlan/OtherLvPlan.js";
|
||||||
|
import Compat from "../../components/Cis/Compat.js";
|
||||||
|
|
||||||
import ApiRouteInfo from '../../api/factory/routeinfo.js';
|
import ApiRouteInfo from '../../api/factory/routeinfo.js';
|
||||||
import {capitalize} from "../../helpers/StringHelpers.js";
|
import {capitalize} from "../../helpers/StringHelpers.js";
|
||||||
@@ -29,6 +30,18 @@ const isMobile = window.matchMedia("(max-width: 767px)").matches;
|
|||||||
const router = VueRouter.createRouter({
|
const router = VueRouter.createRouter({
|
||||||
history: VueRouter.createWebHistory(`/${ciPath}`),
|
history: VueRouter.createWebHistory(`/${ciPath}`),
|
||||||
routes: [
|
routes: [
|
||||||
|
{
|
||||||
|
path: `/Cis/Compat/:mode(ci|legacy)/:path(.*)`,
|
||||||
|
name: 'Compat',
|
||||||
|
component: Compat,
|
||||||
|
props: (route) => {
|
||||||
|
return {
|
||||||
|
mode: route.params.mode,
|
||||||
|
path: route.params.path,
|
||||||
|
query_string: VueRouter.stringifyQuery(route.query)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: `/Cis/Studium`,
|
path: `/Cis/Studium`,
|
||||||
name: 'Studium',
|
name: 'Studium',
|
||||||
@@ -277,7 +290,7 @@ const app = Vue.createApp({
|
|||||||
if (target && this.isInternalRoute(target.href)) {
|
if (target && this.isInternalRoute(target.href)) {
|
||||||
const url = new URL(target.href)
|
const url = new URL(target.href)
|
||||||
|
|
||||||
const path = url.pathname
|
const path = url.pathname + url.search;
|
||||||
const base = this.$router.options.history.base
|
const base = this.$router.options.history.base
|
||||||
const route = path.replace(base, '') || '/'
|
const route = path.replace(base, '') || '/'
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import Ferienverwaltung from '../../../components/Ferienverwaltung/Ferienverwaltung.js';
|
||||||
|
import PluginsPhrasen from '../../../plugins/Phrasen.js';
|
||||||
|
|
||||||
|
const app = Vue.createApp({
|
||||||
|
name: 'FerienverwaltungApp',
|
||||||
|
components: {
|
||||||
|
Ferienverwaltung
|
||||||
|
}
|
||||||
|
});
|
||||||
|
app
|
||||||
|
.use(PluginsPhrasen)
|
||||||
|
.mount('#main');
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
export default {
|
||||||
|
name: "Compat",
|
||||||
|
props: {
|
||||||
|
mode: { type: String, required: true },
|
||||||
|
path: { type: String, required: true },
|
||||||
|
query_string: { type: String, required: true, default: ''}
|
||||||
|
},
|
||||||
|
data: function() {
|
||||||
|
return {
|
||||||
|
lastLoadediFrameURL: '',
|
||||||
|
srcUrl: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
propsWatchHelper: function() {
|
||||||
|
return this.mode + '#' + this.path + '#' + this.query_string;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted: function() {
|
||||||
|
this.srcUrl = this.buildSrcUrl();
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
propsWatchHelper: function() {
|
||||||
|
if(this.lastLoadediFrameURL === '') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let currentiFrameURL = this.$refs.compatiframe ? this.$refs.compatiframe.src : '';
|
||||||
|
|
||||||
|
let url = this.buildSrcUrl();
|
||||||
|
if(this.lastLoadediFrameURL !== url) {
|
||||||
|
this.srcUrl = url;
|
||||||
|
if(this.srcUrl === url) {
|
||||||
|
this.$refs.compatiframe.contentWindow.location.href = url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
buildSrcUrl: function() {
|
||||||
|
let url = false;
|
||||||
|
switch(this.mode) {
|
||||||
|
case 'ci':
|
||||||
|
url = FHC_JS_DATA_STORAGE_OBJECT.app_root + 'index.ci.php/' + this.path;
|
||||||
|
break;
|
||||||
|
case 'legacy':
|
||||||
|
url = FHC_JS_DATA_STORAGE_OBJECT.app_root + this.path;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
url = false;
|
||||||
|
}
|
||||||
|
if(this.query_string !== '' && url) {
|
||||||
|
url += '?' + this.query_string;
|
||||||
|
}
|
||||||
|
|
||||||
|
return url;
|
||||||
|
},
|
||||||
|
loadHandler: function() {
|
||||||
|
let iframe_href = this.$refs.compatiframe.contentWindow.location.href;
|
||||||
|
let ci_urlstart = FHC_JS_DATA_STORAGE_OBJECT.app_root + 'index.ci.php/';
|
||||||
|
let legacy_urlstart = FHC_JS_DATA_STORAGE_OBJECT.app_root;
|
||||||
|
let routerpath = null;
|
||||||
|
|
||||||
|
this.lastLoadediFrameURL = iframe_href;
|
||||||
|
|
||||||
|
if(iframe_href.startsWith(ci_urlstart)) {
|
||||||
|
routerpath = iframe_href.replace(
|
||||||
|
ci_urlstart, '/Cis/Compat/ci/');
|
||||||
|
} else if(iframe_href.startsWith(legacy_urlstart)) {
|
||||||
|
routerpath = iframe_href.replace(
|
||||||
|
legacy_urlstart, '/Cis/Compat/legacy/');
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.$route.fullPath !== routerpath) {
|
||||||
|
this.$router.push(routerpath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
template: `
|
||||||
|
<div class="w-100">
|
||||||
|
<iframe
|
||||||
|
ref="compatiframe"
|
||||||
|
v-if="srcUrl"
|
||||||
|
:src="srcUrl"
|
||||||
|
@load="loadHandler"
|
||||||
|
style="width:100%; height:90vh; border:0; display:block;"
|
||||||
|
></iframe>
|
||||||
|
<div v-else class="alert alert-warning">Keine URL gefunden.</div>
|
||||||
|
</div>
|
||||||
|
`
|
||||||
|
};
|
||||||
@@ -72,20 +72,10 @@ export default {
|
|||||||
return this.entry.url.startsWith(FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router)
|
return this.entry.url.startsWith(FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router)
|
||||||
},
|
},
|
||||||
target() {
|
target() {
|
||||||
if (this.entry.template_kurzbz == 'redirect') {
|
if (this.entry?.target) {
|
||||||
if (!this.entry.content)
|
return this.entry.target;
|
||||||
return '';
|
|
||||||
let xmlDoc = (new DOMParser()).parseFromString(this.entry.content,"text/xml");
|
|
||||||
let target = xmlDoc.getElementsByTagName('target')[0];
|
|
||||||
if (!target)
|
|
||||||
return '';
|
|
||||||
|
|
||||||
target = target.childNodes[0].nodeValue + "";
|
|
||||||
if (target == 'content' || target == '_self')
|
|
||||||
target = "";
|
|
||||||
return target;
|
|
||||||
}
|
}
|
||||||
return ''
|
return '_self';
|
||||||
},
|
},
|
||||||
hasChilds() {
|
hasChilds() {
|
||||||
return this.entry.childs && this.entry.childs.length !== 0;
|
return this.entry.childs && this.entry.childs.length !== 0;
|
||||||
|
|||||||
@@ -206,6 +206,8 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.lehrveranstaltungen.forEach((lehrveranstaltung)=>{
|
this.lehrveranstaltungen.forEach((lehrveranstaltung)=>{
|
||||||
|
// a lehrveranstaltung without a modul has no children
|
||||||
|
if(!Array.isArray(lehrveranstaltung.lehrveranstaltungen)) return;
|
||||||
lehrveranstaltung.lehrveranstaltungen.sort((lv1,lv2)=>{
|
lehrveranstaltung.lehrveranstaltungen.sort((lv1,lv2)=>{
|
||||||
if (lv1.bezeichnung.toLowerCase() > lv2.bezeichnung.toLowerCase()) {
|
if (lv1.bezeichnung.toLowerCase() > lv2.bezeichnung.toLowerCase()) {
|
||||||
return 1;
|
return 1;
|
||||||
@@ -393,6 +395,16 @@ export default {
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card" v-else-if="!Array.isArray(lehrveranstaltung.lehrveranstaltungen)">
|
||||||
|
<div class="card-body">
|
||||||
|
<ul class="list-group list-group-flush">
|
||||||
|
<li class="d-flex list-group-item">
|
||||||
|
<a class="fhc-link-color d-block me-auto" href="#" @click="openLvUebersicht(lehrveranstaltung)">{{isGermanLanguage ? lehrveranstaltung.bezeichnung : lehrveranstaltung.bezeichnung_english}}</a>
|
||||||
|
<p>{{lehrveranstaltung.lehrform_kurzbz}}</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -542,10 +542,10 @@ export default {
|
|||||||
|
|
||||||
<template v-if="typeHeader==='mitarbeiter'">
|
<template v-if="typeHeader==='mitarbeiter'">
|
||||||
|
|
||||||
<div class="foto-container col-md-2 d-flex justify-content-start align-items-center w-30 pb-3 gap-3 mt-3 position-relative" style="max-height: 8rem; max-width: 6rem; overflow: hidden;">
|
<div class="foto-container d-flex flex-column align-items-center h-100 position-relative d-inline-block">
|
||||||
<img
|
<img
|
||||||
class="d-block w-100 h-100 rounded"
|
class="d-block rounded"
|
||||||
style="height: 84px; object-fit: contain;"
|
style="height: 96px;"
|
||||||
alt="Profilbild"
|
alt="Profilbild"
|
||||||
:src="getFotoSrc(headerDataMa.foto)"
|
:src="getFotoSrc(headerDataMa.foto)"
|
||||||
/>
|
/>
|
||||||
@@ -558,15 +558,13 @@ export default {
|
|||||||
<template v-if="fotoEditable">
|
<template v-if="fotoEditable">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="fotoedit btn btn-outline-dark btn-sm d-flex justify-content-center align-items-center position-absolute start-0"
|
class="fotoedit buttonleft btn btn-outline-dark btn-sm d-flex justify-content-center align-items-center position-absolute start-0"
|
||||||
style="z-index: 104; font-size: 1rem; width: 2.5rem; height: 2.5rem; opacity:0; transition: opacity 0.2s; top:13%;"
|
|
||||||
@click="showDeleteModal(person_id)">
|
@click="showDeleteModal(person_id)">
|
||||||
<i class="fa fa-xmark"></i>
|
<i class="fa fa-xmark"></i>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="fotoedit btn btn-outline-dark btn-sm d-flex justify-content-center align-items-center position-absolute end-0"
|
class="fotoedit buttonright btn btn-outline-dark btn-sm d-flex justify-content-center align-items-center position-absolute end-0"
|
||||||
style="z-index: 104; font-size: 1rem; width: 2.5rem; height: 2.5rem; opacity:0; transition: opacity 0.2s; top:13%;"
|
|
||||||
@click="showModal(person_id)">
|
@click="showModal(person_id)">
|
||||||
<i class="fa fa-pen"></i>
|
<i class="fa fa-pen"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -0,0 +1,304 @@
|
|||||||
|
import {CoreFilterCmpt} from "../filter/Filter.js";
|
||||||
|
import {CoreNavigationCmpt} from "../navigation/Navigation.js";
|
||||||
|
import FormInput from "../Form/Input.js";
|
||||||
|
import FerienModal from "./Modal.js";
|
||||||
|
|
||||||
|
import ApiFerienverwaltung from '../../api/factory/ferienverwaltung/ferienverwaltung.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Ferienverwaltung",
|
||||||
|
components: {
|
||||||
|
CoreFilterCmpt,
|
||||||
|
CoreNavigationCmpt,
|
||||||
|
FormInput,
|
||||||
|
FerienModal
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
filterVonDatum: null,
|
||||||
|
filterBisDatum: null,
|
||||||
|
loading: false,
|
||||||
|
sideMenuEntries: {},
|
||||||
|
headerMenuEntries: {},
|
||||||
|
tabulatorOptions: {
|
||||||
|
ajaxURL: 'dummy',
|
||||||
|
ajaxRequestFunc: () => this.$api.call(
|
||||||
|
ApiFerienverwaltung.getFerien(this.filterVonDatum, this.filterBisDatum)
|
||||||
|
),
|
||||||
|
ajaxResponse: (url, params, response) => response.data,
|
||||||
|
columns: [
|
||||||
|
{title:"Ferien Id", field:"ferien_id", visible: false, headerFilter: true},
|
||||||
|
{
|
||||||
|
title:"Datum von",
|
||||||
|
field:"vondatum",
|
||||||
|
headerFilter: true,
|
||||||
|
formatter: function (cell) {
|
||||||
|
const dateStr = cell.getValue();
|
||||||
|
if (!dateStr) return "";
|
||||||
|
|
||||||
|
const date = new Date(dateStr);
|
||||||
|
return date.toLocaleString("de-DE", {
|
||||||
|
day: "2-digit",
|
||||||
|
month: "2-digit",
|
||||||
|
year: "numeric",
|
||||||
|
hour12: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"Datum bis",
|
||||||
|
field:"bisdatum",
|
||||||
|
headerFilter: true,
|
||||||
|
formatter: function (cell) {
|
||||||
|
const dateStr = cell.getValue();
|
||||||
|
if (!dateStr) return "";
|
||||||
|
|
||||||
|
const date = new Date(dateStr);
|
||||||
|
return date.toLocaleString("de-DE", {
|
||||||
|
day: "2-digit",
|
||||||
|
month: "2-digit",
|
||||||
|
year: "numeric",
|
||||||
|
hour12: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{title:"Bezeichnung", field:"bezeichnung", headerFilter: true},
|
||||||
|
{title:"Organisationseinheit Kurzbezeichnung", field:"oe_kurzbz", visible: false, headerFilter: true},
|
||||||
|
{title:"Organisationseinheit", field:"oe_bezeichnung", headerFilter: true},
|
||||||
|
{title:"Studienplan", field:"studienplan_bezeichnung", visible: false, headerFilter: true},
|
||||||
|
{title:"Ferientyp Kurzbezeichnung", field:"ferientyp_kurzbz", visible: false, headerFilter: true},
|
||||||
|
{
|
||||||
|
title:"Mitarbeiterrelevant",
|
||||||
|
field:"mitarbeiterrelevant",
|
||||||
|
visible: false,
|
||||||
|
headerFilter: true,
|
||||||
|
hozAlign: "center",
|
||||||
|
formatter:'tickCross', formatterParams: {
|
||||||
|
tickElement: '<i class="fas fa-check text-success"></i>',
|
||||||
|
crossElement: '<i class="fas fa-times text-danger"></i>'
|
||||||
|
},
|
||||||
|
headerFilter:"tickCross", headerFilterParams: {
|
||||||
|
"tristate":true, elementAttributes:{"value":"true"}
|
||||||
|
},
|
||||||
|
headerFilterEmptyCheck:function(value){return value === null}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"Studierendenrelevant",
|
||||||
|
field:"studierendenrelevant",
|
||||||
|
visible: false,
|
||||||
|
headerFilter: true,
|
||||||
|
hozAlign: "center",
|
||||||
|
formatter:'tickCross', formatterParams: {
|
||||||
|
tickElement: '<i class="fas fa-check text-success"></i>',
|
||||||
|
crossElement: '<i class="fas fa-times text-danger"></i>'
|
||||||
|
},
|
||||||
|
headerFilter:"tickCross", headerFilterParams: {
|
||||||
|
"tristate":true, elementAttributes:{"value":"true"}
|
||||||
|
},
|
||||||
|
headerFilterEmptyCheck:function(value){return value === null}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title:"Lehre planbar",
|
||||||
|
field:"lehre",
|
||||||
|
visible: false,
|
||||||
|
headerFilter: true,
|
||||||
|
hozAlign: "center",
|
||||||
|
formatter:'tickCross', formatterParams: {
|
||||||
|
tickElement: '<i class="fas fa-check text-success"></i>',
|
||||||
|
crossElement: '<i class="fas fa-times text-danger"></i>'
|
||||||
|
},
|
||||||
|
headerFilter:"tickCross", headerFilterParams: {
|
||||||
|
"tristate":true, elementAttributes:{"value":"true"}
|
||||||
|
},
|
||||||
|
headerFilterEmptyCheck:function(value){return value === null}
|
||||||
|
},
|
||||||
|
{title:"Aktionen", field: "actions",
|
||||||
|
minWidth: 150, // Ensures Action-buttons will be always fully displayed
|
||||||
|
formatter: (cell, formatterParams, onRendered) => {
|
||||||
|
let container = document.createElement('div');
|
||||||
|
container.className = "d-flex gap-2";
|
||||||
|
|
||||||
|
let button = document.createElement('button');
|
||||||
|
button.className = 'btn btn-outline-secondary btn-action';
|
||||||
|
button.innerHTML = '<i class="fa fa-edit"></i>';
|
||||||
|
button.title = this.$p.t('person', 'ferien_edit');
|
||||||
|
button.addEventListener('click', (event) =>
|
||||||
|
this.$refs.modal.open(JSON.parse(JSON.stringify(cell.getData()))) // deep copy
|
||||||
|
);
|
||||||
|
container.append(button);
|
||||||
|
|
||||||
|
button = document.createElement('button');
|
||||||
|
button.className = 'btn btn-outline-secondary';
|
||||||
|
button.innerHTML = '<i class="fa fa-trash"></i>';
|
||||||
|
button.addEventListener('click', evt => {
|
||||||
|
evt.stopPropagation();
|
||||||
|
this.$fhcAlert
|
||||||
|
.confirmDelete()
|
||||||
|
.then(result => result ? cell.getData().ferien_id : Promise.reject({handled:true}))
|
||||||
|
.then(ferien_id => this.$api.call(ApiFerienverwaltung.delete(ferien_id)))
|
||||||
|
.then(() => {
|
||||||
|
//cell.getRow().delete();
|
||||||
|
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||||
|
this.reload();
|
||||||
|
})
|
||||||
|
.catch(this.$fhcAlert.handleSystemError);
|
||||||
|
});
|
||||||
|
container.append(button);
|
||||||
|
|
||||||
|
return container;
|
||||||
|
},
|
||||||
|
frozen: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
tabulatorEvents: [
|
||||||
|
{
|
||||||
|
event: 'tableBuilt',
|
||||||
|
handler: async () => {
|
||||||
|
|
||||||
|
await this.$p.loadCategory(['global', 'ferien']);
|
||||||
|
|
||||||
|
const setHeader = (field, text) => {
|
||||||
|
const col = this.$refs.table.tabulator.getColumn(field);
|
||||||
|
if (!col) return;
|
||||||
|
|
||||||
|
const el = col.getElement();
|
||||||
|
if (!el || !el.querySelector) return;
|
||||||
|
|
||||||
|
const titleEl = el.querySelector('.tabulator-col-title');
|
||||||
|
if (titleEl) {
|
||||||
|
titleEl.textContent = text;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
setHeader('ferien_id', this.$p.t('ferien', 'ferienId'));
|
||||||
|
setHeader('vondatum', this.$p.t('ferien', 'vondatum'));
|
||||||
|
setHeader('bisdatum', this.$p.t('ferien', 'bisdatum'));
|
||||||
|
setHeader('bezeichnung', this.$p.t('global', 'bezeichnung'));
|
||||||
|
setHeader('oe_kurzbz', this.$p.t('ferien', 'oeKurzbezeichnung'));
|
||||||
|
setHeader('oe_bezeichnung', this.$p.t('ferien', 'oeBezeichnung'));
|
||||||
|
setHeader('studienplan_bezeichnung', this.$p.t('global', 'studienplanBezeichnung'));
|
||||||
|
setHeader('ferientyp_kurzbz', this.$p.t('ferien', 'ferientypKurzbz'));
|
||||||
|
setHeader('mitarbeiterrelevant', this.$p.t('ferien', 'mitarbeiterrelevant'));
|
||||||
|
setHeader('studierendenrelevant', this.$p.t('ferien', 'studierendenrelevant'));
|
||||||
|
setHeader('lehre', this.$p.t('ferien', 'lehrePlanbar'));
|
||||||
|
setHeader('actions', this.$p.t('global', 'aktionen'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
reload() {
|
||||||
|
this.$refs.table.reloadTable();
|
||||||
|
},
|
||||||
|
actionNew() {
|
||||||
|
this.$refs.modal.open();
|
||||||
|
},
|
||||||
|
importFerien() {
|
||||||
|
this.$api
|
||||||
|
.call(ApiFerienverwaltung.importFerien(this.filterVonDatum, this.filterBisDatum))
|
||||||
|
.then(result => {
|
||||||
|
this.$fhcAlert.alertSuccess(this.$p.t('ferien', 'importiert') + ": " + result.data);
|
||||||
|
this.reload();
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(error => {
|
||||||
|
if (error)
|
||||||
|
this.$fhcAlert.handleSystemError(error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.call(ApiFerienverwaltung.getDefaultVonBis())
|
||||||
|
.then(result => {
|
||||||
|
this.filterVonDatum = result.data.defaultVon;
|
||||||
|
this.filterBisDatum = result.data.defaultBis;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(error => {
|
||||||
|
if (error)
|
||||||
|
this.$fhcAlert.handleSystemError(error);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
template: `
|
||||||
|
|
||||||
|
<core-navigation-cmpt
|
||||||
|
v-bind:add-side-menu-entries="sideMenuEntries"
|
||||||
|
v-bind:add-header-menu-entries="headerMenuEntries"
|
||||||
|
>
|
||||||
|
</core-navigation-cmpt>
|
||||||
|
|
||||||
|
<div class="h-100 d-flex flex-column">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-4">
|
||||||
|
<form-input
|
||||||
|
type="DatePicker"
|
||||||
|
v-model="filterVonDatum"
|
||||||
|
name="filtervondatum"
|
||||||
|
:label="$p.t('ferien/vondatum')"
|
||||||
|
:enable-time-picker="false"
|
||||||
|
text-input
|
||||||
|
format="dd.MM.yyyy"
|
||||||
|
auto-apply
|
||||||
|
>
|
||||||
|
</form-input>
|
||||||
|
</div>
|
||||||
|
<div class="col-4">
|
||||||
|
<form-input
|
||||||
|
type="DatePicker"
|
||||||
|
v-model="filterBisDatum"
|
||||||
|
name="filterbisdatum"
|
||||||
|
:label="$p.t('ferien/bisdatum')"
|
||||||
|
:enable-time-picker="false"
|
||||||
|
text-input
|
||||||
|
format="dd.MM.yyyy"
|
||||||
|
auto-apply
|
||||||
|
>
|
||||||
|
</form-input>
|
||||||
|
</div>
|
||||||
|
<div class="col-2 align-self-end">
|
||||||
|
<button
|
||||||
|
class="btn btn-primary"
|
||||||
|
@click="reload()"
|
||||||
|
:disabled="loading"
|
||||||
|
>
|
||||||
|
<i v-if="loading" class="fa fa-spinner fa-spin"></i>
|
||||||
|
{{ $p.t('ui/anzeigen') }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-2 align-self-end justify-content-end">
|
||||||
|
<button
|
||||||
|
class="btn btn-secondary"
|
||||||
|
@click="importFerien()"
|
||||||
|
:disabled="loading"
|
||||||
|
>
|
||||||
|
<i v-if="loading" class="fa fa-spinner fa-spin"></i>
|
||||||
|
{{ $p.t('ferien/ferienImportieren') }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mt-3">
|
||||||
|
<div class="col">
|
||||||
|
<core-filter-cmpt
|
||||||
|
ref="table"
|
||||||
|
table-only
|
||||||
|
:side-menu="false"
|
||||||
|
:tabulator-options="tabulatorOptions"
|
||||||
|
:tabulator-events="tabulatorEvents"
|
||||||
|
reload
|
||||||
|
:reload-btn-infotext="this.$p.t('table', 'reload')"
|
||||||
|
new-btn-show
|
||||||
|
:new-btn-label="$p.t('ui/neu')"
|
||||||
|
@click:new="actionNew"
|
||||||
|
>
|
||||||
|
</core-filter-cmpt>
|
||||||
|
<ferien-modal ref="modal" @saved="reload"></ferien-modal>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>`
|
||||||
|
};
|
||||||
@@ -0,0 +1,190 @@
|
|||||||
|
import BsModal from "../Bootstrap/Modal.js";
|
||||||
|
import BsConfirm from "../Bootstrap/Confirm.js";
|
||||||
|
import CoreForm from "../Form/Form.js";
|
||||||
|
import FormValidation from "../Form/Validation.js";
|
||||||
|
import FormInput from "../Form/Input.js";
|
||||||
|
|
||||||
|
import ApiFerien from '../../api/factory/ferienverwaltung/ferienverwaltung.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
BsModal,
|
||||||
|
CoreForm,
|
||||||
|
FormValidation,
|
||||||
|
FormInput
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
oeList: [],
|
||||||
|
studienplaeneList: [],
|
||||||
|
ferientypList: [],
|
||||||
|
loading: false,
|
||||||
|
data: {},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
save() {
|
||||||
|
this.$refs.form.clearValidation();
|
||||||
|
this.loading = true;
|
||||||
|
|
||||||
|
let saveFunc = this.data.ferien_id ? ApiFerien.update : ApiFerien.insert;
|
||||||
|
|
||||||
|
this.$refs.form
|
||||||
|
.call(saveFunc(this.data))
|
||||||
|
.then(result => {
|
||||||
|
this.$emit('saved', result.data);
|
||||||
|
this.loading = false;
|
||||||
|
this.$refs.modal.hide();
|
||||||
|
this.$fhcAlert.alertSuccess(this.$p.t('ui/gespeichert'));
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
if (error)
|
||||||
|
this.$fhcAlert.handleSystemError(error);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
open(data) {
|
||||||
|
this.$refs.form.clearValidation();
|
||||||
|
this.data = data ?? {
|
||||||
|
oe_kurzbz: null,
|
||||||
|
bezeichnung: '',
|
||||||
|
vondatum: null,
|
||||||
|
bisdatum: null,
|
||||||
|
studienplan_id: null
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.call(ApiFerien.getOe())
|
||||||
|
.then(result => {
|
||||||
|
this.oeList = result.data;
|
||||||
|
//this.loading = false;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(error => {
|
||||||
|
if (error)
|
||||||
|
this.$fhcAlert.handleSystemError(error);
|
||||||
|
//this.loading = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
this.getStudienplaene();
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.call(ApiFerien.getFerientypen())
|
||||||
|
.then(result => {
|
||||||
|
this.ferientypList = result.data;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(error => {
|
||||||
|
if (error)
|
||||||
|
this.$fhcAlert.handleSystemError(error);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.$refs.modal.show();
|
||||||
|
},
|
||||||
|
getStudienplaene() {
|
||||||
|
if (!this.data.oe_kurzbz) return;
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.call(ApiFerien.getStudienplaene(this.data.oe_kurzbz, this.data.vondatum, this.data.bisdatum))
|
||||||
|
.then(result => {
|
||||||
|
this.studienplaeneList = result.data;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.catch(error => {
|
||||||
|
if (error)
|
||||||
|
this.$fhcAlert.handleSystemError(error);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
preventCloseOnLoading(ev) {
|
||||||
|
if (this.loading)
|
||||||
|
ev.returnValue = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
template: `
|
||||||
|
<core-form ref="form" class="stv-details-ferien-edit" @submit.prevent="save">
|
||||||
|
<bs-modal ref="modal" @hide-bs-modal="preventCloseOnLoading">
|
||||||
|
<form-validation></form-validation>
|
||||||
|
|
||||||
|
<fieldset :disabled="loading">
|
||||||
|
<form-input
|
||||||
|
type="DatePicker"
|
||||||
|
v-model="data.vondatum"
|
||||||
|
name="vondatum"
|
||||||
|
:label="$p.t('ferien/vondatum')"
|
||||||
|
:enable-time-picker="false"
|
||||||
|
text-input
|
||||||
|
format="dd.MM.yyyy"
|
||||||
|
auto-apply
|
||||||
|
>
|
||||||
|
</form-input>
|
||||||
|
|
||||||
|
<form-input
|
||||||
|
type="DatePicker"
|
||||||
|
v-model="data.bisdatum"
|
||||||
|
name="bisdatum"
|
||||||
|
:label="$p.t('ferien/bisdatum')"
|
||||||
|
:enable-time-picker="false"
|
||||||
|
text-input
|
||||||
|
format="dd.MM.yyyy"
|
||||||
|
auto-apply
|
||||||
|
>
|
||||||
|
</form-input>
|
||||||
|
|
||||||
|
<form-input
|
||||||
|
v-model="data.bezeichnung"
|
||||||
|
name="bezeichnung"
|
||||||
|
:label="$p.t('global/bezeichnung')"
|
||||||
|
>
|
||||||
|
</form-input>
|
||||||
|
|
||||||
|
<form-input
|
||||||
|
type="select"
|
||||||
|
v-model="data.oe_kurzbz"
|
||||||
|
name="oe_kurzbz"
|
||||||
|
:label="$p.t('ferien/organisationseinheit')"
|
||||||
|
@change="getStudienplaene"
|
||||||
|
>
|
||||||
|
<option :value="null">-- {{ $p.t('ui/alle') }} --</option>
|
||||||
|
<option v-for="oe in oeList" :key="oe.oe_kurzbz" :value="oe.oe_kurzbz">
|
||||||
|
{{ oe.organisationseinheittyp_kurzbz + ' ' + oe.bezeichnung }}
|
||||||
|
</option>
|
||||||
|
</form-input>
|
||||||
|
|
||||||
|
<form-input
|
||||||
|
type="select"
|
||||||
|
v-model="data.studienplan_id"
|
||||||
|
name="studienplan_id"
|
||||||
|
:label="$p.t('ferien/studienplan')"
|
||||||
|
>
|
||||||
|
<option :value="null">-- {{ $p.t('ui/keineAuswahl') }} --</option>
|
||||||
|
<option v-for="studienplan in studienplaeneList" :key="studienplan.studienplan_id" :value="studienplan.studienplan_id">
|
||||||
|
{{ studienplan.bezeichnung }}
|
||||||
|
</option>
|
||||||
|
</form-input>
|
||||||
|
|
||||||
|
<form-input
|
||||||
|
type="select"
|
||||||
|
v-model="data.ferientyp_kurzbz"
|
||||||
|
name="ferientyp_kurzbz"
|
||||||
|
:label="$p.t('ferien/ferientypKurzbz')"
|
||||||
|
>
|
||||||
|
<option :value="null">-- {{ $p.t('ui/keineAuswahl') }} --</option>
|
||||||
|
<option v-for="ferientyp in ferientypList" :key="ferientyp.ferientyp_kurzbz" :value="ferientyp.ferientyp_kurzbz">
|
||||||
|
{{ ferientyp.ferientyp_kurzbz }}
|
||||||
|
</option>
|
||||||
|
</form-input>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<button type="submit" class="btn btn-primary" :disabled="loading">
|
||||||
|
<i v-if="loading" class="fa fa-spinner fa-spin"></i>
|
||||||
|
{{ $p.t('ui/speichern') }}
|
||||||
|
</button>
|
||||||
|
</template>
|
||||||
|
</bs-modal>
|
||||||
|
</core-form>`
|
||||||
|
};
|
||||||
@@ -49,6 +49,52 @@ export default{
|
|||||||
{title: this.$p.t('person', 'nachname'), field:"nachname"},
|
{title: this.$p.t('person', 'nachname'), field:"nachname"},
|
||||||
{title: this.$p.t('person', 'vorname'), field:"vorname"},
|
{title: this.$p.t('person', 'vorname'), field:"vorname"},
|
||||||
{title: this.$p.t('person', 'uid'), field:"mitarbeiter_uid"},
|
{title: this.$p.t('person', 'uid'), field:"mitarbeiter_uid"},
|
||||||
|
{title: this.$p.t('global/insertvon'), field: 'insertvon', visible: false},
|
||||||
|
{
|
||||||
|
title: this.$p.t('global/insertamum'),
|
||||||
|
field: "insertamum",
|
||||||
|
visible: false,
|
||||||
|
formatter: function (cell) {
|
||||||
|
const dateStr = cell.getValue();
|
||||||
|
|
||||||
|
if (!dateStr) return "";
|
||||||
|
|
||||||
|
const date = new Date(dateStr);
|
||||||
|
|
||||||
|
return date.toLocaleString("de-DE", {
|
||||||
|
day: "2-digit",
|
||||||
|
month: "2-digit",
|
||||||
|
year: "numeric",
|
||||||
|
hour: "2-digit",
|
||||||
|
minute: "2-digit",
|
||||||
|
second: "2-digit",
|
||||||
|
hour12: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{title: this.$p.t('global/updatevon'), field: 'updatevon', visible: false},
|
||||||
|
{
|
||||||
|
title: this.$p.t('global/updateamum'),
|
||||||
|
field: "updateamum",
|
||||||
|
visible: false,
|
||||||
|
formatter: function (cell) {
|
||||||
|
const dateStr = cell.getValue();
|
||||||
|
|
||||||
|
if (!dateStr) return "";
|
||||||
|
|
||||||
|
const date = new Date(dateStr);
|
||||||
|
|
||||||
|
return date.toLocaleString("de-DE", {
|
||||||
|
day: "2-digit",
|
||||||
|
month: "2-digit",
|
||||||
|
year: "numeric",
|
||||||
|
hour: "2-digit",
|
||||||
|
minute: "2-digit",
|
||||||
|
second: "2-digit",
|
||||||
|
hour12: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
{title: this.$p.t('lehre', 'lehreinheit_id'), field:"lehreinheit_id"},
|
{title: this.$p.t('lehre', 'lehreinheit_id'), field:"lehreinheit_id"},
|
||||||
{
|
{
|
||||||
title: this.$p.t('lehre', 'verplant'),
|
title: this.$p.t('lehre', 'verplant'),
|
||||||
@@ -102,7 +148,7 @@ export default{
|
|||||||
selectable: true,
|
selectable: true,
|
||||||
selectableRangeMode: 'click',
|
selectableRangeMode: 'click',
|
||||||
selectableRows:1,
|
selectableRows:1,
|
||||||
persistenceID: 'lehrveranstaltungen_lektor_table_2025_05_27_v1',
|
persistenceID: 'lehrveranstaltungen_lektor_table_2026_09_11_v1',
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ export default {
|
|||||||
deleteButton.className = 'btn btn-outline-secondary';
|
deleteButton.className = 'btn btn-outline-secondary';
|
||||||
const icon = document.createElement('i');
|
const icon = document.createElement('i');
|
||||||
icon.className = 'fa fa-trash';
|
icon.className = 'fa fa-trash';
|
||||||
icon.title = this.$p.t('ui/loeschen');
|
icon.title = this.$p.t('lehre/info_deleteMarkEntry');
|
||||||
deleteButton.append(icon);
|
deleteButton.append(icon);
|
||||||
deleteButton.addEventListener('click', evt => {
|
deleteButton.addEventListener('click', evt => {
|
||||||
evt.stopPropagation();
|
evt.stopPropagation();
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ export default {
|
|||||||
return this.$api
|
return this.$api
|
||||||
.call(ApiStvProjektarbeit.getLehrveranstaltungen(
|
.call(ApiStvProjektarbeit.getLehrveranstaltungen(
|
||||||
this.student.uid,
|
this.student.uid,
|
||||||
this.newProjektarbeit ? this.student.studiengang_kz : null,
|
this.student.studiengang_kz,
|
||||||
this.studiensemester,
|
this.studiensemester,
|
||||||
this.additional_lehrveranstaltung_id
|
this.additional_lehrveranstaltung_id
|
||||||
))
|
))
|
||||||
@@ -227,7 +227,8 @@ export default {
|
|||||||
if (preparedFormData.projektarbeit_id == null) delete(preparedFormData.projektarbeit_id);
|
if (preparedFormData.projektarbeit_id == null) delete(preparedFormData.projektarbeit_id);
|
||||||
delete(preparedFormData.firma);
|
delete(preparedFormData.firma);
|
||||||
delete(preparedFormData.firma_name);
|
delete(preparedFormData.firma_name);
|
||||||
delete(preparedFormData.lehrveranstaltung_id);
|
|
||||||
|
preparedFormData.studiensemester_kurzbz = this.studiensemester
|
||||||
|
|
||||||
return preparedFormData;
|
return preparedFormData;
|
||||||
}
|
}
|
||||||
@@ -290,7 +291,7 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-10">
|
<div class="col-9">
|
||||||
<form-input
|
<form-input
|
||||||
container-class="stv-details-projektarbeit-firma"
|
container-class="stv-details-projektarbeit-firma"
|
||||||
:label="$p.t('projektarbeit', 'firma')"
|
:label="$p.t('projektarbeit', 'firma')"
|
||||||
@@ -304,7 +305,7 @@ export default {
|
|||||||
>
|
>
|
||||||
</form-input>
|
</form-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2 align-content-center">
|
<div class="col-3 align-content-center">
|
||||||
<a :href="firmenverwaltungLink" target="_blank">
|
<a :href="firmenverwaltungLink" target="_blank">
|
||||||
{{ $p.t('projektarbeit', 'zurFirmenverwaltung') }}
|
{{ $p.t('projektarbeit', 'zurFirmenverwaltung') }}
|
||||||
</a>
|
</a>
|
||||||
@@ -313,14 +314,13 @@ export default {
|
|||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<form-input
|
<form-input
|
||||||
container-class="stv-details-projektarbeit-lv col-10"
|
container-class="stv-details-projektarbeit-lv col-9"
|
||||||
:label="$p.t('projektarbeit', 'lehrveranstaltung')"
|
:label="$p.t('projektarbeit', 'lehrveranstaltung')"
|
||||||
type="select"
|
type="select"
|
||||||
v-model="formData.lehrveranstaltung_id"
|
v-model="formData.lehrveranstaltung_id"
|
||||||
name="lehrveranstaltung_id"
|
name="lehrveranstaltung_id"
|
||||||
@change="lvChanged($event)"
|
@change="lvChanged($event)"
|
||||||
>
|
>
|
||||||
<option :value="null"> -- {{$p.t('fehlermonitoring', 'keineAuswahl')}} -- </option>
|
|
||||||
<option
|
<option
|
||||||
v-for="lv in arrLvs"
|
v-for="lv in arrLvs"
|
||||||
:key="lv.lehrveranstaltung_id"
|
:key="lv.lehrveranstaltung_id"
|
||||||
@@ -330,14 +330,13 @@ export default {
|
|||||||
</option>
|
</option>
|
||||||
</form-input>
|
</form-input>
|
||||||
<form-input
|
<form-input
|
||||||
container-class="col-2"
|
container-class="col-3"
|
||||||
:label="$p.t('lehre', 'studiensemester')"
|
:label="$p.t('lehre', 'studiensemester')"
|
||||||
type="select"
|
type="select"
|
||||||
v-model="studiensemester"
|
v-model="studiensemester"
|
||||||
name="studiensemester"
|
name="studiensemester"
|
||||||
@change="studiensemesterChanged"
|
@change="studiensemesterChanged"
|
||||||
>
|
>
|
||||||
<option :value="null"> -- {{$p.t('fehlermonitoring', 'keineAuswahl')}} -- </option>
|
|
||||||
<option
|
<option
|
||||||
v-for="sem in arrStudiensemester"
|
v-for="sem in arrStudiensemester"
|
||||||
:key="sem.studiensemester_kurzbz"
|
:key="sem.studiensemester_kurzbz"
|
||||||
|
|||||||
+10
-10
@@ -42,16 +42,16 @@ export default {
|
|||||||
return {
|
return {
|
||||||
tabulatorOptions: {
|
tabulatorOptions: {
|
||||||
columns: [
|
columns: [
|
||||||
{title: "Nachname", field: "nachname"},
|
{title: "Nachname", field: "nachname", widthGrow: 2},
|
||||||
{title: "Vorname", field: "vorname"},
|
{title: "Vorname", field: "vorname", widthGrow: 2},
|
||||||
{title: "Note", field: "note"},
|
{title: "Note", field: "note", widthGrow: 1},
|
||||||
{title: "Punkte", field: "punkte"},
|
{title: "Punkte", field: "punkte", widthGrow: 1},
|
||||||
{title: "Stunden", field: "stunden"},
|
{title: "Stunden", field: "stunden", widthGrow: 1},
|
||||||
{title: "Stundensatz", field: "stundensatz", visible: false},
|
{title: "Stundensatz", field: "stundensatz", visible: false, widthGrow: 1},
|
||||||
{title: "Art", field: "betreuerart_kurzbz", visible: false},
|
{title: "Art", field: "betreuerart_kurzbz", visible: false, widthGrow: 2},
|
||||||
{title: "Person ID", field: "person_id", visible: false},
|
{title: "Person ID", field: "person_id", visible: false, widthGrow: 1},
|
||||||
{title: "Vertrag ID", field: "vertrag_id", visible: false},
|
{title: "Vertrag ID", field: "vertrag_id", visible: false, widthGrow: 1},
|
||||||
{title: "Projektarbeit ID", field: "projektarbeit_id", visible: false},
|
{title: "Projektarbeit ID", field: "projektarbeit_id", visible: false, widthGrow: 1},
|
||||||
{
|
{
|
||||||
title: 'Aktionen',
|
title: 'Aktionen',
|
||||||
field: 'actions',
|
field: 'actions',
|
||||||
|
|||||||
@@ -822,18 +822,33 @@ export default {
|
|||||||
@headerFilterOn="handleHeaderFilter"
|
@headerFilterOn="handleHeaderFilter"
|
||||||
>
|
>
|
||||||
|
|
||||||
<!--
|
|
||||||
<template #actions>
|
<template #actions>
|
||||||
<div>
|
<!-- <div>
|
||||||
<button
|
<button
|
||||||
class="btn btn-outline-success sm mb-1"
|
class="btn btn-outline-success sm mb-1"
|
||||||
:title="'Export ' + selectedPrestudents.length + ' prestudent(s) to Excel'"
|
:title="'Export ' + selectedPrestudents.length + ' prestudent(s) to Excel'"
|
||||||
>
|
>
|
||||||
<i class="fas fa-file-excel fa-xl"></i>
|
<i class="fas fa-file-excel fa-xl"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div> -->
|
||||||
</template>
|
<template v-if="filter.length || headerFilterActive">
|
||||||
-->
|
<div class="d-flex justify-content-center align-items-center gap-2 ps-4 position-absolute start-50 translate-middle-x">
|
||||||
|
<p class="text-danger mb-0">
|
||||||
|
<strong>{{$p.t('filter','filterActive')}}</strong>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="btn btn-outline-danger sm"
|
||||||
|
:title="$p.t('filter/filterDelete')"
|
||||||
|
@click="resetFilter"
|
||||||
|
>
|
||||||
|
<span class="fa-solid fa-filter-circle-xmark"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<template #additional>
|
<template #additional>
|
||||||
<div class="pe-1">
|
<div class="pe-1">
|
||||||
@@ -873,22 +888,7 @@ export default {
|
|||||||
<i class="fa-solid fa-refresh pe-1"></i> {{selected.length}}
|
<i class="fa-solid fa-refresh pe-1"></i> {{selected.length}}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
|
||||||
|
|
||||||
<template v-if="filter.length || headerFilterActive">
|
|
||||||
<div class="d-flex justify-content-center align-items-center gap-2 ps-4 position-absolute start-50 translate-middle-x">
|
|
||||||
<p class="text-danger mb-0">
|
|
||||||
<strong>{{$p.t('filter','filterActive')}}</strong>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<button
|
|
||||||
class="btn btn-outline-danger sm"
|
|
||||||
:title="$p.t('filter/filterDelete')"
|
|
||||||
@click="resetFilter"
|
|
||||||
>
|
|
||||||
<span class="fa-solid fa-filter-circle-xmark"></span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #filter>
|
<template #filter>
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ var Rueckstellung = {
|
|||||||
if (FHC_AjaxClient.hasData(data))
|
if (FHC_AjaxClient.hasData(data))
|
||||||
{
|
{
|
||||||
Rueckstellung.get(personid);
|
Rueckstellung.get(personid);
|
||||||
|
InfocenterDetails._refreshMessages();
|
||||||
InfocenterDetails._refreshLog()
|
InfocenterDetails._refreshLog()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -192,8 +192,7 @@ function draw_content_xml($row)
|
|||||||
$note = (isset($note_arr[$row_proj->note])?$note_arr[$row_proj->note]:$row_proj->note);
|
$note = (isset($note_arr[$row_proj->note])?$note_arr[$row_proj->note]:$row_proj->note);
|
||||||
$datum_projekt = $datum_obj->convertISODate($row_proj->ende);
|
$datum_projekt = $datum_obj->convertISODate($row_proj->ende);
|
||||||
$projektarbeit = new projektarbeit($row_proj->projektarbeit_id);
|
$projektarbeit = new projektarbeit($row_proj->projektarbeit_id);
|
||||||
$lehreinheit = new lehreinheit($projektarbeit->lehreinheit_id);
|
$lehrveranstaltung = new lehrveranstaltung($projektarbeit->lehrveranstaltung_id);
|
||||||
$lehrveranstaltung = new lehrveranstaltung($lehreinheit->lehrveranstaltung_id);
|
|
||||||
$projektnote = new note($note);
|
$projektnote = new note($note);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -998,12 +998,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
|||||||
tbl_firma.name, lehrveranstaltung_id, firma_id
|
tbl_firma.name, lehrveranstaltung_id, firma_id
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit
|
lehre.tbl_projektarbeit
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
JOIN public.tbl_firma USING(firma_id)
|
JOIN public.tbl_firma USING(firma_id)
|
||||||
WHERE
|
WHERE
|
||||||
student_uid=".$db->db_add_param($uid_arr[$i])."
|
student_uid=".$db->db_add_param($uid_arr[$i])."
|
||||||
AND projekttyp_kurzbz in('Praktikum', 'Praxis')
|
AND projekttyp_kurzbz in('Praktikum', 'Praxis')
|
||||||
AND tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)."
|
AND tbl_projektarbeit.lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)."
|
||||||
ORDER BY beginn ASC, projektarbeit_id ASC;";
|
ORDER BY beginn ASC, projektarbeit_id ASC;";
|
||||||
|
|
||||||
if($result_praktikum = $db->db_query($qry))
|
if($result_praktikum = $db->db_query($qry))
|
||||||
@@ -1019,14 +1018,14 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
|||||||
// Aber kein Auslandssemester war, sonst wirds spaeter hinzugefügt
|
// Aber kein Auslandssemester war, sonst wirds spaeter hinzugefügt
|
||||||
$qry = "
|
$qry = "
|
||||||
SELECT
|
SELECT
|
||||||
lehrveranstaltung_id, titel, themenbereich, note, titel_english
|
lehre.tbl_projektarbeit.lehrveranstaltung_id, titel, themenbereich, note, titel_english
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit
|
lehre.tbl_projektarbeit
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE
|
WHERE
|
||||||
student_uid=".$db->db_add_param($uid_arr[$i])."
|
student_uid=".$db->db_add_param($uid_arr[$i])."
|
||||||
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
|
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
|
||||||
AND lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)."
|
AND lehre.tbl_projektarbeit.lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)."
|
||||||
AND NOT EXISTS(SELECT 1
|
AND NOT EXISTS(SELECT 1
|
||||||
FROM bis.tbl_bisio
|
FROM bis.tbl_bisio
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||||
@@ -1039,6 +1038,10 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
|||||||
while($row_thesis = $db->db_fetch_object($result_thesis))
|
while($row_thesis = $db->db_fetch_object($result_thesis))
|
||||||
{
|
{
|
||||||
$bezeichnung.= ": \"".$row_thesis->titel."\"";
|
$bezeichnung.= ": \"".$row_thesis->titel."\"";
|
||||||
|
// hier sollt nicht $titel_english verwendet werden, da in der projektarbeitsbeurteilung ein
|
||||||
|
// feature zum aktualisieren des projektarbeit titel existiert und nur das feld 'titel' editiert.
|
||||||
|
// um divergente thesisnamen zu vermeiden wird in beiden Fällen der (ohnehin öfters englische) Wert
|
||||||
|
// aus 'titel' verwendet.
|
||||||
$bezeichnung_englisch.= ": \"".$row_thesis->titel."\"";
|
$bezeichnung_englisch.= ": \"".$row_thesis->titel."\"";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1086,9 +1089,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
|||||||
SELECT
|
SELECT
|
||||||
studiensemester_kurzbz, ort, ects, semesterstunden, von, bis,
|
studiensemester_kurzbz, ort, ects, semesterstunden, von, bis,
|
||||||
universitaet, lehrveranstaltung_id, tbl_lehrveranstaltung.sws,
|
universitaet, lehrveranstaltung_id, tbl_lehrveranstaltung.sws,
|
||||||
(SELECT titel_english FROM lehre.tbl_projektarbeit
|
(SELECT titel_english
|
||||||
WHERE lehreinheit_id=tbl_bisio.lehreinheit_id
|
FROM lehre.tbl_projektarbeit
|
||||||
AND student_uid = ".$db->db_add_param($uid_arr[$i])." limit 1) as projektarbeitstitel
|
WHERE lehre.tbl_projektarbeit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||||
|
AND lehre.tbl_projektarbeit.studiensemester_kurzbz = tbl_lehreinheit.studiensemester_kurzbz
|
||||||
|
AND student_uid = ".$db->db_add_param($uid_arr[$i])."
|
||||||
|
LIMIT 1) as projektarbeitstitel
|
||||||
FROM
|
FROM
|
||||||
bis.tbl_bisio
|
bis.tbl_bisio
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||||
|
|||||||
@@ -95,8 +95,7 @@ echo "<gesamt_note>".$note->bezeichnung."</gesamt_note>";
|
|||||||
|
|
||||||
if(!empty($projektarbeit->result))
|
if(!empty($projektarbeit->result))
|
||||||
{
|
{
|
||||||
$lehreinheit = new lehreinheit($projektarbeit->result[0]->lehreinheit_id);
|
$lehrveranstaltung = new lehrveranstaltung($projektarbeit->result[0]->lehrveranstaltung_id);
|
||||||
$lehrveranstaltung = new lehrveranstaltung($lehreinheit->lehrveranstaltung_id);
|
|
||||||
$note = new note($projektarbeit->result[0]->note);
|
$note = new note($projektarbeit->result[0]->note);
|
||||||
echo "<projektarbeit_titel>".$projektarbeit->result[0]->titel."</projektarbeit_titel>";
|
echo "<projektarbeit_titel>".$projektarbeit->result[0]->titel."</projektarbeit_titel>";
|
||||||
echo "<projektarbeit_note>".$note->bezeichnung."</projektarbeit_note>";
|
echo "<projektarbeit_note>".$note->bezeichnung."</projektarbeit_note>";
|
||||||
|
|||||||
+17
-25
@@ -120,16 +120,15 @@ if ($uid == null)
|
|||||||
SELECT
|
SELECT
|
||||||
tbl_benutzer.uid as mitarbeiter_uid
|
tbl_benutzer.uid as mitarbeiter_uid
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
lehre.tbl_projektbetreuer, lehre.tbl_lehrveranstaltung,
|
||||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student, public.tbl_mitarbeiter
|
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student, public.tbl_mitarbeiter
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND
|
tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
student_uid=vw_student.uid AND
|
student_uid=vw_student.uid AND
|
||||||
tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND
|
tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND
|
||||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_projektarbeit.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||||
tbl_projektbetreuer.stunden!='0'
|
tbl_projektbetreuer.stunden!='0'
|
||||||
) as mitarbeiter ORDER BY mitarbeiter_uid";
|
) as mitarbeiter ORDER BY mitarbeiter_uid";
|
||||||
@@ -394,30 +393,23 @@ function drawLehrauftrag($uid)
|
|||||||
,tbl_projektbetreuer.stunden
|
,tbl_projektbetreuer.stunden
|
||||||
,tbl_projektbetreuer.stundensatz
|
,tbl_projektbetreuer.stundensatz
|
||||||
,tbl_lehrveranstaltung.semester
|
,tbl_lehrveranstaltung.semester
|
||||||
,vorname
|
,campus.vw_student.vorname
|
||||||
,nachname
|
,campus.vw_student.nachname
|
||||||
,vw_student.studiengang_kz
|
,tbl_student.studiengang_kz
|
||||||
,projekttyp_kurzbz
|
,projekttyp_kurzbz
|
||||||
,lehrfach.oe_kurzbz
|
,lehre.tbl_lehrveranstaltung.oe_kurzbz
|
||||||
FROM lehre.tbl_projektbetreuer
|
FROM lehre.tbl_projektbetreuer
|
||||||
,lehre.tbl_lehreinheit
|
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||||
,lehre.tbl_lehrveranstaltung AS lehrfach
|
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||||
,lehre.tbl_lehrveranstaltung
|
JOIN public.tbl_organisationseinheit USING (oe_kurzbz)
|
||||||
,public.tbl_organisationseinheit
|
JOIN public.tbl_benutzer USING (person_id)
|
||||||
,public.tbl_benutzer
|
JOIN public.tbl_student ON (tbl_projektarbeit.student_uid = tbl_student.student_uid)
|
||||||
,lehre.tbl_projektarbeit
|
JOIN campus.vw_student ON (campus.vw_student.uid = tbl_student.student_uid)
|
||||||
,campus.vw_student
|
WHERE tbl_benutzer.uid = ".$db->db_add_param($uid)."
|
||||||
WHERE tbl_projektbetreuer.person_id = tbl_benutzer.person_id
|
AND lehre.tbl_projektarbeit.studiensemester_kurzbz = ".$db->db_add_param($ss);
|
||||||
AND tbl_benutzer.uid = ".$db->db_add_param($uid)."
|
|
||||||
AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
|
|
||||||
AND student_uid = vw_student.uid
|
|
||||||
AND tbl_organisationseinheit.oe_kurzbz = tbl_lehrveranstaltung.oe_kurzbz
|
|
||||||
AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
|
|
||||||
AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id
|
|
||||||
AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($ss)."
|
|
||||||
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id";
|
|
||||||
if ($studiengang_kz != '')
|
if ($studiengang_kz != '')
|
||||||
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
$qry .= " AND lehre.tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||||
if ($result = $db->db_query($qry))
|
if ($result = $db->db_query($qry))
|
||||||
{
|
{
|
||||||
while ($row = $db->db_fetch_object($result))
|
while ($row = $db->db_fetch_object($result))
|
||||||
|
|||||||
@@ -124,16 +124,15 @@ if ($uid == null)
|
|||||||
SELECT
|
SELECT
|
||||||
tbl_benutzer.uid as mitarbeiter_uid
|
tbl_benutzer.uid as mitarbeiter_uid
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
lehre.tbl_projektbetreuer, lehre.tbl_lehrveranstaltung,
|
||||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student, public.tbl_mitarbeiter
|
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student, public.tbl_mitarbeiter
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND
|
tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND
|
||||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||||
student_uid=vw_student.uid AND
|
student_uid=vw_student.uid AND
|
||||||
tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND
|
tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND
|
||||||
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
|
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_projektarbeit.lehrveranstaltung_id AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND
|
||||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||||
tbl_projektbetreuer.stunden!='0'
|
tbl_projektbetreuer.stunden!='0'
|
||||||
) as mitarbeiter ORDER BY mitarbeiter_uid";
|
) as mitarbeiter ORDER BY mitarbeiter_uid";
|
||||||
@@ -428,8 +427,7 @@ function drawLehrauftrag($uid)
|
|||||||
vertragsstatus_kurzbz
|
vertragsstatus_kurzbz
|
||||||
FROM lehre.tbl_projektbetreuer pb
|
FROM lehre.tbl_projektbetreuer pb
|
||||||
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id)
|
||||||
JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id)
|
JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id)
|
||||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
|
||||||
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||||
JOIN public.tbl_benutzer benutzer ON pb.person_id = benutzer.person_id
|
JOIN public.tbl_benutzer benutzer ON pb.person_id = benutzer.person_id
|
||||||
JOIN campus.vw_student student ON pa.student_uid = student.uid
|
JOIN campus.vw_student student ON pa.student_uid = student.uid
|
||||||
@@ -438,7 +436,7 @@ function drawLehrauftrag($uid)
|
|||||||
WHERE pb.vertrag_id IS NOT NULL
|
WHERE pb.vertrag_id IS NOT NULL
|
||||||
AND vvst.vertragsstatus_kurzbz = \'akzeptiert\'
|
AND vvst.vertragsstatus_kurzbz = \'akzeptiert\'
|
||||||
AND benutzer.uid = '.$db->db_add_param($uid).'
|
AND benutzer.uid = '.$db->db_add_param($uid).'
|
||||||
AND le.studiensemester_kurzbz = '.$db->db_add_param($ss);
|
AND pa.studiensemester_kurzbz = '.$db->db_add_param($ss);
|
||||||
|
|
||||||
if ($studiengang_kz != '')
|
if ($studiengang_kz != '')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -92,6 +92,12 @@ elseif($lehrveranstaltung_kompatibel_id!='')
|
|||||||
else
|
else
|
||||||
$lehrveranstaltung->load_lva($stg_kz,$sem);
|
$lehrveranstaltung->load_lva($stg_kz,$sem);
|
||||||
|
|
||||||
|
// try to filter projektarbeit lva selection by those lva that are also assigned to students current studienplan
|
||||||
|
// so it is more likely that the thesis name gets found by the diplomasupplement script
|
||||||
|
if(isset($_GET['projektarbeit']) && isset($_GET['uid'])) {
|
||||||
|
$lehrveranstaltung->checkLvaAgainstStudentCurrentStudienplan($student_uid);
|
||||||
|
}
|
||||||
|
|
||||||
$rdf_url='http://www.technikum-wien.at/lehrveranstaltung/';
|
$rdf_url='http://www.technikum-wien.at/lehrveranstaltung/';
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ else
|
|||||||
function draw_content($row)
|
function draw_content($row)
|
||||||
{
|
{
|
||||||
global $rdf_url, $datum_obj;
|
global $rdf_url, $datum_obj;
|
||||||
$lehreinheit = new lehreinheit($row->lehreinheit_id);
|
$lehreinheit = $row->lehreinheit_id ? new lehreinheit($row->lehreinheit_id) : null;
|
||||||
echo '
|
echo '
|
||||||
<RDF:li>
|
<RDF:li>
|
||||||
<RDF:Description id="'.$row->projektarbeit_id.'" about="'.$rdf_url.'/'.$row->projektarbeit_id.'" >
|
<RDF:Description id="'.$row->projektarbeit_id.'" about="'.$rdf_url.'/'.$row->projektarbeit_id.'" >
|
||||||
@@ -80,8 +80,9 @@ function draw_content($row)
|
|||||||
<PROJEKTARBEIT:titel><![CDATA['.xmlclean($row->titel).']]></PROJEKTARBEIT:titel>
|
<PROJEKTARBEIT:titel><![CDATA['.xmlclean($row->titel).']]></PROJEKTARBEIT:titel>
|
||||||
<PROJEKTARBEIT:titel_english><![CDATA['.xmlclean($row->titel_english).']]></PROJEKTARBEIT:titel_english>
|
<PROJEKTARBEIT:titel_english><![CDATA['.xmlclean($row->titel_english).']]></PROJEKTARBEIT:titel_english>
|
||||||
<PROJEKTARBEIT:lehreinheit_id><![CDATA['.$row->lehreinheit_id.']]></PROJEKTARBEIT:lehreinheit_id>
|
<PROJEKTARBEIT:lehreinheit_id><![CDATA['.$row->lehreinheit_id.']]></PROJEKTARBEIT:lehreinheit_id>
|
||||||
<PROJEKTARBEIT:lehreinheit_stsem><![CDATA['.$lehreinheit->studiensemester_kurzbz.']]></PROJEKTARBEIT:lehreinheit_stsem>
|
<PROJEKTARBEIT:lehreinheit_stsem><![CDATA['.($lehreinheit ? $lehreinheit->studiensemester_kurzbz : $row->studiensemester_kurzbz).']]></PROJEKTARBEIT:lehreinheit_stsem>
|
||||||
<PROJEKTARBEIT:lehrveranstaltung_id><![CDATA['.$lehreinheit->lehrveranstaltung_id.']]></PROJEKTARBEIT:lehrveranstaltung_id>
|
<PROJEKTARBEIT:projektarbeit_stsem><![CDATA['.$row->studiensemester_kurzbz.']]></PROJEKTARBEIT:projektarbeit_stsem>
|
||||||
|
<PROJEKTARBEIT:lehrveranstaltung_id><![CDATA['.$row->lehrveranstaltung_id.']]></PROJEKTARBEIT:lehrveranstaltung_id>
|
||||||
<PROJEKTARBEIT:student_uid><![CDATA['.$row->student_uid.']]></PROJEKTARBEIT:student_uid>
|
<PROJEKTARBEIT:student_uid><![CDATA['.$row->student_uid.']]></PROJEKTARBEIT:student_uid>
|
||||||
<PROJEKTARBEIT:firma_id><![CDATA['.$row->firma_id.']]></PROJEKTARBEIT:firma_id>
|
<PROJEKTARBEIT:firma_id><![CDATA['.$row->firma_id.']]></PROJEKTARBEIT:firma_id>
|
||||||
<PROJEKTARBEIT:note><![CDATA['.$row->note.']]></PROJEKTARBEIT:note>
|
<PROJEKTARBEIT:note><![CDATA['.$row->note.']]></PROJEKTARBEIT:note>
|
||||||
|
|||||||
@@ -124,9 +124,8 @@ if(isset($_REQUEST['xmlformat']) && $_REQUEST['xmlformat']=="xml")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$qry_projektarbeit = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english
|
$qry_projektarbeit = "SELECT lehre.tbl_projektarbeit.lehrveranstaltung_id, titel, themenbereich, note, titel_english
|
||||||
FROM lehre.tbl_projektarbeit
|
FROM lehre.tbl_projektarbeit
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
WHERE student_uid='$uid'
|
WHERE student_uid='$uid'
|
||||||
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
|
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
|
||||||
ORDER BY beginn ASC, projektarbeit_id ASC;";
|
ORDER BY beginn ASC, projektarbeit_id ASC;";
|
||||||
|
|||||||
+6
-8
@@ -211,15 +211,14 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
|||||||
|
|
||||||
$qry_proj = "
|
$qry_proj = "
|
||||||
SELECT
|
SELECT
|
||||||
lehrveranstaltung_id, titel, themenbereich, note, titel_english,
|
lehre.tbl_projektarbeit.lehrveranstaltung_id, titel, themenbereich, note, titel_english,
|
||||||
tbl_projekttyp.bezeichnung, projekttyp_kurzbz
|
tbl_projekttyp.bezeichnung, projekttyp_kurzbz
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit
|
lehre.tbl_projektarbeit
|
||||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
|
||||||
JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||||
WHERE
|
WHERE
|
||||||
student_uid=".$db->db_add_param($uid_arr[$i])."
|
student_uid=".$db->db_add_param($uid_arr[$i])."
|
||||||
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
AND lehre.tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
|
||||||
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
|
AND projekttyp_kurzbz in('Bachelor', 'Diplom')
|
||||||
ORDER BY beginn ASC, projektarbeit_id ASC";
|
ORDER BY beginn ASC, projektarbeit_id ASC";
|
||||||
|
|
||||||
@@ -297,13 +296,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
|||||||
//Firma fuer Berufspraktikum
|
//Firma fuer Berufspraktikum
|
||||||
$qry = "SELECT tbl_firma.name
|
$qry = "SELECT tbl_firma.name
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma
|
lehre.tbl_projektarbeit
|
||||||
|
JOIN lehre.tbl_lehrveranstaltung ON(lehre.tbl_projektarbeit.lehrveranstaltung_id = lehre.tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||||
|
JOIN public.tbl_firma ON(lehre.tbl_projektarbeit.firma_id = public.tbl_firma.firma_id)
|
||||||
WHERE
|
WHERE
|
||||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
|
||||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
|
||||||
tbl_projektarbeit.firma_id = tbl_firma.firma_id AND
|
|
||||||
tbl_projektarbeit.student_uid=".$db->db_add_param($uid_arr[$i])." AND
|
tbl_projektarbeit.student_uid=".$db->db_add_param($uid_arr[$i])." AND
|
||||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
tbl_projektarbeit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||||
tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id);
|
tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id);
|
||||||
|
|
||||||
$firma = '';
|
$firma = '';
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ if ($db->db_query($qry))
|
|||||||
* Aktuelles Semester beim Studenten stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein
|
* Aktuelles Semester beim Studenten stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$text .= "<br><br>Suche Studenten deren Semstern nicht mit dem
|
$text .= "<br><br>Suche Studenten deren Semestern nicht mit dem
|
||||||
Ausbildungssemesters des aktuellen Status übereinstimmt ... <br><br>";
|
Ausbildungssemesters des aktuellen Status übereinstimmt ... <br><br>";
|
||||||
|
|
||||||
$student = new student();
|
$student = new student();
|
||||||
@@ -350,7 +350,7 @@ $prestudentFirst = new prestudent();
|
|||||||
$prestudentSecond = new prestudent();
|
$prestudentSecond = new prestudent();
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
// alle aktiven Studenten die im aktuellen Semster den Status Student haben
|
// alle aktiven Studenten die im aktuellen Semester den Status Student haben
|
||||||
$qry_student = "
|
$qry_student = "
|
||||||
SELECT
|
SELECT
|
||||||
distinct(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
distinct(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ require_once('dbupdate_3.4/68744_StV_settings.php');
|
|||||||
require_once('dbupdate_3.4/62889_reihungstest_ueberwachung_mit_constructor.php');
|
require_once('dbupdate_3.4/62889_reihungstest_ueberwachung_mit_constructor.php');
|
||||||
require_once('dbupdate_3.4/71399_dashboard_update_widget_paths.php');
|
require_once('dbupdate_3.4/71399_dashboard_update_widget_paths.php');
|
||||||
require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php');
|
require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php');
|
||||||
|
require_once('dbupdate_3.4/75469_le_optional_4_projektarbeit.php');
|
||||||
require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php');
|
require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php');
|
||||||
require_once('dbupdate_3.4/70376_lohnguide.php');
|
require_once('dbupdate_3.4/70376_lohnguide.php');
|
||||||
require_once('dbupdate_3.4/75888_reihungstest_mehrfachdurchfuehrung.php');
|
require_once('dbupdate_3.4/75888_reihungstest_mehrfachdurchfuehrung.php');
|
||||||
@@ -101,6 +102,8 @@ require_once('dbupdate_3.4/75959_StudVw_Automatische_Tags.php');
|
|||||||
require_once('dbupdate_3.4/76160_lvv_favorites.php');
|
require_once('dbupdate_3.4/76160_lvv_favorites.php');
|
||||||
require_once('dbupdate_3.4/77080_tabulator_presets_table.php');
|
require_once('dbupdate_3.4/77080_tabulator_presets_table.php');
|
||||||
require_once('dbupdate_3.4/78292_gehaltsanpassungtyp.php');
|
require_once('dbupdate_3.4/78292_gehaltsanpassungtyp.php');
|
||||||
|
require_once('dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php');
|
||||||
|
require_once('dbupdate_3.4/71405_ferienzeiten.php');
|
||||||
|
|
||||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||||
@@ -252,7 +255,7 @@ $tabellen=array(
|
|||||||
"hr.tbl_lohnguide_modellfunktion" => array("modellfunktion_kurzbz", "bezeichnung", "jobfamilie_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"),
|
"hr.tbl_lohnguide_modellfunktion" => array("modellfunktion_kurzbz", "bezeichnung", "jobfamilie_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"),
|
||||||
"hr.tbl_lohnguide_modellstelle" => array("modellstelle_kurzbz", "bezeichnung", "grade", "modellfunktion_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"),
|
"hr.tbl_lohnguide_modellstelle" => array("modellstelle_kurzbz", "bezeichnung", "grade", "modellfunktion_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"),
|
||||||
"hr.tbl_lohnguide_fachrichtung" => array("fachrichtung_kurzbz", "bezeichnung", "aktiv", "insertvon", "insertamum", "updatevon", "updateamum"),
|
"hr.tbl_lohnguide_fachrichtung" => array("fachrichtung_kurzbz", "bezeichnung", "aktiv", "insertvon", "insertamum", "updatevon", "updateamum"),
|
||||||
"hr.tbl_vertragsbestandteil_lohnguide" => array("vertragsbestandteil_id", "stellenbezeichnung", "vordienstzeit", "fachrichtung_kurzbz", "modellstelle_kurzbz", "kommentar_person", "kommentar_modellstelle"),
|
"hr.tbl_vertragsbestandteil_lohnguide" => array("vertragsbestandteil_id", "stellenbezeichnung", "vordienstzeit", "fachrichtung_kurzbz", "modellstelle_kurzbz", "kommentar_person", "kommentar_modellstelle"),
|
||||||
"lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english","sort"),
|
"lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english","sort"),
|
||||||
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"),
|
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"),
|
||||||
"lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"),
|
"lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"),
|
||||||
@@ -263,7 +266,7 @@ $tabellen=array(
|
|||||||
"lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"),
|
"lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"),
|
||||||
"lehre.tbl_anrechnungszeitraum" => array("anrechnungszeitraum_id","studiensemester_kurzbz","anrechnungstart","anrechnungende", "insertamum", "insertvon"),
|
"lehre.tbl_anrechnungszeitraum" => array("anrechnungszeitraum_id","studiensemester_kurzbz","anrechnungstart","anrechnungende", "insertamum", "insertvon"),
|
||||||
"lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"),
|
"lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"),
|
||||||
"lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
|
"lehre.tbl_ferien" => array("ferien_id","bezeichnung","studiengang_kz","vondatum","bisdatum","oe_kurzbz","studienplan_id","ferientyp_kurzbz","insertamum","insertvon","updateamum","updatevon"),
|
||||||
"lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old","gewicht"),
|
"lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old","gewicht"),
|
||||||
"lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
"lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||||
"lehre.tbl_lehreinheitmitarbeiter" => array("lehreinheit_id","mitarbeiter_uid","lehrfunktion_kurzbz","semesterstunden","planstunden","stundensatz","faktor","anmerkung","bismelden","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id","vertrag_id"),
|
"lehre.tbl_lehreinheitmitarbeiter" => array("lehreinheit_id","mitarbeiter_uid","lehrfunktion_kurzbz","semesterstunden","planstunden","stundensatz","faktor","anmerkung","bismelden","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id","vertrag_id"),
|
||||||
@@ -282,7 +285,7 @@ $tabellen=array(
|
|||||||
"lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
|
"lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
|
||||||
"lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
|
"lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
|
||||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig","lkt_ueberschreibbar"),
|
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig","lkt_ueberschreibbar"),
|
||||||
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache","final"),
|
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache","final"),
|
||||||
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id", "zugangstoken", "zugangstoken_gueltigbis"),
|
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id", "zugangstoken", "zugangstoken_gueltigbis"),
|
||||||
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung","aktiv"),
|
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung","aktiv"),
|
||||||
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
|
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
|
||||||
@@ -420,6 +423,7 @@ $tabellen=array(
|
|||||||
"testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
|
"testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
|
||||||
"testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
|
"testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
|
||||||
"testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
|
"testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
|
||||||
|
"testtool.tbl_pruefling_gebiet" => array("prueflinggebiet_id","pruefling_id","gebiet_id","insertamum"),
|
||||||
"system.tbl_app" => array("app"),
|
"system.tbl_app" => array("app"),
|
||||||
"system.tbl_appdaten" => array("appdaten_id","uid","app","appversion","version","bezeichnung","daten","freigabe","insertamum","insertvon","updateamum","updatevon"),
|
"system.tbl_appdaten" => array("appdaten_id","uid","app","appversion","version","bezeichnung","daten","freigabe","insertamum","insertvon","updateamum","updatevon"),
|
||||||
"system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"),
|
"system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"),
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
// Creates table public.tbl_notiz_typ if it doesn't exist and grants privileges
|
||||||
|
if (!$result = @$db->db_query('SELECT 1 FROM testtool.tbl_pruefling_gebiet LIMIT 1'))
|
||||||
|
{
|
||||||
|
$qry = 'CREATE TABLE testtool.tbl_pruefling_gebiet
|
||||||
|
(
|
||||||
|
prueflinggebiet_id integer NOT NULL,
|
||||||
|
pruefling_id integer NOT NULL,
|
||||||
|
gebiet_id integer NOT NULL,
|
||||||
|
insertamum timestamp DEFAULT now()
|
||||||
|
);
|
||||||
|
|
||||||
|
ALTER TABLE testtool.tbl_pruefling_gebiet OWNER TO fhcomplete;
|
||||||
|
ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT pk_tbl_pruefling_gebiet PRIMARY KEY (prueflinggebiet_id);
|
||||||
|
ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT fk_tbl_pruefling_gebiet_pruefling_id FOREIGN KEY (pruefling_id) REFERENCES testtool.tbl_pruefling(pruefling_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||||
|
ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT fk_tbl_pruefling_gebiet_gebiet_id FOREIGN KEY (gebiet_id) REFERENCES testtool.tbl_gebiet(gebiet_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||||
|
|
||||||
|
CREATE SEQUENCE testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
NO MINVALUE
|
||||||
|
NO MAXVALUE
|
||||||
|
CACHE 1;
|
||||||
|
|
||||||
|
ALTER TABLE testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq OWNER TO fhcomplete;
|
||||||
|
ALTER TABLE testtool.tbl_pruefling_gebiet ALTER COLUMN prueflinggebiet_id SET DEFAULT nextval(\'testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq\');
|
||||||
|
|
||||||
|
GRANT SELECT, UPDATE, INSERT, DELETE ON testtool.tbl_pruefling_gebiet TO web;
|
||||||
|
GRANT SELECT, UPDATE, INSERT, DELETE ON testtool.tbl_pruefling_gebiet TO vilesci;
|
||||||
|
GRANT SELECT, UPDATE ON testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq TO vilesci;
|
||||||
|
GRANT SELECT, UPDATE ON testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq TO web;
|
||||||
|
';
|
||||||
|
|
||||||
|
if (!$db->db_query($qry))
|
||||||
|
echo '<strong>public.tbl_pruefling_gebiet: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>public.tbl_pruefling_gebiet table created';
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,220 @@
|
|||||||
|
<?php
|
||||||
|
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
//Add column ferien_id to lehre.tbl_ferien
|
||||||
|
if(!@$db->db_query("SELECT ferien_id FROM lehre.tbl_ferien LIMIT 1"))
|
||||||
|
{
|
||||||
|
$qry = 'ALTER TABLE lehre.tbl_ferien ADD COLUMN ferien_id integer;';
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong> lehre.tbl_ferien '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferien: Neue Spalte ferien_id hinzugefügt';
|
||||||
|
}
|
||||||
|
|
||||||
|
//Column ferien_id mit Werten befüllen
|
||||||
|
if($result = @$db->db_query("SELECT ferien_id FROM lehre.tbl_ferien where ferien_id is not null LIMIT 1"))
|
||||||
|
{
|
||||||
|
if ($db->db_num_rows($result) == 0)
|
||||||
|
{
|
||||||
|
$qry = 'UPDATE lehre.tbl_ferien et SET ferien_id =
|
||||||
|
(SELECT rownumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY bezeichnung, studiengang_kz)
|
||||||
|
AS rownumber, t.* FROM lehre.tbl_ferien t ORDER BY bezeichnung, studiengang_kz) rn
|
||||||
|
WHERE rn.bezeichnung = et.bezeichnung
|
||||||
|
AND rn.studiengang_kz = et.studiengang_kz);
|
||||||
|
';
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong> lehre.tbl_ferien '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferien: Spalte bis.tbl_ferien_id mit Werten aufgefüllt';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Create Sequence lehre.tbl_ferien and grant Rights
|
||||||
|
if ($result = @$db->db_query("SELECT * FROM pg_class WHERE relname = 'tbl_ferien_ferien_id_seq'"))
|
||||||
|
{
|
||||||
|
if ($db->db_num_rows($result) == 0)
|
||||||
|
{
|
||||||
|
if ($count = @$db->db_query("SELECT * FROM lehre.tbl_ferien"))
|
||||||
|
{
|
||||||
|
$count = $db->db_num_rows($count) + 1;
|
||||||
|
$qry = 'CREATE SEQUENCE lehre.tbl_ferien_ferien_id_seq START ';
|
||||||
|
$qry .= $count;
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
{
|
||||||
|
echo '<strong> lehre.tbl_ferien '.$db->db_last_error().'</strong><br>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo '<br>lehre.tbl_ferien: Sequence lehre.tbl_ferien_ferien_id_seq mit Startwert ' . $count . ' erstellt';
|
||||||
|
$qry2 = "GRANT SELECT, UPDATE ON lehre.tbl_ferien_ferien_id_seq TO vilesci;
|
||||||
|
GRANT SELECT, UPDATE ON lehre.tbl_ferien_ferien_id_seq TO web;";
|
||||||
|
if(!$db->db_query($qry2))
|
||||||
|
{
|
||||||
|
echo '<strong>lehre.tbl_ferien_ferien_id_seq Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo '<br>lehre.tbl_ferien: Rechte auf lehre.tbl_ferien_ferien_id_seq fuer web user und vilesci gesetzt ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//lehre.tbl_ferien auf NOT NULL setzen
|
||||||
|
if ($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_ferien' AND column_name = 'ferien_id' and is_nullable = 'NO'"))
|
||||||
|
{
|
||||||
|
if($db->db_num_rows($result)==0)
|
||||||
|
{
|
||||||
|
$qry = 'ALTER TABLE lehre.tbl_ferien ALTER COLUMN ferien_id SET NOT NULL';
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong> lehre.tbl_ferien '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferien: Spalte bis.tbl_ferien_id auf NOT NULL gesetzt';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//lehre.tbl_ferien DEFAULT einstellen
|
||||||
|
if ($result = @$db->db_query("SELECT column_default FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_ferien' AND column_name = 'ferien_id' and column_default is null"))
|
||||||
|
{
|
||||||
|
if($db->db_num_rows($result)==1)
|
||||||
|
{
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_ferien ALTER COLUMN ferien_id SET DEFAULT nextval('lehre.tbl_ferien_ferien_id_seq'::regclass);";
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong> lehre.tbl_ferien '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br> lehre.tbl_ferien: Defaultwert bei Spalte bis.tbl_ferien_id gesetzt';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//DELETE Constraint PRIMARY KEY pk_tbl_ferien (bezeichnung, studiengang_kz) entfernen
|
||||||
|
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_tbl_ferien'"))
|
||||||
|
{
|
||||||
|
if($db->db_num_rows($result)==1)
|
||||||
|
{
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_ferien DROP CONSTRAINT pk_tbl_ferien;";
|
||||||
|
|
||||||
|
if (!$db->db_query($qry))
|
||||||
|
echo '<strong>lehre.tbl_ferien: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferien: Primary Key pk_tbl_ferien (bezeichnung, studiengang_kz) entfernt ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ADD PRIMARY KEY tbl_ferien_pk to lehre.tbl_ferien
|
||||||
|
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'tbl_ferien_pk'"))
|
||||||
|
{
|
||||||
|
if ($db->db_num_rows($result) == 0)
|
||||||
|
{
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_ferien ADD CONSTRAINT tbl_ferien_pk PRIMARY KEY(ferien_id);";
|
||||||
|
|
||||||
|
if (!$db->db_query($qry))
|
||||||
|
echo '<strong>slehre.tbl_ferien: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferien: Primary Key tbl_ferien_pk (ferien_id) hinzugefügt';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add new fields to tbl_ferien, migrate data (add oe_kurzbz data), mark studiengang_kz as deprecated
|
||||||
|
if(!$result = @$db->db_query("SELECT oe_kurzbz FROM lehre.tbl_ferien LIMIT 1"))
|
||||||
|
{
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_ferien
|
||||||
|
ADD COLUMN IF NOT EXISTS oe_kurzbz VARCHAR(32),
|
||||||
|
ADD COLUMN IF NOT EXISTS studienplan_id SMALLINT DEFAULT NULL,
|
||||||
|
ADD CONSTRAINT tbl_ferien_studienplan_fk
|
||||||
|
FOREIGN KEY (studienplan_id)
|
||||||
|
REFERENCES lehre.tbl_studienplan(studienplan_id)
|
||||||
|
ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||||
|
ADD CONSTRAINT tbl_ferien_oe_kurzbz_fk
|
||||||
|
FOREIGN KEY (oe_kurzbz)
|
||||||
|
REFERENCES public.tbl_organisationseinheit(oe_kurzbz)
|
||||||
|
ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||||
|
ADD COLUMN IF NOT EXISTS insertamum timestamp DEFAULT NOW(),
|
||||||
|
ADD COLUMN IF NOT EXISTS insertvon VARCHAR(32),
|
||||||
|
ADD COLUMN IF NOT EXISTS updateamum timestamp,
|
||||||
|
ADD COLUMN IF NOT EXISTS updatevon VARCHAR(32);
|
||||||
|
UPDATE lehre.tbl_ferien
|
||||||
|
SET oe_kurzbz = (
|
||||||
|
SELECT
|
||||||
|
CASE
|
||||||
|
WHEN studiengang_kz = 0
|
||||||
|
THEN NULL
|
||||||
|
ELSE oe_kurzbz
|
||||||
|
END
|
||||||
|
FROM
|
||||||
|
public.tbl_studiengang
|
||||||
|
WHERE
|
||||||
|
studiengang_kz = tbl_ferien.studiengang_kz
|
||||||
|
)
|
||||||
|
WHERE oe_kurzbz IS NULL AND studiengang_kz IS NOT NULL;
|
||||||
|
ALTER TABLE lehre.tbl_ferien ALTER COLUMN studiengang_kz DROP NOT NULL;
|
||||||
|
COMMENT ON COLUMN lehre.tbl_ferien.studiengang_kz IS 'DEPRECATED';";
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong>lehre.tbl_ferien: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferien columns oe_kurzbz, studienplan_id, insertamum, insertvon, updateamum, updatevon hinzugefuegt';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Creates table lehre.tbl_ferientyp if it doesn't exist and grants privileges
|
||||||
|
if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_ferientyp WHERE 0 = 1'))
|
||||||
|
{
|
||||||
|
$qry = 'CREATE TABLE lehre.tbl_ferientyp (
|
||||||
|
ferientyp_kurzbz VARCHAR(64),
|
||||||
|
beschreibung VARCHAR(256) NOT NULL,
|
||||||
|
mitarbeiter boolean NOT NULL,
|
||||||
|
studierende boolean NOT NULL,
|
||||||
|
lehre boolean NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
COMMENT ON TABLE lehre.tbl_ferientyp IS \'Typ-Tabelle zum Speichern von Informationen zu Ferien.\';
|
||||||
|
COMMENT ON COLUMN lehre.tbl_ferientyp.ferientyp_kurzbz IS \'Typ der Ferien.\';
|
||||||
|
COMMENT ON COLUMN lehre.tbl_ferientyp.mitarbeiter IS \'Ob die Ferien für MitarbeiterInnen relevant sind.\';
|
||||||
|
COMMENT ON COLUMN lehre.tbl_ferientyp.studierende IS \'Ob die Ferien für Studierende relevant sind.\';
|
||||||
|
COMMENT ON COLUMN lehre.tbl_ferientyp.lehre IS \'Ob Lehre in den Ferien verplant werden kann.\';
|
||||||
|
|
||||||
|
ALTER TABLE lehre.tbl_ferientyp ADD CONSTRAINT pk_tbl_ferientyp PRIMARY KEY (ferientyp_kurzbz);
|
||||||
|
|
||||||
|
ALTER TABLE lehre.tbl_ferien ADD COLUMN IF NOT EXISTS ferientyp_kurzbz VARCHAR(64) DEFAULT NULL;
|
||||||
|
|
||||||
|
ALTER TABLE lehre.tbl_ferien ADD CONSTRAINT tbl_lehre_ferien_ferientyp_kurzbz_fk FOREIGN KEY (ferientyp_kurzbz)
|
||||||
|
REFERENCES lehre.tbl_ferientyp (ferientyp_kurzbz) MATCH FULL
|
||||||
|
ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
INSERT INTO lehre.tbl_ferientyp (ferientyp_kurzbz, beschreibung, mitarbeiter, studierende, lehre)
|
||||||
|
VALUES(\'Feiertag\', \'Gesetzliche und andere Feiertage\', true, true, false);
|
||||||
|
INSERT INTO lehre.tbl_ferientyp (ferientyp_kurzbz, beschreibung, mitarbeiter, studierende, lehre)
|
||||||
|
VALUES(\'Ferien\', \'Ferientage\', true, true, false);
|
||||||
|
INSERT INTO lehre.tbl_ferientyp (ferientyp_kurzbz, beschreibung, mitarbeiter, studierende, lehre)
|
||||||
|
VALUES(\'Info\', \'Weitere Zeiten für Ereignisse, z.B. Sportwoche, Ausgleichswoche... \', true, true, false);
|
||||||
|
';
|
||||||
|
|
||||||
|
if (!$db->db_query($qry))
|
||||||
|
echo '<strong>lehre.tbl_ferientyp: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>lehre.tbl_ferientyp table created';
|
||||||
|
|
||||||
|
$qry = 'GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE lehre.tbl_ferientyp TO vilesci;';
|
||||||
|
if (!$db->db_query($qry))
|
||||||
|
echo '<strong>lehre.tbl_ferientyp: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>Granted privileges to <strong>vilesci</strong> on lehre.tbl_ferientyp';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add UNIQUE constraint on fehlercode and fehler_kurzbz on system.tbl_fehler
|
||||||
|
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'uk_tbl_ferien_vondatum_bisdatum_oe_bezeichnung'"))
|
||||||
|
{
|
||||||
|
if ($db->db_num_rows($result) == 0)
|
||||||
|
{
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_ferien ADD CONSTRAINT uk_tbl_ferien_vondatum_bisdatum_oe_bezeichnung UNIQUE (vondatum, bisdatum, oe_kurzbz, bezeichnung);";
|
||||||
|
|
||||||
|
if (!$db->db_query($qry))
|
||||||
|
echo '<strong>lehre.tbl_ferien '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>added UNIQUE constraint on "vondatum", "bisdatum" and "bezeichnung" for lehre.tbl_ferien<br>';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
<?php
|
||||||
|
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
$cols_to_add = [
|
||||||
|
'lehrveranstaltung_id' => "INTEGER",
|
||||||
|
'studiensemester_kurzbz' => "VARCHAR(16)"
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($cols_to_add as $col => $type) {
|
||||||
|
$check = "SELECT 1 FROM information_schema.columns
|
||||||
|
WHERE table_schema = 'lehre' AND table_name = 'tbl_projektarbeit' AND column_name = '$col'";
|
||||||
|
|
||||||
|
if ($result = $db->db_query($check)) {
|
||||||
|
if ($db->db_num_rows($result) === 0) {
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_projektarbeit ADD COLUMN IF NOT EXISTS $col $type;";
|
||||||
|
if ($db->db_query($qry)) {
|
||||||
|
echo "<br>Column $col hinzugefuegt.";
|
||||||
|
} else {
|
||||||
|
echo "<strong>Error adding $col: ".$db->db_last_error()."</strong><br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// run the data migration and the constraint change only once.
|
||||||
|
// Target state: lehrveranstaltung_id NOT NULL, studiensemester_kurzbz NOT NULL, lehreinheit_id NULLable.
|
||||||
|
// The check returns a row as long as one of the three columns is not in the target state.
|
||||||
|
$state_check = "SELECT 1 FROM information_schema.columns
|
||||||
|
WHERE table_schema = 'lehre' AND table_name = 'tbl_projektarbeit'
|
||||||
|
AND ((column_name IN ('lehrveranstaltung_id', 'studiensemester_kurzbz') AND is_nullable = 'YES')
|
||||||
|
OR (column_name = 'lehreinheit_id' AND is_nullable = 'NO'))";
|
||||||
|
|
||||||
|
$migration_pending = false;
|
||||||
|
|
||||||
|
if ($result = $db->db_query($state_check)) {
|
||||||
|
$migration_pending = ($db->db_num_rows($result) > 0);
|
||||||
|
} else {
|
||||||
|
echo "<strong>State Check Error: ".$db->db_last_error()."</strong><br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($migration_pending) {
|
||||||
|
// retrieve lehrveranstaltung_id & studiensemester_kurzbz from tbl_lehreinheit
|
||||||
|
// into new columns based on the existing reference
|
||||||
|
$migration_qry = "UPDATE lehre.tbl_projektarbeit p
|
||||||
|
SET lehrveranstaltung_id = l.lehrveranstaltung_id,
|
||||||
|
studiensemester_kurzbz = l.studiensemester_kurzbz
|
||||||
|
FROM lehre.tbl_lehreinheit l
|
||||||
|
WHERE p.lehreinheit_id = l.lehreinheit_id
|
||||||
|
AND (p.lehrveranstaltung_id IS NULL OR p.studiensemester_kurzbz IS NULL);";
|
||||||
|
|
||||||
|
if ($db->db_query($migration_qry)) {
|
||||||
|
echo "<br>Datenmigration von lehreinheit_id zu lehrveranstaltung_id & studiensemester_kurzbz abgeschlossen.";
|
||||||
|
} else {
|
||||||
|
echo "<strong>Migration Error: ".$db->db_last_error()."</strong><br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// set NOT NULL and make lehreinheit_id NULLable
|
||||||
|
$constraint_qry = "ALTER TABLE lehre.tbl_projektarbeit
|
||||||
|
ALTER COLUMN lehrveranstaltung_id SET NOT NULL,
|
||||||
|
ALTER COLUMN studiensemester_kurzbz SET NOT NULL,
|
||||||
|
ALTER COLUMN lehreinheit_id DROP NOT NULL;";
|
||||||
|
|
||||||
|
if ($db->db_query($constraint_qry)) {
|
||||||
|
echo "<br>Constraints updated lehrveranstaltung_id SET NOT NULL, studiensemester_kurzbz SET NOT NULL, lehreinheit_id DROP NOT NULL.";
|
||||||
|
} else {
|
||||||
|
echo "<strong>Alter Constraints Error: ".$db->db_last_error()."</strong><br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add fkey for lehrveranstaltung_id
|
||||||
|
$fk_check_lv = "SELECT 1 FROM information_schema.table_constraints
|
||||||
|
WHERE constraint_name = 'fk_projektarbeit_lehrveranstaltung_id' AND table_schema = 'lehre'";
|
||||||
|
|
||||||
|
if ($result = $db->db_query($fk_check_lv)) {
|
||||||
|
if ($db->db_num_rows($result) === 0) {
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_projektarbeit
|
||||||
|
ADD CONSTRAINT fk_projektarbeit_lehrveranstaltung_id
|
||||||
|
FOREIGN KEY (lehrveranstaltung_id)
|
||||||
|
REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id)
|
||||||
|
ON DELETE RESTRICT;";
|
||||||
|
if ($db->db_query($qry)) echo '<br>fk_projektarbeit_lehrveranstaltung_id hinzugefuegt';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add fkey for studiensemester_kurzbz
|
||||||
|
$fk_check_sem = "SELECT 1 FROM information_schema.table_constraints
|
||||||
|
WHERE constraint_name = 'fk_projektarbeit_studiensemester_kurzbz' AND table_schema = 'lehre'";
|
||||||
|
|
||||||
|
if ($result = $db->db_query($fk_check_sem)) {
|
||||||
|
if ($db->db_num_rows($result) === 0) {
|
||||||
|
$qry = "ALTER TABLE lehre.tbl_projektarbeit
|
||||||
|
ADD CONSTRAINT fk_projektarbeit_studiensemester_kurzbz
|
||||||
|
FOREIGN KEY (studiensemester_kurzbz)
|
||||||
|
REFERENCES public.tbl_studiensemester (studiensemester_kurzbz)
|
||||||
|
ON DELETE RESTRICT;";
|
||||||
|
if ($db->db_query($qry)) echo '<br>fk_projektarbeit_studiensemester_kurzbz hinzugefuegt';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,7 +4,7 @@ if (! defined('DB_NAME')) exit('No direct script access allowed');
|
|||||||
//Add column entwicklungs_id to bis.tbl_entwicklungsteam
|
//Add column entwicklungs_id to bis.tbl_entwicklungsteam
|
||||||
if(!@$db->db_query("SELECT taglib FROM public.tbl_notiz_typ LIMIT 1"))
|
if(!@$db->db_query("SELECT taglib FROM public.tbl_notiz_typ LIMIT 1"))
|
||||||
{
|
{
|
||||||
$qry = 'ALTER TABLE public.tbl_notiz_typ ADD COLUMN taglib character varying(32);';
|
$qry = 'ALTER TABLE public.tbl_notiz_typ ADD COLUMN taglib character varying(255);';
|
||||||
|
|
||||||
if(!$db->db_query($qry))
|
if(!$db->db_query($qry))
|
||||||
echo '<strong> public.tbl_notiz_typ '.$db->db_last_error().'</strong><br>';
|
echo '<strong> public.tbl_notiz_typ '.$db->db_last_error().'</strong><br>';
|
||||||
@@ -137,3 +137,30 @@ foreach ($tags as $tag) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// increase length of taglib column if created with length < 255
|
||||||
|
$ctaglibsql = <<<EOSQL
|
||||||
|
select
|
||||||
|
*
|
||||||
|
from
|
||||||
|
information_schema.columns c
|
||||||
|
where
|
||||||
|
c.table_schema = 'public'
|
||||||
|
and c.table_name = 'tbl_notiz_typ'
|
||||||
|
and c.column_name = 'taglib'
|
||||||
|
and c.data_type = 'character varying'
|
||||||
|
and c.character_maximum_length < 255
|
||||||
|
EOSQL;
|
||||||
|
|
||||||
|
if($res = $db->db_query($ctaglibsql))
|
||||||
|
{
|
||||||
|
if($db->db_num_rows($res) > 0)
|
||||||
|
{
|
||||||
|
$qry = 'ALTER TABLE public.tbl_notiz_typ ALTER COLUMN taglib TYPE varchar(255) USING taglib::varchar(255)';
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong> public.tbl_notiz_typ '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo '<br>public.tbl_notiz_typ: Spalte taglib Datentyp zu varchar(255) geaendert.';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19829,6 +19829,26 @@ array(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'international',
|
||||||
|
'category' => 'international',
|
||||||
|
'phrase' => 'massnahmeneinmalig',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Diese Maßnahme ist nur einmalig planbar.',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'This measure may only be planned once.',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'app' => 'international',
|
'app' => 'international',
|
||||||
'category' => 'international',
|
'category' => 'international',
|
||||||
@@ -20609,6 +20629,26 @@ array(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'international',
|
||||||
|
'category' => 'international',
|
||||||
|
'phrase' => 'personenMassnahmen',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'alle Maßnahmen der Personen',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => ' all measures of the people',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'app' => 'international',
|
'app' => 'international',
|
||||||
'category' => 'international',
|
'category' => 'international',
|
||||||
@@ -20689,6 +20729,46 @@ array(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'international',
|
||||||
|
'category' => 'international',
|
||||||
|
'phrase' => 'einmalig',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Nur einmal planbar',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'One-time only',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'international',
|
||||||
|
'category' => 'international',
|
||||||
|
'phrase' => 'erroreinmalig',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Diese Maßnahme kann nur einmal geplant werden',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'This measure can only be planned once.',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'app' => 'core',
|
'app' => 'core',
|
||||||
'category' => 'gruppenmanagement',
|
'category' => 'gruppenmanagement',
|
||||||
@@ -48495,6 +48575,26 @@ array(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'abgabetool',
|
||||||
|
'phrase' => 'c4termineTimeLine',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Zeitstrahl Termine',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Timeline Deadlines',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'app' => 'core',
|
'app' => 'core',
|
||||||
'category' => 'abgabetool',
|
'category' => 'abgabetool',
|
||||||
@@ -62411,6 +62511,450 @@ I have been informed that I am under no obligation to consent to the transmissio
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'lehre',
|
||||||
|
'phrase' => 'info_deleteMarkEntry',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Noteneintrag entfernen',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Remove grade entry',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
// ### Infocenter Onboarding START
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'infocenter',
|
||||||
|
'phrase' => 'onboardingRegistriert',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Über ElectronicOnboarding registriert',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Registered with Electronic Onboarding',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'infocenter',
|
||||||
|
'phrase' => 'ersterOnboardingLogin',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Erster Electronic Onboarding Login',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'First Electronic Onboarding Login',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
// ### Infocenter Onboarding END
|
||||||
|
// ### Ferien START
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'ferienId',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Ferien Id',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Holiday Id',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'vondatum',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Datum von',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'From date',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'bisdatum',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Datum bis',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'To date',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'organisationseinheit',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => "Organisationseinheit",
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => "Organisational unit",
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'oeKurzbezeichnung',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => "Organisationseinheit Kurzbezeichung",
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => "Organisational unit short name",
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'oeBezeichnung',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Organisationseinheit Bezeichnung',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Organizational unit name',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'studienplan',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Studienplan',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Study plan',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'studienplanBezeichnung',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Studienplan Bezeichnung',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Study plan name',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'ferientypKurzbz',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Ferientyp Bezeichnung',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Holiday type name',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'mitarbeiterrelevant',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Mitarbeiterrelevant',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Employee relevant',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'studierendenrelevant',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Studierendenrelevant',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Student relevant',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'lehrePlanbar',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Lehre planbar',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Classes assignable',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'ferien_edit',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'edit holidays',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Ferien bearbeiten',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ui',
|
||||||
|
'phrase' => 'keineAuswahl',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'keine Auswahl',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'no selection',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'csvNichtGelesen',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'CSV nicht gelesen',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'CSV could not be read',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'fehlerBeimLaden',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Fehler beim Laden',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Error when loading',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'fehlerBeimHinzufuegen',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Fehler beim Hinzufügen',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Error when adding',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'ferienImportieren',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Ferientage importieren',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Import holidays',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'app' => 'core',
|
||||||
|
'category' => 'ferien',
|
||||||
|
'phrase' => 'importiert',
|
||||||
|
'insertvon' => 'system',
|
||||||
|
'phrases' => array(
|
||||||
|
array(
|
||||||
|
'sprache' => 'German',
|
||||||
|
'text' => 'Importiert',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'sprache' => 'English',
|
||||||
|
'text' => 'Imported',
|
||||||
|
'description' => '',
|
||||||
|
'insertvon' => 'system'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
// ### Ferien END
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
|||||||
if(in_array($row->status_kurzbz,array('Abbrecher','Unterbrecher','Diplomand','Absolvent')))
|
if(in_array($row->status_kurzbz,array('Abbrecher','Unterbrecher','Diplomand','Absolvent')))
|
||||||
{
|
{
|
||||||
// Schauen ob fuer das vorherige Studiensemester ein eindeutiger Eintrag vorhanden ist
|
// Schauen ob fuer das vorherige Studiensemester ein eindeutiger Eintrag vorhanden ist
|
||||||
// Da bei diesen Statuseintraegen Studiensemster und Ausbildungssemester meist versetzt sind
|
// Da bei diesen Statuseintraegen Studiensemester und Ausbildungssemester meist versetzt sind
|
||||||
// (zB Wintersemester 2. Semester)
|
// (zB Wintersemester 2. Semester)
|
||||||
|
|
||||||
$stsem_obj = new studiensemester();
|
$stsem_obj = new studiensemester();
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
UPDATE public.tbl_funktion SET funktion_kurzbz='Student' WHERE funktion_kurzbz='stud';
|
||||||
|
|
||||||
|
UPDATE public.tbl_benutzer SET uid='demoadmin' WHERE uid='admin';
|
||||||
|
|
||||||
|
-- Add Missing functions
|
||||||
|
INSERT INTO public.tbl_funktion (funktion_kurzbz, beschreibung, aktiv, fachbereich, semester, hrrelevant, vertragsrelevant) VALUES('hsv', 'Hochschulvertretung', true, false, false, false, false);
|
||||||
|
INSERT INTO public.tbl_funktion (funktion_kurzbz, beschreibung, aktiv, fachbereich, semester, hrrelevant, vertragsrelevant) VALUES('jgv', 'Jahrgangsvertretung', true, false, true, false, false);
|
||||||
|
INSERT INTO public.tbl_funktion (funktion_kurzbz, beschreibung, aktiv, fachbereich, semester, hrrelevant, vertragsrelevant) VALUES('oezuordnung', 'Diszpl-Zuordnung', true, false, false, true, true);
|
||||||
|
INSERT INTO public.tbl_funktion (funktion_kurzbz, beschreibung, aktiv, fachbereich, semester, hrrelevant, vertragsrelevant) VALUES('fachzuordnung', 'Fachliche Zuordnung', true, false, false, true, true);
|
||||||
|
|
||||||
|
-- Add Permissions to Admin Role
|
||||||
|
INSERT INTO "system".tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art, anmerkung, insertamum, insertvon) VALUES('basis/cis', 'admin', 'suid', 'Zugriff auf CIS', now(), 'demoadmin');
|
||||||
|
|
||||||
|
INSERT INTO "system".tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz, oe_kurzbz, art, studiensemester_kurzbz, "start", ende, negativ, updateamum, updatevon, insertamum, insertvon, kostenstelle_id, anmerkung) VALUES
|
||||||
|
(NULL, 'dashboard/benutzer', NULL, 'Mitarbeiter', NULL, 'suid', NULL, NULL, NULL, false, NULL, NULL, now(), 'demoadmin', NULL, NULL),
|
||||||
|
(NULL, 'dashboard/benutzer', NULL, 'Student', NULL, 'suid', NULL, NULL, NULL, false, NULL, NULL, now(), 'demoadmin', NULL, NULL)
|
||||||
|
;
|
||||||
|
|
||||||
|
INSERT INTO "system".tbl_webservicetyp (webservicetyp_kurzbz, beschreibung) VALUES('content', 'CIS-Content ID');
|
||||||
|
|
||||||
|
SELECT setval('campus.seq_contentsprache', (select max(contentsprache_id) from campus.tbl_contentsprache), true);
|
||||||
|
SELECT setval('campus.seq_contentchild', (select max(contentchild_id) from campus.tbl_contentchild), true);
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_gruppe (gruppe_kurzbz, studiengang_kz, semester, bezeichnung, beschreibung, sichtbar, lehre, aktiv, sort, mailgrp, generiert, updateamum, updatevon, insertamum, insertvon, ext_id, orgform_kurzbz, content_visible, gesperrt, direktinskription, zutrittssystem, aufnahmegruppe) VALUES
|
||||||
|
('MA', 0, NULL, 'MA', 'MA', false, false, true, NULL, false, false, now(), 'demoadmin', now(), 'demoadmin', NULL, NULL, true, false, false, false, false),
|
||||||
|
('STUD', 0, NULL, 'STUD', 'STUD', false, false, true, NULL, false, false, now(), 'demoadmin', now(), 'demoadmin', NULL, NULL, true, false, false, false, false)
|
||||||
|
;
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
CREATE OR REPLACE FUNCTION NearestWintersemester(var_entfernung integer) RETURNS varchar(32) AS $$
|
||||||
|
DECLARE res varchar(32);
|
||||||
|
BEGIN
|
||||||
|
WITH nearestws AS
|
||||||
|
(
|
||||||
|
SELECT studiensemester_kurzbz, start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz LIKE 'W%' AND ende>=now() ORDER BY start DESC LIMIT 1
|
||||||
|
)
|
||||||
|
SELECT studiensemester_kurzbz into res
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT studiensemester_kurzbz, 0 as "entfernung" FROM nearestws
|
||||||
|
UNION
|
||||||
|
SELECT studiensemester_kurzbz, rank() over(order by start desc) as "entfernung" FROM public.tbl_studiensemester where start>(SELECT start FROM nearestws)
|
||||||
|
UNION
|
||||||
|
SELECT studiensemester_kurzbz, (-1 * rank() over(order by start desc)) as "entfernung" FROM public.tbl_studiensemester WHERE start<(SELECT start FROM nearestws)
|
||||||
|
) x where entfernung=var_entfernung;
|
||||||
|
|
||||||
|
return res;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
-- Demodaten fuer Mitarbeiter
|
||||||
|
-- Personen
|
||||||
|
INSERT INTO public.tbl_person (person_id, staatsbuergerschaft,geburtsnation,sprache,anrede,titelpost,titelpre,vorname,nachname,vornamen,gebdatum,gebort,gebzeit,foto,anmerkung,homepage,svnr,ersatzkennzeichen,familienstand,geschlecht,anzahlkinder,aktiv,insertamum,insertvon,updateamum,updatevon,ext_id,bundesland_code,kompetenzen,kurzbeschreibung,zugangscode,foto_sperre,udf_values,bpk,matr_aktiv,matr_nr,zugangscode_timestamp,wahlname,unruly) VALUES
|
||||||
|
(21,'A','A',NULL,'Herr',NULL,NULL,'Demo','Lektor 1',NULL,'1980-01-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c21',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(22,'A','A',NULL,'Herr',NULL,NULL,'Demo','Lektor 2',NULL,'1980-01-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c22',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(23,'A','A',NULL,'Herr',NULL,NULL,'Demo','Lektor 3',NULL,'1980-01-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c23',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(24,'A','A',NULL,'Herr',NULL,NULL,'Demo','Lektor 4',NULL,'1980-01-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c24',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(25,'A','A',NULL,'Herr',NULL,NULL,'Demo','Lektor 5',NULL,'1980-01-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c25',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(26,'A','A',NULL,'Frau',NULL,NULL,'Demo','Assistenz',NULL,'1985-01-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'w',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c26',false,NULL,NULL,false,NULL,NULL,NULL,false)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_benutzer (person_id, uid, aktiv, alias, insertamum, insertvon, updateamum, updatevon, updateaktivam, updateaktivvon, aktivierungscode) VALUES
|
||||||
|
('21', 'demolektor1' , true, null, now(), 'auto', null, null, null, false, null),
|
||||||
|
('22', 'demolektor2' , true, null, now(), 'auto', null, null, null, false, null),
|
||||||
|
('23', 'demolektor3' , true, null, now(), 'auto', null, null, null, false, null),
|
||||||
|
('24', 'demolektor4' , true, null, now(), 'auto', null, null, null, false, null),
|
||||||
|
('25', 'demolektor5' , true, null, now(), 'auto', null, null, null, false, null),
|
||||||
|
('26', 'demoassistenz' , true, null, now(), 'auto', null, null, null, false, null)
|
||||||
|
;
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_mitarbeiter (mitarbeiter_uid, personalnummer, telefonklappe, kurzbz, lektor, fixangestellt, stundensatz, ausbildungcode, ort_kurzbz, insertamum, insertvon, bismelden) VALUES
|
||||||
|
('demolektor1', 21, null, 'DemoLKT1', true, true, 80, null, null, now(), 'auto', true),
|
||||||
|
('demolektor2', 22, null, 'DemoLKT2', true, true, 80, null, null, now(), 'auto', true),
|
||||||
|
('demolektor3', 23, null, 'DemoLKT3', true, true, 80, null, null, now(), 'auto', true),
|
||||||
|
('demolektor4', 24, null, 'DemoLKT4', true, true, 80, null, null, now(), 'auto', true),
|
||||||
|
('demolektor5', 25, null, 'DemoLKT5', true, true, 80, null, null, now(), 'auto', true),
|
||||||
|
('demoassistenz', 26, null, 'DemoAss', true, true, 80, null, null, now(), 'auto', true)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, studiensemester_kurzbz) VALUES
|
||||||
|
('demoadmin', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL),
|
||||||
|
('demolektor1', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL),
|
||||||
|
('demolektor2', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL),
|
||||||
|
('demolektor3', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL),
|
||||||
|
('demolektor4', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL),
|
||||||
|
('demolektor5', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL),
|
||||||
|
('demoassistenz', 'MA', now(), 'demoadmin', now(), 'demoadmin', NULL, NULL)
|
||||||
|
;
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
-- Kompetenzfedler
|
||||||
|
INSERT INTO public.tbl_organisationseinheittyp (organisationseinheittyp_kurzbz, bezeichnung, beschreibung) VALUES('Kompetenzfeld', 'Kompetenzfeld', 'Kompetenzfeld');
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_organisationseinheit (oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz, aktiv, mailverteiler, freigabegrenze, kurzzeichen, lehre, standort, warn_semesterstunden_frei, warn_semesterstunden_fix, standort_id) VALUES
|
||||||
|
('dep', 'etw', 'Fachabteilung', 'Abteilung', true, false, NULL, NULL, true, NULL, NULL, NULL, NULL),
|
||||||
|
('kfSprachen', 'dep', 'Sprachen', 'Kompetenzfeld', true, false, NULL, NULL, true, NULL, NULL, NULL, NULL),
|
||||||
|
('kfMath', 'dep', 'Mathematik', 'Kompetenzfeld', true, false, NULL, NULL, true, NULL, NULL, NULL, NULL),
|
||||||
|
('kfTech', 'dep', 'Technik', 'Kompetenzfeld', true, false, NULL, NULL, true, NULL, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_organisationseinheit
|
||||||
|
(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz, aktiv, mailverteiler, freigabegrenze, kurzzeichen, lehre, standort, warn_semesterstunden_frei, warn_semesterstunden_fix, standort_id, fts_bezeichnung)
|
||||||
|
VALUES('Lehrgaenge', 'etw', 'Lehrgänge', 'Abteilung', true, false, NULL, NULL, false, NULL, NULL, NULL, NULL, '''abteilung'':1 ''lehrgänge'':2'::tsvector);
|
||||||
|
INSERT INTO public.tbl_organisationseinheit
|
||||||
|
(oe_kurzbz, oe_parent_kurzbz, bezeichnung, organisationseinheittyp_kurzbz, aktiv, mailverteiler, freigabegrenze, kurzzeichen, lehre, standort, warn_semesterstunden_frei, warn_semesterstunden_fix, standort_id, fts_bezeichnung)
|
||||||
|
VALUES('studiengaenge', 'etw', 'Studiengänge', 'Abteilung', true, false, NULL, NULL, false, NULL, NULL, NULL, NULL, '''abteilung'':1 ''studiengänge'':2'::tsvector);
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_studienjahr (studienjahr_kurzbz, bezeichnung) VALUES
|
||||||
|
('2026/27', 'Studienjahr 2026/27'),
|
||||||
|
('2027/28', 'Studienjahr 2027/28')
|
||||||
|
;
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_studiensemester (studiensemester_kurzbz, "start", ende, ext_id, bezeichnung, studienjahr_kurzbz, beschreibung, onlinebewerbung) VALUES
|
||||||
|
('WS2026', '2026-09-01', '2027-01-31', NULL, 'Wintersemester 2026/27', '2026/27', NULL, false),
|
||||||
|
('SS2027', '2027-02-01', '2027-07-01', NULL, 'Sommersemester 2027', '2026/27', NULL, false),
|
||||||
|
('WS2027', '2027-09-01', '2028-01-31', NULL, 'Wintersemester 2027/28', '2027/28', NULL, false),
|
||||||
|
('SS2028', '2028-02-01', '2028-07-01', NULL, 'Sommersemester 2028', '2027/28', NULL, false)
|
||||||
|
;
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
INSERT INTO public.tbl_ort
|
||||||
|
(ort_kurzbz, bezeichnung, planbezeichnung, max_person, lehre, reservieren, aktiv, lageplan, dislozierung, kosten, ausstattung, updateamum, updatevon, insertamum, insertvon, ext_id, stockwerk, telefonklappe, standort_id, content_id, m2, gebteil, oe_kurzbz, arbeitsplaetze)
|
||||||
|
VALUES('EG03', 'Besprechungsruam EG03', 'EG03', 8, true, true, true, NULL, NULL, NULL, NULL, '2023-08-24 14:18:50.000', 'oesi', '2023-08-24 14:17:30.000', 'oesi', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
INSERT INTO public.tbl_ort
|
||||||
|
(ort_kurzbz, bezeichnung, planbezeichnung, max_person, lehre, reservieren, aktiv, lageplan, dislozierung, kosten, ausstattung, updateamum, updatevon, insertamum, insertvon, ext_id, stockwerk, telefonklappe, standort_id, content_id, m2, gebteil, oe_kurzbz, arbeitsplaetze)
|
||||||
|
VALUES('EG01', 'Seminarraum EG01', 'EG01', 10, true, true, true, NULL, NULL, NULL, NULL, '2023-08-24 14:18:52.000', 'oesi', '2023-08-24 14:16:47.000', 'oesi', NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
INSERT INTO public.tbl_ort
|
||||||
|
(ort_kurzbz, bezeichnung, planbezeichnung, max_person, lehre, reservieren, aktiv, lageplan, dislozierung, kosten, ausstattung, updateamum, updatevon, insertamum, insertvon, ext_id, stockwerk, telefonklappe, standort_id, content_id, m2, gebteil, oe_kurzbz, arbeitsplaetze)
|
||||||
|
VALUES('EG02', 'Seminarraum EG02', 'EG02', 10, true, true, true, NULL, NULL, NULL, NULL, '2023-08-24 14:18:54.000', 'oesi', '2023-08-24 14:16:56.000', 'oesi', NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
INSERT INTO public.tbl_ort
|
||||||
|
(ort_kurzbz, bezeichnung, planbezeichnung, max_person, lehre, reservieren, aktiv, lageplan, dislozierung, kosten, ausstattung, updateamum, updatevon, insertamum, insertvon, ext_id, stockwerk, telefonklappe, standort_id, content_id, m2, gebteil, oe_kurzbz, arbeitsplaetze)
|
||||||
|
VALUES('EG04', 'EDV EG04', 'EG04', 20, true, true, true, NULL, NULL, NULL, NULL, '2023-08-24 14:18:55.000', 'oesi', '2023-08-24 14:17:49.000', 'oesi', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
INSERT INTO public.tbl_ortraumtyp
|
||||||
|
(ort_kurzbz, hierarchie, raumtyp_kurzbz)
|
||||||
|
VALUES('EG01', 1, 'SEM');
|
||||||
|
INSERT INTO public.tbl_ortraumtyp
|
||||||
|
(ort_kurzbz, hierarchie, raumtyp_kurzbz)
|
||||||
|
VALUES('EG02', 1, 'SEM');
|
||||||
|
INSERT INTO public.tbl_ortraumtyp
|
||||||
|
(ort_kurzbz, hierarchie, raumtyp_kurzbz)
|
||||||
|
VALUES('EG04', 1, 'EDV2');
|
||||||
|
INSERT INTO public.tbl_ortraumtyp
|
||||||
|
(ort_kurzbz, hierarchie, raumtyp_kurzbz)
|
||||||
|
VALUES('EG04', 2, 'EDV5/6');
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
-- Demodaten fuer Studierende im Studiengang 1
|
||||||
|
|
||||||
|
INSERT INTO lehre.tbl_studienordnung
|
||||||
|
(studienordnung_id, studiengang_kz, "version", gueltigvon, gueltigbis, bezeichnung, ects, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, insertamum, insertvon, updateamum, updatevon, ext_id, status_kurzbz, standort_id)
|
||||||
|
VALUES(1, 1, '1', 'WS2023', NULL, 'BS1-WS2023', 180.00, 'Studiengang 1', 'Studiengang 1', 'STG1', NULL, '2023-08-24 14:25:41.728', 'oesi', NULL, NULL, NULL, 'development', NULL);
|
||||||
|
|
||||||
|
INSERT INTO lehre.tbl_studienplan
|
||||||
|
(studienplan_id, studienordnung_id, orgform_kurzbz, "version", bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl, insertamum, insertvon, updateamum, updatevon, ext_id, ects_stpl, pflicht_sws, pflicht_lvs, onlinebewerbung_studienplan)
|
||||||
|
VALUES(1, 1, 'VZ', '1', 'BS1-WS2023-VZ', 6, NULL, true, 15, true, '2023-08-24 14:26:12.751', 'oesi', NULL, NULL, NULL, 120.00, NULL, NULL, true);
|
||||||
|
|
||||||
|
INSERT INTO lehre.tbl_studienplan_semester
|
||||||
|
( studienplan_id, studiensemester_kurzbz, semester)
|
||||||
|
VALUES(1, 'WS2025', 1);
|
||||||
|
INSERT INTO lehre.tbl_studienplan_semester
|
||||||
|
(studienplan_id, studiensemester_kurzbz, semester)
|
||||||
|
VALUES(1, 'SS2026', 1);
|
||||||
|
|
||||||
|
-- Personen
|
||||||
|
INSERT INTO public.tbl_person (person_id, staatsbuergerschaft,geburtsnation,sprache,anrede,titelpost,titelpre,vorname,nachname,vornamen,gebdatum,gebort,gebzeit,foto,anmerkung,homepage,svnr,ersatzkennzeichen,familienstand,geschlecht,anzahlkinder,aktiv,insertamum,insertvon,updateamum,updatevon,ext_id,bundesland_code,kompetenzen,kurzbeschreibung,zugangscode,foto_sperre,udf_values,bpk,matr_aktiv,matr_nr,zugangscode_timestamp,wahlname,unruly) VALUES
|
||||||
|
|
||||||
|
(101,'A','A',NULL,'Herr',NULL,NULL,'Leonardo','DiCaprio',NULL,'1974-11-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c101',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(102,'A','A',NULL,'Herr',NULL,NULL,'Robert','Downey Jr.',NULL,'1965-04-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c102',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(103,'A','A',NULL,'Herr',NULL,NULL,'Denzel','Washington',NULL,'1954-12-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c103',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(104,'A','A',NULL,'Herr',NULL,NULL,'Al','Pacino',NULL,'1940-04-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c104',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(105,'A','A',NULL,'Herr',NULL,NULL,'Morgan','Freeman',NULL,'1937-06-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c105',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(106,'A','A',NULL,'Herr',NULL,NULL,'Daniel','Day-Lewis',NULL,'1957-04-29',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c106',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(107,'A','A',NULL,'Herr',NULL,NULL,'Marlon','Brando',NULL,'1924-04-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c107',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(108,'A','A',NULL,'Herr',NULL,NULL,'Tom','Hanks',NULL,'1956-07-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c108',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(109,'A','A',NULL,'Herr',NULL,NULL,'Johnny','Depp',NULL,'1963-06-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c109',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(110,'A','A',NULL,'Herr',NULL,NULL,'Brad','Pitt',NULL,'1963-12-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c8110',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(111,'A','A',NULL,'Herr',NULL,NULL,'Will','Smith',NULL,'1968-09-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c111',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(112,'A','A',NULL,'Herr',NULL,NULL,'Keanu','Reeves',NULL,'1964-09-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c112',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(113,'A','A',NULL,'Herr',NULL,NULL,'Robert','De Niro',NULL,'1943-08-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647113',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(114,'A','A',NULL,'Herr',NULL,NULL,'Harrison','Ford',NULL,'1942-07-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c114',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(115,'A','A',NULL,'Herr',NULL,NULL,'Samuel L.','Jackson',NULL,'1948-12-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c115',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(116,'A','A',NULL,'Herr',NULL,NULL,'Christian','Bale',NULL,'1974-01-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c116',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(117,'A','A',NULL,'Herr',NULL,NULL,'Tom','Cruise',NULL,'1962-07-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c1117',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(118,'A','A',NULL,'Herr',NULL,NULL,'Arnold','Schwarzenegger',NULL,'1947-07-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c118',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(119,'A','A',NULL,'Herr',NULL,NULL,'Sylvester','Stallone',NULL,'1946-07-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c119',false,NULL,NULL,false,NULL,NULL,NULL,false),
|
||||||
|
(120,'A','A',NULL,'Herr',NULL,NULL,'Karl','Klammer',NULL,'1963-06-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m',NULL,true,'2023-08-24 14:56:04.509813','auto','2025-05-13 10:57:19.826386',NULL,NULL,NULL,NULL,NULL,'64e753647c120',false,NULL,NULL,false,NULL,NULL,NULL,false)
|
||||||
|
;
|
||||||
|
SELECT setval('public.tbl_person_person_id_seq', 1000,true);
|
||||||
|
|
||||||
|
-- Prestudenten
|
||||||
|
INSERT INTO public.tbl_prestudent (prestudent_id, person_id,studiengang_kz,aufmerksamdurch_kurzbz,berufstaetigkeit_code,ausbildungcode,zgv_code,zgvort,zgvdatum,zgvmas_code,zgvmaort,zgvmadatum,aufnahmeschluessel,facheinschlberuf,reihungstest_id,anmeldungreihungstest,reihungstestangetreten,rt_gesamtpunkte,bismelden,insertamum,insertvon,updateamum,updatevon,ext_id,anmerkung,dual,rt_punkte1,rt_punkte2,ausstellungsstaat,rt_punkte3,udf_values,priorisierung,zgvdoktor_code,zgvdoktorort,zgvdoktordatum,mentor,zgvnation,zgvmanation,zgvdoktornation,gsstudientyp_kurzbz,aufnahmegruppe_kurzbz,foerderrelevant,standort_code,zgv_erfuellt,zgvmas_erfuellt,zgvdoktor_erfuellt) VALUES
|
||||||
|
(1101,101,1,'k.A.',NULL,NULL,9,NULL,'2020-06-01',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1102,102,1,'k.A.',NULL,NULL,9,NULL,'2020-06-02',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1103,103,1,'k.A.',NULL,NULL,9,NULL,'2020-06-03',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1104,104,1,'k.A.',NULL,NULL,9,NULL,'2020-06-04',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1105,105,1,'k.A.',NULL,NULL,9,NULL,'2020-06-05',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1106,106,1,'k.A.',NULL,NULL,9,NULL,'2020-06-06',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1107,107,1,'k.A.',NULL,NULL,9,NULL,'2020-06-07',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1108,108,1,'k.A.',NULL,NULL,9,NULL,'2020-06-08',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1109,109,1,'k.A.',NULL,NULL,9,NULL,'2020-06-09',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1110,110,1,'k.A.',NULL,NULL,9,NULL,'2020-06-10',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1111,111,1,'k.A.',NULL,NULL,9,NULL,'2020-06-01',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1112,112,1,'k.A.',NULL,NULL,9,NULL,'2020-06-02',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1113,113,1,'k.A.',NULL,NULL,9,NULL,'2020-06-03',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1114,114,1,'k.A.',NULL,NULL,9,NULL,'2020-06-04',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1115,115,1,'k.A.',NULL,NULL,9,NULL,'2020-06-05',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1116,116,1,'k.A.',NULL,NULL,9,NULL,'2020-06-06',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1117,117,1,'k.A.',NULL,NULL,9,NULL,'2020-06-07',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1118,118,1,'k.A.',NULL,NULL,9,NULL,'2020-06-08',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1119,119,1,'k.A.',NULL,NULL,9,NULL,'2020-06-09',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false),
|
||||||
|
(1120,120,1,'k.A.',NULL,NULL,9,NULL,'2020-06-10',NULL,NULL,NULL,NULL,false,NULL,NULL,true,NULL,true,NULL,NULL,'2023-08-24 14:56:04.509813',NULL,NULL,NULL,false,NULL,NULL,'A',0.0000,NULL,NULL,NULL,NULL,NULL,NULL,'A',NULL,NULL,'Intern',NULL,NULL,NULL,false,false,false)
|
||||||
|
;
|
||||||
|
SELECT setval('tbl_prestudent_prestudent_id_seq', 2000,true);
|
||||||
|
|
||||||
|
-- Prestudent Status
|
||||||
|
|
||||||
|
WITH status AS (
|
||||||
|
SELECT * FROM (VALUES
|
||||||
|
('Interessent','WS2025',1,'2025-01-15','2023-08-24 14:56:04','auto',NULL,NULL,NULL,1,'2023-08-24','demoadmin',NULL,false,NULL,NULL,NULL,NULL),
|
||||||
|
('Bewerber','WS2025',1,'2025-02-20','2023-08-24 14:58:11','auto',NULL,NULL,NULL,1,'2023-08-24','demoadmin',NULL,false,NULL,NULL,NULL,NULL),
|
||||||
|
('Aufgenommener','WS2025',1,'2025-05-01','2023-08-24 14:58:14','auto',NULL,NULL,NULL,1,'2023-08-24','demoadmin',NULL,false,NULL,NULL,NULL,NULL),
|
||||||
|
('Student','WS2025',1,'2025-08-24','2023-08-24 14:58:16','auto',NULL,NULL,NULL,1,'2023-08-24','demoadmin',NULL,false,NULL,NULL,NULL,NULL)
|
||||||
|
) AS t(status_kurzbz,studiensemester_kurzbz,ausbildungssemester,datum,insertamum,insertvon,updateamum,updatevon,orgform_kurzbz,studienplan_id,bestaetigtam,bestaetigtvon,fgm,faktiv,anmerkung,bewerbung_abgeschicktamum,rt_stufe,statusgrund_id)
|
||||||
|
),
|
||||||
|
inserts AS (
|
||||||
|
SELECT generate_series(1101, 1120) AS prestudent_id,*
|
||||||
|
FROM status
|
||||||
|
)
|
||||||
|
INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,studiensemester_kurzbz,ausbildungssemester,datum,insertamum,insertvon,updateamum,updatevon,orgform_kurzbz,studienplan_id,bestaetigtam,bestaetigtvon,fgm,faktiv,anmerkung,bewerbung_abgeschicktamum,rt_stufe,statusgrund_id)
|
||||||
|
SELECT prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum::date, insertamum::timestamp, insertvon, updateamum::timestamp, updatevon,orgform_kurzbz,studienplan_id,bestaetigtam::date,bestaetigtvon,fgm::smallint,faktiv,anmerkung,bewerbung_abgeschicktamum::timestamp,rt_stufe::smallint,statusgrund_id::int
|
||||||
|
FROM inserts;
|
||||||
|
|
||||||
|
-- tbl_benutzer
|
||||||
|
WITH persons AS (
|
||||||
|
SELECT generate_series(101, 120) AS person_id
|
||||||
|
)
|
||||||
|
INSERT INTO public.tbl_benutzer (person_id, uid, aktiv, alias, insertamum, insertvon, updateamum, updatevon, updateaktivam, updateaktivvon, aktivierungscode)
|
||||||
|
SELECT person_id, 's125b' || person_id, true, null, now(), 'auto', null, null, null, false, null
|
||||||
|
FROM persons;
|
||||||
|
|
||||||
|
-- tbl_student
|
||||||
|
WITH persons AS (
|
||||||
|
SELECT generate_series(101, 120) AS person_id
|
||||||
|
)
|
||||||
|
INSERT INTO public.tbl_student (student_uid, matrikelnr, prestudent_id, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon)
|
||||||
|
SELECT 's125b' || person_id, '2510001' || person_id, ('1' || person_id)::integer, '1', '1', '','', null, null, now(), 'auto'
|
||||||
|
FROM persons;
|
||||||
|
|
||||||
|
-- tbl_studentlehrverband
|
||||||
|
WITH persons AS (
|
||||||
|
SELECT generate_series(101, 120) AS person_id
|
||||||
|
),
|
||||||
|
students as (
|
||||||
|
SELECT ('s125b' || person_id) as student_uid, person_id
|
||||||
|
FROM persons
|
||||||
|
)
|
||||||
|
INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon)
|
||||||
|
SELECT student_uid, 'WS2025', '1','1','','', null, null, now(), 'auto'
|
||||||
|
FROM students;
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user