mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Abmeldung durch Stgl: status => typ
This commit is contained in:
@@ -76,6 +76,23 @@ class Abmeldung extends FHC_Controller
|
||||
$this->outputJsonSuccess(getData($result));
|
||||
}
|
||||
|
||||
public function getDetailsForAntrag($studierendenantrag_id)
|
||||
{
|
||||
if (!$this->antraglib->isEntitledToShowAntrag($studierendenantrag_id)) return show_404();
|
||||
|
||||
$result = $this->antraglib->getDetailsForAntrag($studierendenantrag_id);
|
||||
if (isError($result)) {
|
||||
return $this->outputJsonError(getError($result));
|
||||
}
|
||||
|
||||
$data = getData($result);
|
||||
|
||||
if ($data->typ !== Studierendenantrag_model::TYP_ABMELDUNG_STGL)
|
||||
return show_404();
|
||||
|
||||
$this->outputJsonSuccess($data);
|
||||
}
|
||||
|
||||
public function createAntrag()
|
||||
{
|
||||
$this->load->library('form_validation');
|
||||
|
||||
@@ -201,7 +201,7 @@ class Leitung extends FHC_Controller
|
||||
|
||||
public function canBeObjected($studierendenantrag_id)
|
||||
{
|
||||
return $this->antraglib->hasStatus($studierendenantrag_id, Studierendenantragstatus_model::STATUS_APPROVED_STGL);
|
||||
return $this->antraglib->hasType($studierendenantrag_id, Studierendenantrag_model::TYP_ABMELDUNG_STGL);
|
||||
}
|
||||
|
||||
public function isObjected($studierendenantrag_id)
|
||||
@@ -241,6 +241,11 @@ class Leitung extends FHC_Controller
|
||||
return $this->outputJsonSuccess($studierendenantrag_id);
|
||||
}
|
||||
|
||||
public function approveAbmeldungStgl()
|
||||
{
|
||||
return $this->approveAbmeldung();
|
||||
}
|
||||
|
||||
public function approveUnterbrechung()
|
||||
{
|
||||
$this->load->library('form_validation');
|
||||
|
||||
@@ -129,6 +129,15 @@ class Studierendenantrag extends FHC_Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function abmeldungstgl($prestudent_id, $studierendenantrag_id)
|
||||
{
|
||||
$this->load->view('lehre/Antrag/Create', [
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'studierendenantrag_id' => $studierendenantrag_id,
|
||||
'antrag_type' => 'AbmeldungStgl'
|
||||
]);
|
||||
}
|
||||
|
||||
public function unterbrechung($prestudent_id, $studierendenantrag_id = null)
|
||||
{
|
||||
$this->load->view('lehre/Antrag/Create', [
|
||||
|
||||
@@ -85,15 +85,15 @@ class AntragLib
|
||||
|
||||
$prestudent = getData($result)[0];
|
||||
if($prestudent->person_id == getAuthPersonId())
|
||||
$status = Studierendenantragstatus_model::STATUS_CREATED;
|
||||
$typ = Studierendenantrag_model::TYP_ABMELDUNG;
|
||||
else
|
||||
$status = Studierendenantragstatus_model::STATUS_CREATED_STGL;
|
||||
$typ = Studierendenantrag_model::TYP_ABMELDUNG_STGL;
|
||||
|
||||
$result = $this->_ci->StudierendenantragModel->insert([
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'studiensemester_kurzbz'=> $studiensemester_kurzbz,
|
||||
'datum' => date('c'),
|
||||
'typ' => Studierendenantrag_model::TYP_ABMELDUNG,
|
||||
'typ' => $typ,
|
||||
'insertvon' => $insertvon,
|
||||
'grund' => $grund
|
||||
]);
|
||||
@@ -105,7 +105,7 @@ class AntragLib
|
||||
|
||||
$result = $this->_ci->StudierendenantragstatusModel->insert([
|
||||
'studierendenantrag_id' => $antrag_id,
|
||||
'studierendenantrag_statustyp_kurzbz' => $status,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_CREATED,
|
||||
'insertvon' => $insertvon
|
||||
]);
|
||||
|
||||
@@ -148,7 +148,7 @@ class AntragLib
|
||||
|
||||
$result = $this->_ci->StudierendenantragstatusModel->insert([
|
||||
'studierendenantrag_id' => $studierendenantrag_id,
|
||||
'studierendenantrag_statustyp_kurzbz' => $status_approved,
|
||||
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_APPROVED,
|
||||
'insertvon' => $insertvon
|
||||
]);
|
||||
if (isError($result))
|
||||
@@ -160,7 +160,7 @@ class AntragLib
|
||||
$errors[] = getError($resultPrestudent);
|
||||
continue;
|
||||
}
|
||||
if ($status_approved == Studierendenantragstatus_model::STATUS_APPROVED)
|
||||
if ($status->typ == Studierendenantrag_model::TYP_ABMELDUNG)
|
||||
{
|
||||
$antrag = getData($resultPrestudent)[0];
|
||||
|
||||
@@ -1482,6 +1482,25 @@ class AntragLib
|
||||
return in_array($lastStatus->studierendenantrag_statustyp_kurzbz, $status);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param integer $antrag_id
|
||||
* @param string|array $type
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function hasType($antrag_id, $type)
|
||||
{
|
||||
$result = $this->_ci->StudierendenantragModel->load($antrag_id);
|
||||
if (!hasData($result))
|
||||
return false;
|
||||
$antrag = getData($result)[0];
|
||||
|
||||
if (!is_array($type))
|
||||
$type = [$type];
|
||||
|
||||
return in_array($antrag->typ, $type);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param integer $antrag_id
|
||||
|
||||
@@ -3,6 +3,7 @@ class Studierendenantrag_model extends DB_Model
|
||||
{
|
||||
|
||||
const TYP_ABMELDUNG = 'Abmeldung';
|
||||
const TYP_ABMELDUNG_STGL = 'AbmeldungStgl';
|
||||
const TYP_UNTERBRECHUNG = 'Unterbrechung';
|
||||
const TYP_WIEDERHOLUNG = 'Wiederholung';
|
||||
|
||||
|
||||
@@ -567,7 +567,7 @@ class Studiengang_model extends DB_Model
|
||||
if ($not_antrag_typ !== null && is_array($not_antrag_typ)) {
|
||||
foreach($not_antrag_typ as $k => $v)
|
||||
$not_antrag_typ[$k] = $this->db->escape($v);
|
||||
$this->addJoin('campus.tbl_studierendenantrag a', 'a.prestudent_id=p.prestudent_id and a.typ in ('. implode(',', $not_antrag_typ ).')', 'LEFT');
|
||||
$this->addJoin('campus.tbl_studierendenantrag a', 'a.prestudent_id=p.prestudent_id and a.typ in ('. implode(',', $not_antrag_typ ).") AND campus.get_status_studierendenantrag (a.studierendenantrag_id)<>'" . Studierendenantragstatus_model::STATUS_CANCELLED . "'", 'LEFT');
|
||||
$this->db->where('a.typ IS NULL');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user