mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 16:44:28 +00:00
Merge branch 'master' into ciauth
This commit is contained in:
@@ -1463,7 +1463,7 @@ class InfoCenter extends Auth_Controller
|
||||
$data = array
|
||||
(
|
||||
'interessentbez' => $interessentbez,
|
||||
'studiengangbez' => $prestudent->studiengangbezeichnung,
|
||||
'studiengangbez' => $prestudentstatus->studiengangbezeichnung,
|
||||
'studiengangtypbez' => $prestudent->studiengangtyp_bez,
|
||||
'orgform' => $orgform,
|
||||
'studiensemester' => $prestudentstatus->studiensemester_kurzbz,
|
||||
@@ -1487,7 +1487,7 @@ class InfoCenter extends Auth_Controller
|
||||
$this->load->library('LogLib');
|
||||
$this->load->helper('hlp_sancho');
|
||||
|
||||
$subject = ($person->geschlecht == 'm' ? 'Interessent ' : 'Interessentin ').$person->vorname.' '.$person->nachname.' für '.$prestudent->studiengangbezeichnung.$orgform.' freigegeben';
|
||||
$subject = ($person->geschlecht == 'm' ? 'Interessent ' : 'Interessentin ').$person->vorname.' '.$person->nachname.' für '.$prestudentstatus->studiengangbezeichnung.$orgform.' freigegeben';
|
||||
|
||||
$receiver = $prestudent->studiengangmail;
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm
|
||||
$body = _parseMailContent('Sancho_Mail_Template', $layout);
|
||||
|
||||
// Send mail
|
||||
$ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = true, $autogenerated = true);
|
||||
$ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc, $bcc, $altMessage = '', $bulk = true, $autogenerated = true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -473,11 +473,30 @@ class Reihungstest_model extends DB_Model
|
||||
return $this->execQuery($query, array($reihungstest_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the date of the next placement test to the given degree program
|
||||
* @param integer $studiengang_kz Kennzahl of degree program to load the next placement test date
|
||||
* @return string Returns date of the next placement test
|
||||
*/
|
||||
public function getNextPlacementtestDate($studiengang_kz)
|
||||
{
|
||||
$query = '
|
||||
SELECT *
|
||||
FROM PUBLIC.tbl_reihungstest
|
||||
WHERE studiengang_kz = ?
|
||||
AND datum > now()
|
||||
ORDER BY datum ASC
|
||||
LIMIT 1
|
||||
';
|
||||
|
||||
return $this->execQuery($query, array($studiengang_kz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads all placement tests of the given day and optional degree program
|
||||
* @param string $date Date of the tests to be loaded (YYYY-MM-DD)
|
||||
* @param integer $studiengang_kz Optional. Kennzahl of degree program to load
|
||||
* @return array Returns object array with data of applicants.
|
||||
* @return array Returns object array with data of placement tests
|
||||
*/
|
||||
public function getTestsOnDate($date, $studiengang_kz = null)
|
||||
{
|
||||
|
||||
@@ -14,6 +14,7 @@ class Lehreinheit_model extends DB_Model
|
||||
$this->load->model('education/lehrveranstaltung_model', 'LehrveranstaltungModel');
|
||||
$this->load->model('education/lehreinheitgruppe_model', 'LehreinheitgruppeModel');
|
||||
$this->load->model('education/lehreinheitmitarbeiter_model', 'LehreinheitmitarbeiterModel');
|
||||
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,13 +58,22 @@ class Lehreinheit_model extends DB_Model
|
||||
{
|
||||
foreach ($lehreinheitgruppen->retval as $lehreinheitgruppe)
|
||||
{
|
||||
$letoadd->lehreinheitgruppen[] = array(
|
||||
'semester' => $lehreinheitgruppe->semester,
|
||||
'verband' => $lehreinheitgruppe->verband,
|
||||
'gruppe' => $lehreinheitgruppe->gruppe,
|
||||
'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz,
|
||||
'direktinskription' => $lehreinheitgruppe->direktinskription
|
||||
);
|
||||
$studiengangresponse = $this->StudiengangModel->load($lehreinheitgruppe->studiengang_kz);
|
||||
if (hasData($studiengangresponse))
|
||||
{
|
||||
$studiengang = $studiengangresponse->retval[0];
|
||||
$stgkuerzel = mb_strtoupper($studiengang->typ . $studiengang->kurzbz);
|
||||
|
||||
$letoadd->lehreinheitgruppen[] = array(
|
||||
'semester' => $lehreinheitgruppe->semester,
|
||||
'verband' => $lehreinheitgruppe->verband,
|
||||
'gruppe' => $lehreinheitgruppe->gruppe,
|
||||
'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz,
|
||||
'direktinskription' => $lehreinheitgruppe->direktinskription,
|
||||
'studiengang_kz' => $lehreinheitgruppe->studiengang_kz,
|
||||
'studiengang_kuerzel' => $stgkuerzel
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -203,4 +203,65 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets valid Lehrveranstaltungen with incoming places for a Studiensemester.
|
||||
* Only
|
||||
* 1. Lvs with incoming places > 0
|
||||
* 2. Studienplan valid in current semester or with Lehrauftrag (i.e. assigned Lehreinheit)
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return object
|
||||
*/
|
||||
public function getLvsWithIncomingPlaces($studiensemester_kurzbz)
|
||||
{
|
||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||
|
||||
$studsemres = $this->StudiensemesterModel->load($studiensemester_kurzbz);
|
||||
|
||||
if (!hasData($studsemres))
|
||||
return success(array());
|
||||
|
||||
$parametersarray = array($studiensemester_kurzbz, $studsemres->retval[0]->studienjahr_kurzbz, $studiensemester_kurzbz, $studiensemester_kurzbz);
|
||||
|
||||
$query = "
|
||||
SELECT * FROM (
|
||||
SELECT DISTINCT ON (lv.lehrveranstaltung_id) lv.lehrveranstaltung_id, lv.bezeichnung AS lv_bezeichnung, lv.kurzbz AS lv_kurzbz, lv.sprache, lv.ects, lv.lehre,
|
||||
lv.lehreverzeichnis, lv.sws, lv.lvs, lv.alvs, lv.lvps, lv.las, lv.incoming, lv.lehrform_kurzbz, lv.orgform_kurzbz AS lv_orgform, lv.semester,
|
||||
? AS studiensemester_kurzbz, ? AS studienjahr_kurzbz, UPPER(stg.typ::VARCHAR(1) || stg.kurzbz) AS studiengang_kuerzel,
|
||||
stg.bezeichnung AS studiengang_bezeichnung, stg.english AS studiengang_bezeichnung_english, stg.typ, stg.orgform_kurzbz AS studiengang_orgform,
|
||||
tbl_sprache.locale, CASE WHEN lv.orgform_kurzbz NOTNULL THEN lv.orgform_kurzbz ELSE stg.orgform_kurzbz END AS orgform_kurzbz
|
||||
FROM lehre.tbl_lehrveranstaltung lv
|
||||
JOIN public.tbl_studiengang stg ON lv.studiengang_kz = stg.studiengang_kz
|
||||
JOIN public.tbl_sprache ON lv.sprache = tbl_sprache.sprache
|
||||
WHERE lv.lehrtyp_kurzbz != 'modul'
|
||||
AND (
|
||||
EXISTS
|
||||
(
|
||||
WITH gueltige_studienplaene AS (
|
||||
SELECT studienplan_id, semester
|
||||
FROM lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE tbl_studienplan.aktiv
|
||||
AND lehre.tbl_studienplan_semester.studiensemester_kurzbz = ?
|
||||
)
|
||||
SELECT 1
|
||||
FROM lehre.tbl_studienplan_lehrveranstaltung
|
||||
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id IN (SELECT studienplan_id FROM gueltige_studienplaene)
|
||||
AND tbl_studienplan_lehrveranstaltung.semester IN
|
||||
(SELECT semester FROM gueltige_studienplaene
|
||||
WHERE gueltige_studienplaene.studienplan_id = tbl_studienplan_lehrveranstaltung.studienplan_id)
|
||||
AND tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id = lv.lehrveranstaltung_id
|
||||
AND tbl_studienplan_lehrveranstaltung.export
|
||||
)
|
||||
OR EXISTS (SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = lv.lehrveranstaltung_id AND studiensemester_kurzbz = ?)
|
||||
)
|
||||
AND lv.incoming > 0
|
||||
AND lv.aktiv
|
||||
AND (stg.typ IN ('b', 'm') OR stg.studiengang_kz = 10006)-- ECI Studiengang Campus International
|
||||
) lvs
|
||||
ORDER BY studiengang_kuerzel, orgform_kurzbz, lv_bezeichnung, lehrform_kurzbz, lehrveranstaltung_id;
|
||||
";
|
||||
|
||||
return $this->execQuery($query, $parametersarray);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user