mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
improved infocenter details, added bootstrap and admin theme (sb admin 2) , added zgv pruefung Status, Studiensemester and Ausbildungssemester, contacts in one table, nachzureichen and nachgereicht am columns
This commit is contained in:
@@ -2,8 +2,15 @@
|
||||
|
||||
if (! defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
/**
|
||||
* Class InfocenterDetails
|
||||
* shows aufnahme-related data for a person and its prestudents, enables document and zgv checks,
|
||||
* displays and saves Notizen for a person, logs aufnahme-related actions for a person
|
||||
*/
|
||||
class InfocenterDetails extends VileSci_Controller
|
||||
{
|
||||
//app name for logging
|
||||
const APP = 'aufnahme';
|
||||
|
||||
/**
|
||||
* constructor
|
||||
@@ -11,20 +18,13 @@ class InfocenterDetails extends VileSci_Controller
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
// Load models
|
||||
|
||||
$this->load->model('person/person_model', 'PersonModel');
|
||||
$this->load->model('person/kontakt_model', 'KontaktModel');
|
||||
$this->load->model('person/adresse_model', 'AdresseModel');
|
||||
$this->load->model('person/notiz_model', 'NotizModel');
|
||||
$this->load->model('person/notizzuordnung_model', 'NotizzuordnungModel');
|
||||
$this->load->model('crm/prestudent_model', 'PrestudentModel');
|
||||
$this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel');
|
||||
$this->load->model('crm/akte_model', 'AkteModel');
|
||||
$this->load->model('crm/statusgrund_model', 'StatusgrundModel');
|
||||
$this->load->model('codex/nation_model', 'NationModel');
|
||||
$this->load->model('codex/zgv_model', 'ZgvModel');
|
||||
$this->load->model('codex/zgvmaster_model', 'ZgvmasterModel');
|
||||
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
|
||||
|
||||
$this->load->library('DmsLib');
|
||||
$this->load->library('WidgetLib');
|
||||
@@ -33,53 +33,27 @@ class InfocenterDetails extends VileSci_Controller
|
||||
$this->load->helper('fhcauth');
|
||||
$this->load->helper('url');
|
||||
|
||||
$this->app = 'aufnahme';
|
||||
$this->uid = getAuthUID();
|
||||
if(!$this->uid)
|
||||
show_error('user authentification failed');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
//TODO error page
|
||||
}
|
||||
|
||||
/**
|
||||
* loads all necessary Person data: Stammdaten (name, svnr, contact, ...), Dokumente, Logs and Notizen
|
||||
* @param $person_id
|
||||
* @return array
|
||||
*/
|
||||
private function __loadPersonData($person_id)
|
||||
{
|
||||
$person = $this->PersonModel->load($person_id);
|
||||
$stammdaten = $this->PersonModel->getPersonStammdaten($person_id);
|
||||
|
||||
if ($person->error)
|
||||
if ($stammdaten->error)
|
||||
{
|
||||
show_error($person->retval);
|
||||
show_error($stammdaten->retval);
|
||||
}
|
||||
|
||||
$staatsbuergerschaft = $this->NationModel->load($person->retval[0]->staatsbuergerschaft);
|
||||
if ($staatsbuergerschaft->error)
|
||||
{
|
||||
show_error($staatsbuergerschaft->retval);
|
||||
}
|
||||
|
||||
$geburtsnation = $this->NationModel->load($person->retval[0]->geburtsnation);
|
||||
if ($geburtsnation->error)
|
||||
{
|
||||
show_error($geburtsnation->retval);
|
||||
}
|
||||
|
||||
$this->KontaktModel->addDistinct();
|
||||
$this->KontaktModel->addSelect('kontakttyp, kontakt');
|
||||
$kontakte = $this->KontaktModel->loadWhere(array('person_id' => $person_id));
|
||||
|
||||
if ($kontakte->error)
|
||||
{
|
||||
show_error($kontakte->retval);
|
||||
}
|
||||
|
||||
$adresse = $this->AdresseModel->loadWhere(array('person_id' => $person_id));
|
||||
|
||||
if ($adresse->error)
|
||||
{
|
||||
show_error($adresse->retval);
|
||||
}
|
||||
if(!isset($stammdaten->retval))
|
||||
return null;
|
||||
|
||||
$dokumente = $this->AkteModel->loadWhere(array('person_id' => $person_id));
|
||||
|
||||
@@ -88,41 +62,30 @@ class InfocenterDetails extends VileSci_Controller
|
||||
show_error($dokumente->retval);
|
||||
}
|
||||
|
||||
$logs = $this->personloglib->getLogs($person_id, $this->app);
|
||||
$logs = $this->personloglib->getLogs($person_id, $this::APP);
|
||||
|
||||
foreach($logs as $log)
|
||||
$log->logdata = json_decode($log->logdata);
|
||||
$notizen = $this->NotizModel->getNotiz($person_id);
|
||||
|
||||
$this->NotizzuordnungModel->addSelect('notiz_id');
|
||||
$notizzuordnung = $this->NotizzuordnungModel->loadWhere(array('person_id' => $person_id));
|
||||
|
||||
if ($notizzuordnung->error)
|
||||
if ($notizen->error)
|
||||
{
|
||||
show_error($notizzuordnung->retval);
|
||||
}
|
||||
|
||||
$notizen = array();
|
||||
|
||||
foreach ($notizzuordnung->retval as $notiz_id)
|
||||
{
|
||||
$notiz = $this->NotizModel->load($notiz_id->notiz_id);
|
||||
$notizen[] = $notiz->retval[0];
|
||||
show_error($notizen->retval);
|
||||
}
|
||||
|
||||
$data = array (
|
||||
'person' => $person->retval[0],
|
||||
'staatsbuergerschaft' => $staatsbuergerschaft->retval[0],
|
||||
'geburtsnation' => $geburtsnation->retval[0],
|
||||
'kontakte' => $kontakte->retval,
|
||||
'adresse' => isset($adresse->retval[0]) ? $adresse->retval[0] : null,
|
||||
'stammdaten' => $stammdaten->retval,
|
||||
'dokumente' => $dokumente->retval,
|
||||
'logs' => $logs,
|
||||
'notizen' => $notizen
|
||||
'notizen' => $notizen->retval
|
||||
);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* loads all necessary Prestudent data: Zgv data, Statusgruende
|
||||
* @param $person_id
|
||||
* @return array
|
||||
*/
|
||||
private function __loadPrestudentData($person_id)
|
||||
{
|
||||
$zgvpruefungen = [];
|
||||
@@ -136,117 +99,14 @@ class InfocenterDetails extends VileSci_Controller
|
||||
|
||||
foreach ($prestudenten->retval as $prestudent)
|
||||
{
|
||||
$zgvpruefung = new stdClass();
|
||||
$zgvpruefung->prestudent_id = $prestudent->prestudent_id;
|
||||
$prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent->prestudent_id);
|
||||
|
||||
//Prestudentstatus
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent->prestudent_id);
|
||||
|
||||
if ($lastStatus->error)
|
||||
if ($prestudent->error)
|
||||
{
|
||||
show_error($lastStatus->retval);
|
||||
show_error($prestudent->retval);
|
||||
}
|
||||
|
||||
$zgvpruefung->prestudentstatus = $lastStatus->retval[0];
|
||||
|
||||
// Studiengang
|
||||
$this->StudiengangModel->addSelect('kurzbzlang, bezeichnung, typ');//TODO need bezeichnung?
|
||||
$studiengang = $this->StudiengangModel->load($prestudent->studiengang_kz);
|
||||
|
||||
if ($studiengang->error)
|
||||
{
|
||||
show_error($studiengang->retval);
|
||||
}
|
||||
|
||||
$zgvpruefung->studiengang = $studiengang->retval[0]->kurzbzlang;
|
||||
$zgvpruefung->studiengangtyp = $studiengang->retval[0]->typ;
|
||||
|
||||
// Zgv
|
||||
if (isset($prestudent->zgv_code))
|
||||
{
|
||||
$this->ZgvModel->addSelect('zgv_code, zgv_bez');
|
||||
$zgv = $this->ZgvModel->load($prestudent->zgv_code);
|
||||
|
||||
if ($zgv->error)
|
||||
{
|
||||
show_error($zgv->retval);
|
||||
}
|
||||
|
||||
$zgvpruefung->zgv_code = $zgv->retval[0]->zgv_code;
|
||||
$zgvpruefung->zgv_bez = $zgv->retval[0]->zgv_bez;
|
||||
}
|
||||
else
|
||||
{
|
||||
$zgvpruefung->zgv_code = null;
|
||||
$zgvpruefung->zgv_bez = null;
|
||||
}
|
||||
$zgvpruefung->zgvort = $prestudent->zgvort;
|
||||
$zgvpruefung->zgvdatum = $prestudent->zgvdatum;
|
||||
|
||||
// Zgv Nation
|
||||
if (isset($prestudent->zgvnation))
|
||||
{
|
||||
$this->NationModel->addSelect('nation_code, kurztext');
|
||||
$zgvnation = $this->NationModel->load($prestudent->zgvnation);
|
||||
|
||||
if ($zgvnation->error)
|
||||
{
|
||||
show_error($zgvnation->retval);
|
||||
}
|
||||
|
||||
$zgvpruefung->zgvnation_code = $zgvnation->retval[0]->nation_code;
|
||||
$zgvpruefung->zgvnation_bez = $zgvnation->retval[0]->kurztext;
|
||||
}
|
||||
else
|
||||
{
|
||||
$zgvnation = null;
|
||||
$zgvpruefung->zgvnation_code = null;
|
||||
$zgvpruefung->zgvnation_bez = null;
|
||||
}
|
||||
|
||||
// Zgv Master
|
||||
if (isset($prestudent->zgvmas_code))
|
||||
{
|
||||
$this->ZgvmasterModel->addSelect('zgvmas_code, zgvmas_bez');
|
||||
$zgvmas = $this->ZgvmasterModel->load($prestudent->zgvmas_code);
|
||||
|
||||
if ($zgvmas->error)
|
||||
{
|
||||
show_error($zgvmas->retval);
|
||||
}
|
||||
$zgvpruefung->zgvmas_code = $zgvmas->retval[0]->zgvmas_code;
|
||||
$zgvpruefung->zgvmas_bez = $zgvmas->retval[0]->zgvmas_bez;
|
||||
}
|
||||
else
|
||||
{
|
||||
$zgvpruefung->zgvmas_code = null;
|
||||
$zgvpruefung->zgvmas_bez = null;
|
||||
}
|
||||
$zgvpruefung->zgvmaort = $prestudent->zgvmaort;
|
||||
$zgvpruefung->zgvmadatum = $prestudent->zgvmadatum;
|
||||
|
||||
// Zgv Master Nation
|
||||
if (isset($prestudent->zgvmanation))
|
||||
{
|
||||
$this->NationModel->addSelect('nation_code, kurztext');
|
||||
$zgvmanation = $this->NationModel->load($prestudent->zgvmanation);
|
||||
|
||||
if ($zgvmanation->error)
|
||||
{
|
||||
show_error($zgvmanation->retval);
|
||||
}
|
||||
|
||||
$zgvpruefung->zgvmanation_code = $zgvmanation->retval[0]->nation_code;
|
||||
$zgvpruefung->zgvmanation_bez = $zgvmanation->retval[0]->kurztext;
|
||||
}
|
||||
else
|
||||
{
|
||||
$zgvmanation = null;
|
||||
$zgvpruefung->zgvmanation_code = null;
|
||||
$zgvpruefung->zgvmanation_bez = null;
|
||||
}
|
||||
|
||||
$zgvpruefungen[] = $zgvpruefung;
|
||||
$zgvpruefungen[] = $prestudent->retval[0];
|
||||
}
|
||||
|
||||
//TODO replace with widget
|
||||
@@ -260,19 +120,33 @@ class InfocenterDetails extends VileSci_Controller
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* initialization function, gets person and prestudent data and loads the view with the data
|
||||
* @param $person_id
|
||||
*/
|
||||
public function showDetails($person_id)
|
||||
{
|
||||
if(!is_numeric($person_id))
|
||||
show_error('person id is not numeric!');
|
||||
$persondata = $this->__loadPersonData($person_id);
|
||||
if(!isset($persondata))
|
||||
show_error('person does not exist!');
|
||||
$prestudentdata = $this->__loadPrestudentData($person_id);
|
||||
$this->load->view('system/infocenter/infocenterDetails.php', array_merge($persondata, $prestudentdata));
|
||||
}
|
||||
|
||||
/**
|
||||
* saves if a document has been formal geprueft. saves current timestamp if checked as geprueft, or null if not.
|
||||
*/
|
||||
public function saveFormalGeprueft()
|
||||
{
|
||||
$akte_id = $this->input->get('akte_id');
|
||||
$formalgeprueft = $this->input->get('formal_geprueft');
|
||||
$person_id = $this->input->get('person_id');
|
||||
|
||||
if(!isset($akte_id) || !isset($formalgeprueft) || !isset($person_id))
|
||||
show_error('Parameters not set!');
|
||||
|
||||
$akte = $this->AkteModel->load($akte_id);
|
||||
|
||||
if ($akte->error)
|
||||
@@ -280,23 +154,28 @@ class InfocenterDetails extends VileSci_Controller
|
||||
show_error($akte->retval);
|
||||
}
|
||||
|
||||
$timestamp = (isset($formalgeprueft) && $formalgeprueft === 'true')? date('Y-m-d H:i:s') : null;
|
||||
$this->AkteModel->update($akte_id, array('formal_geprueft_amum' => $timestamp));
|
||||
$timestamp = ($formalgeprueft === 'true') ? date('Y-m-d H:i:s') : null;
|
||||
$result = $this->AkteModel->update($akte_id, array('formal_geprueft_amum' => $timestamp));
|
||||
|
||||
if ($result->error)
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
//write person log
|
||||
$this->personloglib->log($person_id, 'Action', array('name' => 'Dokument formal geprüft', 'message' => 'Dokument'.$akte->titel.' formal geprüft, gesetzt auf '.(is_null($timestamp) ? 'NULL' : $timestamp), 'success' => 'true'), $this->app, null, $this->uid);
|
||||
|
||||
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id);
|
||||
$this->personloglib->log($person_id, 'Action', array('name' => 'Dokument formal geprüft', 'message' => 'Dokument '.$akte->titel.' formal geprüft, gesetzt auf '.(is_null($timestamp) ? 'NULL' : $timestamp), 'success' => 'true'), $this::APP, null, $this->uid);
|
||||
//redirect to start page
|
||||
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#DokPruef');
|
||||
}
|
||||
|
||||
/**
|
||||
* saves a zgv for a prestudent. includes Ort, Datum, Nation for bachelor and master.
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function saveZgvPruefung($prestudent_id)
|
||||
{
|
||||
// prestudentdata
|
||||
$studiensemester = $this->input->post('studiensemester') === 'null' ? null : $this->input->post('studiensemester');
|
||||
$ausbildungssemester = $this->input->post('ausbildungssemester');
|
||||
|
||||
// zgvdata
|
||||
$zgv_code = $this->input->post('zgv') === 'null' ? null : $this->input->post('zgv');
|
||||
$zgv_code = $this->input->post('zgv') === 'null' ? null : $this->input->post('zgv');//check for string null, in case dropdown changed to default value
|
||||
$zgvort = $this->input->post('zgvort');
|
||||
$zgvdatum = $this->input->post('zgvdatum');
|
||||
$zgvdatum = empty($zgvdatum) ? null : date_format(date_create($zgvdatum), 'Y-m-d');
|
||||
@@ -309,20 +188,6 @@ class InfocenterDetails extends VileSci_Controller
|
||||
$zgvmadatum = empty($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);
|
||||
|
||||
if ($lastStatus->error)
|
||||
{
|
||||
show_error($lastStatus->retval);
|
||||
}
|
||||
|
||||
$result = $this->PrestudentstatusModel->update(array('prestudent_id' => $prestudent_id, 'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz, 'ausbildungssemester' => $lastStatus->retval[0]->ausbildungssemester), array('studiensemester_kurzbz' => $studiensemester, 'ausbildungssemester' => $ausbildungssemester));
|
||||
|
||||
if ($result->error)
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$result = $this->PrestudentModel->update($prestudent_id, array('zgv_code' => $zgv_code, 'zgvort' => $zgvort, 'zgvdatum' => $zgvdatum, 'zgvnation' => $zgvnation_code,
|
||||
'zgvmas_code' => $zgvmas_code, 'zgvmaort' => $zgvmaort, 'zgvmadatum' => $zgvmadatum, 'zgvmanation' => $zgvmanation_code));
|
||||
|
||||
@@ -331,15 +196,22 @@ class InfocenterDetails extends VileSci_Controller
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
//get extended Prestudent data for logging
|
||||
$logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
$this->personloglib->log($logdata['person_id'], 'Action', array('name' => 'Zgv gespeichert', 'message' => 'Zgv für Studiengang '.$logdata['studiengang_kurzbz'].' wurde gespeichert ', 'success' => 'true'), $this->app, null, $this->uid);
|
||||
$this->personloglib->log($logdata['person_id'], 'Action', array('name' => 'Zgv gespeichert', 'message' => 'Zgv für Studiengang '.$logdata['studiengang_kurzbz'].' wurde gespeichert', 'success' => 'true'), $this::APP, null, $this->uid);
|
||||
|
||||
$this->__redirectToStart($prestudent_id);
|
||||
$this->__redirectToStart($prestudent_id, 'ZgvPruef');
|
||||
}
|
||||
|
||||
/**
|
||||
* saves Absage for Prestudent including the reason for the Absage (statusgrund).
|
||||
* inserts Studiensemester and Ausbildungssemester for the new Absage of (chronologically) last status.
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function saveAbsage($prestudent_id)
|
||||
{
|
||||
//TODO email messaging
|
||||
$statusgrund = $this->input->post('statusgrund');
|
||||
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
@@ -358,11 +230,16 @@ class InfocenterDetails extends VileSci_Controller
|
||||
|
||||
$logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
$this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent abgewiesen', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' abgewiesen', 'success' => 'true'), $this->app, null, $this->uid);
|
||||
$this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent abgewiesen', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' abgewiesen', 'success' => 'true'), $this::APP, null, $this->uid);
|
||||
|
||||
$this->__redirectToStart($prestudent_id);
|
||||
$this->__redirectToStart($prestudent_id, 'ZgvPruef');
|
||||
}
|
||||
|
||||
/**
|
||||
* saves Freigabe of a Prestudent to the Studiengang.
|
||||
* updates bestaetigtam and bestaetigtvon fields of the last status
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function saveFreigabe($prestudent_id)
|
||||
{
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
@@ -382,11 +259,15 @@ class InfocenterDetails extends VileSci_Controller
|
||||
|
||||
$logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
$this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent freigegeben', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' freigegeben', 'success' => 'true'), $this->app, null, $this->uid);
|
||||
$this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent freigegeben', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' freigegeben', 'success' => 'true'), $this::APP, null, $this->uid);
|
||||
|
||||
$this->__redirectToStart($prestudent_id);
|
||||
$this->__redirectToStart($prestudent_id, 'ZgvPruef');
|
||||
}
|
||||
|
||||
/**
|
||||
* saves a new Notiz for a person
|
||||
* @param $person_id
|
||||
*/
|
||||
public function saveNotiz($person_id)
|
||||
{
|
||||
$titel = $this->input->post('notiztitel');
|
||||
@@ -395,11 +276,15 @@ class InfocenterDetails extends VileSci_Controller
|
||||
|
||||
$this->NotizModel->addNotizForPerson($person_id, $titel, $text, $erledigt, $this->uid);
|
||||
|
||||
$this->personloglib->log($person_id, 'Action', array('name' => 'Notiz hinzugefügt', 'message' => 'Notiz mit Titel '.$titel.' wurde hinzugefügt', 'success' => 'true'), $this->app, null, $this->uid);
|
||||
$this->personloglib->log($person_id, 'Action', array('name' => 'Notiz hinzugefügt', 'message' => 'Notiz mit Titel '.$titel.' wurde hinzugefügt', 'success' => 'true'), $this::APP, null, $this->uid);
|
||||
|
||||
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id);
|
||||
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#NotizAkt');
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs content of an Akte, sends appropriate headers (so the document can be downloaded)
|
||||
* @param $akte_id
|
||||
*/
|
||||
public function outputAkteContent($akte_id)
|
||||
{
|
||||
$akte = $this->AkteModel->load($akte_id);
|
||||
@@ -416,22 +301,34 @@ class InfocenterDetails extends VileSci_Controller
|
||||
show_error($aktecontent->retval);
|
||||
}
|
||||
|
||||
header("Content-type: ".$akte->retval[0]->mimetype);
|
||||
header('Content-Disposition: attachment; filename="'.$akte->retval[0]->titel.'"');
|
||||
echo $aktecontent->retval;
|
||||
$this->output
|
||||
->set_status_header(200)
|
||||
->set_content_type($akte->retval[0]->mimetype, 'utf-8')
|
||||
->set_header('Content-Disposition: attachment; filename="'.$akte->retval[0]->titel.'"')
|
||||
->set_output($aktecontent->retval)
|
||||
->_display();
|
||||
}
|
||||
|
||||
private function __redirectToStart($prestudent_id)
|
||||
/**
|
||||
* helper function for redirecting to initial page for person from a prestudent-specific page
|
||||
* @param $prestudent_id
|
||||
* @param $section optional section of the page to go to
|
||||
*/
|
||||
private function __redirectToStart($prestudent_id, $section = '')
|
||||
{
|
||||
$this->PrestudentModel->addSelect('person_id');
|
||||
$person_id = $this->PrestudentModel->load($prestudent_id)->retval[0]->person_id;
|
||||
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id);
|
||||
redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#'.$section);
|
||||
}
|
||||
|
||||
/**
|
||||
* helper function retrieves personid and studiengang kurzbz from a prestudent id
|
||||
* @param $prestudent_id
|
||||
* @return array
|
||||
*/
|
||||
private function __getPersonAndStudiengangFromPrestudent($prestudent_id)
|
||||
{
|
||||
$this->PrestudentModel->addSelect('person_id, studiengang_kz');
|
||||
$prestudent = $this->PrestudentModel->load($prestudent_id);
|
||||
$prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent_id);
|
||||
|
||||
if ($prestudent->error)
|
||||
{
|
||||
@@ -439,16 +336,7 @@ class InfocenterDetails extends VileSci_Controller
|
||||
}
|
||||
|
||||
$person_id = $prestudent->retval[0]->person_id;
|
||||
|
||||
$this->StudiengangModel->addSelect('kurzbzlang');//TODO need bezeichnung?
|
||||
$studiengang = $this->StudiengangModel->load($prestudent->retval[0]->studiengang_kz);
|
||||
|
||||
if ($studiengang->error)
|
||||
{
|
||||
show_error($studiengang->retval);
|
||||
}
|
||||
|
||||
$studiengang_kurzbz = $studiengang->retval[0]->kurzbzlang;
|
||||
$studiengang_kurzbz = $prestudent->retval[0]->studiengang;
|
||||
|
||||
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,8 @@ class PersonLogLib
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Logs for a Person, filtered by Parameters
|
||||
* Gets Logs for a Person, filtered by parameters.
|
||||
* Requirements for retrieving log: name is set
|
||||
* @param int $person_id ID of the Person.
|
||||
* @param string $app Name of the App.
|
||||
* @param string $oe_kurzbz Organisations Unit.
|
||||
@@ -55,8 +56,23 @@ class PersonLogLib
|
||||
public function getLogs($person_id, $app = null, $oe_kurzbz = null)
|
||||
{
|
||||
$result = $this->ci->PersonLogModel->filterLog($person_id, $app, $oe_kurzbz);
|
||||
|
||||
if (isSuccess($result))
|
||||
return $result->retval;
|
||||
{
|
||||
$decoded_logs = array();
|
||||
//decode logs
|
||||
foreach ($result->retval as $log)
|
||||
{
|
||||
$log->logdata = json_decode($log->logdata);
|
||||
//requirement - logname not null
|
||||
if (isset($log->logdata->name))
|
||||
{
|
||||
$decoded_logs[] = $log;
|
||||
}
|
||||
}
|
||||
|
||||
return $decoded_logs;
|
||||
}
|
||||
else
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
@@ -192,4 +192,38 @@ class Prestudent_model extends DB_Model
|
||||
|
||||
return $this->execQuery(sprintf($query, is_array($prestudent_id) ? 'IN' : '='), array($prestudent_id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gets extended zgv data (with bezeichnung) for a prestudent
|
||||
* includes last status, Studiengang, zgv, zgv master
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function getPrestudentWithZgv($prestudent_id)
|
||||
{
|
||||
$this->addSelect('tbl_prestudent.*, tbl_studiengang.kurzbzlang as studiengang, tbl_studiengang.typ as studiengangtyp, tbl_zgv.zgv_code, tbl_zgv.zgv_bez,
|
||||
tbl_prestudent.zgvort, tbl_prestudent.zgvdatum, tbl_prestudent.zgvnation as zgvnation_code,
|
||||
tbl_zgvmaster.zgvmas_code, tbl_zgvmaster.zgvmas_bez, tbl_prestudent.zgvmaort, tbl_prestudent.zgvmadatum, tbl_prestudent.zgvmanation as zgvmanation_code');
|
||||
$this->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
|
||||
$this->addJoin('bis.tbl_zgv', 'zgv_code', 'LEFT');
|
||||
$this->addJoin('bis.tbl_zgvmaster', 'zgvmas_code', 'LEFT');
|
||||
|
||||
$prestudent = $this->load($prestudent_id);
|
||||
if($prestudent->error)
|
||||
return error($prestudent->retval);
|
||||
|
||||
//Prestudentstatus
|
||||
$this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel');
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
|
||||
if ($lastStatus->error)
|
||||
{
|
||||
return error($lastStatus->retval);
|
||||
}
|
||||
|
||||
$prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0];
|
||||
|
||||
return success($prestudent->retval);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -131,5 +131,18 @@ class Notiz_model extends DB_Model
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* gets all Notizen for a person
|
||||
* @param $person_id
|
||||
*/
|
||||
public function getNotiz($person_id)
|
||||
{
|
||||
// Join with the table public.tbl_notizzuordnung using notiz_id
|
||||
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
|
||||
|
||||
return $this->loadWhere(array('person_id' => $person_id));
|
||||
}
|
||||
// ------------------------------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -152,4 +152,46 @@ class Person_model extends DB_Model
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* gets Stammdaten for a person, including contactdata in textform from other tables
|
||||
* nation, kontakt, adresse
|
||||
* @param $person_id
|
||||
* @return array
|
||||
*/
|
||||
public function getPersonStammdaten($person_id)
|
||||
{
|
||||
$this->addSelect('tbl_person.*, s.kurztext as staatsbuergerschaft, g.kurztext as geburtsnation');
|
||||
$this->addJoin('bis.tbl_nation s', 'tbl_person.staatsbuergerschaft = s.nation_code', 'LEFT');
|
||||
$this->addJoin('bis.tbl_nation g', 'tbl_person.geburtsnation = g.nation_code', 'LEFT');
|
||||
|
||||
$person = $this->load($person_id);
|
||||
|
||||
if($person->error)
|
||||
return error($person->retval);
|
||||
|
||||
//return null if not found
|
||||
if(count($person->retval) < 1)
|
||||
return success(null);
|
||||
|
||||
$this->load->model('person/kontakt_model', 'KontaktModel');
|
||||
$this->load->model('person/adresse_model', 'AdresseModel');
|
||||
|
||||
$this->KontaktModel->addDistinct();
|
||||
$this->KontaktModel->addSelect('kontakttyp, anmerkung, kontakt, zustellung');
|
||||
$this->KontaktModel->addOrder('kontakttyp');
|
||||
$kontakte = $this->KontaktModel->loadWhere(array('person_id' => $person_id));
|
||||
if($kontakte->error)
|
||||
return error($kontakte->retval);
|
||||
|
||||
$adressen = $this->AdresseModel->loadWhere(array('person_id' => $person_id));
|
||||
if($adressen->error)
|
||||
return error($adressen->retval);
|
||||
|
||||
$stammdaten = $person->retval[0];
|
||||
$stammdaten->kontakte = $kontakte->retval;
|
||||
$stammdaten->adressen = $adressen->retval;
|
||||
|
||||
return success($stammdaten);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,269 +1,499 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'InfocenterDetails', 'datepicker' => true, 'datepickerclass' => 'dateinput'/*, 'tablesort' => true, 'tableid' => 't1'*/));
|
||||
$this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', 'jquery3' => true, 'jqueryui' => true, 'bootstrap' => true, 'fontawesome' => true, 'datatables' => true, 'customCSSs' => 'vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css'/*, 'datepickerclass' => 'dateinput'*/));
|
||||
?>
|
||||
<body>
|
||||
<h2>Infocenter - Person Details</h2>
|
||||
|
||||
<fieldset>
|
||||
<legend>Stammdaten</legend>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Vorname: <?php echo $person->vorname ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nachname: <?php echo $person->nachname ?></td>
|
||||
</tr>
|
||||
<div id="page-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3 class="page-header">Infocenter - Person Details</h3>
|
||||
</div>
|
||||
</div>
|
||||
<section>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading text-center"><h4>Stammdaten</h4></div>
|
||||
<div class="panel-body">
|
||||
<!-- </div>
|
||||
<div class="row">-->
|
||||
<div class="col-md-6">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td><strong>Vorname</strong></td>
|
||||
<td><?php echo $stammdaten->vorname ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Nachname</strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->nachname ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Geburtsdatum</strong></td>
|
||||
<td>
|
||||
<?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Sozialversicherungsnr</strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->svnr ?></td>
|
||||
<tr>
|
||||
<td><strong>Staatsbürgerschaft</strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->staatsbuergerschaft ?></td>
|
||||
<tr>
|
||||
<td><strong>Geschlecht</strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->geschlecht ?></td>
|
||||
<tr>
|
||||
<td><strong>Geburtsnation</strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->geburtsnation ?></td>
|
||||
<tr>
|
||||
<td><strong>Geburtsort</strong></td>
|
||||
<td><?php echo $stammdaten->gebort ?></td>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<tr>
|
||||
<td>Geburtsdatum: <?php echo date_format(date_create($person->gebdatum), 'd.m.Y') ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sozialversicherungsnr: <?php echo $person->svnr ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Staatsbürgerschaft: <?php echo $staatsbuergerschaft->kurztext ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Geschlecht: <?php echo $person->geschlecht ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Geburtsnation: <?php echo $geburtsnation->kurztext ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Geburtsort: <?php echo $person->gebort ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">Kontaktdaten</td>
|
||||
</tr>
|
||||
<?php
|
||||
foreach ($kontakte as $kontakt):
|
||||
?>
|
||||
<tr>
|
||||
<td><?php
|
||||
echo ucfirst($kontakt->kontakttyp).': ';
|
||||
if ($kontakt->kontakttyp == 'email'):
|
||||
?>
|
||||
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
||||
<?php
|
||||
endif;
|
||||
echo $kontakt->kontakt;
|
||||
if ($kontakt->kontakttyp == 'email'):
|
||||
?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
endforeach
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
Adresse: <?php echo isset($adresse) ? $adresse->strasse.", ".$adresse->plz." ".$adresse->ort : "" ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Dokumentenprüfung</legend>
|
||||
<table border="1"><!-- id="t1" class = "tablesorter"-->
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
<th>Typ</th>
|
||||
<th>Uploaddatum</th>
|
||||
<th>formal geprüft</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($dokumente as $dokument):
|
||||
$geprueft = (isset($dokument->formal_geprueft_amum)) ? "checked" : "";
|
||||
?>
|
||||
<tr>
|
||||
<td><a href="../outputAkteContent/<?php echo $dokument->akte_id ?>"><?php echo $dokument->titel ?></a>
|
||||
</td>
|
||||
<td><?php echo $dokument->dokument_kurzbz ?></td>
|
||||
<td><?php echo date_format(date_create($dokument->erstelltam), 'd.m.Y') ?></td>
|
||||
<td>
|
||||
<input type="checkbox" <?php echo $geprueft ?>
|
||||
onclick="onFormalGeprueftChange(this.checked, <?php echo $dokument->akte_id ?>, <?php echo $person->person_id ?>)"/>
|
||||
<?php
|
||||
echo $dokument->formal_geprueft_amum;
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</fieldset>
|
||||
<?php foreach ($zgvpruefungen as $zgvpruefung): ?>
|
||||
<form method="post" action="../saveZgvPruefung/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<fieldset>
|
||||
<legend>ZGV Prüfung - Studiengang <?php echo $zgvpruefung->studiengang ?></legend>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<label>Letzter Status: </label>
|
||||
<?php echo $zgvpruefung->prestudentstatus->status_kurzbz?>
|
||||
</td>
|
||||
<td>
|
||||
<label>Freigegeben an Studiengang: </label>
|
||||
<?php echo isset($zgvpruefung->prestudentstatus->bestaetigtam) ? "ja" : "nein" ?>
|
||||
</td>
|
||||
<td>
|
||||
<label>Studiensemester: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->prestudentstatus->studiensemester_kurzbz),
|
||||
array('name' => 'studiensemester', 'id' => 'studiensemester')
|
||||
); ?>
|
||||
</td>
|
||||
<td>
|
||||
<label>Ausbildungssemester: </label>
|
||||
<input type="text" name="ausbildungssemester" value="<?php echo $zgvpruefung->prestudentstatus->ausbildungssemester ?>"
|
||||
<?php echo $zgvpruefung->prestudentstatus->ausbildungssemester ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label>ZGV: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Zgv_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code),
|
||||
array('name' => 'zgv', 'id' => 'zgv')
|
||||
); ?>
|
||||
</td>
|
||||
<td>
|
||||
<label>ZGV Ort: </label>
|
||||
<input type="text" value="<?php echo $zgvpruefung->zgvort ?>" name="zgvort">
|
||||
</td>
|
||||
<td>
|
||||
<label>ZGV Datum: </label>
|
||||
<input type="text" class="dateinput"
|
||||
value="<?php echo empty($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y') ?>"
|
||||
name="zgvdatum">
|
||||
</td>
|
||||
<td>
|
||||
<label>ZGV Nation: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Nation_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvnation_code),
|
||||
array('name' => 'zgvnation', 'id' => 'zgvnation')
|
||||
); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if($zgvpruefung->studiengangtyp === 'm') :?>
|
||||
<tr>
|
||||
<td>
|
||||
<label>ZGV Master: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Zgvmaster_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmas_code),
|
||||
array('name' => 'zgvmas', 'id' => 'zgvmas')
|
||||
); ?>
|
||||
</td>
|
||||
<td>
|
||||
<label>ZGV Master Ort: </label>
|
||||
<input type="text" value="<?php echo $zgvpruefung->zgvmaort ?>" name="zgvmaort">
|
||||
</td>
|
||||
<td>
|
||||
<label>ZGV Master Datum: </label>
|
||||
<input type="text" class="dateinput"
|
||||
value="<?php echo empty($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y') ?>"
|
||||
name="zgvmadatum">
|
||||
</td>
|
||||
<td>
|
||||
<label>ZGV Master Nation: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Nation_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmanation_code),
|
||||
array('name' => 'zgvmanation', 'id' => 'zgvmanation')
|
||||
); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="submit" value="Speichern"/>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
<!--<br />
|
||||
Berufstätigkeit:-->
|
||||
<div class="col-md-6">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4" class="text-center">Kontakte</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-center">Typ</th>
|
||||
<th class="text-center">Kontakt</th>
|
||||
<th class="text-center">Zustellung</th>
|
||||
<th class="text-center">Anmerkung</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($stammdaten->kontakte as $kontakt): ?>
|
||||
|
||||
<?php /*echo $this->widgetlib->widget(
|
||||
'Statusgrund_widget',
|
||||
array(),
|
||||
array('name' => 'absage', 'id' => 'absage')
|
||||
); */
|
||||
//Prestudenten cannot be abgewiesen or freigegeben if already done
|
||||
if(!isset($zgvpruefung->prestudentstatus->bestaetigtam) && $zgvpruefung->prestudentstatus->status_kurzbz != 'Abgewiesener') :
|
||||
?>
|
||||
<form method="post" action="../saveAbsage/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<label>Absagegrund:</label>
|
||||
<select name="statusgrund">
|
||||
<?php foreach ($statusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<button type="submit">Absage</button>
|
||||
</form>
|
||||
<a href="../saveFreigabe/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<button>Freigabe an Studiengang</button>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach ?>
|
||||
<table border="1">
|
||||
<thead>
|
||||
<th>Datum</th>
|
||||
<th>Aktivität</th>
|
||||
<th>User</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($logs as $log): ?>
|
||||
<tr>
|
||||
<td><?php echo date_format(date_create($log->zeitpunkt), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo $log->logdata->name ?></td>
|
||||
<td><?php echo $log->insertvon ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<tr>
|
||||
<td><?php echo ucfirst($kontakt->kontakttyp); ?></td>
|
||||
<td>
|
||||
<?php if ($kontakt->kontakttyp === 'email'): ?>
|
||||
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
||||
<?php
|
||||
endif;
|
||||
echo $kontakt->kontakt;
|
||||
if ($kontakt->kontakttyp === 'email'):
|
||||
?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="text-center"><?php echo $kontakt->zustellung === true ? 'X' : ''; ?></td>
|
||||
<td><?php echo $kontakt->anmerkung; ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<?php foreach ($stammdaten->adressen as $adresse): ?>
|
||||
<tr>
|
||||
<td>
|
||||
Adresse
|
||||
</td>
|
||||
<td>
|
||||
<?php echo isset($adresse) ? $adresse->strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<?php echo $adresse->zustelladresse === true ? 'X' : '' ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo ($adresse->heimatadresse === true ? 'Heimatadresse' : '').($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : '').($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?>
|
||||
</td>
|
||||
<tr/>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
|
||||
<table border="1">
|
||||
<thead>
|
||||
<th>Datum</th>
|
||||
<th>Notiz</th>
|
||||
<th>User</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<a name="DokPruef"></a>
|
||||
<div class="panel-heading text-center"><h4>Dokumentenprüfung</h4></div>
|
||||
<div class="panel-body">
|
||||
<div class="col-md-12">
|
||||
<table id="doctable" class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
<th>Typ</th>
|
||||
<th>Uploaddatum</th>
|
||||
<th>formal geprüft</th>
|
||||
<th>nachzureichen</th>
|
||||
<th>nachgereicht am</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($dokumente as $dokument):
|
||||
$geprueft = isset($dokument->formal_geprueft_amum) ? "checked" : "";
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="../outputAkteContent/<?php echo $dokument->akte_id ?>"><?php echo empty($dokument->titel) ? $dokument->bezeichnung : $dokument->titel ?></a>
|
||||
</td>
|
||||
<td><?php echo $dokument->dokument_kurzbz ?></td>
|
||||
<td><?php echo date_format(date_create($dokument->erstelltam), 'd.m.Y') ?></td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
id="prchkbx<?php echo $dokument->akte_id ?>" <?php echo $geprueft ?> />
|
||||
<?php echo isset($dokument->formal_geprueft_amum) ? date_format(date_create($dokument->formal_geprueft_amum), 'd.m.Y') : ''; ?>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<?php echo $dokument->nachgereicht === true ? 'X' : ''; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo isset($dokument->nachgereicht_am) ? date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : ''; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading text-center">
|
||||
<a name="ZgvPruef"></a>
|
||||
<h4>ZGV-Prüfung</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="panel-group">
|
||||
<?php
|
||||
foreach ($zgvpruefungen as $zgvpruefung): ?>
|
||||
|
||||
<?php foreach ($notizen as $notiz): ?>
|
||||
<tr>
|
||||
<td><?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo $notiz->titel ?></td>
|
||||
<td><?php echo $notiz->verfasser_uid ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<form method="post" action="../saveNotiz/<?php echo $person->person_id ?>">
|
||||
<label>Notiz:</label>
|
||||
<br />
|
||||
Titel: <input type="text" name="notiztitel" />
|
||||
<br />
|
||||
Text: <textarea name="notiz" rows="10" cols="32"></textarea>
|
||||
<button type="submit">Speichern</button>
|
||||
</form>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Studiengang <?php echo $zgvpruefung->studiengang ?>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form method="post"
|
||||
action="../saveZgvPruefung/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="form-group">
|
||||
<label>Freigegeben an Studiengang: </label>
|
||||
<?php echo isset($zgvpruefung->prestudentstatus->bestaetigtam) ? "ja" : "nein" ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
<label>Letzter Status: </label>
|
||||
<?php echo $zgvpruefung->prestudentstatus->status_kurzbz ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label>Studiensemester: </label>
|
||||
<?php echo $zgvpruefung->prestudentstatus->studiensemester_kurzbz ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label>Ausbildungssemester: </label>
|
||||
<?php echo $zgvpruefung->prestudentstatus->ausbildungssemester ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="form-group">
|
||||
<label>ZGV: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Zgv_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code),
|
||||
array('name' => 'zgv', 'id' => 'zgv', 'class' => 'form-control')
|
||||
); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group">
|
||||
<label>ZGV Ort: </label>
|
||||
<input type="text" class="form-control"
|
||||
value="<?php echo $zgvpruefung->zgvort ?>"
|
||||
name="zgvort">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label>ZGV Datum: </label>
|
||||
<input type="text" class="dateinput form-control"
|
||||
value="<?php echo empty($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y') ?>"
|
||||
name="zgvdatum">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label>ZGV Nation: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Nation_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvnation_code),
|
||||
array('name' => 'zgvnation', 'id' => 'zgvnation')
|
||||
); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- show only master zgv if master studiengang - start -->
|
||||
<?php if ($zgvpruefung->studiengangtyp === 'm') : ?>
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="form-group"><label>ZGV Master: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Zgvmaster_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmas_code),
|
||||
array('name' => 'zgvmas', 'id' => 'zgvmas')
|
||||
); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group"><label>ZGV Master Ort: </label>
|
||||
<input type="text" class="form-control"
|
||||
value="<?php echo $zgvpruefung->zgvmaort ?>"
|
||||
name="zgvmaort">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group"><label>ZGV Master Datum: </label>
|
||||
<input type="text" class="dateinput form-control"
|
||||
value="<?php echo empty($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y') ?>"
|
||||
name="zgvmadatum">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group"><label>ZGV Master Nation: </label>
|
||||
<?php echo $this->widgetlib->widget(
|
||||
'Nation_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmanation_code),
|
||||
array('name' => 'zgvmanation', 'id' => 'zgvmanation')
|
||||
); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- show only master zgv if master studiengang - end -->
|
||||
<?php endif; ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<button type="submit" class="btn btn-default">Speichern</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
<?php
|
||||
//Prestudenten cannot be abgewiesen or freigegeben if already done
|
||||
if (!isset($zgvpruefung->prestudentstatus->bestaetigtam) && $zgvpruefung->prestudentstatus->status_kurzbz != 'Abgewiesener') :
|
||||
?>
|
||||
<br/>
|
||||
<div class="row">
|
||||
<form method="post"
|
||||
action="../saveAbsage/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="d-inline float-left">Absagegrund:</label>
|
||||
<select name="statusgrund" class="d-inline float-right">
|
||||
<?php foreach ($statusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
</div>
|
||||
<button class="d-inline btn btn-default" type="submit">
|
||||
Absage
|
||||
</button>
|
||||
<a href="../saveFreigabe/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<button class="btn btn-default">Freigabe an
|
||||
Studiengang
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php endforeach // end foreach zgvpruefungen?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<a name="NotizAkt"></a>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading text-center">
|
||||
<h4 class="text-center">Notizen & Aktivitäten</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="col-md-6">
|
||||
<form method="post" action="../saveNotiz/<?php echo $stammdaten->person_id ?>">
|
||||
<div class="form-group">
|
||||
<div class="text-center">
|
||||
<label>Notiz hinzufügen</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Titel: </label><input type="text" class="form-control"
|
||||
name="notiztitel"/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Text: </label><textarea name="notiz" class="form-control" rows="10"
|
||||
cols="32"></textarea>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Speichern</button>
|
||||
</div>
|
||||
</form>
|
||||
<table id="notiztable" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<th>Datum</th>
|
||||
<th>Notiz</th>
|
||||
<th>User</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php foreach ($notizen as $notiz): ?>
|
||||
<tr>
|
||||
<td><?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo $notiz->titel ?></td>
|
||||
<td><?php echo $notiz->verfasser_uid ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<table id="logtable" class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<th>Datum</th>
|
||||
<th>Aktivität</th>
|
||||
<th>User</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($logs as $log): ?>
|
||||
<tr>
|
||||
<td><?php echo date_format(date_create($log->zeitpunkt), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo isset($log->logdata->name) ? $log->logdata->name : '' ?></td>
|
||||
<td><?php echo $log->insertvon ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
function onFormalGeprueftChange(formal_geprueft, akte_id, person_id)
|
||||
{
|
||||
window.location = "../saveFormalGeprueft?akte_id=" + akte_id + "&formal_geprueft=" + formal_geprueft + "&person_id=" + person_id;
|
||||
}
|
||||
|
||||
$(document).ready(function ()
|
||||
{
|
||||
//language for datatables
|
||||
/* var german =
|
||||
{
|
||||
"sEmptyTable": "Keine Daten in der Tabelle vorhanden",
|
||||
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
|
||||
"sInfoEmpty": "0 bis 0 von 0 Einträgen",
|
||||
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
|
||||
"sInfoPostFix": "",
|
||||
"sInfoThousands": ".",
|
||||
"sLengthMenu": "_MENU_ Einträge anzeigen",
|
||||
"sLoadingRecords": "Wird geladen...",
|
||||
"sProcessing": "Bitte warten...",
|
||||
"sSearch": "Suchen",
|
||||
"sZeroRecords": "Keine Einträge vorhanden.",
|
||||
"oPaginate": {
|
||||
"sFirst": "Erste",
|
||||
"sPrevious": "Zurück",
|
||||
"sNext": "Nächste",
|
||||
"sLast": "Letzte"
|
||||
},
|
||||
"oAria": {
|
||||
"sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
|
||||
"sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
|
||||
},
|
||||
select: {
|
||||
rows: {
|
||||
_: '%d Zeilen ausgewählt',
|
||||
0: 'Zum Auswählen auf eine Zeile klicken',
|
||||
1: '1 Zeile ausgewählt'
|
||||
}
|
||||
}
|
||||
};*/
|
||||
var german = "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json";
|
||||
//hack for disabling table pagination if only one page
|
||||
var drawCallback = function (settings)
|
||||
{
|
||||
var pagination = $(this).closest('.dataTables_wrapper').find('.dataTables_paginate');
|
||||
pagination.toggle(this.api().page.info().pages > 1);
|
||||
};
|
||||
|
||||
//format for sorting dates in tables
|
||||
$.fn.dataTable.moment("DD.MM.YYYY");
|
||||
$.fn.dataTable.moment("DD.MM.YYYY HH:mm:ss");
|
||||
|
||||
//initialise datatables and datepicker
|
||||
$("#doctable").DataTable({
|
||||
"language": {"url": german},
|
||||
"responsive": true,
|
||||
"paging": false,
|
||||
"searching": false,
|
||||
"info": false,
|
||||
"order": [[2, "desc"]]
|
||||
});
|
||||
$("#logtable").DataTable({
|
||||
"language": {"url": german},
|
||||
"responsive": true,
|
||||
"lengthChange": false,
|
||||
"info": false,
|
||||
"pageLength": 25,
|
||||
"order": [[0, "desc"]],
|
||||
"drawCallback": drawCallback
|
||||
});
|
||||
$("#notiztable").DataTable({
|
||||
"language": {"url": german},
|
||||
"responsive": true,
|
||||
"lengthChange": false,
|
||||
"info": false,
|
||||
"pageLength": 13,
|
||||
"order": [[0, "desc"], [2, "asc"]],
|
||||
"drawCallback": drawCallback
|
||||
});
|
||||
$(".dateinput").datepicker({
|
||||
"dateFormat": "dd.mm.yy"
|
||||
});
|
||||
//javascript hack - not nice!
|
||||
$("select").addClass('form-control');
|
||||
|
||||
//add click events to "formal geprüft" checkboxes
|
||||
<?php foreach($dokumente as $dokument): ?>
|
||||
|
||||
if ($("#prchkbx<?php echo $dokument->akte_id; ?>"))
|
||||
{
|
||||
$("#prchkbx<?php echo $dokument->akte_id; ?>").click(function ()
|
||||
{
|
||||
window.location = "../saveFormalGeprueft?akte_id=<?php echo $dokument->akte_id; ?>&formal_geprueft=" + this.checked + "&person_id=<?php echo $stammdaten->person_id ?>";
|
||||
});
|
||||
}
|
||||
<?php endforeach ?>
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</body>
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -11,8 +11,8 @@ $customJSs = isset($customJSs) ? $customJSs : null;
|
||||
$jquery3 = isset($jquery3) ? $jquery3 : false;
|
||||
$jqueryui = isset($jqueryui) ? $jqueryui : false;
|
||||
$bootstrap = isset($bootstrap) ? $bootstrap : false;
|
||||
$fontawesome= isset($fontawesome) ? $fontawesome : false;
|
||||
$datatables= isset($datatables) ? $datatables : false;
|
||||
$fontawesome = isset($fontawesome) ? $fontawesome : false;
|
||||
$datatables = isset($datatables) ? $datatables : false;
|
||||
$tablesorter = isset($tablesorter) ? $tablesorter : false;
|
||||
|
||||
/**
|
||||
@@ -97,7 +97,6 @@ function _generateJSsInclude($JSs)
|
||||
// datatables CSS
|
||||
if ($datatables === true)
|
||||
{
|
||||
_generateCSSsInclude('vendor/datatables/datatables/media/css/jquery.dataTables.min.css');
|
||||
_generateCSSsInclude('vendor/datatables/datatables/media/css/dataTables.bootstrap.min.css');
|
||||
}
|
||||
// Table sorter CSS
|
||||
@@ -122,7 +121,6 @@ function _generateJSsInclude($JSs)
|
||||
_generateJSsInclude('vendor/datatables/datatables/media/js/dataTables.bootstrap.min.js');
|
||||
_generateJSsInclude('vendor/moment/moment/min/moment.min.js');
|
||||
_generateJSsInclude('vendor/datatables/plugins/sorting/datetime-moment.js');
|
||||
|
||||
}
|
||||
// Table sorter JS
|
||||
if ($tablesorter === true) _generateJSsInclude('vendor/christianbach/tablesorter/jquery.tablesorter.min.js');
|
||||
|
||||
@@ -13,8 +13,8 @@ class Nation_widget extends DropdownWidget
|
||||
$this->setElementsArray(
|
||||
$this->NationModel->load(),
|
||||
true,
|
||||
'Select a nation...',
|
||||
'No nation found'
|
||||
'Nation wählen...',
|
||||
'keine Nation gefunden'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
|
||||
@@ -13,8 +13,8 @@ class Zgv_widget extends DropdownWidget
|
||||
$this->setElementsArray(
|
||||
$this->ZgvModel->load(),
|
||||
true,
|
||||
'Select a zgv...',
|
||||
'No zgv found'
|
||||
'Zgv wählen...',
|
||||
'keine Zgv gefunden'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
|
||||
@@ -13,8 +13,8 @@ class Zgvmaster_widget extends DropdownWidget
|
||||
$this->setElementsArray(
|
||||
$this->ZgvmasterModel->load(),
|
||||
true,
|
||||
'Select a zgv...',
|
||||
'No zgv found'
|
||||
'Zgv wählen...',
|
||||
'keine Zgv gefunden'
|
||||
);
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
|
||||
Reference in New Issue
Block a user