From 04174d35f5d0c628f68f98be9cb76e30153470c2 Mon Sep 17 00:00:00 2001 From: Cris Date: Tue, 5 Jan 2021 12:19:27 +0100 Subject: [PATCH] Added Anrechnungsdata (student, lv and lectors of lv) Signed-off-by: cris-technikum --- .../lehre/anrechnung/RequestAnrechnung.php | 15 ++++- application/libraries/AnrechnungLib.php | 65 +++++++++++++++++++ application/models/person/Person_model.php | 2 +- .../lehre/anrechnung/requestAnrechnung.php | 54 ++++++++++----- 4 files changed, 115 insertions(+), 21 deletions(-) create mode 100644 application/libraries/AnrechnungLib.php diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 368a463df..b79c2797b 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -20,6 +20,7 @@ class requestAnrechnung extends Auth_Controller // Load libraries $this->load->library('WidgetLib'); $this->load->library('PermissionLib'); + $this->load->library('AnrechnungLib'); // Load helpers $this->load->helper('form'); @@ -31,7 +32,9 @@ class requestAnrechnung extends Auth_Controller array( 'global', 'ui', - 'anrechnung' + 'anrechnung', + 'person', + 'lehre' ) ); @@ -42,8 +45,14 @@ class requestAnrechnung extends Auth_Controller public function index() { - $this->load->view('lehre/anrechnung/requestAnrechnung.php'); - + $studiensemester_kurzbz = $this->input->get('studiensemester'); + $lv_id = $this->input->get('lv_id'); + + $viewData = array( + 'anrechnungData' => $this->anrechnunglib->getAnrechnungData($this->_uid, $studiensemester_kurzbz, $lv_id) + ); + + $this->load->view('lehre/anrechnung/requestAnrechnung.php', $viewData); } public function uploadFile($filename = null) diff --git a/application/libraries/AnrechnungLib.php b/application/libraries/AnrechnungLib.php new file mode 100644 index 000000000..472a2c0e1 --- /dev/null +++ b/application/libraries/AnrechnungLib.php @@ -0,0 +1,65 @@ +ci =& get_instance(); + + $this->ci->load->model('person/Person_model', 'PersonModel'); + $this->ci->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); + $this->ci->load->model('organisation/Studiengang_model', 'StudiengangModel'); + } + + /** + * Get Anrechnung data + * @param $uid + * @param $studiensemester_kurzbz + * @param $lv_id + * @return StdClass + */ + public function getAnrechnungData($uid, $studiensemester_kurzbz, $lv_id) + { + $anrechnung_data = new StdClass(); + + // Get lehrveranstaltung data. Break, if course is not assigned to student. + if(!$lv = getData($this->ci->LehrveranstaltungModel->getLvByStudent($uid, $studiensemester_kurzbz, $lv_id))[0]) + { + show_error('You are not assigned to this course yet.'); + } + + // Get the students personal data + if (!$person = getData($this->ci->PersonModel->getByUid($uid))[0]) + { + show_error('Failed loading person data.'); + } + + // Get studiengang bezeichnung + if (!$studiengang = getData($this->ci->StudiengangModel->load($lv->studiengang_kz))[0]) + { + show_error('Failed loading studiengang data.'); + } + + // Get lectors of lehrveranstaltung + $anrechnung_data->lektoren = array(); + if (!$lv_lektoren = getData($this->ci->LehrveranstaltungModel->getLecturersByLv($studiensemester_kurzbz, $lv_id))) + { + show_error('Failed loading course lectors.'); + } + + // Set the given studiensemester + $anrechnung_data->lv_bezeichnung = $lv->bezeichnung; + $anrechnung_data->ects = $lv->ects; + $anrechnung_data->studiensemester_kurzbz = $studiensemester_kurzbz; + $anrechnung_data->vorname = $person->vorname; + $anrechnung_data->nachname = $person->nachname; + $anrechnung_data->bpk = $person->bpk; + $anrechnung_data->stg_bezeichnung = $studiengang->bezeichnung; + $anrechnung_data->lektoren = $lv_lektoren; + + return $anrechnung_data; + } + +} \ No newline at end of file diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index d8ddb381c..bf85efe33 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -191,7 +191,7 @@ class Person_model extends DB_Model */ public function getByUid($uid) { - $this->addSelect('vorname, nachname, gebdatum, person_id'); + $this->addSelect('vorname, nachname, gebdatum, person_id, bpk'); $this->addJoin('tbl_benutzer', 'person_id'); return $this->loadWhere(array('uid' => $uid)); diff --git a/application/views/lehre/anrechnung/requestAnrechnung.php b/application/views/lehre/anrechnung/requestAnrechnung.php index 9b648e0dd..87ae62b0f 100644 --- a/application/views/lehre/anrechnung/requestAnrechnung.php +++ b/application/views/lehre/anrechnung/requestAnrechnung.php @@ -2,7 +2,7 @@ $this->load->view( 'templates/FHC-Header', array( - 'title' => $this->p->t('ui', 'antragStellen'), + 'title' => $this->p->t('anrechnung', 'antragStellen'), 'jquery' => true, 'bootstrap' => true, 'fontawesome' => true, @@ -15,7 +15,19 @@ $this->load->view( ), 'ui' => array( 'hilfeZuDieserSeite', - ) + 'hochladen' + ), + 'person' => array( + 'student', + 'personenkennzeichen' + ), + 'lehre' => array( + 'studiensemester', + 'studiengang', + 'lehrveranstaltung', + 'ects', + 'lektor', + ) ), 'customJSs' => array( 'public/js/bootstrapper.js', @@ -51,36 +63,43 @@ $this->load->view(
p->t('anrechnung', 'antragsdaten'); ?> + Status: p->t('anrechnung', 'neu'); ?>
- - + + - - + + - - + + - - + + - - + + - - + + - - + +
StudentInCristina Hainbergerp->t('person', 'student'); ?>vorname. ' '. $anrechnungData->nachname; ?>
StudentInCristina Hainbergerp->t('person', 'personenkennzeichen'); ?>bpk ?>
StudentInCristina Hainbergerp->t('lehre', 'studiensemester'); ?>studiensemester_kurzbz ?>
StudentInCristina Hainbergerp->t('lehre', 'studiengang'); ?>stg_bezeichnung ?>
StudentInCristina Hainbergerp->t('lehre', 'lehrveranstaltung'); ?>lv_bezeichnung ?>
StudentInCristina Hainbergerp->t('lehre', 'ects'); ?>ects ?>
StudentInCristina Hainbergerp->t('lehre', 'lektor'); ?> + lektoren) - 1 ?> + lektoren as $key => $lektor): ?> + vorname. ' '. $lektor->nachname; + echo $key === $len ? '' : ', ' ?> + +
@@ -112,7 +131,8 @@ $this->load->view(
  • bla.pdf -
  • + +