diff --git a/application/controllers/jobs/AntragJob.php b/application/controllers/jobs/AntragJob.php
index 2730ee802..131cfdced 100644
--- a/application/controllers/jobs/AntragJob.php
+++ b/application/controllers/jobs/AntragJob.php
@@ -345,6 +345,7 @@ class AntragJob extends JOB_Controller
$dateDeadline = new DateTime();
$dateDeadline->sub(DateInterval::createFromDateString($modifier_deadline));
+ $this->StudierendenantragModel->addSelect('tbl_studierendenantrag.studierendenantrag_id');
$this->StudierendenantragModel->addSelect('prestudent_id');
$this->StudierendenantragModel->addSelect('studiensemester_kurzbz');
$this->StudierendenantragModel->addSelect('s.insertamum');
@@ -369,50 +370,62 @@ class AntragJob extends JOB_Controller
foreach ($antraege as $antrag)
{
- $result = $this->prestudentlib->setAbbrecher(
- $antrag->prestudent_id,
- $antrag->studiensemester_kurzbz,
- 'AntragJob',
- 'abbrecherStgl',
- $antrag->insertamum,
- null,
- $antrag->insertvon ?: $insertvon
- );
+ $result = $this->StudierendenantragstatusModel->insert([
+ 'studierendenantrag_id' => $antrag->studierendenantrag_id,
+ 'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_DEREGISTERED,
+ 'insertvon' => 'AntragJob'
+ ]);
if (isError($result))
$this->logError(getError($result));
- else
- {
- $count++;
- $result = $this->PrestudentModel->load($antrag->prestudent_id);
- if(!hasData($result)) {
- $this->logWarning('No Prestudent found');
- continue;
- }
- $prestudent = current(getData($result));
- $result = $this->StudiengangModel->load($prestudent->studiengang_kz);
- if(!hasData($result)) {
- $this->logWarning('No Studiengang found');
- continue;
- }
- $studiengang = current(getData($result));
- $result = $this->PersonModel->loadPrestudent($antrag->prestudent_id);
- if(!hasData($result))
- {
- $this->logWarning('No Person found');
- continue;
- }
- $person = current(getData($result));
- $email = $studiengang->email;
- $dataMail = array(
- 'prestudent' => $antrag->prestudent_id,
- 'studiensemester' => $antrag->studiensemester_kurzbz,
- 'name' => trim($person->vorname . ' '. $person->nachname),
- );
+ else {
+ $deregisterStatus = getData($result);
- if(!sendSanchoMail('Sancho_Mail_Antrag_A_Assist', $dataMail, $email, 'Einspruchsfrist abgelaufen'))
- {
- $this->logWarning("Failed to send Notification to " . $email);
+ $result = $this->prestudentlib->setAbbrecher(
+ $antrag->prestudent_id,
+ $antrag->studiensemester_kurzbz,
+ 'AntragJob',
+ 'abbrecherStgl',
+ $antrag->insertamum,
+ null,
+ $antrag->insertvon ?: $insertvon
+ );
+ if (isError($result)) {
+ $this->StudierendenantragstatusModel->delete($deregisterStatus);
+ $this->logError(getError($result));
+ } else {
+ $count++;
+ $result = $this->PrestudentModel->load($antrag->prestudent_id);
+ if(!hasData($result)) {
+ $this->logWarning('No Prestudent found');
+ continue;
+ }
+ $prestudent = current(getData($result));
+ $result = $this->StudiengangModel->load($prestudent->studiengang_kz);
+ if(!hasData($result)) {
+ $this->logWarning('No Studiengang found');
+ continue;
+ }
+ $studiengang = current(getData($result));
+ $result = $this->PersonModel->loadPrestudent($antrag->prestudent_id);
+ if(!hasData($result))
+ {
+ $this->logWarning('No Person found');
+ continue;
+ }
+ $person = current(getData($result));
+ $email = $studiengang->email;
+ $dataMail = array(
+ 'prestudent' => $antrag->prestudent_id,
+ 'studiensemester' => $antrag->studiensemester_kurzbz,
+ 'name' => trim($person->vorname . ' '. $person->nachname),
+ );
+
+ if(!sendSanchoMail('Sancho_Mail_Antrag_A_Assist', $dataMail, $email, 'Einspruchsfrist abgelaufen'))
+ {
+ $this->logWarning("Failed to send Notification to " . $email);
+ }
}
+
}
}
$this->logInfo($count . "/" . count($antraege) . " Students set to Abbrecher");
diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php
index 0eda91886..23d69b13b 100644
--- a/application/models/education/Studierendenantrag_model.php
+++ b/application/models/education/Studierendenantrag_model.php
@@ -84,7 +84,8 @@ class Studierendenantrag_model extends DB_Model
Studierendenantragstatus_model::STATUS_CANCELLED,
Studierendenantragstatus_model::STATUS_APPROVED,
Studierendenantragstatus_model::STATUS_REJECTED,
- Studierendenantragstatus_model::STATUS_OBJECTION_DENIED
+ Studierendenantragstatus_model::STATUS_OBJECTION_DENIED,
+ Studierendenantragstatus_model::STATUS_DEREGISTERED
]);
$this->db->or_group_start();
$this->db->where('s.studierendenantrag_statustyp_kurzbz', Studierendenantragstatus_model::STATUS_APPROVED);
diff --git a/application/models/education/Studierendenantragstatus_model.php b/application/models/education/Studierendenantragstatus_model.php
index b4bf3938b..c134cc4ee 100644
--- a/application/models/education/Studierendenantragstatus_model.php
+++ b/application/models/education/Studierendenantragstatus_model.php
@@ -14,6 +14,7 @@ class Studierendenantragstatus_model extends DB_Model
const STATUS_REQUESTSENT_2 = 'ZweiteAufforderungVersandt';
const STATUS_OBJECTED = 'Beeinsprucht';
const STATUS_OBJECTION_DENIED = 'EinspruchAbgelehnt';
+ const STATUS_DEREGISTERED = 'Abgemeldet';
/**
* Constructor
diff --git a/system/dbupdate_3.4/27351_digitalisierung_formulare.php b/system/dbupdate_3.4/27351_digitalisierung_formulare.php
index 4bf52dc3a..bf274ecba 100644
--- a/system/dbupdate_3.4/27351_digitalisierung_formulare.php
+++ b/system/dbupdate_3.4/27351_digitalisierung_formulare.php
@@ -37,7 +37,8 @@ if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statust
('ErsteAufforderungVersandt', '{\"1.Aufforderung Versandt\",\"1st Request Sent\"}'),
('ZweiteAufforderungVersandt', '{\"2.Aufforderung Versandt\",\"2nd Request Sent\"}'),
('Beeinsprucht', '{\"Beeinsprucht\",\"Objected\"}'),
- ('EinspruchAbgelehnt', '{\"Einspruch abgelehnt\",\"Objection denied\"}');
+ ('EinspruchAbgelehnt', '{\"Einspruch abgelehnt\",\"Objection denied\"}'),
+ ('Abgemeldet', '{\"Abgemeldet\",\"Deregistered\"}');
";
if (!$db->db_query($qry))
echo 'campus.tbl_studierendenantrag_statustyp (insert): '.$db->db_last_error().'
';
@@ -45,6 +46,21 @@ if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statust
echo '
campus.tbl_studierendenantrag_statustyp: table prefilled';
}
}
+if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statustyp WHERE studierendenantrag_statustyp_kurzbz = 'Abgemeldet' "))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO campus.tbl_studierendenantrag_statustyp
+ (studierendenantrag_statustyp_kurzbz, bezeichnung)
+ VALUES
+ ('Abgemeldet', '{\"Abgemeldet\",\"Deregistered\"}');
+ ";
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_studierendenantrag_statustyp (insert): '.$db->db_last_error().'
';
+ else
+ echo '
campus.tbl_studierendenantrag_statustyp: "Abgemeldet" added';
+ }
+}
if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag LIMIT 1"))
{