mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Abmeldung: Einspruch Abgelehnt handling
This commit is contained in:
@@ -145,7 +145,7 @@ class Leitung extends FHC_Controller
|
||||
|
||||
$studierendenantrag_id = $this->input->post('studierendenantrag_id');
|
||||
|
||||
$result = $this->antraglib->approveAbmeldung([$studierendenantrag_id], getAuthUID());
|
||||
$result = $this->antraglib->denyObjectionAbmeldung($studierendenantrag_id, getAuthUID());
|
||||
|
||||
if (isError($result))
|
||||
return $this->outputJsonError(['studierendenantrag_id' => getError($result)]);
|
||||
|
||||
@@ -200,7 +200,6 @@ class AntragJob extends JOB_Controller
|
||||
|
||||
foreach ($antraege as $antrag)
|
||||
{
|
||||
|
||||
$result = $this->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStgl', $antrag->insertamum);
|
||||
if (isError($result))
|
||||
$this->logError(getError($result));
|
||||
|
||||
@@ -145,7 +145,7 @@ class AntragLib
|
||||
'studierendenantrag_id' => $studierendenantrag_id,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED,
|
||||
'insertvon' => $insertvon,
|
||||
'insertam' => $insertam
|
||||
'insertamum' => $insertam
|
||||
]);
|
||||
if (isError($result))
|
||||
$errors[] = getError($result);
|
||||
@@ -244,6 +244,81 @@ class AntragLib
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param integer $studierendenantrag_id
|
||||
* @param string $insertvon
|
||||
*
|
||||
* @return stdClass
|
||||
*/
|
||||
public function denyObjectionAbmeldung($studierendenantrag_id, $insertvon)
|
||||
{
|
||||
$result = $this->_ci->StudierendenantragModel->load($studierendenantrag_id);
|
||||
if (isError($result))
|
||||
{
|
||||
return $result;
|
||||
}
|
||||
if(!hasData($result))
|
||||
{
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_no_antrag_found', ['id' => $studierendenantrag_id]));
|
||||
}
|
||||
$antrag = getData($result)[0];
|
||||
|
||||
$result = $this->_ci->StudierendenantragstatusModel->loadWhere([
|
||||
'studierendenantrag_id' => $studierendenantrag_id,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED
|
||||
]);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
if (!hasData($result))
|
||||
return error($this->_ci->p->t('studierendenantrag', 'error_not_approved'));
|
||||
|
||||
$status = current(getData($result));
|
||||
|
||||
$result = $this->_ci->StudierendenantragstatusModel->insert([
|
||||
'studierendenantrag_id' => $studierendenantrag_id,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_OBJECTION_DENIED,
|
||||
'insertvon' => $insertvon
|
||||
]);
|
||||
if (isError($result))
|
||||
return $result;
|
||||
else {
|
||||
$result = $this->_ci->prestudentlib->setAbbrecher($antrag->prestudent_id, $antrag->studiensemester_kurzbz, $insertvon, 'abbrecherStgl', $status->insertamum);
|
||||
|
||||
if (isError($result))
|
||||
return $result;
|
||||
|
||||
$res = $this->_ci->PrestudentModel->load($antrag->prestudent_id);
|
||||
|
||||
if (hasData($res)) {
|
||||
$prestudent = current(getData($res));
|
||||
$res = $this->_ci->PersonModel->load($prestudent->person_id);
|
||||
if (hasData($res)) {
|
||||
$person = current(getData($res));
|
||||
$name = trim($person->vorname . ' ' . $person->nachname);
|
||||
} else {
|
||||
$name = $this->_ci->p->t('person', 'studentIn');
|
||||
}
|
||||
$res = $this->_ci->KontaktModel->getZustellKontakt($prestudent->person_id, ['email']);
|
||||
if (hasData($res)) {
|
||||
$kontakt = current(getData($res));
|
||||
$email = $kontakt->kontakt;
|
||||
sendSanchoMail(
|
||||
// TODO(chris): Vorlage erstellen
|
||||
'Sancho_Mail_Antrag_A_ObjectionDenied',
|
||||
[
|
||||
'name' => $name,
|
||||
'grund' => $antrag->grund
|
||||
],
|
||||
$email,
|
||||
$this->_ci->p->t('studierendenantrag', 'mail_subject_A_ObjectionDenied')
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success();
|
||||
}
|
||||
|
||||
/**
|
||||
* NOTE(chris): permissions & verification must be handled outside
|
||||
*
|
||||
|
||||
@@ -13,6 +13,7 @@ class Studierendenantragstatus_model extends DB_Model
|
||||
const STATUS_REQUESTSENT_1 = 'ErsteAufforderungVersandt';
|
||||
const STATUS_REQUESTSENT_2 = 'ZweiteAufforderungVersandt';
|
||||
const STATUS_OBJECTED = 'Beeinsprucht';
|
||||
const STATUS_OBJECTION_DENIED = 'EinspruchAbgelehnt';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
||||
@@ -28,15 +28,16 @@ if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statust
|
||||
VALUES
|
||||
('Erstellt', '{\"Erstellt\",\"Created\"}'),
|
||||
('Genehmigt', '{\"Genehmigt\",\"Approved\"}'),
|
||||
('Beeinsprucht', '{\"Beeinsprucht\",\"Objected\"}'),
|
||||
('Abgelehnt', '{\"Abgelehnt\",\"Rejected\"}'),
|
||||
('Verzichtet', '{\"Verzichtet\",\"Pass\"}'),
|
||||
('Offen', '{\"Offen\",\"Reopened\"}'),
|
||||
('Zurückgezogen', '{\"Zurückgezogen\",\"Cancelled\"}'),
|
||||
('Lvszugewiesen', '{\"Lvszugewiesen\",\"Lvsassigned\"}'),
|
||||
('EmailVersandt', '{\"Email Versandt\",\"Reminder Sent\"}'),
|
||||
('ErsteAufforderungVersandt', '{\"1.Aufforderung Versandt\",\"1st Request Sent\"}'),
|
||||
('ZweiteAufforderungVersandt', '{\"2.Aufforderung Versandt\",\"2nd Request Sent\"}'),
|
||||
('Lvszugewiesen', '{\"Lvszugewiesen\",\"Lvsassigned\"}');
|
||||
('Beeinsprucht', '{\"Beeinsprucht\",\"Objected\"}'),
|
||||
('EinspruchAbgelehnt', '{\"Einspruch abgelehnt\",\"Objection denied\"}');
|
||||
";
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_studierendenantrag_statustyp (insert): '.$db->db_last_error().'</strong><br>';
|
||||
|
||||
@@ -20106,6 +20106,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'studierendenantrag',
|
||||
'phrase' => 'error_not_approved',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Antrag ist nicht bestätigt worden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Application is not approved',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'studierendenantrag',
|
||||
@@ -20426,6 +20446,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'studierendenantrag',
|
||||
'phrase' => 'mail_subject_A_ObjectionDenied',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ihr Einspruch wurde Abgelehnt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Your objection was denied',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'studierendenantrag',
|
||||
|
||||
Reference in New Issue
Block a user