mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Abbrecher 2dos: Änderungen Wordings, neue Statusgründe preabbrecher, durchStgl, durchStud, update setAbbrecher
This commit is contained in:
@@ -177,9 +177,14 @@ class AntragJob extends JOB_Controller
|
||||
$dateDeadline = new DateTime();
|
||||
$dateDeadline->sub(DateInterval::createFromDateString($modifier_deadline));
|
||||
|
||||
$this->StudierendenantragModel->addSelect('prestudent_id');
|
||||
$this->StudierendenantragModel->addSelect('studiensemester_kurzbz');
|
||||
$this->StudierendenantragModel->addSelect('s.insertamum');
|
||||
|
||||
$result = $this->StudierendenantragModel->getWithLastStatusWhere(
|
||||
[
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED_STGL,
|
||||
'typ' => Studierendenantrag_model::TYP_ABMELDUNG_STGL,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED,
|
||||
's.insertamum <=' => $dateDeadline->format('c')
|
||||
]
|
||||
);
|
||||
@@ -195,8 +200,8 @@ class AntragJob extends JOB_Controller
|
||||
|
||||
foreach ($antraege as $antrag)
|
||||
{
|
||||
$result = $this->antraglib->approveAbmeldung([$antrag->studierendenantrag_id], $insertvon);
|
||||
|
||||
$result = $this->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStgl', $antrag->insertamum);
|
||||
if (isError($result))
|
||||
$this->logError(getError($result));
|
||||
else
|
||||
@@ -316,7 +321,7 @@ class AntragJob extends JOB_Controller
|
||||
'urlCIS' => $urlCIS,
|
||||
'fristablauf' => $fristende->format('d.m.Y')
|
||||
);
|
||||
|
||||
|
||||
// NOTE(chris): Sancho mail
|
||||
if(sendSanchoMail('Sancho_Mail_Antrag_W_' . $name, $dataMail, $email, $subject))
|
||||
{
|
||||
|
||||
@@ -137,26 +137,21 @@ class AntragLib
|
||||
$errors[] = $this->_ci->p->t('studierendenantrag', 'error_no_antrag_found', ['id' => $studierendenantrag_id]);
|
||||
continue;
|
||||
}
|
||||
$status = getData($result)[0];
|
||||
$antrag = getData($result)[0];
|
||||
|
||||
$insertam = date('c');
|
||||
|
||||
$result = $this->_ci->StudierendenantragstatusModel->insert([
|
||||
'studierendenantrag_id' => $studierendenantrag_id,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED,
|
||||
'insertvon' => $insertvon
|
||||
'insertvon' => $insertvon,
|
||||
'insertam' => $insertam
|
||||
]);
|
||||
if (isError($result))
|
||||
$errors[] = getError($result);
|
||||
else {
|
||||
$resultPrestudent = $this->_ci->StudierendenantragModel->load($studierendenantrag_id);
|
||||
if (isError($resultPrestudent))
|
||||
if ($antrag->typ == Studierendenantrag_model::TYP_ABMELDUNG)
|
||||
{
|
||||
$errors[] = getError($resultPrestudent);
|
||||
continue;
|
||||
}
|
||||
if ($status->typ == Studierendenantrag_model::TYP_ABMELDUNG)
|
||||
{
|
||||
$antrag = getData($resultPrestudent)[0];
|
||||
|
||||
$resultPrestudentStatus = $this->_ci->PrestudentstatusModel->getLastStatusWithStgEmail($antrag->prestudent_id);
|
||||
if (isError($resultPrestudentStatus))
|
||||
$errors[] = getError($resultPrestudentStatus);
|
||||
@@ -167,7 +162,7 @@ class AntragLib
|
||||
$vorlage ='Sancho_Mail_Antrag_A_Approve';
|
||||
$subject = $this->_ci->p->t('studierendenantrag', 'mail_subject_A_Approve');
|
||||
|
||||
$result = $this->_ci->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon);
|
||||
$result = $this->_ci->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStud', $antrag->datum, $insertam) ;
|
||||
if (isError($result))
|
||||
{
|
||||
$errors[] = getError($result);
|
||||
@@ -186,8 +181,35 @@ class AntragLib
|
||||
sendSanchoMail($vorlage, $data, $prestudent_status->email, $subject);
|
||||
}
|
||||
}
|
||||
if ($status->typ == Studierendenantrag_model::TYP_ABMELDUNG_STGL) {
|
||||
$res = $this->_ci->PrestudentModel->load($status->prestudent_id);
|
||||
if ($antrag->typ == Studierendenantrag_model::TYP_ABMELDUNG_STGL) {
|
||||
$result = $this->_ci->PrestudentstatusModel->getLastStatus($antrag->prestudent_id, '', 'Student');
|
||||
if (isError($result))
|
||||
{
|
||||
$errors[] = getError($result);
|
||||
continue;
|
||||
}
|
||||
if(!hasData($result))
|
||||
{
|
||||
$errors[] = $this->_ci->p->t('studierendenantrag', 'error_no_prestudentstatus', ['prestudent_id' => $antrag->prestudent_id]);
|
||||
continue;
|
||||
}
|
||||
$prestudentstatus = getData($result)[0];
|
||||
|
||||
$result = $this->_ci->PrestudentstatusModel->withGrund('preabbrecher')->update([
|
||||
'prestudent_id' => $prestudentstatus->prestudent_id,
|
||||
'status_kurzbz'=>$prestudentstatus->status_kurzbz,
|
||||
'studiensemester_kurzbz'=>$prestudentstatus->studiensemester_kurzbz,
|
||||
'ausbildungssemester'=>$prestudentstatus->ausbildungssemester
|
||||
],[]);
|
||||
if (isError($result))
|
||||
{
|
||||
$errors[] = getError($result);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
$res = $this->_ci->PrestudentModel->load($antrag->prestudent_id);
|
||||
|
||||
if (hasData($res)) {
|
||||
$prestudent = current(getData($res));
|
||||
$res = $this->_ci->PersonModel->load($prestudent->person_id);
|
||||
@@ -205,7 +227,7 @@ class AntragLib
|
||||
'Sancho_Mail_Antrag_A_Stgl',
|
||||
[
|
||||
'name' => $name,
|
||||
'grund' => $status->grund
|
||||
'grund' => $antrag->grund
|
||||
],
|
||||
$email,
|
||||
$this->_ci->p->t('studierendenantrag', 'mail_subject_A_Stgl')
|
||||
@@ -857,7 +879,7 @@ class AntragLib
|
||||
if (!hasData($result))
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_stg', ['studiengang_kz' => $studiengang_kz]));
|
||||
$stg = current(getData($result));
|
||||
|
||||
|
||||
if ($ausbildungssemester > $stg->max_semester)
|
||||
return success();
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_studienplan', [
|
||||
|
||||
@@ -35,7 +35,7 @@ class PrestudentLib
|
||||
|
||||
}
|
||||
|
||||
public function setAbbrecher($prestudent_id, $studiensemester_kurzbz, $insertvon = null)
|
||||
public function setAbbrecher($prestudent_id, $studiensemester_kurzbz, $insertvon = null, $statusgrund_kurzbz = null, $datum = null, $bestaetigtam = null)
|
||||
{
|
||||
if (!$insertvon)
|
||||
$insertvon = getAuthUID();
|
||||
@@ -62,24 +62,31 @@ class PrestudentLib
|
||||
|
||||
$student = current($result);
|
||||
|
||||
//Status updaten
|
||||
$result = $this->_ci->PrestudentstatusModel->insert([
|
||||
if(!$datum)
|
||||
$datum = date('c');
|
||||
|
||||
if(!$bestaetigtam)
|
||||
$bestaetigtam = date('c');
|
||||
|
||||
//Status und Statusgrund updaten
|
||||
$result = $this->_ci->PrestudentstatusModel->withGrund($statusgrund_kurzbz)->insert([
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'status_kurzbz' => Prestudentstatus_model::STATUS_ABBRECHER,
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $prestudent_status->ausbildungssemester,
|
||||
'datum' => date('c'),
|
||||
'datum' => $datum,
|
||||
'insertvon' => $insertvon,
|
||||
'insertamum' => date('c'),
|
||||
'orgform_kurzbz'=> $prestudent_status->orgform_kurzbz,
|
||||
'studienplan_id'=> $prestudent_status->studienplan_id,
|
||||
'bestaetigtvon' => $insertvon,
|
||||
'bestaetigtam' => date('c')
|
||||
'bestaetigtam' => $bestaetigtam
|
||||
]);
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
|
||||
//Verband anlegen
|
||||
$result = $this->_ci->LehrverbandModel->load([
|
||||
'studiengang_kz' => $student->studiengang_kz,
|
||||
|
||||
@@ -316,4 +316,20 @@ class Prestudentstatus_model extends DB_Model
|
||||
|
||||
return $this->loadWhere($whereArr);
|
||||
}
|
||||
|
||||
/**
|
||||
* call like this:
|
||||
* $this->PrestudentstatusModel->withGrund('grund_kurzbz')->update($id, $otherData);
|
||||
* or:
|
||||
* $this->PrestudentstatusModel->withGrund('grund_kurzbz')->insert($otherData);
|
||||
* @param string $statusgrund_kurzbz
|
||||
* @return object $this
|
||||
*/
|
||||
public function withGrund($statusgrund_kurzbz)
|
||||
{
|
||||
if($statusgrund_kurzbz)
|
||||
$this->db->set('statusgrund_id', '(SELECT statusgrund_id FROM public.tbl_status_grund WHERE statusgrund_kurzbz =' . $this->db->escape($statusgrund_kurzbz) .')', FALSE);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,3 +285,42 @@ if (!$result = @$db->db_query("SELECT public.get_stdsem_prestudent(0, null)")) {
|
||||
else
|
||||
echo '<br>public.get_stdsem_prestudent(integer, character varying): function created';
|
||||
}
|
||||
|
||||
if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'abbrecherStgl';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('abbrecherStgl', 'Abbrecher', TRUE, '{\"durch Stgl\", \"by Course Director\"}', '{\"durch Stgl\", \"by Course Director\"}');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_status_grund: Added Statusgrund abbrecherStgl for Abbrecher<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'abbrecherStud';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('abbrecherStud', 'Abbrecher', TRUE, '{\"durch Stud\", \"by Student\"}', '{\"durch Stud\", \"by Student\"}');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_status_grund: Added Statusgrund abbrecherStud for Abbrecher<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'preabbrecher';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('preabbrecher', 'Student', TRUE, '{\"Pre-Abbrecher\", \"Pre-Aborted\"}', '{\"Pre-Abbrecher\", \"Pre-Aborted\"}');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_status_grund: Added Statusgrund pre-abbrecher for Student<br>';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user