diff --git a/application/config/anrechnung.php b/application/config/anrechnung.php index d1f4f0958..c2e38385c 100644 --- a/application/config/anrechnung.php +++ b/application/config/anrechnung.php @@ -7,8 +7,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); $config['interval_blocking_application'] = 'P1M'; // Application submission period given by start- and enddate. -$config['submit_application_start'] = '01.02.2021'; -$config['submit_application_end'] = '22.02.2021'; +$config['submit_application_start'] = '05.09.2022'; +$config['submit_application_end'] = '22.09.2022'; // Lehrveranstaltungen with these grades will be blocked for application $config['grades_blocking_application'] = array( diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 964dae246..fbaac9b3e 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -41,7 +41,7 @@ class requestAnrechnung extends Auth_Controller // Load configs $this->load->config('anrechnung'); - + // Load language phrases $this->loadPhrases( array( @@ -52,59 +52,59 @@ class requestAnrechnung extends Auth_Controller 'lehre' ) ); - + $this->_setAuthUID(); - + $this->setControllerId(); } - + public function index() { $studiensemester_kurzbz = $this->input->get('studiensemester'); $lehrveranstaltung_id = $this->input->get('lv_id'); - + if (isEmptyString($lehrveranstaltung_id) || isEmptyString($studiensemester_kurzbz)) { show_error('Missing correct parameter'); } - + // Exit if user is not a student $result = $this->StudentModel->load(array('student_uid' => $this->_uid)); - + if (!hasData($result)) { show_error('Cant load user'); } - + // Get Prestudent ID $prestudent_id = getData($result)[0]->prestudent_id; - + // Check if application deadline is expired $is_expired = self::_isExpired( $this->config->item('submit_application_start'), $this->config->item('submit_application_end'), $studiensemester_kurzbz ); - + // Check if Lehrveranstaltung was already graded with application blocking grades $is_blocked = self::_LVhasBlockingGrades($studiensemester_kurzbz, $lehrveranstaltung_id); - + // Get Anrechung data $anrechnungData = $this->anrechnunglib->getAnrechnungDataByLv($lehrveranstaltung_id, $studiensemester_kurzbz, $prestudent_id); // Get Antrag data $antragData = $this->anrechnunglib->getAntragData($prestudent_id, $studiensemester_kurzbz, $lehrveranstaltung_id); - + $viewData = array( 'antragData' => $antragData, 'anrechnungData' => $anrechnungData, 'is_expired' => $is_expired, 'is_blocked' => $is_blocked ); - + $this->load->view('lehre/anrechnung/requestAnrechnung.php', $viewData); } - + /** * Apply Anrechnungsantrag and send to STGL */ @@ -129,35 +129,35 @@ class requestAnrechnung extends Auth_Controller { return $this->outputJsonError($this->p->t('ui', 'errorFelderFehlen')); } - + if (isEmptyString($bestaetigung)) { return $this->outputJsonError($this->p->t('ui', 'errorBestaetigungFehlt')); } - + // Exit if user is not a student $result = $this->StudentModel->load(array('student_uid' => $this->_uid)); - + if (!hasData($result)) { return $this->outputJsonError('Cant load user'); } - + // Get Prestudent ID $prestudent_id = getData($result)[0]->prestudent_id; - + // Exit if application already exists if (self::_applicationExists($lehrveranstaltung_id, $studiensemester_kurzbz, $prestudent_id)) { return $this->outputJsonError($this->p->t('anrechnung', 'antragBereitsGestellt')); } - + // Exit if application is not for actual studysemester if (!self::_applicationIsForActualSS($studiensemester_kurzbz)) { return $this->outputJsonError($this->p->t('anrechnung', 'antragNurImAktSS')); } - + // Upload document $result = self::_uploadFile(); @@ -165,10 +165,10 @@ class requestAnrechnung extends Auth_Controller { return $this->outputJsonError($result->retval); } - + // Hold just inserted DMS ID $lastInsert_dms_id = $result->retval['dms_id']; - + // Save Anrechnung and Anrechnungstatus $result = $this->AnrechnungModel->createAnrechnungsantrag( $prestudent_id, @@ -178,12 +178,12 @@ class requestAnrechnung extends Auth_Controller $lastInsert_dms_id, $anmerkung ); - + if (isError($result)) { $this->terminateWithJsonError(getError($result)); } - + // Output to AJAX $this->outputJsonSuccess(array( 'antragdatum' => (new DateTime())->format('d.m.Y'), diff --git a/public/js/lehre/anrechnung/requestAnrechnung.js b/public/js/lehre/anrechnung/requestAnrechnung.js index dd93394d4..5edb4e162 100644 --- a/public/js/lehre/anrechnung/requestAnrechnung.js +++ b/public/js/lehre/anrechnung/requestAnrechnung.js @@ -7,49 +7,6 @@ const COLOR_DANGER = '#f2dede'; $(function(){ const uploadMaxFilesize = $('#requestAnrechnung-uploadfile').data('maxsize') ; // in byte - let status_kurzbz = $('#requestAnrechnung-status_kurzbz').data('status_kurzbz'); - if (status_kurzbz != ' ' && status_kurzbz != ANRECHNUNGSTATUS_APPROVED) - { - var ectsLv = parseFloat($('#ects').text()); - var sumEctsSchulisch = parseFloat($('#sumEctsSchulisch').text()); - var sumEctsBeruflich = parseFloat($('#sumEctsBeruflich').text()); - var begruendung_id = $('#requestAnrechnung-form :input[name="begruendung"]:checked').val(); - - // If Begründung is 'Hochschulzeugnis', return. They are accepted without limit. - if (begruendung_id == 5) - { - exit; - } - - // If max ECTS is ecceeded - if (begruendung_id == 4) - { - if ((sumEctsSchulisch + sumEctsBeruflich + ectsLv) > 90 || - (sumEctsBeruflich + ectsLv) > 60 - ) - { - // Get ECTS Überschreitungs-message, depending on schulische or berufliche Qualifikation - var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich); - - // Add to Checkbox text - $('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('label').append(msgBeiEctsUeberschreitung); - } - } - else - { - if ((sumEctsSchulisch + sumEctsBeruflich + ectsLv) > 90 || - (sumEctsSchulisch + ectsLv) > 60 - ) - { - // Get ECTS Überschreitungs-message, depending on schulische or berufliche Qualifikation - var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich); - - // Add to Checkbox text - $('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('label').append(msgBeiEctsUeberschreitung); - } - } - } - // Set status alert color requestAnrechnung.setStatusAlertColor(); @@ -62,9 +19,12 @@ $(function(){ // Init tooltips requestAnrechnung.initTooltips(); - // // Alert message, if maximum ECTS exceeded + // Alert message, if maximum ECTS exceeded requestAnrechnung.alertIfMaxEctsExceeded(); + // Alert message inside Begruendungsbox, if maximum ECTS exceeded + requestAnrechnung.alertIfMaxEctsExceededInsideBegruendungsbox(); + // Set chars counter for textarea 'Herkunft der Kenntnisse' requestAnrechnung.setCharsCounter(); @@ -318,6 +278,51 @@ var requestAnrechnung = { }); } }, + alertIfMaxEctsExceededInsideBegruendungsbox: function(){ + let status_kurzbz = $('#requestAnrechnung-status_kurzbz').data('status_kurzbz'); + + if (status_kurzbz != ' ' && status_kurzbz != ANRECHNUNGSTATUS_APPROVED) + { + var ectsLv = parseFloat($('#ects').text()); + var sumEctsSchulisch = parseFloat($('#sumEctsSchulisch').text()); + var sumEctsBeruflich = parseFloat($('#sumEctsBeruflich').text()); + var begruendung_id = $('#requestAnrechnung-form :input[name="begruendung"]:checked').val(); + + // If Begründung is 'Hochschulzeugnis', return. They are accepted without limit. + if (begruendung_id == 5) + { + return; + } + + // If max ECTS is ecceeded + if (begruendung_id == 4) + { + if ((sumEctsSchulisch + sumEctsBeruflich + ectsLv) > 90 || + (sumEctsBeruflich + ectsLv) > 60 + ) + { + // Get ECTS Überschreitungs-message, depending on schulische or berufliche Qualifikation + var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich); + + // Add to Checkbox text + $('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('label').append(msgBeiEctsUeberschreitung); + } + } + else + { + if ((sumEctsSchulisch + sumEctsBeruflich + ectsLv) > 90 || + (sumEctsSchulisch + ectsLv) > 60 + ) + { + // Get ECTS Überschreitungs-message, depending on schulische or berufliche Qualifikation + var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich); + + // Add to Checkbox text + $('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('label').append(msgBeiEctsUeberschreitung); + } + } + } + }, getMsgBeiEctsUeberschreitung: function(begruendung_id, ects, sumEctsSchulisch, sumEctsBeruflich){ return $('')