diff --git a/application/config/routes.php b/application/config/routes.php index da3a45f03..b4ce2ed4a 100644 --- a/application/config/routes.php +++ b/application/config/routes.php @@ -75,16 +75,16 @@ $route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/inout/outgoing'] = 'api/ $route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/inout/gemeinsamestudien'] = 'api/frontend/v1/stv/Students/getGemeinsamestudien'; // (studiengang_kz)/prestudent[/(studiensemester_kurzbz)[/(filter)[/(otherfilter)]]] -$route['api/frontend/v1/stv/[sS]tudents/(:num)/prestudent'] = 'api/frontend/v1/stv/Students/getPrestudents/$1'; -$route['api/frontend/v1/stv/[sS]tudents/(:num)/prestudent/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2'; -$route['api/frontend/v1/stv/[sS]tudents/(:num)/prestudent/([WS]S[0-9]{4})/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2/$3'; -$route['api/frontend/v1/stv/[sS]tudents/(:num)/prestudent/([WS]S[0-9]{4})/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2/$4'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent'] = 'api/frontend/v1/stv/Students/getPrestudents/$1'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent/([WS]S[0-9]{4})/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2/$3'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent/([WS]S[0-9]{4})/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2/$4'; // (studiengang_kz)/(orgform)/prestudent[/(studiensemester_kurzbz)[/(filter)[/(otherfilter)]]] -$route['api/frontend/v1/stv/[sS]tudents/(:num)/([A-Z]{2,3})/prestudent'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2'; -$route['api/frontend/v1/stv/[sS]tudents/(:num)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3'; -$route['api/frontend/v1/stv/[sS]tudents/(:num)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3/$4'; -$route['api/frontend/v1/stv/[sS]tudents/(:num)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3/$5'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3/$4'; +$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3/$5'; // (studiensemester_kurzbz)/(studiengang_kz)/(semester)/grp/(gruppe) $route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/(:num)/grp/(:any)'] = 'api/frontend/v1/stv/Students/getStudentsSpezialgruppe/$1/$2/$3/$4'; @@ -111,23 +111,26 @@ $route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/prestudent/(:num)'] = 'a // // (studiensemester_kurzbz)/person/(person_id) $route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/person/(:num)'] = 'api/frontend/v1/stv/Students/getPerson/$1/$2'; -// load routes from extensions -$subdir = 'application/config/extensions'; -$dirlist = scandir($subdir); +// load routes from extensions, also look for environment-specific configs +$subdirs = ['application/config/extensions', 'application/config/' . ENVIRONMENT . '/extensions']; -if ($dirlist) +foreach($subdirs as $subdir) { - $files = array_diff($dirlist, array('.','..')); - - foreach ($files as &$item) + $dirlist = scandir($subdir); + if ($dirlist) { - if (is_dir($subdir . DIRECTORY_SEPARATOR . $item)) - { - $routes_file = $subdir . DIRECTORY_SEPARATOR . $item . DIRECTORY_SEPARATOR . 'routes.php'; + $files = array_diff($dirlist, array('.','..')); - if (file_exists($routes_file)) + foreach ($files as &$item) + { + if (is_dir($subdir . DIRECTORY_SEPARATOR . $item)) { - require($routes_file); + $routes_file = $subdir . DIRECTORY_SEPARATOR . $item . DIRECTORY_SEPARATOR . 'routes.php'; + + if (file_exists($routes_file)) + { + require($routes_file); + } } } } diff --git a/application/controllers/api/frontend/v1/messages/Messages.php b/application/controllers/api/frontend/v1/messages/Messages.php index dbc11735a..fa6748f6a 100644 --- a/application/controllers/api/frontend/v1/messages/Messages.php +++ b/application/controllers/api/frontend/v1/messages/Messages.php @@ -418,6 +418,10 @@ class Messages extends FHCAPI_Controller } $data = $this->getDataOrTerminateWithError($result); + if (count($data) < 1) + { + $this->terminateWithError('Error: Messages API no person_id found.'); + } $person = current($data); return $person->person_id; @@ -432,8 +436,12 @@ class Messages extends FHCAPI_Controller ); $data = $this->getDataOrTerminateWithError($result); + if (count($data) < 1) + { + $this->terminateWithError('Error: Messages API no prestudent_id found.'); + } $student = current($data); - // $this->terminateWithError($student->prestudent_id, self::ERROR_TYPE_GENERAL); + return $student->prestudent_id; } diff --git a/application/controllers/api/frontend/v1/stv/Student.php b/application/controllers/api/frontend/v1/stv/Student.php index 21b07b755..4309e88a4 100644 --- a/application/controllers/api/frontend/v1/stv/Student.php +++ b/application/controllers/api/frontend/v1/stv/Student.php @@ -694,7 +694,7 @@ class Student extends FHCAPI_Controller return $result; }*/ - $this->terminateWithSuccess(true); + return success(true); } public function requiredIfNotPersonId($value) @@ -710,4 +710,9 @@ class Student extends FHCAPI_Controller return true; return !!$value; } + + public function isValidDate($value) + { + return isValidDate($value); + } } diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 57aca0876..1fc49c72f 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -1275,7 +1275,6 @@ class InfoCenter extends Auth_Controller 'nachname' => $this->input->post('nachname'), 'titelpost' => isEmptyString($this->input->post('titelpost')) ? null : $this->input->post('titelpost'), 'gebdatum' => isEmptyString($this->input->post('gebdatum')) ? null : date("Y-m-d", strtotime($this->input->post('gebdatum'))), - 'svnr' => isEmptyString($this->input->post('svnr')) ? null : $this->input->post('svnr'), 'staatsbuergerschaft' => isEmptyString($this->input->post('buergerschaft')) ? null : $this->input->post('buergerschaft'), 'geschlecht' => $this->input->post('geschlecht'), 'geburtsnation' => isEmptyString($this->input->post('gebnation')) ? null : $this->input->post('gebnation'), @@ -1816,7 +1815,7 @@ class InfoCenter extends Auth_Controller } /** - * Loads all necessary Person data: Stammdaten (name, svnr, contact, ...), Dokumente, Logs and Notizen + * Loads all necessary Person data: Stammdaten (name, contact, ...), Dokumente, Logs and Notizen * @param $person_id * @return array */ diff --git a/application/libraries/PhrasesLib.php b/application/libraries/PhrasesLib.php index ecd8094d6..647bf7074 100644 --- a/application/libraries/PhrasesLib.php +++ b/application/libraries/PhrasesLib.php @@ -122,6 +122,7 @@ class PhrasesLib $tmpText = substr($tmpText, 0, strlen($tmpText) - 4); } } + $tmpText = str_replace(['', ''], '', $tmpText); $result->retval[$i]->text = $tmpText; } diff --git a/application/views/system/infocenter/stammdaten.php b/application/views/system/infocenter/stammdaten.php index f143c9c03..f852e9ace 100644 --- a/application/views/system/infocenter/stammdaten.php +++ b/application/views/system/infocenter/stammdaten.php @@ -32,12 +32,6 @@
gebdatum), 'd.m.Y') ?>
- - p->t('person','svnr')) ?> - -
svnr ?>
- - p->t('person','staatsbuergerschaft')) ?> diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php index ffd179401..1b6546d41 100644 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -285,15 +285,16 @@ function showHideBezeichnungDropDown() if (dd.options[dd.selectedIndex].value == 'DienstV') { var str = ''; sp.innerHTML = str; diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index d2030f493..d8cb1fc56 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -3553,6 +3553,15 @@ function StudentZeugnisDokumentArchivieren() xml = 'abschlussdokument_lehrgaenge.xml.php'; break; + case 'microcredentialzertifikat_1': + case 'microcredentialzertifikat_2': + case 'microcredentialzertifikat_3': + case 'microcredential_1': + case 'microcredential_2': + case 'microcredential_3': + xml = 'microcredential.xml.php'; + break; + default: alert('Das Archivieren fuer diesen Dokumenttyp wird derzeit nicht unterstuetzt'); return @@ -4783,7 +4792,7 @@ function StudentNotenMoveFromAntrag() var uid = document.getElementById('student-detail-textbox-uid').value; req.add('student_uid', uid); - + var txt = "?"; for(var q in req.parms) { txt = txt+'&'+req.parms[q].name+'='+encodeURIComponent(req.parms[q].value); diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 73a347dc3..29ba54724 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -244,10 +244,10 @@ function checkZeilenUmbruch() if(defined('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN && $angemeldet && (!defined('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_STG') || in_array($lv->studiengang_kz, unserialize(CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_STG))) && (!defined('CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_LVA') || in_array($lv->lehrveranstaltung_id, unserialize(CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN_LVA))) - && ($rechte->isBerechtigt('extension/anw_ent_admin') - || $rechte->isBerechtigt('extension/anwesenheit_lektor') - || $rechte->isBerechtigt('extension/anwesenheit_student') - || $rechte->isBerechtigt('extension/anwesenheit_admin'))) + && ($rechte->isBerechtigt('extension/anw_r_ent_assistenz') + || $rechte->isBerechtigt('extension/anw_r_lektor') + || $rechte->isBerechtigt('extension/anw_r_student') + || $rechte->isBerechtigt('extension/anw_r_full_assistenz'))) { $link=''; $text=''; diff --git a/public/js/components/Bootstrap/Modal.js b/public/js/components/Bootstrap/Modal.js index af81e469f..a84d9d8d7 100644 --- a/public/js/components/Bootstrap/Modal.js +++ b/public/js/components/Bootstrap/Modal.js @@ -3,7 +3,8 @@ export default { name: 'BootstrapModal', data: () => ({ - modal: null + modal: null, + fullscreen: false }), props: { backdrop: { @@ -34,6 +35,10 @@ export default { footerClass: { type: [String,Array,Object], default: '' + }, + allowFullscreenExpand: { + type: Boolean, + default: false } }, emits: [ @@ -58,6 +63,9 @@ export default { }, toggle() { return this.modal.toggle(); + }, + toggleFullscreen() { + this.fullscreen = !this.fullscreen } }, mounted() { @@ -122,13 +130,18 @@ export default { }); }); }, - template: `