diff --git a/application/config/infocenter.php b/application/config/infocenter.php
new file mode 100644
index 000000000..555c30996
--- /dev/null
+++ b/application/config/infocenter.php
@@ -0,0 +1,5 @@
+ array(
+ 'link' => site_url('system/infocenter/ZGVUeberpruefung'),
+ 'description' => 'ZGV Überprüfung',
+ 'expand' => true,
+ 'sort' => 50,
+ 'requiredPermissions' => array(
+ 'lehre/zgvpruefung:r'
+ )
)
)
),
diff --git a/application/controllers/system/Variables.php b/application/controllers/system/Variables.php
index 20303118b..c56407416 100644
--- a/application/controllers/system/Variables.php
+++ b/application/controllers/system/Variables.php
@@ -20,7 +20,8 @@ class Variables extends Auth_Controller
array(
'setVar' => 'basis/variable:rw',
'getVar' => 'basis/variable:rw',
- 'changeStudiensemesterVar' => 'basis/variable:rw'
+ 'changeStudiensemesterVar' => 'basis/variable:rw',
+ 'changeStudengangsTypVar' => 'basis/variable:rw'
)
);
@@ -50,7 +51,9 @@ class Variables extends Auth_Controller
public function getVar()
{
$name = $this->input->get('name');
- $this->outputJson($this->VariableModel->getVariables($this->_uid, array($name)));
+ $typ = $this->input->get('typ');
+
+ $this->outputJson($this->VariableModel->getVariables($this->_uid, array($name, $typ)));
}
/**
@@ -66,6 +69,15 @@ class Variables extends Auth_Controller
$this->outputJson($result);
}
+ public function changeStudengangsTypVar()
+ {
+ $name = $this->input->post('name');
+ $change = $this->input->post('change');
+
+ $result = $this->variablelib->changeStudengangsTypVar($this->_uid, $name, $change);
+ $this->outputJson($result);
+ }
+
/**
* Retrieve the UID of the logged user and checks if it is valid
*/
diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php
index ff9e54aa5..4ac74dde5 100644
--- a/application/controllers/system/infocenter/InfoCenter.php
+++ b/application/controllers/system/infocenter/InfoCenter.php
@@ -12,12 +12,17 @@ class InfoCenter extends Auth_Controller
const APP = 'infocenter';
const TAETIGKEIT = 'bewerbung';
const FREIGABE_MAIL_VORLAGE = 'InfocenterMailFreigabeAssistenz';
+ const ZGVPRUEFUNG_MAIL_VORLAGE = 'InfocenterMailZgvUeberpruefung';
+ const ZGVPRUEFUNG_MAIL_VORLAGE_MASTER = 'InfocenterMailZgvUeberpruefungM';
const INFOCENTER_URI = 'system/infocenter/InfoCenter'; // URL prefix for this controller
+ const ZGV_UEBERPRUEFUNG_URI = 'system/infocenter/ZGVUeberpruefung';
const INDEX_PAGE = 'index';
const FREIGEGEBEN_PAGE = 'freigegeben';
const REIHUNGSTESTABSOLVIERT_PAGE = 'reihungstestAbsolviert';
const SHOW_DETAILS_PAGE = 'showDetails';
+ const SHOW_ZGV_DETAILS_PAGE = 'showZGVDetails';
+ const ZGV_UBERPRUEFUNG_PAGE = 'ZGVUeberpruefung';
const NAVIGATION_PAGE = 'navigation_page';
const ORIGIN_PAGE = 'origin_page';
@@ -64,6 +69,18 @@ class InfoCenter extends Auth_Controller
'message' => 'Note with title %s was updated',
'success' => null
),
+ 'updatezgv' => array(
+ 'logtype' => 'Action',
+ 'name' => 'ZGV pruefung updated',
+ 'message' => 'ZGV with the ID %s was updated to %s',
+ 'success' => null
+ ),
+ 'newzgv' => array(
+ 'logtype' => 'Action',
+ 'name' => 'ZGV pruefung added',
+ 'message' => 'ZGV with the ID %s was added',
+ 'success' => null
+ ),
'updatedoctyp' => array(
'logtype' => 'Action',
'name' => 'Document type updated',
@@ -91,6 +108,7 @@ class InfoCenter extends Auth_Controller
'freigegeben' => 'infocenter:r',
'reihungstestAbsolviert' => 'infocenter:r',
'showDetails' => 'infocenter:r',
+ 'showZGVDetails' => 'lehre/zgvpruefung:r',
'unlockPerson' => 'infocenter:rw',
'saveFormalGeprueft' => 'infocenter:rw',
'saveDocTyp' => 'infocenter:rw',
@@ -99,6 +117,8 @@ class InfoCenter extends Auth_Controller
'getZgvInfoForPrestudent' => 'infocenter:r',
'saveBewPriorisierung' => 'infocenter:rw',
'saveZgvPruefung' => 'infocenter:rw',
+ 'zgvRueckfragen' => 'infocenter:rw',
+ 'zgvStatusUpdate' => 'lehre/zgvpruefung:rw',
'saveAbsage' => 'infocenter:rw',
'saveFreigabe' => 'infocenter:rw',
'getNotiz' => 'infocenter:r',
@@ -125,6 +145,8 @@ class InfoCenter extends Auth_Controller
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
$this->load->model('crm/Statusgrund_model', 'StatusgrundModel');
+ $this->load->model('crm/ZGVPruefung_model', 'ZGVPruefungModel');
+ $this->load->model('crm/ZGVPruefungStatus_model', 'ZGVPruefungStatusModel');
$this->load->model('person/Notiz_model', 'NotizModel');
$this->load->model('person/Person_model', 'PersonModel');
$this->load->model('system/Message_model', 'MessageModel');
@@ -186,6 +208,57 @@ class InfoCenter extends Auth_Controller
$this->load->view('system/infocenter/infocenterReihungstestAbsolviert.php');
}
+ /**
+ * Prestudenten/ZGV übersicht
+ * Holt sich die Informationen zu den ZGV vom Prestudenten und zeigt die dann an
+ */
+ public function showZGVDetails()
+ {
+ $this->_setNavigationMenuShowDetails(self::SHOW_ZGV_DETAILS_PAGE);
+
+ $prestudent_id = $this->input->get('prestudent_id');
+
+ if (!is_numeric($prestudent_id))
+ show_error('prestudent id is not numeric!');
+
+ $prestudentexists = $this->PrestudentModel->load($prestudent_id);
+
+ if (isError($prestudentexists))
+ show_error(getError($prestudentexists));
+
+ if (!hasData($prestudentexists))
+ show_error('Prestudent does not exist!');
+
+ $zgv = $this->ZGVPruefungStatusModel->getZgvStatusByPrestudent($prestudent_id);
+
+ if (isError($zgv))
+ show_error(getError($zgv));
+
+ if (!hasData($zgv))
+ show_error('ZGV has no status.');
+
+ $persondata = $this->_loadPersonData(getData($prestudentexists)[0]->person_id);
+ $prestudent_id = array('prestudent_id' => $prestudent_id);
+ $status = array('status' => getData($zgv)[0]->status);
+
+ $this->DokumentModel->addOrder('bezeichnung');
+ $dokumentdata = array('dokumententypen' => (getData($this->DokumentModel->load())));
+
+ $data = array_merge(
+ $persondata,
+ $prestudent_id,
+ $status,
+ $dokumentdata
+ );
+
+ $origin_page = $this->input->get(self::ORIGIN_PAGE);
+
+ $data[self::FHC_CONTROLLER_ID] = $this->getControllerId();
+ $data[self::ORIGIN_PAGE] = $origin_page;
+ $data[self::PREV_FILTER_ID] = $this->input->get(self::PREV_FILTER_ID);
+
+ $this->load->view('system/infocenter/infocenterZgvDetails.php', $data);
+ }
/**
* Personal details page of the InfoCenter tool
* Initialization function, gets person and prestudent data and loads the view with the data
@@ -386,12 +459,18 @@ class InfoCenter extends Auth_Controller
$zgvdatum = isEmptyString($zgvdatum) ? null : date_format(date_create($zgvdatum), 'Y-m-d');
$zgvnation_code = $this->input->post('zgvnation') === 'null' ? null : $this->input->post('zgvnation');
- // zgvmasterdata
- $zgvmas_code = $this->input->post('zgvmas') === 'null' ? null : $this->input->post('zgvmas');
- $zgvmaort = $this->input->post('zgvmaort');
- $zgvmadatum = $this->input->post('zgvmadatum');
- $zgvmadatum = isEmptyString($zgvmadatum) ? null : date_format(date_create($zgvmadatum), 'Y-m-d');
- $zgvmanation_code = $this->input->post('zgvmanation') === 'null' ? null : $this->input->post('zgvmanation');
+ $prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent_id);
+ $prestudentdata = getData($prestudent);
+
+ if ($prestudentdata->studiengangtyp === 'm')
+ {
+ // zgvmasterdata
+ $zgvmas_code = $this->input->post('zgvmas') === 'null' ? null : $this->input->post('zgvmas');
+ $zgvmaort = $this->input->post('zgvmaort');
+ $zgvmadatum = $this->input->post('zgvmadatum');
+ $zgvmadatum = isEmptyString($zgvmadatum) ? null : date_format(date_create($zgvmadatum), 'Y-m-d');
+ $zgvmanation_code = $this->input->post('zgvmanation') === 'null' ? null : $this->input->post('zgvmanation');
+ }
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id, '', self::INTERESSENTSTATUS);
@@ -407,19 +486,29 @@ class InfoCenter extends Auth_Controller
);
}
- $prestresult = $this->PrestudentModel->update(
- $prestudent_id,
- array(
- 'zgv_code' => $zgv_code,
- 'zgvort' => $zgvort,
- 'zgvdatum' => $zgvdatum,
- 'zgvnation' => $zgvnation_code,
+ $updateArray = array(
+ 'zgv_code' => $zgv_code,
+ 'zgvort' => $zgvort,
+ 'zgvdatum' => $zgvdatum,
+ 'zgvnation' => $zgvnation_code,
+ 'updateamum' => date('Y-m-d H:i:s')
+ );
+
+ if ($prestudentdata->studiengangtyp === 'm')
+ {
+ $updateMasterArray = array(
'zgvmas_code' => $zgvmas_code,
'zgvmaort' => $zgvmaort,
'zgvmadatum' => $zgvmadatum,
- 'zgvmanation' => $zgvmanation_code,
- 'updateamum' => date('Y-m-d H:i:s')
- )
+ 'zgvmanation' => $zgvmanation_code
+ );
+
+ $updateArray = array_merge($updateArray, $updateMasterArray);
+ }
+
+ $prestresult = $this->PrestudentModel->update(
+ $prestudent_id,
+ $updateArray
);
if (isError($prestresult))
@@ -441,6 +530,183 @@ class InfoCenter extends Auth_Controller
$this->outputJson($json);
}
+ /**
+ * Sendet bei einer neuen ZGV Prüfung die Mail raus an den Studiengang
+ */
+ private function sendZgvMail($mail, $typ){
+ $data = array(
+ 'link' => site_url('system/infocenter/ZGVUeberpruefung')
+ );
+
+ $this->load->helper('hlp_sancho');
+
+ sendSanchoMail(
+ ($typ === 'm' ? self::ZGVPRUEFUNG_MAIL_VORLAGE_MASTER : self::ZGVPRUEFUNG_MAIL_VORLAGE),
+ $data,
+ $mail,
+ 'ZGV Ueberpruefung',
+ 'sancho_header_min_bw.jpg',
+ 'sancho_footer_min_bw.jpg'
+ );
+ }
+
+ /**
+ * Der Status von den ZGV wird geupdated
+ */
+ public function zgvStatusUpdate()
+ {
+ $prestudent_id = $this->input->post('prestudent_id');
+ $person_id = $this->input->post('person_id');
+ $status = $this->input->post('status');
+
+ if (isEmptyString($prestudent_id) || isEmptyString($person_id) || isEmptyString($status))
+ $this->terminateWithJsonError('Some data is missing');
+
+ $personInfos = $this->PrestudentModel->getPrestudentWithZgv($prestudent_id);
+
+ if (!hasData($personInfos))
+ $this->terminateWithJsonError('Person id nicht gefunden');
+
+ $personInfos = getData($personInfos);
+
+ $zgv = $this->ZGVPruefungStatusModel->getZgvStatusByPrestudent($prestudent_id);
+
+ if (!hasData($zgv))
+ $this->terminateWithJsonError('ZGV-Status nicht gefunden');
+
+ $zgv = getData($zgv);
+
+ if ($zgv[0]->status === 'rejected' && $status === 'rejected')
+ $this->terminateWithJsonError('Bereits abgelehnt worden');
+ elseif ($zgv[0]->status === 'accepted' && $status === 'accepted')
+ $this->terminateWithJsonError('Bereits akzeptiert worden');
+
+ $insert = $this->ZGVPruefungStatusModel->insert(
+ array(
+ 'zgvpruefung_id' => $zgv[0]->zgvpruefung_id,
+ 'status' => $status
+ )
+ );
+
+ $update = $this->ZGVPruefungModel->update(
+ $zgv[0]->zgvpruefung_id,
+ array(
+ 'updateamum' => date('Y-m-d H:i:s'),
+ 'updatevon' => $this->_uid
+ )
+ );
+
+ if (isError($insert) || isError($update))
+ $this->terminateWithJsonError('Fehler beim Speichern');
+
+ $allZgvs = $this->ZGVPruefungStatusModel->getOpenZgvByPerson($personInfos->person_id, array('pruefung_stg'));
+ $openZgv = false;
+
+ if (hasData($allZgvs))
+ $openZgv = true;
+
+ $this->_log($person_id, 'updatezgv', array($zgv[0]->zgvpruefung_id, $status));
+
+ $this->outputJsonSuccess(
+ array
+ (
+ 'msg' => 'Erfolgreich gespeichert',
+ 'person_id' => $personInfos->person_id,
+ 'openZgv' => $openZgv
+ )
+ );
+
+ }
+
+ /**
+ * Fügt einen neuen ZGV Status hinzu oder updated einen bestehenden
+ * Falls es erfolgreich war, sendet er die Mail raus
+ */
+ public function zgvRueckfragen()
+ {
+ $prestudent_id = $this->input->post('prestudent_id');
+ $person_id = $this->input->post('person_id');
+
+ if (isEmptyString($prestudent_id) || isEmptyString($person_id))
+ $this->terminateWithJsonError('Prestudentid OR/AND Personid missing');
+
+ $zgv = $this->ZGVPruefungStatusModel->getZgvStatusByPrestudent($prestudent_id);
+
+ $data = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
+ $mail = $data['studiengang_mail'];
+ $typ = $data['studiengang_typ'];
+
+ if (hasData($zgv))
+ {
+ $zgv = getData($zgv);
+
+ if ($zgv[0]->status === 'pruefung_stg')
+ $this->terminateWithJsonError('Bereits in Prüfung');
+
+ $insert = $this->ZGVPruefungStatusModel->insert(
+ array(
+ 'zgvpruefung_id' => $zgv[0]->zgvpruefung_id,
+ 'status' => 'pruefung_stg'
+ )
+ );
+
+ $this->ZGVPruefungModel->update(
+ $zgv[0]->zgvpruefung_id,
+ array(
+ 'updateamum' => date('Y-m-d H:i:s'),
+ 'updatevon' => $this->_uid
+ )
+ );
+
+ $this->_log($person_id, 'updatezgv', array($zgv[0]->zgvpruefung_id, 'pruefung_stg'));
+
+ if (isSuccess($insert))
+ $this->sendZgvMail($mail, $typ);
+ elseif (isError($insert))
+ $this->terminateWithJsonError('Fehler beim Speichern');
+ }else
+ {
+ $insert = $this->ZGVPruefungModel->insert(
+ array(
+ 'prestudent_id' => $prestudent_id,
+ 'insertamum' => date('Y-m-d H:i:s'),
+ 'insertvon' => $this->_uid
+ )
+ );
+
+ if (isSuccess($insert))
+ {
+ $zgvpruefung_id = $this->ZGVPruefungModel->db->insert_id();
+ $result = $this->ZGVPruefungStatusModel->insert(
+ array(
+ 'zgvpruefung_id' => $zgvpruefung_id,
+ 'status' => 'pruefung_stg'
+ )
+ );
+
+ $this->_log($person_id, 'newzgv', array($zgvpruefung_id));
+
+ if (isSuccess($result))
+ $this->sendZgvMail($mail, $typ);
+ elseif (isError($result))
+ $this->terminateWithJsonError('Fehler beim Speichern');
+ }
+ }
+
+ $hold = false;
+ if ($this->personloglib->getOnHoldDate($person_id) !== null)
+ $hold = true;
+
+ $this->outputJsonSuccess(
+ array
+ (
+ 'msg' => 'Erfolgreich gespeichert',
+ 'person_id' => $data['person_id'],
+ 'hold' => $hold
+ )
+ );
+ }
+
/**
* Saves Absage for Prestudent including the reason for the Absage (statusgrund).
* inserts Studiensemester and Ausbildungssemester for the new Absage of (chronologically) last status.
@@ -1105,9 +1371,9 @@ class InfoCenter extends Auth_Controller
/**
* Define the navigation menu for the showDetails page
*/
- private function _setNavigationMenuShowDetails()
+ private function _setNavigationMenuShowDetails($page = self::SHOW_DETAILS_PAGE)
{
- $this->load->library('NavigationLib', array(self::NAVIGATION_PAGE => self::INFOCENTER_URI.'/'.self::SHOW_DETAILS_PAGE));
+ $this->load->library('NavigationLib', array(self::NAVIGATION_PAGE => self::INFOCENTER_URI.'/'.$page));
$origin_page = $this->input->get(self::ORIGIN_PAGE);
@@ -1120,6 +1386,8 @@ class InfoCenter extends Auth_Controller
{
$link = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE);
}
+ if ($origin_page === self::ZGV_UBERPRUEFUNG_PAGE)
+ $link = site_url(self::ZGV_UEBERPRUEFUNG_URI);
$prevFilterId = $this->input->get(self::PREV_FILTER_ID);
if (isset($prevFilterId))
@@ -1468,8 +1736,20 @@ class InfoCenter extends Auth_Controller
$zgvpruefung->changedown = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, 1);
}
}
+ $zgvExist = $this->ZGVPruefungModel->loadWhere(array('prestudent_id' => $zgvpruefung->prestudent_id));
- $zgvpruefungen[] = $zgvpruefung;
+ if (isSuccess($zgvExist) && hasData($zgvExist))
+ {
+ $this->ZGVPruefungStatusModel->addOrder('datum', 'DESC');
+ $this->ZGVPruefungStatusModel->addLimit(1);
+
+ $statusZGV = $this->ZGVPruefungStatusModel->loadWhere(array('zgvpruefung_id' => $zgvExist->retval[0]->zgvpruefung_id));
+
+ if (isSuccess($statusZGV) && hasData($statusZGV))
+ $zgvpruefung->statusZGV = $statusZGV->retval[0]->status;
+ }
+
+ $zgvpruefungen[] = $zgvpruefung;
}
$this->_sortPrestudents($zgvpruefungen);
@@ -1592,8 +1872,10 @@ class InfoCenter extends Auth_Controller
$person_id = $prestudentdata->person_id;
$studiengang_kurzbz = $prestudentdata->studiengang;
$studiengang_bezeichnung = $prestudentdata->studiengangbezeichnung;
+ $studiengang_mail = $prestudentdata->studiengangmail;
+ $studiengang_typ = $prestudentdata->studiengangtyp;
- return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung);
+ return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung, 'studiengang_mail' => $studiengang_mail, 'studiengang_typ' => $studiengang_typ);
}
/**
diff --git a/application/controllers/system/infocenter/ZGVUeberpruefung.php b/application/controllers/system/infocenter/ZGVUeberpruefung.php
new file mode 100644
index 000000000..bb0c36b66
--- /dev/null
+++ b/application/controllers/system/infocenter/ZGVUeberpruefung.php
@@ -0,0 +1,55 @@
+ 'lehre/zgvpruefung:r',
+ 'getZgvStatusByPrestudent' => 'lehre/zgvpruefung:r'
+ )
+ );
+ $this->load->model('crm/ZGVPruefungStatus_model', 'ZGVPruefungStatusModel');
+ $this->load->model('crm/ZGVPruefung_model', 'ZGVPruefungModel');
+
+ $this->load->library('WidgetLib');
+
+ $this->setControllerId();
+ $this->loadPhrases(
+ array(
+ 'infocenter'
+ )
+ );
+ }
+
+ public function index()
+ {
+ $this->load->view('system/infocenter/infocenterZgvUeberpruefung.php');
+ }
+
+ public function getZgvStatusByPrestudent()
+ {
+ $prestudent_id = $this->input->get('prestudent_id');
+
+ $zgvExist = $this->ZGVPruefungModel->loadWhere(array('prestudent_id' => $prestudent_id));
+
+ if (!hasData($zgvExist))
+ $this->terminateWithJsonError('no ZGV exist');
+
+ $status = $this->ZGVPruefungStatusModel->getZgvStatus(getData($zgvExist)[0]->zgvpruefung_id);
+
+ if (!hasData($status))
+ $this->terminateWithJsonError('No status');
+
+ $status = getData($status)[0]->status;
+
+ $this->outputJsonSuccess($status);
+ }
+}
\ No newline at end of file
diff --git a/application/libraries/VariableLib.php b/application/libraries/VariableLib.php
index 2f038531b..a503eb999 100644
--- a/application/libraries/VariableLib.php
+++ b/application/libraries/VariableLib.php
@@ -100,6 +100,18 @@ class VariableLib
return $result;
}
+ public function changeStudengangsTypVar($uid, $name, $change)
+ {
+ $result = error('error when setting variable!');
+
+ if (isEmptyString($uid) || isEmptyString($name) || isEmptyString($change))
+ return $result;
+
+ $result = $this->_ci->VariableModel->setVariable($uid, $name, $change);
+ $this->_setVariable($uid, $name);
+ return $result;
+ }
+
/**
* "Refreshes" variable value with given name by retrieving current value from db and saving it.
* @param $uid
diff --git a/application/models/crm/ZGVPruefungStatus_model.php b/application/models/crm/ZGVPruefungStatus_model.php
new file mode 100644
index 000000000..5c51e45d8
--- /dev/null
+++ b/application/models/crm/ZGVPruefungStatus_model.php
@@ -0,0 +1,50 @@
+dbTable = 'public.tbl_zgvpruefungstatus_status';
+ $this->pk = 'zgv_pruefung_status_id';
+ $this->hasSequence = true;
+ }
+
+ public function getZgvStatus($zgvpruefung_id)
+ {
+ $this->addOrder('datum', 'DESC');
+ $this->addLimit(1);
+
+ return $this->loadWhere(array('zgvpruefung_id' => $zgvpruefung_id));
+ }
+
+ public function getZgvStatusByPrestudent($prestudent_id)
+ {
+ $this->addJoin('public.tbl_zgvpruefung', 'zgvpruefung_id');
+ $this->addOrder($this->dbTable . '.datum', 'DESC');
+ $this->addLimit(1);
+ return $this->loadWhere(array('prestudent_id' => $prestudent_id));
+ }
+
+ public function getOpenZgvByPerson($person_id, $status)
+ {
+ $query = 'SELECT status.zgvpruefung_id, status.datum, status.status
+ FROM public.tbl_zgvpruefungstatus_status status
+ INNER JOIN
+ (
+ SELECT zgvpruefung_id, max(datum) as MaxDate
+ FROM public.tbl_zgvpruefungstatus_status
+ GROUP BY zgvpruefung_id
+ ) sub ON status.zgvpruefung_id = sub.zgvpruefung_id AND status.datum = sub.MaxDate
+ JOIN public.tbl_zgvpruefung ON status.zgvpruefung_id = public.tbl_zgvpruefung.zgvpruefung_id
+ JOIN public.tbl_prestudent USING (prestudent_id)
+ WHERE person_id = ?
+ AND status.status IN ?';
+
+ return $this->execQuery($query, array($person_id, $status));
+ }
+}
\ No newline at end of file
diff --git a/application/models/crm/ZGVPruefung_model.php b/application/models/crm/ZGVPruefung_model.php
new file mode 100644
index 000000000..f8fd0a9ad
--- /dev/null
+++ b/application/models/crm/ZGVPruefung_model.php
@@ -0,0 +1,17 @@
+dbTable = 'public.tbl_zgvpruefung';
+ $this->pk = 'zgvpruefung_id';
+ $this->hasSequence = true;
+ }
+
+}
\ No newline at end of file
diff --git a/application/models/person/Notiz_model.php b/application/models/person/Notiz_model.php
index 2e09875d8..fd08cc384 100644
--- a/application/models/person/Notiz_model.php
+++ b/application/models/person/Notiz_model.php
@@ -154,9 +154,11 @@ class Notiz_model extends DB_Model
{
// Join with the table public.tbl_notizzuordnung using notiz_id
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
- $this->addOrder('insertamum', 'DESC');
+ $this->addJoin('public.tbl_prestudent', 'prestudent_id', 'LEFT');
+ $this->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
+ $this->addOrder('public.tbl_notiz.insertamum', 'DESC');
- return $this->loadWhere(array('person_id' => $person_id, 'titel LIKE' => $titel));
+ return $this->loadWhere(array('public.tbl_notizzuordnung.person_id' => $person_id, 'titel LIKE' => $titel));
}
/**
diff --git a/application/models/system/Variablenname_model.php b/application/models/system/Variablenname_model.php
index 7b2a2cf88..869a03275 100644
--- a/application/models/system/Variablenname_model.php
+++ b/application/models/system/Variablenname_model.php
@@ -11,7 +11,8 @@ class Variablenname_model extends DB_Model
ORDER BY studienjahr_kurzbz, start
) sem
WHERE start > now()
- LIMIT 1;'
+ LIMIT 1;',
+ 'infocenter_studiensgangtyp' => 'SELECT infocenter_studiensgangtyp FROM public.tbl_variablenname LIMIT 1'
);
/**
diff --git a/application/views/system/infocenter/anmerkungenZurBewerbung.php b/application/views/system/infocenter/anmerkungenZurBewerbung.php
index 85682d2a4..508f041de 100644
--- a/application/views/system/infocenter/anmerkungenZurBewerbung.php
+++ b/application/views/system/infocenter/anmerkungenZurBewerbung.php
@@ -15,6 +15,7 @@
insertamum), 'd.m.Y H:i:s') ?>
+ kurzbzlang)) ?: print_r('(' . nl2br($notiz->kurzbzlang) . ') - ') ?>
text) ?>
|
diff --git a/application/views/system/infocenter/dokpruefung.php b/application/views/system/infocenter/dokpruefung.php
index b7b22150f..7ee77e815 100644
--- a/application/views/system/infocenter/dokpruefung.php
+++ b/application/views/system/infocenter/dokpruefung.php
@@ -6,7 +6,10 @@
p->t('global','typ')) ?> |
p->t('global','uploaddatum')) ?> |
p->t('infocenter','ausstellungsnation')) ?> |
- p->t('infocenter','formalGeprueft')) ?> |
+ " . ucfirst($this->p->t('infocenter','formalGeprueft')) . ""
+ ?>
@@ -19,7 +22,7 @@
titel) ? $dokument->bezeichnung : $dokument->titel ?>
- |
erstelltam), 'd.m.Y') ?> |
langtext ?> |
-
- >
-
- formal_geprueft_amum) ? date_format(date_create($dokument->formal_geprueft_amum), 'd.m.Y') : ''; ?>
-
- |
+
+
+ >
+
+ formal_geprueft_amum) ? date_format(date_create($dokument->formal_geprueft_amum), 'd.m.Y') : ''; ?>
+
+ |
+
diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php
index 4660cba6c..4dd897f7f 100644
--- a/application/views/system/infocenter/infocenterData.php
+++ b/application/views/system/infocenter/infocenterData.php
@@ -1,16 +1,17 @@
config->load('infocenter');
$APP = '\'infocenter\'';
$REJECTED_STATUS = '\'Abgewiesener\'';
$INTERESSENT_STATUS = '\'Interessent\'';
- $STUDIENGANG_TYP = '\'m\'';
+ $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\', \'Interessent rejected\'';
$LOGDATA_NAME_PARKED = '\'Parked\'';
$LOGDATA_NAME_ONHOLD = '\'Onhold\'';
$LOGTYPE_KURZBZ = '\'Processstate\'';
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
- $ADDITIONAL_STG = '10021,10027';
+ $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$AKTE_TYP = '\'identity\', \'zgv_bakk\'';
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
@@ -220,7 +221,24 @@
WHERE ps.person_id = p.person_id
ORDER BY ps.zgvmanation DESC NULLS LAST, ps.prestudent_id DESC
LIMIT 1
- ) AS "ZGVMNation"
+ ) AS "ZGVMNation",
+ (
+ SELECT tbl_organisationseinheit.bezeichnung
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
+ WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now())
+ AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now())
+ AND tbl_benutzerfunktion.uid = (
+ SELECT l.insertvon
+ FROM system.tbl_log l
+ WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
+ AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
+ AND l.person_id = p.person_id
+ ORDER BY l.zeitpunkt DESC
+ LIMIT 1
+ )
+ LIMIT 1
+ ) AS "InfoCenterMitarbeiter"
FROM public.tbl_person p
LEFT JOIN (
SELECT tpl.person_id,
@@ -306,7 +324,8 @@
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'nichtGesendet').')',
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'aktiv').')',
'ZGV Nation BA',
- 'ZGV Nation MA'
+ 'ZGV Nation MA',
+ 'InfoCenter Mitarbeiter'
),
'formatRow' => function($datasetRaw) {
@@ -393,6 +412,15 @@
$datasetRaw->{'ZGVMNation'} = '-';
}
+ if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter')
+ {
+ $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
+ }
+ else
+ {
+ $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
+ }
+
return $datasetRaw;
},
'markRow' => function($datasetRaw) {
diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php
index d8e7c21d2..a448e95ce 100644
--- a/application/views/system/infocenter/infocenterDetails.php
+++ b/application/views/system/infocenter/infocenterDetails.php
@@ -25,7 +25,8 @@
'public/js/bootstrapper.js',
'public/js/tablesort/tablesort.js',
'public/js/infocenter/messageList.js',
- 'public/js/infocenter/infocenterDetails.js'
+ 'public/js/infocenter/infocenterDetails.js',
+ 'public/js/infocenter/zgvUeberpruefung.js'
),
'phrases' => array(
'infocenter' => array(
@@ -43,7 +44,11 @@
'nichtsZumEntfernen',
'fehlerBeimEntfernen',
'rueckstelldatumUeberschritten',
- 'parkenZurueckstellenInfo'
+ 'parkenZurueckstellenInfo',
+ 'zgvInPruefung',
+ 'zgvErfuellt',
+ 'zgvNichtErfuellt',
+ 'zgvErfuelltPruefung'
),
'ui' => array(
'gespeichert',
diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php
index 93e524d2c..c3b745cf3 100644
--- a/application/views/system/infocenter/infocenterFreigegebenData.php
+++ b/application/views/system/infocenter/infocenterFreigegebenData.php
@@ -1,12 +1,13 @@
config->load('infocenter');
$APP = '\'infocenter\'';
$INTERESSENT_STATUS = '\'Interessent\'';
- $STUDIENGANG_TYP = '\'b\'';
+ $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
$REJECTED_STATUS = '\'Abgewiesener\'';
- $ADDITIONAL_STG = '10021,10027,10002';
+ $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
@@ -217,7 +218,24 @@
WHERE ps.person_id = p.person_id
ORDER BY ps.zgvmanation DESC NULLS LAST, ps.prestudent_id DESC
LIMIT 1
- ) AS "ZGVMNation"
+ ) AS "ZGVMNation",
+ (
+ SELECT tbl_organisationseinheit.bezeichnung
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
+ WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now())
+ AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now())
+ AND tbl_benutzerfunktion.uid = (
+ SELECT l.insertvon
+ FROM system.tbl_log l
+ WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
+ AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
+ AND l.person_id = p.person_id
+ ORDER BY l.zeitpunkt DESC
+ LIMIT 1
+ )
+ LIMIT 1
+ ) AS "InfoCenterMitarbeiter"
FROM public.tbl_person p
LEFT JOIN (
SELECT tpl.person_id,
@@ -286,7 +304,8 @@
'Reihungstest angemeldet',
'Reihungstest date',
'ZGV Nation BA',
- 'ZGV Nation MA'
+ 'ZGV Nation MA',
+ 'InfoCenter Mitarbeiter'
),
'formatRow' => function($datasetRaw) {
@@ -384,6 +403,16 @@
{
$datasetRaw->{'ZGVMNation'} = '-';
}
+
+ if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter')
+ {
+ $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
+ }
+ else
+ {
+ $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
+ }
+
return $datasetRaw;
},
'markRow' => function($datasetRaw) {
diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
index 7ac66e71a..9deedb118 100644
--- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
+++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
@@ -1,11 +1,12 @@
config->load('infocenter');
$APP = '\'infocenter\'';
$INTERESSENT_STATUS = '\'Interessent\'';
- $STUDIENGANG_TYP = '\'b\'';
+ $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
- $ADDITIONAL_STG = '10021,10027';
+ $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$query = '
@@ -173,7 +174,24 @@
WHERE ps.person_id = p.person_id
ORDER BY ps.zgvmanation DESC NULLS LAST, ps.prestudent_id DESC
LIMIT 1
- ) AS "ZGVMNation"
+ ) AS "ZGVMNation",
+ (
+ SELECT tbl_organisationseinheit.bezeichnung
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
+ WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now())
+ AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now())
+ AND tbl_benutzerfunktion.uid = (
+ SELECT l.insertvon
+ FROM system.tbl_log l
+ WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
+ AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
+ AND l.person_id = p.person_id
+ ORDER BY l.zeitpunkt DESC
+ LIMIT 1
+ )
+ LIMIT 1
+ ) AS "InfoCenterMitarbeiter"
FROM public.tbl_person p
LEFT JOIN (
SELECT tpl.person_id,
@@ -233,7 +251,8 @@
'Reihungstest angemeldet',
'Reihungstest Datum',
'ZGV Nation BA',
- 'ZGV Nation MA'
+ 'ZGV Nation MA',
+ 'InfoCenter Mitarbeiter'
),
'formatRow' => function($datasetRaw) {
@@ -326,6 +345,16 @@
{
$datasetRaw->{'ZGVMNation'} = '-';
}
+
+ if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter')
+ {
+ $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
+ }
+ else
+ {
+ $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
+ }
+
return $datasetRaw;
},
'markRow' => function($datasetRaw) {
diff --git a/application/views/system/infocenter/infocenterZgvDetails.php b/application/views/system/infocenter/infocenterZgvDetails.php
new file mode 100644
index 000000000..a1362d2fa
--- /dev/null
+++ b/application/views/system/infocenter/infocenterZgvDetails.php
@@ -0,0 +1,235 @@
+load->view(
+ 'templates/FHC-Header',
+ array(
+ 'title' => 'InfocenterZgvDetails',
+ 'jquery' => true,
+ 'bootstrap' => true,
+ 'fontawesome' => true,
+ 'jqueryui' => true,
+ 'dialoglib' => true,
+ 'ajaxlib' => true,
+ 'tablesorter' => true,
+ 'tinymce' => true,
+ 'sbadmintemplate' => true,
+ 'addons' => true,
+ 'navigationwidget' => true,
+ 'udfs' => true,
+ 'widgets' => true,
+ 'customCSSs' => array(
+ 'public/css/sbadmin2/admintemplate.css',
+ 'public/css/sbadmin2/tablesort_bootstrap.css',
+ 'public/css/infocenter/infocenterDetails.css'
+ ),
+ 'customJSs' => array(
+ 'public/js/bootstrapper.js',
+ 'public/js/tablesort/tablesort.js',
+ 'public/js/infocenter/messageList.js',
+ 'public/js/infocenter/infocenterDetails.js',
+ 'public/js/infocenter/zgvUeberpruefung.js'
+ ),
+ 'phrases' => array(
+ 'infocenter' => array(
+ 'notizHinzufuegen',
+ 'notizAendern',
+ 'nichtsZumEntfernen',
+ 'fehlerBeimEntfernen',
+ 'zgvInPruefung',
+ 'zgvErfuellt',
+ 'zgvNichtErfuellt',
+ 'zgvErfuelltPruefung'
+ ),
+ 'ui' => array(
+ 'gespeichert',
+ 'fehlerBeimSpeichern'
+ ),
+ 'global' => array(
+ 'bis',
+ 'zeilen'
+ )
+ )
+ )
+ );
+?>
+
+
+
+ widgetlib->widget('NavigationWidget'); ?>
+
+
+
+
+
+
+
+
+
+
+
+
p->t('global', 'stammdaten')) ?>
+
+
+ load->view('system/infocenter/stammdaten.php'); ?>
+ load->view('system/infocenter/anmerkungenZurBewerbung.php'); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+ p->t('infocenter', 'dokumentenpruefung')) ?>
+
+
+
+ load->view('system/infocenter/dokpruefung.php', array('formalReadonly' => true)); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ p->t('global', 'nachrichten')) ?>
+
+
+
+
+ load->view('system/infocenter/messageList.php', $messages);
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ p->t('global', 'notizen'))?>
+
+
+
+
+
+
+ load->view('system/infocenter/addNotiz.php'); ?>
+
+
+ load->view('system/infocenter/notizen.php'); ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+load->view('templates/FHC-Footer'); ?>
diff --git a/application/views/system/infocenter/infocenterZgvUeberpruefung.php b/application/views/system/infocenter/infocenterZgvUeberpruefung.php
new file mode 100644
index 000000000..e0b8f9eae
--- /dev/null
+++ b/application/views/system/infocenter/infocenterZgvUeberpruefung.php
@@ -0,0 +1,49 @@
+load->view(
+ 'templates/FHC-Header',
+ array(
+ 'title' => 'Info Center',
+ 'jquery' => true,
+ 'jqueryui' => true,
+ 'jquerycheckboxes' => true,
+ 'bootstrap' => true,
+ 'fontawesome' => true,
+ 'sbadmintemplate' => true,
+ 'tablesorter' => true,
+ 'ajaxlib' => true,
+ 'filterwidget' => true,
+ 'navigationwidget' => true,
+ 'phrases' => array(
+ 'person' => array('vorname', 'nachname'),
+ 'global' => array('mailAnXversandt'),
+ 'ui' => array('bitteEintragWaehlen')
+ ),
+ 'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css', 'public/css/infocenter/infocenterZgv.css'),
+ 'customJSs' => array('public/js/bootstrapper.js')
+ )
+);
+?>
+
+
+
+
+ widgetlib->widget('NavigationWidget'); ?>
+
+
+
+
+
+ load->view('system/infocenter/infocenterZgvUeberpruefungData.php'); ?>
+
+
+
+
+
+
+load->view('templates/FHC-Footer'); ?>
diff --git a/application/views/system/infocenter/infocenterZgvUeberpruefungData.php b/application/views/system/infocenter/infocenterZgvUeberpruefungData.php
new file mode 100644
index 000000000..6614e6b2a
--- /dev/null
+++ b/application/views/system/infocenter/infocenterZgvUeberpruefungData.php
@@ -0,0 +1,75 @@
+getBerechtigungen($uid);
+$oeKurz = $rechte->getOEkurzbz('lehre/zgvpruefung');
+$oeKurz = '\''. implode('\',\'', $oeKurz) . '\'';
+
+$query = '
+ SELECT
+ ps.prestudent_id AS "PreStudentID",
+ p.vorname AS "Vorname",
+ p.nachname AS "Nachname",
+ sg.kurzbzlang AS "Studiengang",
+ zgvstatus.status as "Status"
+ FROM public.tbl_zgvpruefungstatus_status zgvstatus
+ JOIN public.tbl_zgvpruefung zgv USING (zgvpruefung_id)
+ JOIN public.tbl_prestudent ps USING (prestudent_id)
+ JOIN public.tbl_person p USING(person_id)
+ JOIN public.tbl_studiengang sg USING(studiengang_kz)
+ WHERE oe_kurzbz IN ('. $oeKurz .')
+ AND zgvstatus.datum IN (
+ SELECT MAX(zgvstatus.datum)
+ FROM public.tbl_zgvpruefungstatus_status zgvstatus GROUP BY zgvstatus.zgvpruefung_id)
+ ORDER BY ps.prestudent_id
+ ';
+
+$filterWidgetArray = array(
+ 'query' => $query,
+ 'app' => 'infocenter',
+ 'datasetName' => 'zgvUeberpruefung',
+ 'filter_id' => $this->input->get('filter_id'),
+ 'requiredPermissions' => 'lehre/zgvpruefung',
+ 'datasetRepresentation' => 'tablesorter',
+ 'additionalColumns' => array('Details'),
+ 'hideOptions' => true,
+ 'columnsAliases' => array(
+
+ ),
+ 'formatRow' => function($datasetRaw) {
+
+ /* NOTE: Dont use $this here for PHP Version compatibility */
+ $datasetRaw->{'Details'} = sprintf(
+ 'Details',
+ site_url('system/infocenter/InfoCenter/showZGVDetails'),
+ $datasetRaw->{'PreStudentID'},
+ 'ZGVUeberpruefung',
+ (isset($_GET['fhc_controller_id']) ? $_GET['fhc_controller_id'] : ''),
+ (isset($_GET['filter_id']) ? $_GET['filter_id'] : '')
+ );
+
+ switch ($datasetRaw->{'Status'})
+ {
+ case 'accepted' :
+ $datasetRaw->{'Status'} = $this->p->t('infocenter', 'zgvErfuellt');
+ break;
+ case 'rejected' :
+ $datasetRaw->{'Status'} = $this->p->t('infocenter', 'zgvNichtErfuellt');
+ break;
+ case 'accepted_pruefung' :
+ $datasetRaw->{'Status'} = $this->p->t('infocenter', 'zgvErfuelltPruefung');
+ break;
+ }
+
+ return $datasetRaw;
+ },
+);
+
+echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
+?>
diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php
index 41b549616..deffe7510 100644
--- a/application/views/system/infocenter/zgvpruefungen.php
+++ b/application/views/system/infocenter/zgvpruefungen.php
@@ -259,7 +259,7 @@
echo $this->widgetlib->widget(
'Zgvmaster_widget',
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmas_code),
- array('name' => 'zgvmas', 'id' => 'zgvmas')
+ array('name' => 'zgvmas', 'id' => 'zgvmas_'.$zgvpruefung->prestudent_id)
); ?>
@@ -272,7 +272,8 @@
?>
+ name="zgvmaort"
+ id="zgvmaort_prestudent_id ?>">
@@ -288,7 +289,8 @@
+ name="zgvmadatum"
+ id="zgvmadatum_prestudent_id ?>">
@@ -301,22 +303,31 @@
echo $this->widgetlib->widget(
'Nation_widget',
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmanation_code),
- array('name' => 'zgvmanation', 'id' => 'zgvmanation')
+ array('name' => 'zgvmanation', 'id' => 'zgvmanation_'.$zgvpruefung->prestudent_id)
); ?>
+
+ statusZGV))) ?: print_r('data-info="need"')?>>
+
+
-
+
+
+ statusZGV))) ?: print_r('data-info="need"')?>>
+
-
+
diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js
index 43f3315e0..f8e754cf7 100644
--- a/public/js/infocenter/infocenterDetails.js
+++ b/public/js/infocenter/infocenterDetails.js
@@ -213,6 +213,22 @@ var InfocenterDetails = {
$("#zgvort_" + prestudentid).val(zgvort);
$("#zgvdatum_" + prestudentid).val(gerzgvdatum);
$("#zgvnation_" + prestudentid).val(zgvnation);
+
+ var zgvmas_code = prestudent.zgvmas_code !== null ? prestudent.zgvmas_code : "null";
+ var zgvmaort = prestudent.zgvmaort !== null ? prestudent.zgvmaort : "";
+ var zgvmadatum = prestudent.zgvmadatum;
+ var gerzgvmadatum = "";
+ if (zgvmadatum !== null)
+ {
+ zgvmadatum = $.datepicker.parseDate("yy-mm-dd", prestudent.zgvmadatum);
+ gerzgvmadatum = $.datepicker.formatDate("dd.mm.yy", zgvmadatum);
+ }
+ var zgvmanation = prestudent.zgvmanation !== null ? prestudent.zgvmanation : "null";
+
+ $("#zgvmas_" + prestudentid).val(zgvmas_code);
+ $("#zgvmaort_" + prestudentid).val(zgvmaort);
+ $("#zgvmadatum_" + prestudentid).val(gerzgvmadatum);
+ $("#zgvmanation_" + prestudentid).val(zgvmanation);
}
else
{
@@ -227,6 +243,7 @@ var InfocenterDetails = {
}
);
},
+
saveZgv: function(data)
{
var zgvError = function(){
@@ -346,8 +363,9 @@ var InfocenterDetails = {
}
);
},
- saveNotiz: function(personid, data)
+ saveNotiz: function(personid, data, callback)
{
+ var callbackValue = data;
FHC_AjaxClient.ajaxCallPost(
CALLED_PATH + '/saveNotiz/' + encodeURIComponent(personid),
data,
@@ -357,6 +375,8 @@ var InfocenterDetails = {
{
InfocenterDetails._refreshNotizen();
InfocenterDetails._refreshLog();
+ if ($.isFunction(callback))
+ callback(callbackValue);
}
else
{
@@ -771,6 +791,10 @@ var InfocenterDetails = {
InfocenterDetails.zgvUebernehmen(personid, prestudentid, btn);
});
+ $('.notizModal').on('hidden.bs.modal', function () {
+ $(':input', this).val('');
+ });
+
//zgv speichern
$(".saveZgv").click(function ()
{
@@ -910,6 +934,8 @@ var InfocenterDetails = {
}
}
);
+
+ zgvUeberpruefung.checkAfterReload();
},
_refreshMessages: function()
{
diff --git a/public/js/infocenter/infocenterPersonDataset.js b/public/js/infocenter/infocenterPersonDataset.js
index 87a40c0f1..03d1d13a1 100644
--- a/public/js/infocenter/infocenterPersonDataset.js
+++ b/public/js/infocenter/infocenterPersonDataset.js
@@ -20,22 +20,30 @@ if (FHC_JS_DATA_STORAGE_OBJECT.called_method == 'index')
*/
var InfocenterPersonDataset = {
infocenter_studiensemester_variablename: 'infocenter_studiensemester',
+ infocenter_studienganstyp_variablename: 'infocenter_studiensgangtyp',
/**
* adds person table additional actions html (above and beneath it)
*/
- appendTableActionsHtml: function(infocenter_studiensemester)
+ appendTableActionsHtml: function(infocenter_studiensemester, infocenter_studiengangstyp)
{
var url = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + "/system/messages/Messages/writeTemplate";
var formHtml = '
';
$("#datasetActionsTop").before(formHtml);
- var studienSemesterHtml = '