crm/Prestudent_model: hasBewerber can optionally check bewerber only for a Studiengangtyp. In InfoCenter, only Bachelors are checked after Freigabe (for setting Bewerber and Reihungstestbooleans)

This commit is contained in:
alex
2020-02-11 16:42:04 +01:00
parent 7fdaaace50
commit b41ef00b3d
2 changed files with 23 additions and 7 deletions
@@ -560,7 +560,7 @@ class InfoCenter extends Auth_Controller
else
{
// check if there is already a Bewerberstatus and Reihungsverfahren already absolviert
$bewerber = $this->PersonModel->hasBewerber($person_id, $lastStatus->studiensemester_kurzbz);
$bewerber = $this->PersonModel->hasBewerber($person_id, $lastStatus->studiensemester_kurzbz, 'b');
if (hasData($bewerber))
{
@@ -1559,7 +1559,7 @@ class InfoCenter extends Auth_Controller
}
/**
* Sends infomail with prestudent and person data when Prestudent is freigegeben
* Sends infomail to Studiengang with prestudent and person data when Prestudent is freigegeben
* @param $prestudent_id
*/
private function _sendFreigabeMail($prestudent_id)
+21 -5
View File
@@ -220,16 +220,32 @@ class Person_model extends DB_Model
* @param $studiensemester_kurzbz
* @return array
*/
public function hasBewerber($person_id, $studiensemester_kurzbz)
public function hasBewerber($person_id, $studiensemester_kurzbz, $studiengangtyp = null)
{
$parametersArray = array($person_id, $studiensemester_kurzbz);
$qry = "SELECT count(*) AS anzahl_bewerber FROM public.tbl_person
JOIN public.tbl_prestudent USING (person_id)
JOIN public.tbl_prestudentstatus ON tbl_prestudentstatus.prestudent_id = tbl_prestudent.prestudent_id
WHERE person_id = ?
JOIN public.tbl_prestudentstatus ON tbl_prestudentstatus.prestudent_id = tbl_prestudent.prestudent_id";
if (isset($studiengangtyp))
{
$qry .= " JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang ON tbl_studienordnung.studiengang_kz = tbl_studiengang.studiengang_kz";
}
$qry .= " WHERE person_id = ?
AND studiensemester_kurzbz = ?
AND status_kurzbz = 'Bewerber'
AND tbl_prestudentstatus.status_kurzbz = 'Bewerber'
AND reihungstestangetreten";
return $this->execQuery($qry, array($person_id, $studiensemester_kurzbz));
if (isset($studiengangtyp))
{
$parametersArray[] = $studiengangtyp;
$qry .= " AND tbl_studiengang.typ = ?";
}
return $this->execQuery($qry, $parametersArray);
}
}