mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-04 20:39:28 +00:00
Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' into feature-19473/VUE_Filter_Navigation_Widgets
This commit is contained in:
@@ -16,6 +16,7 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
class AnrechnungJob extends JOB_Controller
|
||||
{
|
||||
const APPROVE_ANRECHNUNG_URI = '/lehre/anrechnung/ApproveAnrechnungUebersicht';
|
||||
const REVIEW_ANRECHNUNG_URI = '/lehre/anrechnung/ReviewAnrechnungUebersicht';
|
||||
|
||||
const ANRECHNUNGSTATUS_APPROVED = 'approved';
|
||||
const ANRECHNUNGSTATUS_REJECTED = 'rejected';
|
||||
@@ -33,6 +34,8 @@ class AnrechnungJob extends JOB_Controller
|
||||
|
||||
$this->load->helper('url');
|
||||
$this->load->helper('hlp_sancho_helper');
|
||||
|
||||
$this->load->library('AnrechnungLib');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -342,6 +345,79 @@ html;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Send Sancho mail to remind lecturers to provide their recommendation if not done until one week after request.
|
||||
*/
|
||||
public function sendMailRemindRecommendation(){
|
||||
|
||||
$this->logInfo('Start AnrechnungJob sendMailRemindRecommendation to remind lecturers to provide their recommendation.');
|
||||
|
||||
// Get Anrechnungen with pending recommendations, that were requested 1 week before today.
|
||||
// Restrict query for Anrechnungen of actual semester.
|
||||
$this->AnrechnungModel->addSelect('astat.anrechnung_id, astat.datum, astat.insertamum');
|
||||
$this->AnrechnungModel->addDistinct('astat.anrechnung_id');
|
||||
$this->AnrechnungModel->addJoin('lehre.tbl_anrechnung_anrechnungstatus astat', 'anrechnung_id');
|
||||
|
||||
$result = $this->AnrechnungModel->loadWhere('
|
||||
studiensemester_kurzbz = (
|
||||
SELECT studiensemester_kurzbz FROM tbl_studiensemester WHERE now()::date BETWEEN start AND (ende + interval \'1 month\')
|
||||
)
|
||||
AND genehmigt_von IS NULL
|
||||
AND empfehlung_anrechnung IS NULL
|
||||
AND status_kurzbz = \'inProgressLektor\' -- in Bearbeitung durch Lektor
|
||||
AND NOW()::date = (astat.datum + interval \'1 week\') -- eine Woche nach Empfehlungsanfrage
|
||||
ORDER BY astat.anrechnung_id, astat.datum DESC, astat.insertamum DESC -- nur letzten status dabei prüfen
|
||||
');
|
||||
|
||||
// Exit if there are pending recommendations
|
||||
if (!hasData($result))
|
||||
{
|
||||
$this->logInfo('End AnrechnungJob sendMailRemindRecommendation, because no recommendations to be done.');
|
||||
exit;
|
||||
}
|
||||
|
||||
$anrechnung_id_arr = array_column(getData($result), 'anrechnung_id');
|
||||
|
||||
$arr_lvLector_arr = array();
|
||||
foreach ($anrechnung_id_arr as $anrechnung_id)
|
||||
{
|
||||
$arr_lvLector_arr[]= $this->anrechnunglib->getLectors($anrechnung_id); // Returns LV Leitung. If not present, then all lectors of LV.
|
||||
}
|
||||
|
||||
// Unique lector array to send only one mail per lector
|
||||
$arr_lvLector_arr = array_unique($arr_lvLector_arr, SORT_REGULAR);
|
||||
|
||||
// Link to 'Anrechnungen prüfen' dashboard
|
||||
$url =
|
||||
CIS_ROOT. 'cis/index.php?menu='.
|
||||
CIS_ROOT. 'cis/menu.php?content_id=&content='.
|
||||
CIS_ROOT. index_page(). self::REVIEW_ANRECHNUNG_URI;
|
||||
|
||||
foreach ($arr_lvLector_arr as $lvLector_arr)
|
||||
{
|
||||
foreach ($lvLector_arr as $lector)
|
||||
{
|
||||
// Prepare mail content
|
||||
$fields = array(
|
||||
'vorname' => $lector->vorname,
|
||||
'stgl_name' => 'Die Studiengangsleitung',
|
||||
'link' => anchor($url, 'Anrechnungsanträge Übersicht')
|
||||
);
|
||||
|
||||
// Send mail
|
||||
sendSanchoMail(
|
||||
'AnrechnungEmpfehlungAnfordern',
|
||||
$fields,
|
||||
$lector->uid. '@'. DOMAIN,
|
||||
'Erinnerung: Deine Empfehlung wird benötigt zur Anerkennung nachgewiesener Kenntnisse'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$this->logInfo('SUCCEDED AnrechnungJob sendMailRemindRecommendation');
|
||||
|
||||
}
|
||||
|
||||
// Get STGL mail address
|
||||
private function _getSTGLMailAddress($studiengang_kz)
|
||||
{
|
||||
|
||||
@@ -108,21 +108,29 @@ class approveAnrechnungUebersicht extends Auth_Controller
|
||||
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
|
||||
}
|
||||
|
||||
$json = array(
|
||||
'status_kurzbz' => self::ANRECHNUNGSTATUS_APPROVED,
|
||||
'status_bezeichnung' => $this->anrechnunglib->getStatusbezeichnung(self::ANRECHNUNGSTATUS_APPROVED),
|
||||
'prestudenten' => []
|
||||
);
|
||||
|
||||
// Approve Anrechnung
|
||||
foreach ($data as $item)
|
||||
{
|
||||
if ($this->anrechnunglib->approveAnrechnung($item['anrechnung_id']))
|
||||
// Get Prestudent
|
||||
$this->AnrechnungModel->addSelect('prestudent_id');
|
||||
$result = $this->AnrechnungModel->load($item['anrechnung_id']);
|
||||
$prestudent_id = getData($result)[0]->prestudent_id;
|
||||
|
||||
// Approve
|
||||
if ($this->anrechnunglib->approveAnrechnung($item['anrechnung_id']))
|
||||
{
|
||||
$json[]= array(
|
||||
'anrechnung_id' => $item['anrechnung_id'],
|
||||
'status_kurzbz' => self::ANRECHNUNGSTATUS_APPROVED,
|
||||
'status_bezeichnung' => $this->anrechnunglib->getStatusbezeichnung(self::ANRECHNUNGSTATUS_APPROVED)
|
||||
);
|
||||
$json['prestudenten'][$prestudent_id][] = $item['anrechnung_id'];
|
||||
}
|
||||
}
|
||||
|
||||
// Output json to ajax
|
||||
if (isset($json) && !isEmptyArray($json))
|
||||
if (isset($json) && !isEmptyArray($json['prestudenten']))
|
||||
{
|
||||
return $this->outputJsonSuccess($json);
|
||||
}
|
||||
|
||||
@@ -80,14 +80,24 @@ class AnrechnungLib
|
||||
// Get latest ZGV
|
||||
$result = $this->ci->PrestudentModel->getLatestZGVBezeichnung($prestudent_id);
|
||||
$latest_zgv_bezeichnung = hasData($result) ? getData($result)[0]->bezeichnung : '';
|
||||
|
||||
|
||||
// Get Sum of berufliche and schulische ECTS
|
||||
$result = $this->ci->LehrveranstaltungModel->getEctsSumSchulisch($uid, $prestudent_id, $lv->studiengang_kz);
|
||||
$sumEctsSchulisch = getData($result)[0]->ectssumschulisch;
|
||||
|
||||
$result = $this->ci->LehrveranstaltungModel->getEctsSumBeruflich($uid);
|
||||
$sumEctsBeruflich = getData($result)[0]->ectssumberuflich;
|
||||
|
||||
// Set the given studiensemester
|
||||
$antrag_data->lv_id = $lv_id;
|
||||
$antrag_data->lv_bezeichnung = $lv->bezeichnung;
|
||||
$antrag_data->ects = $lv->ects;
|
||||
$antrag_data->sumEctsSchulisch = $sumEctsSchulisch;
|
||||
$antrag_data->sumEctsBeruflich = $sumEctsBeruflich;
|
||||
$antrag_data->studiensemester_kurzbz = $studiensemester_kurzbz;
|
||||
$antrag_data->vorname = $person->vorname;
|
||||
$antrag_data->nachname = $person->nachname;
|
||||
$antrag_data->student_uid = $uid;
|
||||
$antrag_data->matrikelnr = $student->matrikelnr;
|
||||
$antrag_data->studiengang_kz = $studiengang->studiengang_kz;
|
||||
$antrag_data->stg_bezeichnung = $studiengang->bezeichnung;
|
||||
@@ -112,6 +122,7 @@ class AnrechnungLib
|
||||
|
||||
$anrechnung_data = new StdClass();
|
||||
|
||||
$this->ci->AnrechnungModel->addJoin('lehre.tbl_anrechnung_begruendung', 'begruendung_id');
|
||||
$result = $this->ci->AnrechnungModel->load($anrechnung_id);
|
||||
|
||||
if (isError($result))
|
||||
@@ -145,6 +156,7 @@ class AnrechnungLib
|
||||
$anrechnung_data->prestudent_id = '';
|
||||
$anrechnung_data->lehrveranstaltung = '';
|
||||
$anrechnung_data->begruendung_id = '';
|
||||
$anrechnung_data->begruendung = '';
|
||||
$anrechnung_data->anmerkung = '';
|
||||
$anrechnung_data->dms_id = '';
|
||||
$anrechnung_data->insertamum = '';
|
||||
@@ -155,6 +167,7 @@ class AnrechnungLib
|
||||
$anrechnung_data->status = getUserLanguage() == 'German' ? 'neu' : 'new';
|
||||
$anrechnung_data->dokumentname = '';
|
||||
|
||||
$this->ci->AnrechnungModel->addJoin('lehre.tbl_anrechnung_begruendung', 'begruendung_id');
|
||||
$result = $this->ci->AnrechnungModel->loadWhere(
|
||||
array(
|
||||
'lehrveranstaltung_id' => $lehrveranstaltung_id,
|
||||
@@ -800,6 +813,7 @@ class AnrechnungLib
|
||||
$anrechnung_data->prestudent_id = $anrechnung->prestudent_id;
|
||||
$anrechnung_data->lehrveranstaltung_id = $anrechnung->lehrveranstaltung_id;
|
||||
$anrechnung_data->begruendung_id = $anrechnung->begruendung_id;
|
||||
$anrechnung_data->begruendung = $anrechnung->bezeichnung;
|
||||
$anrechnung_data->anmerkung = $anrechnung->anmerkung_student;
|
||||
$anrechnung_data->dms_id = $anrechnung->dms_id;
|
||||
$anrechnung_data->insertamum = (new DateTime($anrechnung->insertamum))->format('d.m.Y');
|
||||
@@ -823,4 +837,110 @@ class AnrechnungLib
|
||||
|
||||
return $anrechnung_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* If Student is a Quereinsteiger, get ECTS Summe of all angerechnete Studiensemester.
|
||||
*
|
||||
* @param $prestudent_id
|
||||
* @param $studiengang_kz Studiengang_kz der LV
|
||||
* @return int|mixed
|
||||
*/
|
||||
public function getQuereinsteigerEctsSumme($prestudent_id, $studiengang_kz)
|
||||
{
|
||||
$sumEctsQuereinsteiger = 0;
|
||||
|
||||
// Check, if student is Quereinsteiger
|
||||
$this->ci->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||
$result = $this->ci->PrestudentstatusModel->getFirstStatus($prestudent_id, 'Student');
|
||||
|
||||
$prestudentFirstStudentStatus = getData($result)[0];
|
||||
|
||||
// If Prestudent is not a Quereinsteiger
|
||||
if ($prestudentFirstStudentStatus->ausbildungssemester == 1)
|
||||
{
|
||||
return $sumEctsQuereinsteiger; // return 0
|
||||
}
|
||||
|
||||
$anzahlAngerechneteStudiensemester = $prestudentFirstStudentStatus->ausbildungssemester - 1;
|
||||
|
||||
// If Prestudent is a Quereinsteiger
|
||||
if ($prestudentFirstStudentStatus->ausbildungssemester > 1)
|
||||
{
|
||||
// Get the 'angerechnete Studiensemester'
|
||||
$this->ci->load->model('organisations/Studiensemester_model', 'StudiensemesterModel');
|
||||
$result = $this->ci->StudiensemesterModel->getPreviousFrom(
|
||||
$prestudentFirstStudentStatus->studiensemester_kurzbz,
|
||||
$anzahlAngerechneteStudiensemester
|
||||
);
|
||||
|
||||
// Get ECTS Summe of each 'angerechnetes Studiensemester'
|
||||
foreach (getData($result) as $studiensemester)
|
||||
{
|
||||
$result = $this->ci->LehrveranstaltungModel->getSumQuereinstiegsECTSProSemester(
|
||||
$studiengang_kz,
|
||||
$studiensemester->studiensemester_kurzbz,
|
||||
$anzahlAngerechneteStudiensemester--,
|
||||
$prestudentFirstStudentStatus->orgform_kurzbz
|
||||
);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$sumEctsQuereinsteiger = $sumEctsQuereinsteiger + getData($result)[0]->sum_ects;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $sumEctsQuereinsteiger; // return sum of ects of all 'angerechnete Studiensemester'
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe of all Anrechnungen based on schulische Kenntnisse.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return int|mixed
|
||||
*/
|
||||
public function getSchulischeAnrechnungenEctsSumme($student_uid)
|
||||
{
|
||||
$sumEctsSchule = 0;
|
||||
|
||||
$result = $this->ci->LehrveranstaltungModel->getSumAngerechneteECTSByBegruendung($student_uid);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
foreach (getData($result) as $ects)
|
||||
{
|
||||
if ($ects->begruendung_id != 4)
|
||||
{
|
||||
$sumEctsSchule = $sumEctsSchule + $ects->sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $sumEctsSchule;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe of all Anrechnungen based on berufliche Kenntnisse.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return int
|
||||
*/
|
||||
public function getBeruflicheAnrechnungenEctsSumme($student_uid)
|
||||
{
|
||||
$sumEctsBeruflich = 0;
|
||||
|
||||
$result = $this->ci->LehrveranstaltungModel->getSumAngerechneteECTSByBegruendung($student_uid);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
foreach (getData($result) as $ects)
|
||||
{
|
||||
if ($ects->begruendung_id == 4)
|
||||
{
|
||||
$sumEctsBeruflich = $ects->sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $sumEctsBeruflich;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,24 @@ class Prestudentstatus_model extends DB_Model
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Ersten Status eines Prestudenten mit der übergebenen Statuskurzbezeichnung.
|
||||
*
|
||||
* @param $prestudent_id
|
||||
* @param $status_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getFirstStatus($prestudent_id, $status_kurzbz)
|
||||
{
|
||||
$this->addOrder('datum, insertamum, ext_id');
|
||||
$this->addLimit(1);
|
||||
|
||||
return $this->loadWhere(array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'status_kurzbz' => $status_kurzbz
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* updateStufe
|
||||
*/
|
||||
|
||||
@@ -313,7 +313,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
/**
|
||||
* Sucht nach LV Templates und gibt Id und Label ("bezeichnung [kurzbz]") aus
|
||||
* Diese funktion ist für autocomplete gedacht
|
||||
*
|
||||
*
|
||||
* @param string $filter Suchfilter
|
||||
* @return \stdClass A return object
|
||||
*/
|
||||
@@ -337,7 +337,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
/**
|
||||
* Lädt Template und gibt Id und Label ("bezeichnung [kurzbz]") zurück
|
||||
* Diese funktion ist für autocomplete gedacht
|
||||
*
|
||||
*
|
||||
* @param string $name
|
||||
* @return \stdClass A return object
|
||||
*/
|
||||
@@ -355,4 +355,120 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get ECTS Summe pro angerechnetes Quereinstiegssemester.
|
||||
*
|
||||
* @param $studiengang_kz
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $ausbildungssemester
|
||||
* @param $orgform_kurzbz
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getSumQuereinstiegsECTSProSemester($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
sum(tbl_lehrveranstaltung.ects) as "sum_ects"
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING (studienplan_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_studienplan.studienplan_id = (
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
JOIN lehre.tbl_studienplan USING (studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
|
||||
WHERE tbl_studienordnung.studiengang_kz = ?
|
||||
AND tbl_studienplan_semester.semester = ?
|
||||
AND tbl_studienplan_semester.studiensemester_kurzbz = ?
|
||||
AND tbl_studienplan.orgform_kurzbz = ?
|
||||
|
||||
LIMIT 1
|
||||
)
|
||||
AND tbl_studienplan_lehrveranstaltung.semester = ?
|
||||
AND studienplan_lehrveranstaltung_id_parent IS NULL -- auf Modulebene
|
||||
AND tbl_studienplan_lehrveranstaltung.export = TRUE
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array(
|
||||
$studiengang_kz, $ausbildungssemester, $studiensemester_kurzbz, $orgform_kurzbz, $ausbildungssemester)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe aller bisher angerechneten LVs.
|
||||
* Wenn keine explizite Begruendung angegeben ist, wird eine schulische Begruendung angenommen.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getSumAngerechneteECTSByBegruendung($student_uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT sum(ects), begruendung_id FROM (
|
||||
SELECT
|
||||
lehrveranstaltung_id, studiensemester_kurzbz, ects, COALESCE(begruendung_id, 1) as begruendung_id -- fallback auf externes Zeugnis
|
||||
FROM
|
||||
lehre.tbl_zeugnisnote
|
||||
LEFT JOIN lehre.tbl_anrechnung USING(lehrveranstaltung_id, studiensemester_kurzbz)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN public.tbl_student USING(student_uid)
|
||||
WHERE
|
||||
tbl_zeugnisnote.note = 6
|
||||
AND student_uid = ?
|
||||
AND (lehre.tbl_anrechnung.prestudent_id = tbl_student.prestudent_id
|
||||
OR lehre.tbl_anrechnung.prestudent_id is null)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
lehrveranstaltung_id, studiensemester_kurzbz, ects, begruendung_id -- fallback auf externes Zeugnis
|
||||
FROM
|
||||
lehre.tbl_anrechnung
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN public.tbl_student USING(prestudent_id)
|
||||
WHERE
|
||||
genehmigt_von is not null
|
||||
AND student_uid = ?
|
||||
) lvsangerechnet
|
||||
GROUP BY begruendung_id
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($student_uid, $student_uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe aller bisher schulisch begruendeten angerechneten LVs.
|
||||
* Derzeit wird auch jede Anrechnung, die nicht beruflich ist, als schulisch angenommen.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getEctsSumSchulisch($student_uid, $prestudent_id, $studiengang_kz)
|
||||
{
|
||||
$qry = '
|
||||
SELECT get_ects_summe_schulisch(?, ?, ?) AS ectsSumSchulisch
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($student_uid, $prestudent_id, $studiengang_kz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe aller bisher beruflich angerechneten LVs.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getEctsSumBeruflich($student_uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT get_ects_summe_beruflich(?) AS ectsSumBeruflich
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($student_uid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ class Studiensemester_model extends DB_Model
|
||||
/**
|
||||
* getPreviousFrom
|
||||
*/
|
||||
public function getPreviousFrom($studiensemester_kurzbz)
|
||||
public function getPreviousFrom($studiensemester_kurzbz, $limit = 1)
|
||||
{
|
||||
$query = 'SELECT studiensemester_kurzbz,
|
||||
start,
|
||||
@@ -117,9 +117,9 @@ class Studiensemester_model extends DB_Model
|
||||
WHERE studiensemester_kurzbz = ?
|
||||
)
|
||||
ORDER BY start DESC
|
||||
LIMIT 1';
|
||||
LIMIT ?';
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz));
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -44,7 +44,8 @@ $this->load->view(
|
||||
'empfehlungsanforderungWirklichZuruecknehmen',
|
||||
'erfolgreichZurueckgenommen',
|
||||
'empfehlungPositivConfirmed',
|
||||
'empfehlungNegativConfirmed'
|
||||
'empfehlungNegativConfirmed',
|
||||
'anrechnungEctsTooltipTextBeiUeberschreitung'
|
||||
)
|
||||
),
|
||||
'customCSSs' => array(
|
||||
@@ -124,11 +125,27 @@ $this->load->view(
|
||||
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><?php echo $antragData->ects ?></td>
|
||||
<td colspan="3"><span id="ects"><?php echo $antragData->ects ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4">
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span class="approveAnrechnungDetail-anrechnungEctsTooltip"
|
||||
data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
Total: <span id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[Schulisch: <span id="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>"><?php echo $antragData->sumEctsSchulisch ?></span> /
|
||||
Beruflich: <span id="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>"><?php echo $antragData->sumEctsBeruflich ?></span> ]
|
||||
<span id="sumEctsMsg"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('lehre', 'lektorInnen'); ?></th>
|
||||
<td>
|
||||
<td colspan="3">
|
||||
<?php $len = count($antragData->lektoren) - 1 ?>
|
||||
<?php foreach ($antragData->lektoren as $key => $lektor): ?>
|
||||
<?php echo $lektor->vorname . ' ' . $lektor->nachname;
|
||||
@@ -138,19 +155,23 @@ $this->load->view(
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('global', 'zgv')); ?></th>
|
||||
<td><?php echo $antragData->zgv ?></td>
|
||||
<td colspan="3"><?php echo $antragData->zgv ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></th>
|
||||
<td><?php echo $anrechnungData->anmerkung ?></td>
|
||||
<td colspan="3"><?php echo $anrechnungData->anmerkung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?></th>
|
||||
<td>
|
||||
<td colspan="3">
|
||||
<a href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<td colspan="3"><span id="begruendung_id" data-begruendung_id="<?php echo $anrechnungData->begruendung_id ?>" ><?php echo $anrechnungData->begruendung ?></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -178,8 +199,10 @@ $this->load->view(
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<form id="form-empfehlung">
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="ects" value="<?php echo $antragData->ects ?>">
|
||||
<input type="hidden" name="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -291,38 +314,44 @@ $this->load->view(
|
||||
<div style="display: none" id="approveAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'genehmigungNegativQuestion'); ?></h4>
|
||||
<b> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ul>
|
||||
<li>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertig'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEmpfehlungstextUebernehmen'); ?></span>
|
||||
<span id="empfehlungstextUebernehmen" class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span id="empfehlungstextUebernehmen" class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ul>
|
||||
<br>
|
||||
<textarea class="form-control" name="begruendung"
|
||||
id="approveAnrechnungDetail-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>" required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
|
||||
@@ -134,28 +134,34 @@ $this->load->view(
|
||||
id="approveAnrechnungUebersicht-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'genehmigungenNegativQuestion'); ?></h4>
|
||||
<b><?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ol>
|
||||
<li><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertig'); ?>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ol>
|
||||
<br>
|
||||
<b><?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span><br><br>
|
||||
</span></b>
|
||||
<br><br>
|
||||
<ol class="list-group">
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertig'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
</ol>
|
||||
<textarea class="form-control" name="begruendung" id="approveAnrechnungUebersicht-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>" required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
|
||||
@@ -16,7 +16,7 @@ $query = '
|
||||
anrechnung.dms_id,
|
||||
anrechnung.studiensemester_kurzbz,
|
||||
stg.studiengang_kz,
|
||||
stg.bezeichnung AS "stg_bezeichnung",
|
||||
stg.bezeichnung AS stg_bezeichnung,
|
||||
lv.orgform_kurzbz,
|
||||
(SELECT ausbildungssemester
|
||||
FROM public.tbl_prestudentstatus press
|
||||
@@ -26,8 +26,10 @@ $query = '
|
||||
ORDER BY press.datum DESC
|
||||
LIMIT 1
|
||||
),
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
lv.ects,
|
||||
lv.bezeichnung AS lv_bezeichnung,
|
||||
lv.ects::numeric(4,1),
|
||||
get_ects_summe_schulisch(student.student_uid, anrechnung.prestudent_id, stg.studiengang_kz) AS ectsSumSchulisch,
|
||||
get_ects_summe_beruflich(student.student_uid) AS ectsSumBeruflich,
|
||||
(person.nachname || \' \' || person.vorname) AS "student",
|
||||
begruendung.bezeichnung AS "begruendung",
|
||||
dmsversion.name AS "dokument_bezeichnung",
|
||||
@@ -49,7 +51,9 @@ $query = '
|
||||
WHERE anrechnung_id = anrechnung.anrechnung_id
|
||||
ORDER BY insertamum DESC
|
||||
LIMIT 1
|
||||
) AS status_kurzbz
|
||||
) AS status_kurzbz,
|
||||
student.student_uid,
|
||||
anrechnung.prestudent_id
|
||||
FROM lehre.tbl_anrechnung AS anrechnung
|
||||
JOIN public.tbl_prestudent USING (prestudent_id)
|
||||
JOIN public.tbl_person AS person USING (person_id)
|
||||
@@ -58,44 +62,69 @@ $query = '
|
||||
LEFT JOIN campus.tbl_dms_version AS dmsversion USING (dms_id)
|
||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (anrechnung_id)
|
||||
JOIN lehre.tbl_anrechnung_begruendung AS begruendung USING (begruendung_id)
|
||||
JOIN public.tbl_student student USING (prestudent_id)
|
||||
WHERE anrechnung.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND stg.studiengang_kz IN (' . $STUDIENGAENGE_ENTITLED . ')
|
||||
)
|
||||
|
||||
SELECT anrechnungen.*,
|
||||
array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung",
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT insertamum::date
|
||||
FROM lehre.tbl_anrechnungstatus
|
||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (status_kurzbz)
|
||||
WHERE anrechnung_id = anrechnungen.anrechnung_id
|
||||
AND status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR . '\'
|
||||
ORDER BY insertamum DESC
|
||||
LIMIT 1)
|
||||
END "empfehlungsanfrageAm",
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT COALESCE(
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = TRUE),
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = FALSE)
|
||||
) empfehlungsanfrageAn
|
||||
FROM (
|
||||
SELECT DISTINCT ON (benutzer.uid) uid, vorname, nachname,
|
||||
CASE WHEN lehrfunktion_kurzbz = \'LV-Leitung\' THEN TRUE ELSE FALSE END AS lvleiter
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
|
||||
JOIN public.tbl_benutzer benutzer ON lema.mitarbeiter_uid = benutzer.uid
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND lehrveranstaltung_id = anrechnungen.lehrveranstaltung_id
|
||||
AND lema.mitarbeiter_uid NOT like \'_Dummy%\'
|
||||
AND benutzer.aktiv = TRUE
|
||||
AND tbl_person.aktiv = TRUE
|
||||
ORDER BY benutzer.uid, lvleiter DESC, nachname, vorname
|
||||
) as tmp_lvlektoren
|
||||
)
|
||||
END "empfehlungsanfrageAn"
|
||||
SELECT anrechnungen.anrechnung_id,
|
||||
anrechnungen.lehrveranstaltung_id,
|
||||
anrechnungen.begruendung_id,
|
||||
anrechnungen.dms_id,
|
||||
anrechnungen.studiensemester_kurzbz,
|
||||
anrechnungen.studiengang_kz,
|
||||
anrechnungen.stg_bezeichnung,
|
||||
anrechnungen.orgform_kurzbz,
|
||||
anrechnungen.ausbildungssemester,
|
||||
anrechnungen.lv_bezeichnung,
|
||||
anrechnungen.ects::float4 AS ects,
|
||||
NULL AS "ectsSumBisherUndNeu",
|
||||
anrechnungen.ectsSumSchulisch::float4 AS "ectsSumSchulisch",
|
||||
anrechnungen.ectsSumBeruflich::float4 AS "ectsSumBeruflich",
|
||||
anrechnungen.begruendung,
|
||||
anrechnungen.student,
|
||||
anrechnungen.dokument_bezeichnung,
|
||||
anrechnungen.anmerkung_student,
|
||||
anrechnungen.zgv,
|
||||
anrechnungen.antragsdatum,
|
||||
anrechnungen.empfehlung_anrechnung,
|
||||
anrechnungen.status_kurzbz,
|
||||
array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung",
|
||||
anrechnungen.prestudent_id,
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT insertamum::date
|
||||
FROM lehre.tbl_anrechnungstatus
|
||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (status_kurzbz)
|
||||
WHERE anrechnung_id = anrechnungen.anrechnung_id
|
||||
AND status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR . '\'
|
||||
ORDER BY insertamum DESC
|
||||
LIMIT 1)
|
||||
END "empfehlungsanfrageAm",
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT COALESCE(
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = TRUE),
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = FALSE)
|
||||
) empfehlungsanfrageAn
|
||||
FROM (
|
||||
SELECT DISTINCT ON (benutzer.uid) uid, vorname, nachname,
|
||||
CASE WHEN lehrfunktion_kurzbz = \'LV-Leitung\' THEN TRUE ELSE FALSE END AS lvleiter
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
|
||||
JOIN public.tbl_benutzer benutzer ON lema.mitarbeiter_uid = benutzer.uid
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND lehrveranstaltung_id = anrechnungen.lehrveranstaltung_id
|
||||
AND lema.mitarbeiter_uid NOT like \'_Dummy%\'
|
||||
AND benutzer.aktiv = TRUE
|
||||
AND tbl_person.aktiv = TRUE
|
||||
ORDER BY benutzer.uid, lvleiter DESC, nachname, vorname
|
||||
) as tmp_lvlektoren
|
||||
)
|
||||
END "empfehlungsanfrageAn"
|
||||
FROM anrechnungen
|
||||
JOIN lehre.tbl_anrechnungstatus as anrechnungstatus ON (anrechnungstatus.status_kurzbz = anrechnungen.status_kurzbz)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
@@ -118,9 +147,12 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('lehre', 'organisationsform')),
|
||||
'Semester',
|
||||
ucfirst($this->p->t('lehre', 'lehrveranstaltung')),
|
||||
'ECTS',
|
||||
ucfirst($this->p->t('person', 'studentIn')),
|
||||
'ECTS (LV)',
|
||||
'ECTS (LV + Bisher)',
|
||||
'ECTS (Bisher schulisch)',
|
||||
'ECTS (Bisher beruflich',
|
||||
ucfirst($this->p->t('global', 'begruendung')),
|
||||
ucfirst($this->p->t('person', 'studentIn')),
|
||||
ucfirst($this->p->t('anrechnung', 'nachweisdokumente')),
|
||||
ucfirst($this->p->t('anrechnung', 'herkunft')),
|
||||
ucfirst($this->p->t('global', 'zgv')),
|
||||
@@ -128,6 +160,7 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlung')),
|
||||
'status_kurzbz',
|
||||
'Status',
|
||||
'PrestudentID',
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')),
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAn'))
|
||||
),
|
||||
@@ -155,8 +188,8 @@ $filterWidgetArray = array(
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
tooltips: function(cell){
|
||||
return func_tooltips(cell);
|
||||
@@ -174,8 +207,11 @@ $filterWidgetArray = array(
|
||||
ausbildungssemester: {headerFilter:"input"},
|
||||
lv_bezeichnung: {headerFilter:"input"},
|
||||
ects: {headerFilter:"input", align:"center"},
|
||||
ectsSumBisherUndNeu: {formatter: format_ectsSumBisherUndNeu},
|
||||
ectsSumSchulisch: {visible: false, headerFilter:"input", align:"right"},
|
||||
ectsSumBeruflich: {visible: false, headerFilter:"input", align:"right"},
|
||||
begruendung: {headerFilter:"input", visible: true},
|
||||
student: {headerFilter:"input"},
|
||||
begruendung: {headerFilter:"input"},
|
||||
zgv: {visible: false, headerFilter:"input"},
|
||||
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{
|
||||
labelField:"dokument_bezeichnung",
|
||||
@@ -187,6 +223,7 @@ $filterWidgetArray = array(
|
||||
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||
status_kurzbz: {visible: false, headerFilter:"input"},
|
||||
status_bezeichnung: {headerFilter:"input"},
|
||||
prestudent_id: {visible: false, headerFilter:"input"},
|
||||
empfehlungsanfrageAm: {visible: false, align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlungsanfrageAn: {visible: false, headerFilter:"input"}
|
||||
}', // col properties
|
||||
|
||||
@@ -31,7 +31,9 @@ $this->load->view(
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'deadlineUeberschritten',
|
||||
'benotungDerLV'
|
||||
'benotungDerLV',
|
||||
'anrechnungEctsTextBeiUeberschreitung',
|
||||
'anrechnungEctsTooltipTextBeiUeberschreitung'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
@@ -80,9 +82,13 @@ $this->load->view(
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="requestAnrechnung-form">
|
||||
<input type="hidden" name="anrechnung_id" id="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="lv_id" value="<?php echo $antragData->lv_id ?>">
|
||||
<input type="hidden" name="studiensemester" value="<?php echo $antragData->studiensemester_kurzbz ?>">
|
||||
<!-- Antragsdaten -->
|
||||
<input type="hidden" name="ects" value="<?php echo $antragData->ects ?>">
|
||||
<input type="hidden" name="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<!-- Antragsdaten -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
@@ -119,8 +125,23 @@ $this->load->view(
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><?php echo $antragData->ects ?></td>
|
||||
<td><span id="ects"><?php echo number_format($antragData->ects, 1) ?> ECTS</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
Total ECTS: <span id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[ Schulisch: <span id="sumEctsSchulisch"><?php echo $antragData->sumEctsSchulisch ?></span> |
|
||||
Beruflich: <span id="sumEctsBeruflich"><?php echo $antragData->sumEctsBeruflich ?></span> ]
|
||||
<span id="requestAnrechnung-maxEctsUeberschrittenMsg"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('lehre', 'lektorInnen')); ?></th>
|
||||
<td>
|
||||
@@ -152,6 +173,17 @@ $this->load->view(
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="5" required
|
||||
<?php echo $anrechnungData->begruendung_id == '5' ? 'checked' : ''; ?> />
|
||||
<?php echo $this->p->t('anrechnung', 'antragStellenWegenHochschulzeugnis'); ?> 
|
||||
<span id="requestAnrechnung-anrechnungGrundHochschulzeugnisTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundZeugnisTooltipText'); ?>" />
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="4" required
|
||||
@@ -180,7 +212,7 @@ $this->load->view(
|
||||
<div class="form-inline panel-body">
|
||||
<div class="form-group">
|
||||
<input type="file" id="requestAnrechnung-uploadfile"
|
||||
name="uploadfile" accept=".pdf" size="50" data-maxsize="<?php echo (int)ini_get('upload_max_filesize') * 1024 ?>"
|
||||
name="uploadfile" accept=".pdf" size="50" data-maxsize="<?php echo (int)ini_get('upload_max_filesize') * 1024 * 1024 ?>"
|
||||
required>
|
||||
</div>
|
||||
<span id="requestAnrechnung-uploadTooltip" data-toggle="tooltip" data-placement="right"
|
||||
|
||||
@@ -225,31 +225,29 @@ $this->load->view(
|
||||
<div class="panel panel-default panel-body" style="display: none" id="reviewAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'empfehlungNegativQuestion'); ?></h4>
|
||||
 
|
||||
<b> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ul>
|
||||
<li>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span> 
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertig'); ?></span> 
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ul>
|
||||
<br>
|
||||
<textarea class="form-control" name="begruendung"
|
||||
id="reviewAnrechnungDetail-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Button Abbrechen & Bestaetigen-->
|
||||
|
||||
@@ -127,30 +127,31 @@ $this->load->view(
|
||||
id="reviewAnrechnungUebersicht-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'empfehlungenNegativQuestion'); ?></h4>
|
||||
<b> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ul>
|
||||
<li>
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertig'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ul>
|
||||
<br>
|
||||
<span class="text-danger">
|
||||
<b><span> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></span>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span><br><br>
|
||||
</span></b>
|
||||
<br><br>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertig'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<textarea class="form-control" name="begruendung" id="reviewAnrechnungUebersicht-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button Abbrechen & Bestaetigen-->
|
||||
|
||||
Reference in New Issue
Block a user