mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -120,11 +120,18 @@ $config['navigation_header'] = array(
|
|||||||
'sort' => 30,
|
'sort' => 30,
|
||||||
'requiredPermissions' => 'system/issues_verwalten:r'
|
'requiredPermissions' => 'system/issues_verwalten:r'
|
||||||
),
|
),
|
||||||
|
'plausichecks' => array(
|
||||||
|
'link' => site_url('system/issues/Plausichecks'),
|
||||||
|
'description' => 'Plausichecks',
|
||||||
|
'expand' => true,
|
||||||
|
'sort' => 40,
|
||||||
|
'requiredPermissions' => 'system/issues_verwalten:r'
|
||||||
|
),
|
||||||
'gruppenmanagement' => array(
|
'gruppenmanagement' => array(
|
||||||
'link' => site_url('person/Gruppenmanagement'),
|
'link' => site_url('person/Gruppenmanagement'),
|
||||||
'description' => 'Gruppenmanagement',
|
'description' => 'Gruppenmanagement',
|
||||||
'expand' => true,
|
'expand' => true,
|
||||||
'sort' => 40,
|
'sort' => 50,
|
||||||
'requiredPermissions' => 'lehre/gruppenmanager:r'
|
'requiredPermissions' => 'lehre/gruppenmanager:r'
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -22,7 +22,32 @@ class IssueResolver extends IssueResolver_Controller
|
|||||||
'CORE_INOUT_0003' => 'CORE_INOUT_0003',
|
'CORE_INOUT_0003' => 'CORE_INOUT_0003',
|
||||||
'CORE_INOUT_0004' => 'CORE_INOUT_0004',
|
'CORE_INOUT_0004' => 'CORE_INOUT_0004',
|
||||||
'CORE_INOUT_0005' => 'CORE_INOUT_0005',
|
'CORE_INOUT_0005' => 'CORE_INOUT_0005',
|
||||||
'CORE_INOUT_0006' => 'CORE_INOUT_0006'
|
'CORE_INOUT_0006' => 'CORE_INOUT_0006',
|
||||||
|
'CORE_INOUT_0007' => 'CORE_INOUT_0007',
|
||||||
|
'CORE_INOUT_0008' => 'CORE_INOUT_0008',
|
||||||
|
'CORE_INOUT_0009' => 'CORE_INOUT_0009',
|
||||||
|
'CORE_STG_0001' => 'CORE_STG_0001',
|
||||||
|
'CORE_STG_0002' => 'CORE_STG_0002',
|
||||||
|
'CORE_STG_0003' => 'CORE_STG_0003',
|
||||||
|
'CORE_STG_0004' => 'CORE_STG_0004',
|
||||||
|
'CORE_STUDENTSTATUS_0001' => 'CORE_STUDENTSTATUS_0001',
|
||||||
|
'CORE_STUDENTSTATUS_0002' => 'CORE_STUDENTSTATUS_0002',
|
||||||
|
'CORE_STUDENTSTATUS_0003' => 'CORE_STUDENTSTATUS_0003',
|
||||||
|
'CORE_STUDENTSTATUS_0004' => 'CORE_STUDENTSTATUS_0004',
|
||||||
|
'CORE_STUDENTSTATUS_0005' => 'CORE_STUDENTSTATUS_0005',
|
||||||
|
'CORE_STUDENTSTATUS_0006' => 'CORE_STUDENTSTATUS_0006',
|
||||||
|
'CORE_STUDENTSTATUS_0007' => 'CORE_STUDENTSTATUS_0007',
|
||||||
|
'CORE_STUDENTSTATUS_0008' => 'CORE_STUDENTSTATUS_0008',
|
||||||
|
'CORE_STUDENTSTATUS_0009' => 'CORE_STUDENTSTATUS_0009',
|
||||||
|
'CORE_STUDENTSTATUS_0010' => 'CORE_STUDENTSTATUS_0010',
|
||||||
|
'CORE_STUDENTSTATUS_0011' => 'CORE_STUDENTSTATUS_0011',
|
||||||
|
'CORE_STUDENTSTATUS_0012' => 'CORE_STUDENTSTATUS_0012',
|
||||||
|
'CORE_STUDENTSTATUS_0013' => 'CORE_STUDENTSTATUS_0013',
|
||||||
|
'CORE_STUDENTSTATUS_0014' => 'CORE_STUDENTSTATUS_0014',
|
||||||
|
'CORE_PERSON_0001' => 'CORE_PERSON_0001',
|
||||||
|
'CORE_PERSON_0002' => 'CORE_PERSON_0002',
|
||||||
|
'CORE_PERSON_0003' => 'CORE_PERSON_0003',
|
||||||
|
'CORE_PERSON_0004' => 'CORE_PERSON_0004'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Job for producing Plausicheck issues
|
||||||
|
*/
|
||||||
|
class PlausiIssueProducer extends JOB_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
|
||||||
|
$this->load->library('issues/PlausicheckProducerLib');
|
||||||
|
$this->load->library('IssuesLib');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs issue production job.
|
||||||
|
* @param studiensemester_kurzbz string job is run for students of a certain semester.
|
||||||
|
* @param studiengang_kz int job is run for students of certain Studiengang.
|
||||||
|
*/
|
||||||
|
public function run($studiensemester_kurzbz = null, $studiengang_kz = null)
|
||||||
|
{
|
||||||
|
$fehlerKurzbz = $this->plausicheckproducerlib->getFehlerKurzbz();
|
||||||
|
|
||||||
|
$this->logInfo("Plausicheck issue producer job started");
|
||||||
|
|
||||||
|
// get the data returned by Plausicheck
|
||||||
|
foreach ($fehlerKurzbz as $fehler_kurzbz)
|
||||||
|
{
|
||||||
|
// execute the check
|
||||||
|
$this->logInfo("Checking " . $fehler_kurzbz . "...");
|
||||||
|
$plausicheckRes = $this->plausicheckproducerlib->producePlausicheckIssue($fehler_kurzbz, $studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($plausicheckRes)) $this->logError(getError($plausicheckRes));
|
||||||
|
|
||||||
|
if (hasData($plausicheckRes))
|
||||||
|
{
|
||||||
|
$plausicheckData = getData($plausicheckRes);
|
||||||
|
|
||||||
|
foreach ($plausicheckData as $plausiData)
|
||||||
|
{
|
||||||
|
// get the data needed for issue production
|
||||||
|
$person_id = isset($plausiData['person_id']) ? $plausiData['person_id'] : null;
|
||||||
|
$oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null;
|
||||||
|
$fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null;
|
||||||
|
$resolution_params = isset($plausiData['resolution_params']) ? $plausiData['resolution_params'] : null;
|
||||||
|
|
||||||
|
// write the issue
|
||||||
|
$addIssueRes = $this->issueslib->addFhcIssue($fehler_kurzbz, $person_id, $oe_kurzbz, $fehlertext_params, $resolution_params);
|
||||||
|
|
||||||
|
// log if error, or log info if inserted new issue
|
||||||
|
if (isError($addIssueRes))
|
||||||
|
$this->logError(getError($addIssueRes));
|
||||||
|
elseif (hasData($addIssueRes) && is_integer(getData($addIssueRes)))
|
||||||
|
$this->logInfo("Plausicheck issue " . $fehler_kurzbz . " successfully produced, person_id: " . $person_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->logInfo("Plausicheck issue producer job stopped");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -121,6 +121,7 @@ class InfoCenter extends Auth_Controller
|
|||||||
'unlockPerson' => 'infocenter:rw',
|
'unlockPerson' => 'infocenter:rw',
|
||||||
'saveFormalGeprueft' => 'infocenter:rw',
|
'saveFormalGeprueft' => 'infocenter:rw',
|
||||||
'saveDocTyp' => 'infocenter:rw',
|
'saveDocTyp' => 'infocenter:rw',
|
||||||
|
'updateStammdaten' => 'infocenter:rw',
|
||||||
'saveNachreichung' => 'infocenter:rw',
|
'saveNachreichung' => 'infocenter:rw',
|
||||||
'getPrestudentData' => 'infocenter:r',
|
'getPrestudentData' => 'infocenter:r',
|
||||||
'getLastPrestudentWithZgvJson' => 'infocenter:r',
|
'getLastPrestudentWithZgvJson' => 'infocenter:r',
|
||||||
@@ -172,11 +173,16 @@ class InfoCenter extends Auth_Controller
|
|||||||
$this->load->model('codex/Zgv_model', 'ZgvModel');
|
$this->load->model('codex/Zgv_model', 'ZgvModel');
|
||||||
$this->load->model('codex/Zgvmaster_model', 'ZgvmasterModel');
|
$this->load->model('codex/Zgvmaster_model', 'ZgvmasterModel');
|
||||||
$this->load->model('codex/Nation_model', 'NationModel');
|
$this->load->model('codex/Nation_model', 'NationModel');
|
||||||
|
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
||||||
|
$this->load->model('person/Geschlecht_model', 'GeschlechtModel');
|
||||||
|
$this->load->model('person/adresse_model', 'AdresseModel');
|
||||||
|
|
||||||
// Loads libraries
|
// Loads libraries
|
||||||
$this->load->library('PersonLogLib');
|
$this->load->library('PersonLogLib');
|
||||||
$this->load->library('WidgetLib');
|
$this->load->library('WidgetLib');
|
||||||
|
|
||||||
|
$this->load->config('infocenter');
|
||||||
|
|
||||||
$this->loadPhrases(
|
$this->loadPhrases(
|
||||||
array(
|
array(
|
||||||
'global',
|
'global',
|
||||||
@@ -1111,14 +1117,14 @@ class InfoCenter extends Auth_Controller
|
|||||||
|
|
||||||
public function reloadDoks($person_id)
|
public function reloadDoks($person_id)
|
||||||
{
|
{
|
||||||
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true);
|
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false);
|
||||||
|
|
||||||
$this->load->view('system/infocenter/dokNachzureichend.php', array('dokumente_nachgereicht' => $dokumente_nachgereicht->retval));
|
$this->load->view('system/infocenter/dokNachzureichend.php', array('dokumente_nachgereicht' => $dokumente_nachgereicht->retval));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function reloadUebersichtDoks($person_id)
|
public function reloadUebersichtDoks($person_id)
|
||||||
{
|
{
|
||||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false);
|
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false);
|
||||||
|
|
||||||
$this->DokumentModel->addOrder('bezeichnung');
|
$this->DokumentModel->addOrder('bezeichnung');
|
||||||
$dokumentdata = array('dokumententypen' => (getData($this->DokumentModel->load())));
|
$dokumentdata = array('dokumententypen' => (getData($this->DokumentModel->load())));
|
||||||
@@ -1320,6 +1326,126 @@ class InfoCenter extends Auth_Controller
|
|||||||
$this->outputJsonSuccess('success');
|
$this->outputJsonSuccess('success');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function updateStammdaten()
|
||||||
|
{
|
||||||
|
if (isEmptyString($this->input->post('nachname')) ||
|
||||||
|
isEmptyString($this->input->post('geschlecht')) ||
|
||||||
|
isEmptyString($this->input->post('gebdatum')))
|
||||||
|
{
|
||||||
|
$this->terminateWithJsonError($this->p->t('infocenter', 'stammdatenFeldFehlt'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$datum = explode('.', $this->input->post('gebdatum'));
|
||||||
|
|
||||||
|
if (!checkdate($datum[1], $datum[0], $datum[2]))
|
||||||
|
{
|
||||||
|
$this->terminateWithJsonError($this->p->t('infocenter', 'datumUngueltig'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$person_id = $this->input->post('personid');
|
||||||
|
|
||||||
|
$update = $this->PersonModel->update(
|
||||||
|
array
|
||||||
|
(
|
||||||
|
'person_id' => $person_id
|
||||||
|
),
|
||||||
|
array
|
||||||
|
(
|
||||||
|
'titelpre' => isEmptyString($this->input->post('titelpre')) ? null : $this->input->post('titelpre'),
|
||||||
|
'vorname' => isEmptyString($this->input->post('vorname')) ? null : $this->input->post('vorname'),
|
||||||
|
'nachname' => $this->input->post('nachname'),
|
||||||
|
'titelpost' => isEmptyString($this->input->post('titelpost')) ? null : $this->input->post('titelpost'),
|
||||||
|
'gebdatum' => isEmptyString($this->input->post('gebdatum')) ? null : date("Y-m-d", strtotime($this->input->post('gebdatum'))),
|
||||||
|
'svnr' => isEmptyString($this->input->post('svnr')) ? null : $this->input->post('svnr'),
|
||||||
|
'staatsbuergerschaft' => isEmptyString($this->input->post('buergerschaft')) ? null : $this->input->post('buergerschaft'),
|
||||||
|
'geschlecht' => $this->input->post('geschlecht'),
|
||||||
|
'geburtsnation' => isEmptyString($this->input->post('gebnation')) ? null : $this->input->post('gebnation'),
|
||||||
|
'gebort' => isEmptyString($this->input->post('gebort')) ? null : $this->input->post('gebort'),
|
||||||
|
'updateamum' => date('Y-m-d H:i:s'),
|
||||||
|
'updatevon' => $this->_uid
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isError($update))
|
||||||
|
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
|
||||||
|
|
||||||
|
$kontakte = $this->input->post('kontakt');
|
||||||
|
foreach ($kontakte as $kontakt)
|
||||||
|
{
|
||||||
|
$kontaktExists = $this->KontaktModel->loadWhere(array(
|
||||||
|
'kontakt_id' => $kontakt['id'],
|
||||||
|
'person_id' => $person_id,
|
||||||
|
));
|
||||||
|
|
||||||
|
if (hasData($kontaktExists))
|
||||||
|
{
|
||||||
|
$kontaktExists = getData($kontaktExists)[0];
|
||||||
|
|
||||||
|
if ($kontaktExists->kontakt === $kontakt['value'])
|
||||||
|
continue;
|
||||||
|
|
||||||
|
$update = $this->KontaktModel->update(
|
||||||
|
array
|
||||||
|
(
|
||||||
|
'kontakt_id' => $kontakt['id']
|
||||||
|
),
|
||||||
|
array
|
||||||
|
(
|
||||||
|
'kontakt' => isEmptyString($kontakt['value']) ? null : $kontakt['value'],
|
||||||
|
'updateamum' => date('Y-m-d H:i:s'),
|
||||||
|
'updatevon' => $this->_uid
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isError($update))
|
||||||
|
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$adressen = $this->input->post('adresse');
|
||||||
|
|
||||||
|
foreach ($adressen as $adresse)
|
||||||
|
{
|
||||||
|
$adresseExists = $this->AdresseModel->loadWhere(array(
|
||||||
|
'adresse_id' => $adresse['id'],
|
||||||
|
'person_id' => $person_id,
|
||||||
|
));
|
||||||
|
|
||||||
|
if (hasData($adresseExists))
|
||||||
|
{
|
||||||
|
$adresse = $adresse['value'];
|
||||||
|
$adresseExists = getData($adresseExists)[0];
|
||||||
|
if ($adresseExists->strasse !== $adresse['strasse'] ||
|
||||||
|
$adresseExists->plz !== $adresse['plz'] ||
|
||||||
|
$adresseExists->ort !== $adresse['ort'] ||
|
||||||
|
$adresseExists->nation !== $adresse['nation'])
|
||||||
|
{
|
||||||
|
$update = $this->AdresseModel->update(
|
||||||
|
array
|
||||||
|
(
|
||||||
|
'adresse_id' => $adresseExists->adresse_id
|
||||||
|
),
|
||||||
|
array
|
||||||
|
(
|
||||||
|
'strasse' => isEmptyString($adresse['strasse']) ? null : $adresse['strasse'],
|
||||||
|
'plz' => isEmptyString($adresse['plz']) ? null : $adresse['plz'],
|
||||||
|
'ort' => isEmptyString($adresse['ort']) ? null : $adresse['ort'],
|
||||||
|
'nation' => isEmptyString($adresse['nation']) ? null : $adresse['nation'],
|
||||||
|
'updateamum' => date('Y-m-d H:i:s'),
|
||||||
|
'updatevon' => $this->_uid
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isError($update))
|
||||||
|
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->outputJsonSuccess('Success');
|
||||||
|
}
|
||||||
|
|
||||||
public function saveNachreichung($person_id)
|
public function saveNachreichung($person_id)
|
||||||
{
|
{
|
||||||
$nachreichungAm = $this->input->post('nachreichungAm');
|
$nachreichungAm = $this->input->post('nachreichungAm');
|
||||||
@@ -1794,14 +1920,14 @@ class InfoCenter extends Auth_Controller
|
|||||||
if (!isset($stammdaten->retval))
|
if (!isset($stammdaten->retval))
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false);
|
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false);
|
||||||
|
|
||||||
if (isError($dokumente))
|
if (isError($dokumente))
|
||||||
{
|
{
|
||||||
show_error(getError($dokumente));
|
show_error(getError($dokumente));
|
||||||
}
|
}
|
||||||
|
|
||||||
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true);
|
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false);
|
||||||
|
|
||||||
if (isError($dokumente_nachgereicht))
|
if (isError($dokumente_nachgereicht))
|
||||||
{
|
{
|
||||||
@@ -1996,6 +2122,12 @@ class InfoCenter extends Auth_Controller
|
|||||||
$this->NationModel->addOrder('langtext');
|
$this->NationModel->addOrder('langtext');
|
||||||
$allNations = getData($this->NationModel->load());
|
$allNations = getData($this->NationModel->load());
|
||||||
|
|
||||||
|
|
||||||
|
$additional_stg = explode(',', ($this->config->item('infocenter_studiengang_kz')));
|
||||||
|
|
||||||
|
$this->GeschlechtModel->addOrder('sort');
|
||||||
|
$allGenders = getData($this->GeschlechtModel->load());
|
||||||
|
|
||||||
$data = array (
|
$data = array (
|
||||||
'zgvpruefungen' => $zgvpruefungen,
|
'zgvpruefungen' => $zgvpruefungen,
|
||||||
'abwstatusgruende' => $abwstatusgruende,
|
'abwstatusgruende' => $abwstatusgruende,
|
||||||
@@ -2004,6 +2136,8 @@ class InfoCenter extends Auth_Controller
|
|||||||
'all_zgvs' => $allZGVs,
|
'all_zgvs' => $allZGVs,
|
||||||
'all_zgvs_master' => $allZGVsMaster,
|
'all_zgvs_master' => $allZGVsMaster,
|
||||||
'all_nations' => $allNations,
|
'all_nations' => $allNations,
|
||||||
|
'additional_stg' => $additional_stg,
|
||||||
|
'all_genders' => $allGenders
|
||||||
);
|
);
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
@@ -2164,8 +2298,8 @@ class InfoCenter extends Auth_Controller
|
|||||||
$prestudentstatus = $prestudent->prestudentstatus;
|
$prestudentstatus = $prestudent->prestudentstatus;
|
||||||
$person_id = $prestudent->person_id;
|
$person_id = $prestudent->person_id;
|
||||||
$person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval;
|
$person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval;
|
||||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false)->retval;
|
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false)->retval;
|
||||||
$dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true)->retval;
|
$dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false)->retval;
|
||||||
|
|
||||||
//fill mail variables
|
//fill mail variables
|
||||||
$interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin';
|
$interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin';
|
||||||
@@ -2262,12 +2396,10 @@ class InfoCenter extends Auth_Controller
|
|||||||
|
|
||||||
public function getAbsageData()
|
public function getAbsageData()
|
||||||
{
|
{
|
||||||
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
$stg_typ = $this->getStudienArtBerechtigung(['b', 'm']);
|
||||||
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, ['b', 'm']);
|
|
||||||
|
|
||||||
if (hasData($stg_typ))
|
if (!is_null($stg_typ))
|
||||||
{
|
{
|
||||||
$stg_typ = getData($stg_typ);
|
|
||||||
$statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
$statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
||||||
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
||||||
$studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(array_column($stg_typ, 'typ'), $studienSemester);
|
$studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(array_column($stg_typ, 'typ'), $studienSemester);
|
||||||
@@ -2283,15 +2415,16 @@ class InfoCenter extends Auth_Controller
|
|||||||
$this->outputJsonSuccess(null);
|
$this->outputJsonSuccess(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getStudienArtBerechtigung()
|
public function getStudienArtBerechtigung($typ = null)
|
||||||
{
|
{
|
||||||
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
||||||
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, ['b', 'm', 'l']);
|
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, $typ);
|
||||||
return getData($stg_typ);
|
return getData($stg_typ);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getStudienartData()
|
public function getStudienartData()
|
||||||
{
|
{
|
||||||
$this->outputJsonSuccess($this->getStudienArtBerechtigung());
|
$this->outputJsonSuccess($this->getStudienArtBerechtigung(['b', 'm', 'l']));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function saveAbsageForAll()
|
public function saveAbsageForAll()
|
||||||
|
|||||||
@@ -0,0 +1,133 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class Plausichecks extends Auth_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct(
|
||||||
|
array(
|
||||||
|
'index' => array('system/issues_verwalten:r'),
|
||||||
|
'runChecks' => array('system/issues_verwalten:r')
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Load libraries
|
||||||
|
$this->load->library('issues/PlausicheckProducerLib');
|
||||||
|
$this->load->library('WidgetLib');
|
||||||
|
|
||||||
|
// Load models
|
||||||
|
$this->load->model('system/Fehler_model', 'FehlerModel');
|
||||||
|
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||||
|
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get data for filtering the plausichecks and load the view.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$filterData = $this->_getFilterData();
|
||||||
|
$this->load->view('system/issues/plausichecks', $filterData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initiate plausichecks run.
|
||||||
|
*/
|
||||||
|
public function runChecks()
|
||||||
|
{
|
||||||
|
$studiensemester_kurzbz = $this->input->get('studiensemester_kurzbz');
|
||||||
|
$studiengang_kz = $this->input->get('studiengang_kz');
|
||||||
|
$fehler_kurzbz = $this->input->get('fehler_kurzbz');
|
||||||
|
|
||||||
|
// issues array for passing issue texts
|
||||||
|
$issueTexts = array();
|
||||||
|
// all fehler kurzbz which are going to be checked
|
||||||
|
$fehlerKurzbz = !isEmptyString($fehler_kurzbz) ? array($fehler_kurzbz) : $this->plausicheckproducerlib->getFehlerKurzbz();
|
||||||
|
// set Studiengang to null if not passed
|
||||||
|
if (isEmptyString($studiengang_kz)) $studiengang_kz = null;
|
||||||
|
|
||||||
|
// get the data returned by Plausicheck
|
||||||
|
foreach ($fehlerKurzbz as $fehler_kurzbz)
|
||||||
|
{
|
||||||
|
// execute the check
|
||||||
|
$issueTexts[$fehler_kurzbz] = array();
|
||||||
|
$plausicheckRes = $this->plausicheckproducerlib->producePlausicheckIssue($fehler_kurzbz, $studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($plausicheckRes)) $this->terminateWithJsonError(getError($plausicheckRes));
|
||||||
|
|
||||||
|
if (hasData($plausicheckRes))
|
||||||
|
{
|
||||||
|
$plausicheckData = getData($plausicheckRes);
|
||||||
|
|
||||||
|
foreach ($plausicheckData as $plausiData)
|
||||||
|
{
|
||||||
|
// get the data needed for issue production
|
||||||
|
$person_id = isset($plausiData['person_id']) ? $plausiData['person_id'] : null;
|
||||||
|
$oe_kurzbz = isset($plausiData['oe_kurzbz']) ? $plausiData['oe_kurzbz'] : null;
|
||||||
|
$fehlertext_params = isset($plausiData['fehlertext_params']) ? $plausiData['fehlertext_params'] : null;
|
||||||
|
$resolution_params = isset($plausiData['resolution_params']) ? $plausiData['resolution_params'] : null;
|
||||||
|
|
||||||
|
// get Text of the Fehler
|
||||||
|
$this->FehlerModel->addSelect('fehlertext');
|
||||||
|
$fehlerRes = $this->FehlerModel->loadWhere(array('fehler_kurzbz' => $fehler_kurzbz));
|
||||||
|
|
||||||
|
if (isError($fehlerRes)) $this->outputJsonError(getError($fehlerRes));
|
||||||
|
|
||||||
|
// optionally replace fehler parameters in text, output the fehlertext
|
||||||
|
if (hasData($fehlerRes))
|
||||||
|
{
|
||||||
|
$fehlerText = getData($fehlerRes)[0]->fehlertext;
|
||||||
|
|
||||||
|
if (!isEmptyArray($fehlertext_params))
|
||||||
|
{
|
||||||
|
if (count($fehlertext_params) != substr_count($fehlerText, '%s'))
|
||||||
|
$this->terminateWithJsonError('Wrong number of parameters for Fehlertext, fehler_kurzbz ' . $fehler_kurzbz);
|
||||||
|
|
||||||
|
$fehlerText = vsprintf($fehlerText, $fehlertext_params);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($person_id)) $fehlerText .= "; person_id: $person_id";
|
||||||
|
if (isset($oe_kurzbz)) $fehlerText .= "; oe_kurzbz: $oe_kurzbz";
|
||||||
|
$issueTexts[$fehler_kurzbz][] = $fehlerText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->outputJsonSuccess($issueTexts);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the data needed for filtering for limiting checks.
|
||||||
|
*/
|
||||||
|
private function _getFilterData()
|
||||||
|
{
|
||||||
|
$this->StudiensemesterModel->addOrder('start', 'DESC');
|
||||||
|
$studiensemesterRes = $this->StudiensemesterModel->load();
|
||||||
|
|
||||||
|
if (isError($studiensemesterRes)) show_error(getError($studiensemesterRes));
|
||||||
|
|
||||||
|
$currSemRes = $this->StudiensemesterModel->getAkt();
|
||||||
|
|
||||||
|
if (isError($currSemRes)) show_error(getError($currSemRes));
|
||||||
|
|
||||||
|
$this->StudiengangModel->addSelect('studiengang_kz, tbl_studiengang.bezeichnung, tbl_studiengang.typ,
|
||||||
|
tbl_studiengangstyp.bezeichnung AS typbezeichnung, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kuerzel');
|
||||||
|
$this->StudiengangModel->addJoin('public.tbl_studiengangstyp', 'typ');
|
||||||
|
$this->StudiengangModel->addOrder('kuerzel, tbl_studiengang.bezeichnung, studiengang_kz');
|
||||||
|
$studiengaengeRes = $this->StudiengangModel->loadWhere(array('aktiv' => true));
|
||||||
|
|
||||||
|
if (isError($studiengaengeRes)) show_error(getError($studiengaengeRes));
|
||||||
|
|
||||||
|
$fehlerKurzbz = $this->plausicheckproducerlib->getFehlerKurzbz();
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'semester' => hasData($studiensemesterRes) ? getData($studiensemesterRes) : array(),
|
||||||
|
'currsemester' => hasData($currSemRes) ? getData($currSemRes) : array(),
|
||||||
|
'studiengaenge' => hasData($studiengaengeRes) ? getData($studiengaengeRes) : array(),
|
||||||
|
'fehler' => $fehlerKurzbz
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface defining method to implement for issue producer (from core and extensions)
|
||||||
|
*/
|
||||||
|
interface IIssueExistsChecker
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Checks if an issue exists.
|
||||||
|
* @param array $params parameters needed for issue detection
|
||||||
|
* @return object with success(true) if issue exists, success(false) otherwise
|
||||||
|
*/
|
||||||
|
public function checkIfIssueExists($paramsForChecking);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Produces an issue.
|
||||||
|
* @param array $params parameters needed for issue detection
|
||||||
|
* @return object with success(true) if issue exists, success(false) otherwise
|
||||||
|
*/
|
||||||
|
//public function produceIssue($person_id, $oe_kurzbz, $paramsForProducing);
|
||||||
|
}
|
||||||
@@ -5,7 +5,8 @@
|
|||||||
*/
|
*/
|
||||||
abstract class IssueResolver_Controller extends JOB_Controller
|
abstract class IssueResolver_Controller extends JOB_Controller
|
||||||
{
|
{
|
||||||
const ISSUES_FOLDER = 'issues';
|
const CI_PATH = 'application';
|
||||||
|
const ISSUES_FOLDER = 'issues/resolvers';
|
||||||
const CHECK_ISSUE_RESOLVED_METHOD_NAME = 'checkIfIssueIsResolved';
|
const CHECK_ISSUE_RESOLVED_METHOD_NAME = 'checkIfIssueIsResolved';
|
||||||
|
|
||||||
protected $_codeLibMappings;
|
protected $_codeLibMappings;
|
||||||
@@ -43,71 +44,68 @@ abstract class IssueResolver_Controller extends JOB_Controller
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
$openIssues = getData($openIssuesRes);
|
$openIssues = getData($openIssuesRes);
|
||||||
|
|
||||||
foreach ($openIssues as $issue)
|
foreach ($openIssues as $issue)
|
||||||
{
|
{
|
||||||
if (isset($this->_codeLibMappings[$issue->fehlercode]))
|
// ignore if Fehlercode is not in libmappings (shouldn't be checked)
|
||||||
|
if (!isset($this->_codeLibMappings[$issue->fehlercode])) continue;
|
||||||
|
|
||||||
|
$libName = $this->_codeLibMappings[$issue->fehlercode];
|
||||||
|
|
||||||
|
// add person id and oe kurzbz automatically as params, merge it with additional params
|
||||||
|
// decode bewerbung_parameter into assoc array
|
||||||
|
$params = array_merge(
|
||||||
|
array('issue_id' => $issue->issue_id, 'issue_person_id' => $issue->person_id, 'issue_oe_kurzbz' => $issue->oe_kurzbz),
|
||||||
|
isset($issue->behebung_parameter) ? json_decode($issue->behebung_parameter, true) : array()
|
||||||
|
);
|
||||||
|
|
||||||
|
// if called from extension (extension name set), path includes extension names, otherwise it is the core library folder
|
||||||
|
$libRootPath = isset($this->_extensionName) ? 'extensions/' . $this->_extensionName . '/' : '';
|
||||||
|
$issuesLibPath = $libRootPath . self::ISSUES_FOLDER . '/';
|
||||||
|
$issuesLibFilePath = DOC_ROOT . self::CI_PATH . '/' . $libRootPath . 'libraries/' . self::ISSUES_FOLDER . '/' . $libName . '.php';
|
||||||
|
|
||||||
|
// check if library file exists
|
||||||
|
if (!file_exists($issuesLibFilePath))
|
||||||
{
|
{
|
||||||
$libName = $this->_codeLibMappings[$issue->fehlercode];
|
// log error and continue with next issue if not
|
||||||
|
$this->logError("Issue library file " . $issuesLibFilePath . " does not exist");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// add person id and oe kurzbz automatically as params, merge it with additional params
|
// load library connected to fehlercode
|
||||||
// decode bewerbung_parameter into assoc array
|
$this->load->library($issuesLibPath . $libName);
|
||||||
$params = array_merge(
|
|
||||||
array('issue_id' => $issue->issue_id, 'issue_person_id' => $issue->person_id, 'issue_oe_kurzbz' => $issue->oe_kurzbz),
|
|
||||||
isset($issue->behebung_parameter) ? json_decode($issue->behebung_parameter, true) : array()
|
|
||||||
);
|
|
||||||
|
|
||||||
// if called from extension (extension name set), path includes extension names, otherwise it is the core library folder
|
$lowercaseLibName = mb_strtolower($libName);
|
||||||
$libRootPath = isset($this->_extensionName) ? 'extensions/' . $this->_extensionName . '/' : '';
|
|
||||||
$issuesLibPath = $libRootPath . self::ISSUES_FOLDER . '/';
|
|
||||||
$issuesLibFilePath = DOC_ROOT . 'application/' . $libRootPath . 'libraries/' . self::ISSUES_FOLDER . '/' . $libName . '.php';
|
|
||||||
|
|
||||||
// check if library file exists
|
// check if method is defined in library class
|
||||||
if (!file_exists($issuesLibFilePath))
|
if (!is_callable(array($this->{$lowercaseLibName}, self::CHECK_ISSUE_RESOLVED_METHOD_NAME)))
|
||||||
|
{
|
||||||
|
// log error and continue with next issue if not
|
||||||
|
$this->logError("Method " . self::CHECK_ISSUE_RESOLVED_METHOD_NAME . " is not defined in library $lowercaseLibName");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// call the function for checking for issue resolution
|
||||||
|
$issueResolvedRes = $this->{$lowercaseLibName}->{self::CHECK_ISSUE_RESOLVED_METHOD_NAME}($params);
|
||||||
|
|
||||||
|
if (isError($issueResolvedRes))
|
||||||
|
{
|
||||||
|
$this->logError(getError($issueResolvedRes));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$issueResolvedData = getData($issueResolvedRes);
|
||||||
|
|
||||||
|
if ($issueResolvedData === true)
|
||||||
{
|
{
|
||||||
// log error and continue with next issue if not
|
// set issue to resolved if needed
|
||||||
$this->logError("Issue library file " . $issuesLibFilePath . " does not exist");
|
$behobenRes = $this->issueslib->setBehoben($issue->issue_id, null);
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// load library connected to fehlercode
|
if (isError($behobenRes))
|
||||||
$this->load->library(
|
$this->logError(getError($behobenRes));
|
||||||
$issuesLibPath . $libName
|
else
|
||||||
);
|
$this->logInfo("Issue " . $issue->issue_id . " successfully resolved");
|
||||||
|
|
||||||
$lowercaseLibName = mb_strtolower($libName);
|
|
||||||
|
|
||||||
// check if method is defined in libary class
|
|
||||||
if (!is_callable(array($this->{$lowercaseLibName}, self::CHECK_ISSUE_RESOLVED_METHOD_NAME)))
|
|
||||||
{
|
|
||||||
// log error and continue with next issue if not
|
|
||||||
$this->logError("Method " . self::CHECK_ISSUE_RESOLVED_METHOD_NAME . " is not defined in library $lowercaseLibName");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// call the function for checking for issue resolution
|
|
||||||
$issueResolvedRes = $this->{$lowercaseLibName}->{self::CHECK_ISSUE_RESOLVED_METHOD_NAME}($params);
|
|
||||||
|
|
||||||
if (isError($issueResolvedRes))
|
|
||||||
{
|
|
||||||
$this->logError(getError($issueResolvedRes));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$issueResolvedData = getData($issueResolvedRes);
|
|
||||||
|
|
||||||
if ($issueResolvedData === true)
|
|
||||||
{
|
|
||||||
// set issue to resolved if needed
|
|
||||||
$behobenRes = $this->issueslib->setBehoben($issue->issue_id, null);
|
|
||||||
|
|
||||||
if (isError($behobenRes))
|
|
||||||
$this->logError(getError($behobenRes));
|
|
||||||
else
|
|
||||||
$this->logInfo("Issue " . $issue->issue_id . " successfully resolved");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,6 +169,9 @@ class IssuesLib
|
|||||||
return $this->_changeIssueStatus($issue_id, $data, $user);
|
return $this->_changeIssueStatus($issue_id, $data, $user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------------------------------------------
|
||||||
|
// Private methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes status of an issue.
|
* Changes status of an issue.
|
||||||
* @param int $issue_id
|
* @param int $issue_id
|
||||||
@@ -215,8 +218,15 @@ class IssuesLib
|
|||||||
* @param string $inhalt_extern
|
* @param string $inhalt_extern
|
||||||
* @return object success or error
|
* @return object success or error
|
||||||
*/
|
*/
|
||||||
private function _addIssue($fehlercode, $person_id = null, $oe_kurzbz = null, $fehlertext_params = null, $resolution_params = null, $fehlercode_extern = null, $inhalt_extern = null)
|
private function _addIssue(
|
||||||
{
|
$fehlercode,
|
||||||
|
$person_id = null,
|
||||||
|
$oe_kurzbz = null,
|
||||||
|
$fehlertext_params = null,
|
||||||
|
$resolution_params = null,
|
||||||
|
$fehlercode_extern = null,
|
||||||
|
$inhalt_extern = null
|
||||||
|
) {
|
||||||
if (isEmptyString($person_id) && isEmptyString($oe_kurzbz))
|
if (isEmptyString($person_id) && isEmptyString($oe_kurzbz))
|
||||||
return error("Person_id or oe_kurzbz must be set.");
|
return error("Person_id or oe_kurzbz must be set.");
|
||||||
|
|
||||||
@@ -226,7 +236,15 @@ class IssuesLib
|
|||||||
if (hasData($fehlerRes))
|
if (hasData($fehlerRes))
|
||||||
{
|
{
|
||||||
$fehlertextVorlage = getData($fehlerRes)[0]->fehlertext;
|
$fehlertextVorlage = getData($fehlerRes)[0]->fehlertext;
|
||||||
$fehlertext = isEmptyArray($fehlertext_params) ? $fehlertextVorlage : vsprintf($fehlertextVorlage, $fehlertext_params);
|
|
||||||
|
$fehlertext = $fehlertextVorlage;
|
||||||
|
if (!isEmptyArray($fehlertext_params))
|
||||||
|
{
|
||||||
|
if (count($fehlertext_params) != substr_count($fehlertextVorlage, '%s'))
|
||||||
|
return error('Wrong number of parameters for Fehlertext, fehler_kurzbz ' . $fehlercode);
|
||||||
|
|
||||||
|
$fehlertext = vsprintf($fehlertextVorlage, $fehlertext_params);
|
||||||
|
}
|
||||||
|
|
||||||
$openIssuesCountRes = $this->_ci->IssueModel->getOpenIssueCount($fehlercode, $person_id, $oe_kurzbz, $fehlercode_extern);
|
$openIssuesCountRes = $this->_ci->IssueModel->getOpenIssueCount($fehlercode, $person_id, $oe_kurzbz, $fehlercode_extern);
|
||||||
|
|
||||||
@@ -252,6 +270,7 @@ class IssuesLib
|
|||||||
return error("Invalid parameters for resolution");
|
return error("Invalid parameters for resolution");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// insert new issue
|
||||||
return $this->_ci->IssueModel->insert(
|
return $this->_ci->IssueModel->insert(
|
||||||
array(
|
array(
|
||||||
'fehlercode' => $fehlercode,
|
'fehlercode' => $fehlercode,
|
||||||
@@ -267,8 +286,8 @@ class IssuesLib
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else // return success if issue already exists
|
||||||
return success($openIssueCount);
|
return success("Issue already exists");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return error("Number of open issues could not be determined");
|
return error("Number of open issues could not be determined");
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,102 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class PlausicheckProducerLib
|
||||||
|
{
|
||||||
|
const CI_LIBRARY_PATH = 'application/libraries';
|
||||||
|
const PLAUSI_ISSUES_FOLDER = 'issues/plausichecks';
|
||||||
|
const EXECUTE_PLAUSI_CHECK_METHOD_NAME = 'executePlausiCheck';
|
||||||
|
|
||||||
|
private $_ci; // ci instance
|
||||||
|
private $_currentStudiensemester; // current Studiensemester
|
||||||
|
|
||||||
|
// set fehler which can be produced by the job
|
||||||
|
// structure: fehler_kurzbz => class (library) name for resolving
|
||||||
|
private $_fehlerLibMappings = array(
|
||||||
|
'AbbrecherAktiv' => 'AbbrecherAktiv',
|
||||||
|
'AbschlussstatusFehlt' => 'AbschlussstatusFehlt',
|
||||||
|
'AktSemesterNull' => 'AktSemesterNull',
|
||||||
|
'AktiverStudentOhneStatus' => 'AktiverStudentOhneStatus',
|
||||||
|
'AusbildungssemPrestudentUngleichAusbildungssemStatus' => 'AusbildungssemPrestudentUngleichAusbildungssemStatus',
|
||||||
|
'BewerberNichtZumRtAngetreten' => 'BewerberNichtZumRtAngetreten',
|
||||||
|
'DatumAbschlusspruefungFehlt' => 'DatumAbschlusspruefungFehlt',
|
||||||
|
'DatumSponsionFehlt' => 'DatumSponsionFehlt',
|
||||||
|
'DatumStudiensemesterFalscheReihenfolge' => 'DatumStudiensemesterFalscheReihenfolge',
|
||||||
|
'FalscheAnzahlAbschlusspruefungen' => 'FalscheAnzahlAbschlusspruefungen',
|
||||||
|
'FalscheAnzahlHeimatadressen' => 'FalscheAnzahlHeimatadressen',
|
||||||
|
'FalscheAnzahlZustelladressen' => 'FalscheAnzahlZustelladressen',
|
||||||
|
'GbDatumWeitZurueck' => 'GbDatumWeitZurueck',
|
||||||
|
'InaktiverStudentAktiverStatus' => 'InaktiverStudentAktiverStatus',
|
||||||
|
'IncomingHeimatNationOesterreich' => 'IncomingHeimatNationOesterreich',
|
||||||
|
'IncomingOhneIoDatensatz' => 'IncomingOhneIoDatensatz',
|
||||||
|
'IncomingOrGsFoerderrelevant' => 'IncomingOrGsFoerderrelevant',
|
||||||
|
'InskriptionVorLetzerBismeldung' => 'InskriptionVorLetzerBismeldung',
|
||||||
|
'NationNichtOesterreichAberGemeinde' => 'NationNichtOesterreichAberGemeinde',
|
||||||
|
'OrgformStgUngleichOrgformPrestudent' => 'OrgformStgUngleichOrgformPrestudent',
|
||||||
|
'PrestudentMischformOhneOrgform' => 'PrestudentMischformOhneOrgform',
|
||||||
|
'StgPrestudentUngleichStgStudienplan' => 'StgPrestudentUngleichStgStudienplan',
|
||||||
|
'StgPrestudentUngleichStgStudent' => 'StgPrestudentUngleichStgStudent',
|
||||||
|
'StudentstatusNachAbbrecher' => 'StudentstatusNachAbbrecher'
|
||||||
|
//'StudienplanUngueltig' => 'StudienplanUngueltig'
|
||||||
|
);
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->_ci =& get_instance(); // get ci instance
|
||||||
|
|
||||||
|
// load models
|
||||||
|
$this->_ci->load->model('organisation/studiensemester_model', 'StudiensemesterModel');
|
||||||
|
|
||||||
|
// get current Studiensemester
|
||||||
|
$studiensemesterRes = $this->_ci->StudiensemesterModel->getAkt();
|
||||||
|
if (hasData($studiensemesterRes)) $this->_currentStudiensemester = getData($studiensemesterRes)[0]->studiensemester_kurzbz;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes check for a fehler_kurzbz, returns the result.
|
||||||
|
* @param $fehler_kurzbz string
|
||||||
|
* @param $studiensemester_kurzbz string optionally needed for issue production
|
||||||
|
* @param $studiengang_kz int optionally needed for issue production
|
||||||
|
*/
|
||||||
|
public function producePlausicheckIssue($fehler_kurzbz, $studiensemester_kurzbz = null, $studiengang_kz = null)
|
||||||
|
{
|
||||||
|
$libName = $this->_fehlerLibMappings[$fehler_kurzbz];
|
||||||
|
|
||||||
|
// get Studiensemester
|
||||||
|
if (isEmptyString($studiensemester_kurzbz)) $studiensemester_kurzbz = $this->_currentStudiensemester;
|
||||||
|
|
||||||
|
// get path of library for issue to be produced
|
||||||
|
$issuesLibPath = DOC_ROOT . self::CI_LIBRARY_PATH . '/' . self::PLAUSI_ISSUES_FOLDER . '/';
|
||||||
|
$issuesLibFilePath = $issuesLibPath . $libName . '.php';
|
||||||
|
|
||||||
|
// check if library file exists
|
||||||
|
if (!file_exists($issuesLibFilePath)) return error("Issue library file " . $issuesLibFilePath . " does not exist");
|
||||||
|
|
||||||
|
// load library connected to fehlercode
|
||||||
|
$this->_ci->load->library(self::PLAUSI_ISSUES_FOLDER . '/'.$libName);
|
||||||
|
|
||||||
|
$lowercaseLibName = mb_strtolower($libName);
|
||||||
|
|
||||||
|
// check if method is defined in library class
|
||||||
|
if (!is_callable(array($this->_ci->{$lowercaseLibName}, self::EXECUTE_PLAUSI_CHECK_METHOD_NAME)))
|
||||||
|
return error("Method " . self::EXECUTE_PLAUSI_CHECK_METHOD_NAME . " is not defined in library $lowercaseLibName");
|
||||||
|
|
||||||
|
// pass the data needed for issue check
|
||||||
|
$paramsForCheck = array(
|
||||||
|
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||||
|
'studiengang_kz' => $studiengang_kz
|
||||||
|
);
|
||||||
|
|
||||||
|
// call the function for checking for issue production
|
||||||
|
return $this->_ci->{$lowercaseLibName}->{self::EXECUTE_PLAUSI_CHECK_METHOD_NAME}($paramsForCheck);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all fehler_kurzbz for fehler which need to be checked.
|
||||||
|
*/
|
||||||
|
public function getFehlerKurzbz()
|
||||||
|
{
|
||||||
|
return array_keys($this->_fehlerLibMappings);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class AbbrecherAktiv extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getAbbrecherAktiv($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class AbschlussstatusFehlt extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getAbschlussstatusFehlt($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class AktSemesterNull extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getAktSemesterNull($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class AktiverStudentOhneStatus extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getAktiverStudentOhneStatus($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
+56
@@ -0,0 +1,56 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class AusbildungssemPrestudentUngleichAusbildungssemStatus extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getAusbildungssemPrestudentUngleichAusbildungssemStatus(
|
||||||
|
$studiensemester_kurzbz,
|
||||||
|
$studiengang_kz
|
||||||
|
);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'status_ausbildungssemester' => $prestudent->status_ausbildungssemester,
|
||||||
|
'student_ausbildungssemester' => $prestudent->student_ausbildungssemester,
|
||||||
|
'student_uid' => $prestudent->student_uid,
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class BewerberNichtZumRtAngetreten extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getBewerberNichtZumRtAngetreten($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz,
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class DatumAbschlusspruefungFehlt extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getDatumAbschlusspruefungFehlt($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'abschlusspruefung_id' => $prestudent->abschlusspruefung_id
|
||||||
|
),
|
||||||
|
'resolution_params' => array('abschlusspruefung_id' => $prestudent->abschlusspruefung_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class DatumSponsionFehlt extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getDatumSponsionFehlt($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'abschlusspruefung_id' => $prestudent->abschlusspruefung_id
|
||||||
|
),
|
||||||
|
'resolution_params' => array('abschlusspruefung_id' => $prestudent->abschlusspruefung_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class DatumStudiensemesterFalscheReihenfolge extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getDatumStudiensemesterFalscheReihenfolge($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class FalscheAnzahlAbschlusspruefungen extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getFalscheAnzahlAbschlusspruefungen($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class FalscheAnzahlHeimatadressen extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$personRes = $this->_ci->plausichecklib->getFalscheAnzahlHeimatadressen($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($personRes)) return $personRes;
|
||||||
|
|
||||||
|
if (hasData($personRes))
|
||||||
|
{
|
||||||
|
$persons = getData($personRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($persons as $person)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $person->person_id,
|
||||||
|
'resolution_params' => array('person_id' => $person->person_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class FalscheAnzahlZustelladressen extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$personRes = $this->_ci->plausichecklib->getFalscheAnzahlZustelladressen($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($personRes)) return $personRes;
|
||||||
|
|
||||||
|
if (hasData($personRes))
|
||||||
|
{
|
||||||
|
$persons = getData($personRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($persons as $person)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $person->person_id,
|
||||||
|
'resolution_params' => array('person_id' => $person->person_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class GbDatumWeitZurueck extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$personRes = $this->_ci->plausichecklib->getGbDatumWeitZurueck($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($personRes)) return $personRes;
|
||||||
|
|
||||||
|
if (hasData($personRes))
|
||||||
|
{
|
||||||
|
$persons = getData($personRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($persons as $person)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $person->person_id,
|
||||||
|
'resolution_params' => array('person_id' => $person->person_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class InaktiverStudentAktiverStatus extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getInaktiverStudentAktiverStatus($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class IncomingHeimatNationOesterreich extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$personRes = $this->_ci->plausichecklib->getIncomingHeimatNationOesterreich($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($personRes)) return $personRes;
|
||||||
|
|
||||||
|
if (hasData($personRes))
|
||||||
|
{
|
||||||
|
$persons = getData($personRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($persons as $person)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $person->person_id,
|
||||||
|
'resolution_params' => array('person_id' => $person->person_id, 'studiensemester_kurzbz' => $studiensemester_kurzbz)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class IncomingOhneIoDatensatz extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getIncomingOhneIoDatensatz($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class IncomingOrGsFoerderrelevant extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getIncomingOrGsFoerderrelevant($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class InskriptionVorLetzerBismeldung extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getInskriptionVorLetzerBismeldung($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'datum_bismeldung' => date_format(date_create($prestudent->datum_bismeldung), 'd.m.Y'),
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class NationNichtOesterreichAberGemeinde extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$personRes = $this->_ci->plausichecklib->getNationNichtOesterreichAberGemeinde($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($personRes)) return $personRes;
|
||||||
|
|
||||||
|
if (hasData($personRes))
|
||||||
|
{
|
||||||
|
$persons = getData($personRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($persons as $person)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $person->person_id,
|
||||||
|
'fehlertext_params' => array('gemeinde' => $person->gemeinde, 'adresse_id' => $person->adresse_id),
|
||||||
|
'resolution_params' => array('adresse_id' => $person->adresse_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class OrgformStgUngleichOrgformPrestudent extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getOrgformStgUngleichOrgformPrestudent($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'student_studiengang' => $prestudent->student_studiengang,
|
||||||
|
'student_orgform' => $prestudent->student_orgform,
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* class defining ressources and method to use for plausicheck issue producer
|
||||||
|
*/
|
||||||
|
abstract class PlausiChecker
|
||||||
|
{
|
||||||
|
protected $_ci; // code igniter instance
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
// load libraries
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib'); // load plausicheck library
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executes a plausi check.
|
||||||
|
* @param $paramsForChecking array parameters needed for executing the check
|
||||||
|
* @return array with objects which failed the plausi check
|
||||||
|
*/
|
||||||
|
abstract public function executePlausiCheck($paramsForChecking);
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class PrestudentMischformOhneOrgform extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getPrestudentMischformOhneOrgform($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class StgPrestudentUngleichStgStudent extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getStgPrestudentUngleichStgStudent($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class StgPrestudentUngleichStgStudienplan extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getStgPrestudentUngleichStgStudienplan($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id, 'studienplan' => $prestudent->studienplan),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id, 'studienordnung_id' => $prestudent->studienordnung_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class StudentstatusNachAbbrecher extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getStudentstatusNachAbbrecher($studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array('prestudent_id' => $prestudent->prestudent_id),
|
||||||
|
'resolution_params' => array('prestudent_id' => $prestudent->prestudent_id)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
require_once('PlausiChecker.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class StudienplanUngueltig extends PlausiChecker
|
||||||
|
{
|
||||||
|
public function executePlausiCheck($params)
|
||||||
|
{
|
||||||
|
$results = array();
|
||||||
|
|
||||||
|
// pass parameters needed for plausicheck
|
||||||
|
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||||
|
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||||
|
|
||||||
|
// get all students failing the plausicheck
|
||||||
|
$prestudentRes = $this->_ci->plausichecklib->getStudienplanUngueltig($studiensemester_kurzbz, $studiengang_kz);
|
||||||
|
|
||||||
|
if (isError($prestudentRes)) return $prestudentRes;
|
||||||
|
|
||||||
|
if (hasData($prestudentRes))
|
||||||
|
{
|
||||||
|
$prestudents = getData($prestudentRes);
|
||||||
|
|
||||||
|
// populate results with data necessary for writing issues
|
||||||
|
foreach ($prestudents as $prestudent)
|
||||||
|
{
|
||||||
|
$results[] = array(
|
||||||
|
'person_id' => $prestudent->person_id,
|
||||||
|
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||||
|
'fehlertext_params' => array(
|
||||||
|
'studienplan' => $prestudent->studienplan,
|
||||||
|
'ausbildungssemester' => $prestudent->ausbildungssemester,
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id
|
||||||
|
),
|
||||||
|
'resolution_params' => array(
|
||||||
|
'prestudent_id' => $prestudent->prestudent_id,
|
||||||
|
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the results
|
||||||
|
return success($results);
|
||||||
|
}
|
||||||
|
}
|
||||||
-1
@@ -15,7 +15,6 @@ class CORE_INOUT_0006 implements IIssueResolvedChecker
|
|||||||
$this->_ci =& get_instance(); // get code igniter instance
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
$this->_ci->load->model('codex/Bisio_model', 'BisioModel');
|
$this->_ci->load->model('codex/Bisio_model', 'BisioModel');
|
||||||
//$this->_ci->load->model('codex/Aufenthaltfoerderung_model', 'AufenthaltfoerderungModel');
|
|
||||||
|
|
||||||
// get all Zwecke
|
// get all Zwecke
|
||||||
$this->_ci->BisioModel->addSelect('ects_erworben');
|
$this->_ci->BisioModel->addSelect('ects_erworben');
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_INOUT_0007 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['issue_person_id']) || !is_numeric($params['issue_person_id']))
|
||||||
|
return error('Person Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getIncomingHeimatNationOesterreich($params['studiensemester_kurzbz'], null, $params['issue_person_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_INOUT_0008 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getIncomingOhneIoDatensatz(null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming or external GS student should not be foerderrelevant.
|
||||||
|
*/
|
||||||
|
class CORE_INOUT_0009 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getIncomingOrGsFoerderrelevant(null, null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_PERSON_0001 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['issue_person_id']) || !is_numeric($params['issue_person_id']))
|
||||||
|
return error('Person Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getGbDatumWeitZurueck(null, null, $params['issue_person_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_PERSON_0002 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['issue_person_id']) || !is_numeric($params['issue_person_id']))
|
||||||
|
return error('Person Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getNationNichtOesterreichAberGemeinde(null, $params['issue_person_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_PERSON_0003 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['issue_person_id']) || !is_numeric($params['issue_person_id']))
|
||||||
|
return error('Person Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getFalscheAnzahlHeimatadressen(null, null, $params['issue_person_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_PERSON_0004 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['issue_person_id']) || !is_numeric($params['issue_person_id']))
|
||||||
|
return error('Person Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getFalscheAnzahlZustelladressen(null, null, $params['issue_person_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STG_0001 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getStgPrestudentUngleichStgStudent(null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STG_0002 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getOrgformStgUngleichOrgformPrestudent($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STG_0003 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getPrestudentMischformOhneOrgform($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STG_0004 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studienordnung_id']) || !is_numeric($params['studienordnung_id']))
|
||||||
|
return error('Studienordnung Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getStgPrestudentUngleichStgStudienplan(null, $params['prestudent_id'], $params['studienordnung_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0001 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getAbbrecherAktiv(null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0002 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getStudentstatusNachAbbrecher(null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0003 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getAusbildungssemPrestudentUngleichAusbildungssemStatus($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0004 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getInaktiverStudentAktiverStatus($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0005 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getInskriptionVorLetzerBismeldung($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0006 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getDatumStudiensemesterFalscheReihenfolge(null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0007 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getAktiverStudentOhneStatus(null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0008 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getStudienplanUngueltig($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0009 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getFalscheAnzahlAbschlusspruefungen(null, null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0010 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['abschlusspruefung_id']) || !is_numeric($params['abschlusspruefung_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getDatumAbschlusspruefungFehlt(null, null, $params['abschlusspruefung_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0011 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['abschlusspruefung_id']) || !is_numeric($params['abschlusspruefung_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getDatumSponsionFehlt(null, null, $params['abschlusspruefung_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0012 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getBewerberNichtZumRtAngetreten($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0013 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||||
|
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getAktSemesterNull($params['studiensemester_kurzbz'], null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Incoming shouldn't have austrian home address.
|
||||||
|
*/
|
||||||
|
class CORE_STUDENTSTATUS_0014 implements IIssueResolvedChecker
|
||||||
|
{
|
||||||
|
public function checkIfIssueIsResolved($params)
|
||||||
|
{
|
||||||
|
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||||
|
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||||
|
|
||||||
|
$this->_ci =& get_instance(); // get code igniter instance
|
||||||
|
|
||||||
|
$this->_ci->load->library('issues/PlausicheckLib');
|
||||||
|
|
||||||
|
// check if issue persists
|
||||||
|
$checkRes = $this->_ci->plausichecklib->getAbschlussstatusFehlt(null, null, $params['prestudent_id']);
|
||||||
|
|
||||||
|
if (isError($checkRes)) return $checkRes;
|
||||||
|
|
||||||
|
if (hasData($checkRes))
|
||||||
|
return success(false); // not resolved if issue is still present
|
||||||
|
else
|
||||||
|
return success(true); // resolved otherwise
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -171,7 +171,7 @@ class Akte_model extends DB_Model
|
|||||||
* @param bool $nachgereicht if true, retrieves only nachgereichte Dokumente. if false, only not nachgereichte. default: null, all Dokumente
|
* @param bool $nachgereicht if true, retrieves only nachgereichte Dokumente. if false, only not nachgereichte. default: null, all Dokumente
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null)
|
public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null, $archiv = null)
|
||||||
{
|
{
|
||||||
$this->addSelect('public.tbl_akte.*, bezeichnung_mehrsprachig, dokumentbeschreibung_mehrsprachig, public.tbl_dokument.bezeichnung as dokument_bezeichnung, bis.tbl_nation.*, ausstellungsdetails');
|
$this->addSelect('public.tbl_akte.*, bezeichnung_mehrsprachig, dokumentbeschreibung_mehrsprachig, public.tbl_dokument.bezeichnung as dokument_bezeichnung, bis.tbl_nation.*, ausstellungsdetails');
|
||||||
$this->addJoin('public.tbl_dokument', 'dokument_kurzbz');
|
$this->addJoin('public.tbl_dokument', 'dokument_kurzbz');
|
||||||
@@ -184,6 +184,9 @@ class Akte_model extends DB_Model
|
|||||||
if(is_bool($nachgereicht))
|
if(is_bool($nachgereicht))
|
||||||
$where['nachgereicht'] = $nachgereicht;
|
$where['nachgereicht'] = $nachgereicht;
|
||||||
|
|
||||||
|
if (is_bool($archiv))
|
||||||
|
$where['archiv'] = $archiv;
|
||||||
|
|
||||||
$dokumente = $this->loadWhere($where);
|
$dokumente = $this->loadWhere($where);
|
||||||
|
|
||||||
if($dokumente->error) return $dokumente;
|
if($dokumente->error) return $dokumente;
|
||||||
|
|||||||
@@ -309,13 +309,39 @@ class Prestudent_model extends DB_Model
|
|||||||
*/
|
*/
|
||||||
public function getLastPrestudent($person_id, $withzgv = false)
|
public function getLastPrestudent($person_id, $withzgv = false)
|
||||||
{
|
{
|
||||||
$qry = 'SELECT * FROM public.tbl_prestudent
|
$qry = 'SELECT * FROM public.tbl_prestudent ps
|
||||||
WHERE person_id = ?
|
|
||||||
%s
|
%s
|
||||||
|
WHERE ps.person_id = ?
|
||||||
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
||||||
LIMIT 1';
|
LIMIT 1';
|
||||||
|
|
||||||
$zgvwhere = $withzgv === true ? 'AND zgv_code IS NOT NULL' : '';
|
$zgvwhere = '';
|
||||||
|
if ($withzgv === true)
|
||||||
|
{
|
||||||
|
$zgvwhere = '
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT ps2.zgvmas_code,
|
||||||
|
ps2.zgvmanation,
|
||||||
|
ps2.zgvmadatum,
|
||||||
|
ps2.zgvmaort,
|
||||||
|
ps2.zgvmas_erfuellt,
|
||||||
|
ps2.person_id
|
||||||
|
FROM tbl_prestudent ps2
|
||||||
|
WHERE zgvmas_code IS NOT NULL
|
||||||
|
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
||||||
|
) zgvmas ON zgvmas.person_id = ps.person_id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT ps2.zgv_code,
|
||||||
|
ps2.zgvnation,
|
||||||
|
ps2.zgvdatum,
|
||||||
|
ps2.zgvort,
|
||||||
|
ps2.zgv_erfuellt,
|
||||||
|
ps2.person_id
|
||||||
|
FROM tbl_prestudent ps2
|
||||||
|
WHERE zgv_code IS NOT NULL
|
||||||
|
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
||||||
|
)zgv ON zgv.person_id = ps.person_id';
|
||||||
|
}
|
||||||
|
|
||||||
$qry = sprintf($qry, $zgvwhere);
|
$qry = sprintf($qry, $zgvwhere);
|
||||||
|
|
||||||
|
|||||||
@@ -508,13 +508,20 @@ class Studiengang_model extends DB_Model
|
|||||||
return $this->execQuery($query, array($typ, $semester));
|
return $this->execQuery($query, array($typ, $semester));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getStudiengangTyp($studiengang_kz, $typ)
|
public function getStudiengangTyp($studiengang_kz, $typ = null)
|
||||||
{
|
{
|
||||||
$query = "SELECT DISTINCT(sgt.*)
|
$query = "SELECT DISTINCT(sgt.*)
|
||||||
FROM tbl_studiengangstyp sgt JOIN tbl_studiengang sg on sgt.typ = sg.typ
|
FROM tbl_studiengangstyp sgt JOIN tbl_studiengang sg on sgt.typ = sg.typ
|
||||||
WHERE studiengang_kz IN ? and sgt.typ IN ?";
|
WHERE studiengang_kz IN ?";
|
||||||
|
|
||||||
return $this->execQuery($query, array($studiengang_kz, $typ));
|
$params[] = $studiengang_kz;
|
||||||
|
|
||||||
|
if (!is_null($typ))
|
||||||
|
{
|
||||||
|
$query .= " AND sgt.typ IN ?";
|
||||||
|
$params[] = $typ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->execQuery($query, $params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Geschlecht_model extends DB_Model
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->dbTable = 'public.tbl_geschlecht';
|
||||||
|
$this->pk = 'geschlecht';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -213,11 +213,7 @@ $filterWidgetArray = array(
|
|||||||
begruendung: {headerFilter:"input", visible: true},
|
begruendung: {headerFilter:"input", visible: true},
|
||||||
student: {headerFilter:"input"},
|
student: {headerFilter:"input"},
|
||||||
zgv: {visible: false, headerFilter:"input"},
|
zgv: {visible: false, headerFilter:"input"},
|
||||||
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{
|
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez},
|
||||||
labelField:"dokument_bezeichnung",
|
|
||||||
url:function(cell){return "'. current_url() .'/download?dms_id=" + cell.getData().dms_id},
|
|
||||||
target:"_blank"
|
|
||||||
}},
|
|
||||||
anmerkung_student: {headerFilter:"input"},
|
anmerkung_student: {headerFilter:"input"},
|
||||||
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||||
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ $query = '
|
|||||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (anrechnung_id)
|
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (anrechnung_id)
|
||||||
JOIN lehre.tbl_anrechnung_begruendung AS begruendung USING (begruendung_id)
|
JOIN lehre.tbl_anrechnung_begruendung AS begruendung USING (begruendung_id)
|
||||||
)
|
)
|
||||||
|
|
||||||
SELECT DISTINCT ON (anrechnungen.*, lema.mitarbeiter_uid) anrechnungen.*,
|
SELECT DISTINCT ON (anrechnungen.*, lema.mitarbeiter_uid) anrechnungen.*,
|
||||||
array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung"
|
array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung"
|
||||||
FROM anrechnungen
|
FROM anrechnungen
|
||||||
@@ -134,11 +134,7 @@ $filterWidgetArray = array(
|
|||||||
student: {headerFilter:"input"},
|
student: {headerFilter:"input"},
|
||||||
begruendung: {headerFilter:"input"},
|
begruendung: {headerFilter:"input"},
|
||||||
zgv: {visible: false, headerFilter:"input"},
|
zgv: {visible: false, headerFilter:"input"},
|
||||||
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{
|
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez},
|
||||||
labelField:"dokument_bezeichnung",
|
|
||||||
url:function(cell){return "'. current_url() .'/download?dms_id=" + cell.getData().dms_id},
|
|
||||||
target:"_blank"
|
|
||||||
}},
|
|
||||||
anmerkung_student: {headerFilter:"input"},
|
anmerkung_student: {headerFilter:"input"},
|
||||||
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||||
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||||
@@ -149,4 +145,4 @@ $filterWidgetArray = array(
|
|||||||
|
|
||||||
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
|
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -25,7 +25,8 @@
|
|||||||
'public/js/infocenter/messageList.js',
|
'public/js/infocenter/messageList.js',
|
||||||
'public/js/infocenter/infocenterDetails.js',
|
'public/js/infocenter/infocenterDetails.js',
|
||||||
'public/js/infocenter/zgvUeberpruefung.js',
|
'public/js/infocenter/zgvUeberpruefung.js',
|
||||||
'public/js/infocenter/docUeberpruefung.js'
|
'public/js/infocenter/docUeberpruefung.js',
|
||||||
|
'public/js/infocenter/stammdaten.js'
|
||||||
),
|
),
|
||||||
'phrases' => array(
|
'phrases' => array(
|
||||||
'infocenter' => array(
|
'infocenter' => array(
|
||||||
|
|||||||
@@ -1,60 +1,104 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6 table-responsive">
|
<div class="col-lg-6 table-responsive stammdaten_form">
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<?php if (!empty($stammdaten->titelpre)): ?>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpre')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','titelpre')) ?></strong></td>
|
||||||
<td><?php echo $stammdaten->titelpre ?></td>
|
<td>
|
||||||
|
<div class='stammdaten' id="titelpre"><?php echo $stammdaten->titelpre ?></div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endif; ?>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','vorname')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','vorname')) ?></strong></td>
|
||||||
<td><?php echo $stammdaten->vorname ?></td>
|
<td>
|
||||||
|
<div class='stammdaten' id="vorname"><?php echo $stammdaten->vorname ?></div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','nachname')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','nachname')) ?></strong></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $stammdaten->nachname ?></td>
|
<div class='stammdaten' id="nachname"><?php echo $stammdaten->nachname ?></div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong><?php echo ucfirst($this->p->t('person','titelpost')) ?></strong></td>
|
||||||
|
<td>
|
||||||
|
<div class='stammdaten' id="titelpost"><?php echo $stammdaten->titelpost ?></div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php if (!empty($stammdaten->titelpost)): ?>
|
|
||||||
<tr>
|
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpost')) ?></strong></td>
|
|
||||||
<td><?php echo $stammdaten->titelpost ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsdatum')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','geburtsdatum')) ?></strong></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></td>
|
<div class='stammdaten' id="gebdatum"><?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','svnr')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','svnr')) ?></strong></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $stammdaten->svnr ?></td>
|
<div class='stammdaten' id="svnr"><?php echo $stammdaten->svnr ?></div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','staatsbuergerschaft')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','staatsbuergerschaft')) ?></strong></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $stammdaten->staatsbuergerschaft ?></td>
|
<select id="buergerschaft" disabled>
|
||||||
|
<?php
|
||||||
|
foreach ($all_nations as $nation)
|
||||||
|
{
|
||||||
|
$selected = '';
|
||||||
|
if ($nation->nation_code === $stammdaten->staatsbuergerschaft_code)
|
||||||
|
$selected = 'selected';
|
||||||
|
echo "<option value='". $nation->nation_code ."' " . $selected . ">". $nation->langtext . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','geschlecht')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','geschlecht')) ?></strong></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $stammdaten->geschlecht ?></td>
|
<?php
|
||||||
|
$language = getUserLanguage() == 'German' ? 0 : 1;
|
||||||
|
?>
|
||||||
|
<select id="geschlecht" disabled>
|
||||||
|
<?php
|
||||||
|
foreach ($all_genders as $gender)
|
||||||
|
{
|
||||||
|
$selected = '';
|
||||||
|
if ($gender->geschlecht === $stammdaten->geschlecht)
|
||||||
|
$selected = 'selected';
|
||||||
|
echo "<option value='". $gender->geschlecht ."' " . $selected . ">". ucfirst($gender->bezeichnung_mehrsprachig[$language]) . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsnation')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','geburtsnation')) ?></strong></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $stammdaten->geburtsnation ?></td>
|
<select id="gebnation" disabled>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
foreach ($all_nations as $nation)
|
||||||
|
{
|
||||||
|
$selected = '';
|
||||||
|
if ($nation->nation_code === $stammdaten->geburtsnation_code)
|
||||||
|
$selected = 'selected';
|
||||||
|
echo "<option value='". $nation->nation_code ."' " . $selected . ">". $nation->langtext . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsort')) ?></strong></td>
|
<td><strong><?php echo ucfirst($this->p->t('person','geburtsort')) ?></strong></td>
|
||||||
<td><?php echo $stammdaten->gebort ?></td>
|
<td>
|
||||||
|
<div class='stammdaten' id="gebort"><?php echo $stammdaten->gebort ?></div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 table-responsive">
|
<div class="col-lg-6 table-responsive">
|
||||||
<table class="table table-bordered">
|
<table class="table table-bordered stammdaten_form">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4" class="text-center"><?php echo ucfirst($this->p->t('global','kontakt')) ?></th>
|
<th colspan="4" class="text-center"><?php echo ucfirst($this->p->t('global','kontakt')) ?></th>
|
||||||
@@ -78,7 +122,7 @@
|
|||||||
<td><?php echo ucfirst($kontakt->kontakttyp) ?></td>
|
<td><?php echo ucfirst($kontakt->kontakttyp) ?></td>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<td>
|
<td>
|
||||||
<?php echo '<span class="'.$kontakt->kontakttyp.'">';?>
|
<?php echo '<span class="kontakt '.$kontakt->kontakttyp.'" data-id="'. $kontakt->kontakt_id .'" data-value="' . $kontakt->kontakt .'">';?>
|
||||||
<?php if ($kontakt->kontakttyp === 'email'): ?>
|
<?php if ($kontakt->kontakttyp === 'email'): ?>
|
||||||
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
||||||
<?php $lastMailAdress = $kontakt->kontakt;
|
<?php $lastMailAdress = $kontakt->kontakt;
|
||||||
@@ -99,8 +143,30 @@
|
|||||||
<?php echo ucfirst($this->p->t('person','adresse')) ?>
|
<?php echo ucfirst($this->p->t('person','adresse')) ?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo isset($adresse) ? $adresse->strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?>
|
<?php if (isset($adresse)): ?>
|
||||||
<?php echo isset($adresse->nationkurztext) ? '<br />'.$adresse->nationkurztext : '' ?>
|
<div class="row adresse col-sm-12" data-id="<?php echo $adresse->adresse_id ?>">
|
||||||
|
<div class="float-left" data-value="<?php echo $adresse->strasse ?>" data-type="strasse"><?php echo $adresse->strasse ?></div>
|
||||||
|
|
||||||
|
<div class="float-left" data-value="<?php echo $adresse->plz ?>" data-type="plz"><?php echo $adresse->plz ?></div>
|
||||||
|
|
||||||
|
<div class="float-left" data-value="<?php echo $adresse->ort ?>" data-type="ort"><?php echo $adresse->ort ?></div>
|
||||||
|
|
||||||
|
<?php if (isset($adresse->nationkurztext)): ?>
|
||||||
|
<select id="nation_<?php echo $adresse->adresse_id ?>" disabled>
|
||||||
|
<?php
|
||||||
|
foreach ($all_nations as $nation)
|
||||||
|
{
|
||||||
|
$selected = '';
|
||||||
|
if ($nation->nation_code === $adresse->nation)
|
||||||
|
$selected = 'selected';
|
||||||
|
echo "<option value='". $nation->nation_code ."' " . $selected . ">". $nation->langtext . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php endif; ?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo ($adresse->heimatadresse === true ? 'Heimatadresse' : '').
|
<?php echo ($adresse->heimatadresse === true ? 'Heimatadresse' : '').
|
||||||
@@ -126,6 +192,16 @@
|
|||||||
target='_blank'><i class="glyphicon glyphicon-new-window"></i> <?php echo $this->p->t('infocenter','zugangBewerbung') ?></a>
|
target='_blank'><i class="glyphicon glyphicon-new-window"></i> <?php echo $this->p->t('infocenter','zugangBewerbung') ?></a>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
<div class="col-xs-6">
|
||||||
|
<a class="editStammdaten">
|
||||||
|
<i class="fa fa-edit"></i> <?php echo $this->p->t('ui','bearbeiten'); ?></a>
|
||||||
|
<div class="editActionStammdaten" style="display:none">
|
||||||
|
<a class="cancelStammdaten">
|
||||||
|
<i class="fa fa-trash"></i> <?php echo $this->p->t('ui','abbrechen');?></a>
|
||||||
|
<a class="saveStammdaten">
|
||||||
|
<i class="fa fa-save"></i> <?php echo $this->p->t('ui','speichern'); ?></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<?php
|
<?php
|
||||||
$unique_studsemester = array();
|
$unique_studsemester = array();
|
||||||
$first = true;
|
$first = true;
|
||||||
$fit_programme_studiengaenge = array(10021, 10027);
|
$fit_programme_studiengaenge = $additional_stg;
|
||||||
foreach ($zgvpruefungen as $zgvpruefung):
|
foreach ($zgvpruefungen as $zgvpruefung):
|
||||||
$infoonly = $zgvpruefung->infoonly;
|
$infoonly = $zgvpruefung->infoonly;
|
||||||
$studiengangkurzbz = $studiengangbezeichnung = $studiengangtyp = '';
|
$studiengangkurzbz = $studiengangbezeichnung = $studiengangtyp = '';
|
||||||
|
|||||||
@@ -132,16 +132,17 @@ if (!isEmptyArray($all_oe_kurzbz_berechtigt))
|
|||||||
)";
|
)";
|
||||||
}
|
}
|
||||||
|
|
||||||
$query .= " ORDER BY CASE
|
$query .= " ORDER BY
|
||||||
WHEN iss.status_kurzbz = '".IssuesLib::STATUS_NEU."' THEN 0
|
|
||||||
WHEN iss.status_kurzbz = '".IssuesLib::STATUS_IN_BEARBEITUNG."' THEN 1
|
|
||||||
ELSE 2
|
|
||||||
END,
|
|
||||||
CASE
|
CASE
|
||||||
WHEN fehlertyp_kurzbz = '".IssuesLib::ERRORTYPE_CODE."' THEN 0
|
WHEN fehlertyp_kurzbz = '".IssuesLib::ERRORTYPE_CODE."' THEN 0
|
||||||
WHEN fehlertyp_kurzbz = '".IssuesLib::WARNINGTYPE_CODE."' THEN 1
|
WHEN fehlertyp_kurzbz = '".IssuesLib::WARNINGTYPE_CODE."' THEN 1
|
||||||
ELSE 2
|
ELSE 2
|
||||||
END,
|
END,
|
||||||
|
CASE
|
||||||
|
WHEN iss.status_kurzbz = '".IssuesLib::STATUS_NEU."' THEN 0
|
||||||
|
WHEN iss.status_kurzbz = '".IssuesLib::STATUS_IN_BEARBEITUNG."' THEN 1
|
||||||
|
ELSE 2
|
||||||
|
END,
|
||||||
datum DESC, fehlercode, issue_id DESC";
|
datum DESC, fehlercode, issue_id DESC";
|
||||||
|
|
||||||
$filterWidgetArray = array(
|
$filterWidgetArray = array(
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
<?php
|
||||||
|
$this->load->view(
|
||||||
|
'templates/FHC-Header',
|
||||||
|
array(
|
||||||
|
'title' => 'Plausichecks',
|
||||||
|
'jquery3' => true,
|
||||||
|
'jqueryui1' => true,
|
||||||
|
'jquerycheckboxes' => true,
|
||||||
|
'bootstrap3' => true,
|
||||||
|
'fontawesome4' => true,
|
||||||
|
'sbadmintemplate3' => true,
|
||||||
|
'ajaxlib' => true,
|
||||||
|
'navigationwidget' => true,
|
||||||
|
'dialoglib' => true,
|
||||||
|
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css'),
|
||||||
|
'customJSs' => array('public/js/issues/plausichecks.js')
|
||||||
|
)
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div id="wrapper">
|
||||||
|
|
||||||
|
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||||
|
|
||||||
|
<div id="page-wrapper">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<h3 class="page-header">
|
||||||
|
Plausichecks
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 form-group">
|
||||||
|
<label>Studiensemester</label>
|
||||||
|
<select class="form-control" name="studiensemester" id="studiensemester">
|
||||||
|
<?php
|
||||||
|
foreach ($semester as $sem):
|
||||||
|
$selected = $sem->studiensemester_kurzbz === $currsemester[0]->studiensemester_kurzbz ? ' selected=""' : '';
|
||||||
|
?>
|
||||||
|
<option value="<?php echo $sem->studiensemester_kurzbz ?>"<?php echo $selected ?>>
|
||||||
|
<?php echo $sem->studiensemester_kurzbz ?>
|
||||||
|
</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-4 form-group">
|
||||||
|
<label>Studiengang</label>
|
||||||
|
<select class="form-control" name="studiengang_kz" id="studiengang_kz">
|
||||||
|
<option value="" selected="selected">Alle</option>';
|
||||||
|
<?php
|
||||||
|
$typ = '';
|
||||||
|
foreach ($studiengaenge as $studiengang):
|
||||||
|
if ($typ != $studiengang->typ || $typ == '')
|
||||||
|
{
|
||||||
|
if ($typ != '')
|
||||||
|
echo '</optgroup>';
|
||||||
|
|
||||||
|
echo '<optgroup label = "'.($studiengang->typbezeichnung !== '' ? $studiengang->typbezeichnung : $studiengang).'">';
|
||||||
|
}
|
||||||
|
$typ = $studiengang->typ;
|
||||||
|
?>
|
||||||
|
<option value="<?php echo $studiengang->studiengang_kz ?>">
|
||||||
|
<?php echo $studiengang->kuerzel . ' - ' . $studiengang->bezeichnung ?>
|
||||||
|
</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-3 col-lg-4 form-group">
|
||||||
|
<label>Fehler</label>
|
||||||
|
<select class="form-control" name="fehler_kurzbz" id="fehler_kurzbz">
|
||||||
|
<option value="" selected="selected">Alle</option>';
|
||||||
|
<?php foreach ($fehler as $fehler_kurzbz):?>
|
||||||
|
<option value="<?php echo $fehler_kurzbz ?>">
|
||||||
|
<?php echo $fehler_kurzbz ?>
|
||||||
|
</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-3 col-lg-2 form-group text-right">
|
||||||
|
<label> </label>
|
||||||
|
<br />
|
||||||
|
<button class="btn btn-default" id="plausistart">Checks starten</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12">
|
||||||
|
<div class="well well-sm wellminheight">
|
||||||
|
<h4 class="text-center">Output:</h4>
|
||||||
|
<div id="plausioutput" class="panel panel-body">
|
||||||
|
<div id="plausioutput-text">-</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||||
@@ -180,7 +180,8 @@ $qry = 'SELECT DISTINCT ON
|
|||||||
tbl_person.matr_nr,
|
tbl_person.matr_nr,
|
||||||
tbl_person.geschlecht,
|
tbl_person.geschlecht,
|
||||||
tbl_person.foto,
|
tbl_person.foto,
|
||||||
tbl_person.foto_sperre
|
tbl_person.foto_sperre,
|
||||||
|
(tbl_bisio.bis::timestamp - tbl_bisio.von::timestamp) as daysout
|
||||||
FROM
|
FROM
|
||||||
campus.vw_student_lehrveranstaltung
|
campus.vw_student_lehrveranstaltung
|
||||||
JOIN public.tbl_benutzer USING(uid)
|
JOIN public.tbl_benutzer USING(uid)
|
||||||
@@ -200,7 +201,7 @@ $qry = 'SELECT DISTINCT ON
|
|||||||
if ($lehreinheit != '')
|
if ($lehreinheit != '')
|
||||||
$qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER);
|
$qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||||
|
|
||||||
$qry .= ' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
$qry .= ' ORDER BY nachname, vorname, person_id, daysout DESC';
|
||||||
|
|
||||||
$stsem_obj = new studiensemester();
|
$stsem_obj = new studiensemester();
|
||||||
$stsem_obj->load($studiensemester);
|
$stsem_obj->load($studiensemester);
|
||||||
|
|||||||
+248
-206
@@ -16,8 +16,9 @@
|
|||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
*
|
||||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||||
|
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* Seite zum Eintragen von Urlaubstagen
|
* Seite zum Eintragen von Urlaubstagen
|
||||||
@@ -30,11 +31,13 @@ require_once('../../../include/person.class.php');
|
|||||||
require_once('../../../include/benutzer.class.php');
|
require_once('../../../include/benutzer.class.php');
|
||||||
require_once('../../../include/mitarbeiter.class.php');
|
require_once('../../../include/mitarbeiter.class.php');
|
||||||
require_once('../../../include/mail.class.php');
|
require_once('../../../include/mail.class.php');
|
||||||
|
require_once('../../../include/sancho.inc.php');
|
||||||
require_once('../../../include/phrasen.class.php');
|
require_once('../../../include/phrasen.class.php');
|
||||||
require_once('../../../include/globals.inc.php');
|
require_once('../../../include/globals.inc.php');
|
||||||
require_once('../../../include/sprache.class.php');
|
require_once('../../../include/sprache.class.php');
|
||||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||||
|
|
||||||
|
$datum_obj = new datum();
|
||||||
$sprache = getSprache();
|
$sprache = getSprache();
|
||||||
$lang = new sprache();
|
$lang = new sprache();
|
||||||
$lang->load($sprache);
|
$lang->load($sprache);
|
||||||
@@ -49,8 +52,8 @@ $mehrarbeitsstunden = '0';
|
|||||||
$anspruch = '25';
|
$anspruch = '25';
|
||||||
$zaehl=1;
|
$zaehl=1;
|
||||||
$tage=array(); //Array Tage für Kalenderanzeige
|
$tage=array(); //Array Tage für Kalenderanzeige
|
||||||
$hgfarbe=array_fill(0,44,'#E9ECEE'); //Array mit Hintegrundfarben der Kalenderfelder
|
$hgfarbe=array_fill(0, 44, '#E9ECEE'); //Array mit Hintegrundfarben der Kalenderfelder
|
||||||
$datensatz=array_fill(0,44,0);
|
$datensatz=array_fill(0, 44, 0);
|
||||||
$freigabevon=array();
|
$freigabevon=array();
|
||||||
$freigabeamum=array();
|
$freigabeamum=array();
|
||||||
$vertretung_uid=array();
|
$vertretung_uid=array();
|
||||||
@@ -60,26 +63,26 @@ $erreichbarkeit_kurzbz=array();
|
|||||||
//$monatsname = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
|
//$monatsname = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
|
||||||
|
|
||||||
$jahre = array(); //Array Jahreszahlen für Auswahl (immer aktuelles Jahr und die 4 nächsten Jahre)
|
$jahre = array(); //Array Jahreszahlen für Auswahl (immer aktuelles Jahr und die 4 nächsten Jahre)
|
||||||
$akette=array_fill(0,1,0);
|
$akette = array_fill(0, 1, 0);
|
||||||
$ekette=array_fill(0,1,0);
|
$ekette = array_fill(0, 1, 0);
|
||||||
$links='';
|
$links = '';
|
||||||
$rechts='';
|
$rechts = '';
|
||||||
$tag=array();
|
$tag = array();
|
||||||
$vertretung='';
|
$vertretung = '';
|
||||||
$erreichbar='';
|
$erreichbar = '';
|
||||||
$vgmail='';
|
$vgmail = '';
|
||||||
$vtmail='';
|
$vtmail = '';
|
||||||
$spmonat=array();
|
$spmonat = array();
|
||||||
$hgchange=false;
|
$hgchange = false;
|
||||||
$wvon='';
|
$wvon = '';
|
||||||
$wbis='';
|
$wbis = '';
|
||||||
$datensatz='';
|
$datensatz = '';
|
||||||
$t=getdate();
|
$t = getdate();
|
||||||
$uid = get_uid();
|
$uid = get_uid();
|
||||||
$taste=0;
|
$taste = 0;
|
||||||
|
|
||||||
$ma= new mitarbeiter();
|
$ma = new mitarbeiter();
|
||||||
for($i=0;$i<6;$i++)
|
for($i = 0; $i<6; $i++)
|
||||||
{
|
{
|
||||||
$jahre[$i]="$t[year]"+($i-1);
|
$jahre[$i]="$t[year]"+($i-1);
|
||||||
}
|
}
|
||||||
@@ -118,14 +121,13 @@ else
|
|||||||
}
|
}
|
||||||
if (isset($_GET['hgfarbe']))
|
if (isset($_GET['hgfarbe']))
|
||||||
{
|
{
|
||||||
$hgfarbe=explode(",",$_GET['hgfarbe']);
|
$hgfarbe=explode(",", $_GET['hgfarbe']);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!isset($_GET['spmonat']))
|
if (!isset($_GET['spmonat']))
|
||||||
{
|
{
|
||||||
for($i=0;$i<44;$i++)
|
for($i=0; $i<44; $i++)
|
||||||
{
|
{
|
||||||
if(!isset($hgfarbe[$i]) || $hgfarbe[$i]!='#FFFC7F')
|
if(!isset($hgfarbe[$i]) || $hgfarbe[$i]!='#FFFC7F')
|
||||||
$hgfarbe[$i]='#E9ECEE';
|
$hgfarbe[$i]='#E9ECEE';
|
||||||
@@ -167,71 +169,76 @@ if (isset($_GET['rechts_x']) || isset($_POST['rechts_x']))
|
|||||||
|
|
||||||
//Bereits freigegebenen Eintrag löschen
|
//Bereits freigegebenen Eintrag löschen
|
||||||
//Eintragung löschen
|
//Eintragung löschen
|
||||||
if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POST['delete']) && isset($_POST['informSupervisor'])))
|
if(isset($_GET['delete']))
|
||||||
{
|
|
||||||
$zeitsperre = new zeitsperre();
|
|
||||||
$zeitsperre->load($_GET['delete']);
|
|
||||||
|
|
||||||
$vondatum = $zeitsperre->getVonDatum();
|
|
||||||
$bisdatum = $zeitsperre->getBisDatum();
|
|
||||||
|
|
||||||
if(!$zeitsperre->delete($_GET['delete']))
|
|
||||||
echo $zeitsperre->errormsg;
|
|
||||||
|
|
||||||
//Mail an Vorgesetzten
|
|
||||||
$prsn = new person();
|
|
||||||
|
|
||||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
|
||||||
if($vorgesetzter)
|
|
||||||
{
|
|
||||||
$to='';
|
|
||||||
$fullName ='';
|
|
||||||
foreach($ma->vorgesetzte as $vg)
|
|
||||||
{
|
|
||||||
if($to!='')
|
|
||||||
{
|
|
||||||
$to.=', '.$vg.'@'.DOMAIN;
|
|
||||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
|
||||||
$fullName.=', '.$name;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$to.=$vg.'@'.DOMAIN;
|
|
||||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
|
||||||
$fullName.=$name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$benutzer = new benutzer();
|
|
||||||
$benutzer->load($uid);
|
|
||||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
|
||||||
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
|
||||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
|
||||||
|
|
||||||
|
|
||||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
|
||||||
if($mail->send())
|
|
||||||
{
|
|
||||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</span>";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//Eintragung löschen
|
|
||||||
if((isset($_GET['delete']) || isset($_POST['delete'])))
|
|
||||||
{
|
{
|
||||||
$zeitsperre = new zeitsperre();
|
$zeitsperre = new zeitsperre();
|
||||||
|
$zeitsperre->load($_GET['delete']);
|
||||||
|
|
||||||
|
$vondatum = $zeitsperre->getVonDatum();
|
||||||
|
$bisdatum = $zeitsperre->getBisDatum();
|
||||||
|
$vondatum = $datum_obj->formatDatum($vondatum, 'd.m.Y');
|
||||||
|
$bisdatum = $datum_obj->formatDatum($bisdatum, 'd.m.Y');
|
||||||
|
|
||||||
if(!$zeitsperre->delete($_GET['delete']))
|
if(!$zeitsperre->delete($_GET['delete']))
|
||||||
|
{
|
||||||
echo $zeitsperre->errormsg;
|
echo $zeitsperre->errormsg;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Mail an Vorgesetzten
|
||||||
|
$prsn = new person();
|
||||||
|
|
||||||
|
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||||
|
if($vorgesetzter)
|
||||||
|
{
|
||||||
|
$to='';
|
||||||
|
$fullName ='';
|
||||||
|
foreach($ma->vorgesetzte as $vg)
|
||||||
|
{
|
||||||
|
if($to!='')
|
||||||
|
{
|
||||||
|
$to.=', '.$vg.'@'.DOMAIN;
|
||||||
|
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||||
|
$fullName.=', '.$name;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$to.=$vg.'@'.DOMAIN;
|
||||||
|
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||||
|
$fullName.=$name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$benutzer = new benutzer();
|
||||||
|
$benutzer->load($uid);
|
||||||
|
|
||||||
|
//new sanchomail
|
||||||
|
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||||
|
$beschreibung = $zeitsperre->bezeichnung;
|
||||||
|
$subject = "Urlaub wurde gelöscht";
|
||||||
|
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
|
||||||
|
|
||||||
|
$from='vilesci@'.DOMAIN;
|
||||||
|
|
||||||
|
//Sanchomail mit Vorlage Sancho Mail Urlaub
|
||||||
|
$template_data = array(
|
||||||
|
'vorgesetzter' => $fullName,
|
||||||
|
'nameMitarbeiter' => $nameMitarbeiter,
|
||||||
|
'beschreibung' =>$beschreibung,
|
||||||
|
'vonDatum' => $vondatum,
|
||||||
|
'bisDatum' => $bisdatum
|
||||||
|
);
|
||||||
|
|
||||||
|
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||||
|
{
|
||||||
|
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert', array($fullName))."</span>";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($fullName))."!</span>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Eintragung speichern
|
//Eintragung speichern
|
||||||
@@ -255,10 +262,10 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
$wtag=$_GET['wtag'];
|
$wtag=$_GET['wtag'];
|
||||||
$akette[0]=$wtag[0];
|
$akette[0]=$wtag[0];
|
||||||
$ekette[0]=$wtag[0];
|
$ekette[0]=$wtag[0];
|
||||||
for($i=1,$j=0;$i<count($wtag);$i++)
|
for($i=1, $j=0; $i<count($wtag); $i++)
|
||||||
{
|
{
|
||||||
//ketten bilden
|
//ketten bilden
|
||||||
if($wtag[$i]==date("Y-m-d",strtotime("+1 Day",strtotime($wtag[$i-1]))))
|
if($wtag[$i]==date("Y-m-d", strtotime("+1 Day", strtotime($wtag[$i-1]))))
|
||||||
{
|
{
|
||||||
$ekette[$j]=$wtag[$i];
|
$ekette[$j]=$wtag[$i];
|
||||||
}
|
}
|
||||||
@@ -268,7 +275,6 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
$akette[$j]=$wtag[$i];
|
$akette[$j]=$wtag[$i];
|
||||||
$ekette[$j]=$wtag[$i];
|
$ekette[$j]=$wtag[$i];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Prüfen, ob eine Zeitaufzeichnung vorhanden ist und ggf Abbrechen
|
//Prüfen, ob eine Zeitaufzeichnung vorhanden ist und ggf Abbrechen
|
||||||
@@ -293,7 +299,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
for ($i = 0; $i < count($akette); $i++)
|
for ($i = 0; $i < count($akette); $i++)
|
||||||
{
|
{
|
||||||
$zeitsperre = new zeitsperre();
|
$zeitsperre = new zeitsperre();
|
||||||
$vonDatum = new DateTime($akette[$i]);
|
$vonDatum = new DateTime($akette[$i]);
|
||||||
$bisDatum = new DateTime($ekette[$i]);
|
$bisDatum = new DateTime($ekette[$i]);
|
||||||
|
|
||||||
//add here to array, weil in der foreach-Schleife, das bisdatum nicht inkludiert ist
|
//add here to array, weil in der foreach-Schleife, das bisdatum nicht inkludiert ist
|
||||||
@@ -301,34 +307,34 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
|
|
||||||
$daterange = new DatePeriod($vonDatum, new DateInterval('P1D'), $bisDatum);
|
$daterange = new DatePeriod($vonDatum, new DateInterval('P1D'), $bisDatum);
|
||||||
foreach($daterange as $date)
|
foreach($daterange as $date)
|
||||||
{
|
|
||||||
$daysToCheck[] = $date->format("Y-m-d");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($daysToCheck AS $date)
|
|
||||||
{
|
{
|
||||||
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
$daysToCheck[] = $date->format("Y-m-d");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($zeitsperre->result as $z)
|
foreach ($daysToCheck as $date)
|
||||||
|
{
|
||||||
|
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
||||||
|
|
||||||
|
foreach ($zeitsperre->result as $z)
|
||||||
|
{
|
||||||
|
if ($z->zeitsperretyp_kurzbz)
|
||||||
{
|
{
|
||||||
if ($z->zeitsperretyp_kurzbz)
|
$error = true;
|
||||||
{
|
|
||||||
$error = true;
|
|
||||||
|
|
||||||
$z->zeitsperretyp_kurzbz == 'Urlaub' ?
|
$z->zeitsperretyp_kurzbz == 'Urlaub' ?
|
||||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>' :
|
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>' :
|
||||||
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitsperreEingetragen',[$date, $z->zeitsperretyp_kurzbz]). '</span>';
|
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitsperreEingetragen', [$date, $z->zeitsperretyp_kurzbz]). '</span>';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$error)
|
if(!$error)
|
||||||
{
|
{
|
||||||
for($i=0;$i<count($akette);$i++)
|
for($i=0; $i<count($akette); $i++)
|
||||||
{
|
{
|
||||||
$zeitsperre = new zeitsperre();
|
$zeitsperre = new zeitsperre();
|
||||||
|
|
||||||
@@ -354,12 +360,11 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
$error = true;
|
$error = true;
|
||||||
echo $zeitsperre->errormsg;
|
echo $zeitsperre->errormsg;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if(!$error)
|
if(!$error)
|
||||||
{
|
{
|
||||||
//Mail an Vorgesetzten
|
//Mail an Vorgesetzten
|
||||||
$prsn = new person();
|
$prsn = new person();
|
||||||
|
|
||||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||||
if($vorgesetzter)
|
if($vorgesetzter)
|
||||||
@@ -384,31 +389,67 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
|
|
||||||
$benutzer = new benutzer();
|
$benutzer = new benutzer();
|
||||||
$benutzer->load($uid);
|
$benutzer->load($uid);
|
||||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
|
||||||
$p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
|
||||||
|
|
||||||
for($i=0;$i<count($akette);$i++)
|
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||||
|
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||||
|
|
||||||
|
// $message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||||
|
// $p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||||
|
|
||||||
|
for($i=0; $i<count($akette); $i++)
|
||||||
{
|
{
|
||||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($akette[$i]))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($ekette[$i]))."\n";
|
$von = date("d.m.Y", strtotime($akette[$i]));
|
||||||
|
$bis = date("d.m.Y", strtotime($ekette[$i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Ab September wird das neue Jahr uebergeben
|
//Ab September wird das neue Jahr uebergeben
|
||||||
if(date("m",strtotime($akette[0]))>=9)
|
if(date("m", strtotime($akette[0]))>=9)
|
||||||
$jahr = date("Y", strtotime($akette[0]))+1;
|
$jahr = date("Y", strtotime($akette[0]))+1;
|
||||||
else
|
else
|
||||||
$jahr = date("Y", strtotime($akette[0]));
|
$jahr = date("Y", strtotime($akette[0]));
|
||||||
|
|
||||||
$message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n".
|
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
|
||||||
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
|
|
||||||
|
|
||||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
$subject = "Freigabeansuchen Urlaub";
|
||||||
if($mail->send())
|
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
|
||||||
|
|
||||||
|
$from='vilesci@'.DOMAIN;
|
||||||
|
|
||||||
|
// Überprüfen, ob addon casetime aktiv ist
|
||||||
|
$addon_obj = new addon();
|
||||||
|
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||||
|
$urlaubssaldo = "";
|
||||||
|
if($addoncasetime)
|
||||||
{
|
{
|
||||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</span>";
|
require_once('../../../addons/casetime/config.inc.php');
|
||||||
|
require_once('../../../addons/casetime/include/functions.inc.php');
|
||||||
|
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
|
||||||
|
$urlaubssaldo = $urlaubssaldo->{'AktuellerStand'};
|
||||||
|
}
|
||||||
|
|
||||||
|
//Sanchomail mit Vorlage Sancho Mail Urlaub Neu
|
||||||
|
$template_data = array(
|
||||||
|
'vorgesetzter' => $fullName,
|
||||||
|
'nameMitarbeiter' => $nameMitarbeiter,
|
||||||
|
'beschreibung' =>$beschreibung,
|
||||||
|
'vonDatum' => $von,
|
||||||
|
'bisDatum' => $bis,
|
||||||
|
'Link'=> $link,
|
||||||
|
'urlaubssaldo' => $urlaubssaldo
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||||
|
|
||||||
|
// $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
||||||
|
//if($mail->send())
|
||||||
|
{
|
||||||
|
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName))."</span>";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."!</span>";
|
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($to))."!</span>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -422,14 +463,13 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Eintragungen laden
|
//Eintragungen laden
|
||||||
if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
if ((isset($wmonat) || isset($wmonat)) && (isset($wjahr) || isset($wjahr)))
|
||||||
{
|
{
|
||||||
//Urlaubstageage markieren
|
//Urlaubstageage markieren
|
||||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]);
|
$mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]);
|
||||||
$ttt=getdate($mbeginn);
|
$ttt=getdate($mbeginn);
|
||||||
$wotag="$ttt[wday]";
|
$wotag="$ttt[wday]";
|
||||||
if ($wotag==0)
|
if ($wotag==0)
|
||||||
@@ -447,22 +487,22 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
|||||||
}
|
}
|
||||||
//$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]));
|
//$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]));
|
||||||
//$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
//$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr]));
|
||||||
if($wmonat==0)
|
if($wmonat==0)
|
||||||
{
|
{
|
||||||
$wvon=date("Y-m-d",mktime(0, 0, 0, 12 , $mendev-($wotag-1), ($jahre[$wjahr])-1));
|
$wvon=date("Y-m-d", mktime(0, 0, 0, 12, $mendev-($wotag-1), ($jahre[$wjahr])-1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat) , $mendev-($wotag-1), ($jahre[$wjahr])));
|
$wvon=date("Y-m-d", mktime(0, 0, 0, ($wmonat), $mendev-($wotag-1), ($jahre[$wjahr])));
|
||||||
}
|
}
|
||||||
if($wmonat==11)
|
if($wmonat==11)
|
||||||
{
|
{
|
||||||
$wbis=date("Y-m-d",mktime(0, 0, 0, 1 , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1));
|
$wbis=date("Y-m-d", mktime(0, 0, 0, 1, (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+2) , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]));
|
$wbis=date("Y-m-d", mktime(0, 0, 0, ($wmonat+2), (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]));
|
||||||
}
|
}
|
||||||
$qry="SELECT * FROM campus.tbl_zeitsperre
|
$qry="SELECT * FROM campus.tbl_zeitsperre
|
||||||
WHERE zeitsperretyp_kurzbz='Urlaub'
|
WHERE zeitsperretyp_kurzbz='Urlaub'
|
||||||
@@ -477,19 +517,19 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
|||||||
{
|
{
|
||||||
//echo " ".$row->vondatum;
|
//echo " ".$row->vondatum;
|
||||||
//echo "-".$row->bisdatum;
|
//echo "-".$row->bisdatum;
|
||||||
for($i=1;$i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday']));$i++)
|
for($i=1; $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])); $i++)
|
||||||
{
|
{
|
||||||
if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
if(date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
||||||
&& date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
&& date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
||||||
{
|
{
|
||||||
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d",time()))
|
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d", time()))
|
||||||
{
|
{
|
||||||
$hgfarbe[$i]='#bbb';
|
$hgfarbe[$i]='#bbb';
|
||||||
}
|
}
|
||||||
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d",time()))
|
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d", time()))
|
||||||
{
|
{
|
||||||
$hgfarbe[$i]='#CDDDEE';
|
$hgfarbe[$i]='#CDDDEE';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$hgfarbe[$i]='#FFFC7F';
|
$hgfarbe[$i]='#FFFC7F';
|
||||||
@@ -513,7 +553,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday']));$i<44;$i++)
|
for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday'])); $i<44; $i++)
|
||||||
{
|
{
|
||||||
$hgfarbe[$i]='#E9ECEE';
|
$hgfarbe[$i]='#E9ECEE';
|
||||||
$datensatz[$i]=0;
|
$datensatz[$i]=0;
|
||||||
@@ -567,58 +607,60 @@ echo '
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>';
|
</script>';
|
||||||
?>
|
|
||||||
<script language="Javascript">
|
|
||||||
function conf_del()
|
|
||||||
{
|
|
||||||
return confirm('<?php echo $p->t('urlaubstool/eintragWirklichLoeschen');?>');
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkval()
|
?>
|
||||||
|
<script language="Javascript">
|
||||||
|
function conf_del()
|
||||||
|
{
|
||||||
|
return confirm('<?php echo $p->t('urlaubstool/eintragWirklichLoeschen');?>');
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkval()
|
||||||
|
{
|
||||||
|
if(document.getElementById('vertretung_uid').value=='')
|
||||||
|
{
|
||||||
|
alert('<?php echo $p->t('urlaubstool/zuerstVertretungAuswaehlen');?>');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
$(document).ready(function()
|
||||||
|
{
|
||||||
|
$("#vertretung").autocomplete({
|
||||||
|
source: "urlaubstool_autocomplete.php?autocomplete=mitarbeiter",
|
||||||
|
minLength:2,
|
||||||
|
response: function(event, ui)
|
||||||
|
{
|
||||||
|
//Value und Label fuer die Anzeige setzen
|
||||||
|
for(i in ui.content)
|
||||||
{
|
{
|
||||||
if(document.getElementById('vertretung_uid').value=='')
|
ui.content[i].value=ui.content[i].uid;
|
||||||
{
|
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||||
alert('<?php echo $p->t('urlaubstool/zuerstVertretungAuswaehlen');?>');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
$(document).ready(function()
|
},
|
||||||
{
|
select: function(event, ui)
|
||||||
$("#vertretung").autocomplete({
|
{
|
||||||
source: "urlaubstool_autocomplete.php?autocomplete=mitarbeiter",
|
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||||
minLength:2,
|
$("#vertretung").val(ui.item.uid);
|
||||||
response: function(event, ui)
|
}
|
||||||
{
|
});
|
||||||
//Value und Label fuer die Anzeige setzen
|
})
|
||||||
for(i in ui.content)
|
</script>
|
||||||
{
|
<style type="text/css">
|
||||||
ui.content[i].value=ui.content[i].uid;
|
.urlaube th, .urlaube td, .urlaube
|
||||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
{
|
||||||
}
|
-moz-border-radius:10px;
|
||||||
},
|
-khtml-border-radius:10px;
|
||||||
select: function(event, ui)
|
}
|
||||||
{
|
</style>
|
||||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
<title><?php echo $p->t('urlaubstool/urlaubstool');?></title>
|
||||||
$("#vertretung").val(ui.item.uid);
|
</head>
|
||||||
}
|
|
||||||
});
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
<style type="text/css">
|
|
||||||
.urlaube th, .urlaube td, .urlaube
|
|
||||||
{
|
|
||||||
-moz-border-radius:10px;
|
|
||||||
-khtml-border-radius:10px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<title><?php echo $p->t('urlaubstool/urlaubstool');?></title>
|
|
||||||
</head>
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
echo "<H1>".$p->t('urlaubstool/urlaubstool')." (".$uid.")</H1>";
|
echo "<H1>".$p->t('urlaubstool/urlaubstool')." (".$uid.")</H1>";
|
||||||
|
|
||||||
|
|
||||||
//Anzeige Resturlaubsberechnung
|
//Anzeige Resturlaubsberechnung
|
||||||
echo '<table width="100%">';
|
echo '<table width="100%">';
|
||||||
echo '<tr><td colspan=2>';
|
echo '<tr><td colspan=2>';
|
||||||
@@ -664,7 +706,7 @@ echo '
|
|||||||
style="vertical-align: middle;" alt="links">
|
style="vertical-align: middle;" alt="links">
|
||||||
<SELECT name="wmonat">';
|
<SELECT name="wmonat">';
|
||||||
|
|
||||||
for($i=0;$i<12;$i++)
|
for($i=0; $i<12; $i++)
|
||||||
{
|
{
|
||||||
if($wmonat==$i)
|
if($wmonat==$i)
|
||||||
{
|
{
|
||||||
@@ -680,7 +722,7 @@ echo "</SELECT>\n";
|
|||||||
|
|
||||||
echo ' <INPUT name="rechts" type="image" src="../../../skin/images/right_lvplan.png" style="vertical-align: middle;" alt="rechts">';
|
echo ' <INPUT name="rechts" type="image" src="../../../skin/images/right_lvplan.png" style="vertical-align: middle;" alt="rechts">';
|
||||||
echo ' <SELECT name="wjahr">';
|
echo ' <SELECT name="wjahr">';
|
||||||
for($i=0;$i<5;$i++)
|
for($i=0; $i<5; $i++)
|
||||||
{
|
{
|
||||||
if($wjahr==$i)
|
if($wjahr==$i)
|
||||||
{
|
{
|
||||||
@@ -725,7 +767,7 @@ if($result = $db->db_query($qry))
|
|||||||
echo '</SELECT>';
|
echo '</SELECT>';
|
||||||
|
|
||||||
//Tage
|
//Tage
|
||||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]);
|
$mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]);
|
||||||
$ttt=getdate($mbeginn);
|
$ttt=getdate($mbeginn);
|
||||||
$wotag="$ttt[wday]";
|
$wotag="$ttt[wday]";
|
||||||
if ($wotag==0)
|
if ($wotag==0)
|
||||||
@@ -742,9 +784,9 @@ else
|
|||||||
{
|
{
|
||||||
$mendev = cal_days_in_month(CAL_GREGORIAN, ($wmonat), $jahre[$wjahr]);
|
$mendev = cal_days_in_month(CAL_GREGORIAN, ($wmonat), $jahre[$wjahr]);
|
||||||
}
|
}
|
||||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr]));
|
||||||
//echo "monatsende:".$mende;
|
//echo "monatsende:".$mende;
|
||||||
for($i=1;$i<43;$i++)
|
for($i=1; $i<43; $i++)
|
||||||
{
|
{
|
||||||
if($i>=$wotag && $zaehl<=$mende)
|
if($i>=$wotag && $zaehl<=$mende)
|
||||||
{
|
{
|
||||||
@@ -755,22 +797,22 @@ for($i=1;$i<43;$i++)
|
|||||||
{
|
{
|
||||||
if($wmonat==0)
|
if($wmonat==0)
|
||||||
{
|
{
|
||||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 12 , $mendev+$i-($wotag-1), $jahre[$wjahr]-1));
|
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 12, $mendev+$i-($wotag-1), $jahre[$wjahr]-1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat) , $mendev+$i-($wotag-1), $jahre[$wjahr]));
|
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat), $mendev+$i-($wotag-1), $jahre[$wjahr]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($i>$mende && $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])))
|
elseif ($i>$mende && $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])))
|
||||||
{
|
{
|
||||||
if($wmonat==11)
|
if($wmonat==11)
|
||||||
{
|
{
|
||||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 1 , $i-$mende-$wotag+1, $jahre[$wjahr+1]));
|
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 1, $i-$mende-$wotag+1, $jahre[$wjahr+1]));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat+2) , $i-$mende-$wotag+1, $jahre[$wjahr]));
|
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat+2), $i-$mende-$wotag+1, $jahre[$wjahr]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -788,17 +830,17 @@ echo ' <input type="submit" name="speichern" value="'.$p->t('urlaubstool/eintrag
|
|||||||
<table border=0 width="95%" align="left" class="urlaube">
|
<table border=0 width="95%" align="left" class="urlaube">
|
||||||
<tr>';
|
<tr>';
|
||||||
|
|
||||||
for($i=1;$i<=7;$i++)
|
for($i=1; $i<=7; $i++)
|
||||||
echo "\n".'<th style="width:14%; background-color: #A5AFB6">'.$tagbez[$lang->index][$i].'</th>';
|
echo "\n".'<th style="width:14%; background-color: #A5AFB6">'.$tagbez[$lang->index][$i].'</th>';
|
||||||
|
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
for ($i=0;$i<6;$i++)
|
for ($i=0; $i<6; $i++)
|
||||||
{
|
{
|
||||||
echo "\n".'<tr height="50" style="font-family:Arial,sans-serif; font-size:30px; color:black">';
|
echo "\n".'<tr height="50" style="font-family:Arial,sans-serif; font-size:30px; color:black">';
|
||||||
for ($j=1;$j<8;$j++)
|
for ($j=1; $j<8; $j++)
|
||||||
{
|
{
|
||||||
echo "\n";
|
echo "\n";
|
||||||
if(strlen(stristr($tage[$j+7*$i],"."))>0)
|
if(strlen(stristr($tage[$j+7*$i], "."))>0)
|
||||||
{
|
{
|
||||||
if($j%6==0 || $j==7)
|
if($j%6==0 || $j==7)
|
||||||
{
|
{
|
||||||
@@ -822,7 +864,7 @@ for ($i=0;$i<6;$i++)
|
|||||||
}
|
}
|
||||||
if($tage[$j+7*$i]!='')
|
if($tage[$j+7*$i]!='')
|
||||||
{
|
{
|
||||||
if($hgfarbe[$j+7*$i]=='#FFFC7F' )//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
if($hgfarbe[$j+7*$i]=='#FFFC7F')//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||||
{
|
{
|
||||||
echo '<b title='.$p->t('urlaubstool/vertretung').': '.$vertretung_uid[$j+7*$i].' - '.$p->t('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'</b><br>';;
|
echo '<b title='.$p->t('urlaubstool/vertretung').': '.$vertretung_uid[$j+7*$i].' - '.$p->t('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'</b><br>';;
|
||||||
$k=$j+7*$i;
|
$k=$j+7*$i;
|
||||||
@@ -832,16 +874,16 @@ for ($i=0;$i<6;$i++)
|
|||||||
elseif($hgfarbe[$j+7*$i]=='#E9ECEE')
|
elseif($hgfarbe[$j+7*$i]=='#E9ECEE')
|
||||||
{
|
{
|
||||||
echo '<b>'.$tage[$j+7*$i].'</b><br>';
|
echo '<b>'.$tage[$j+7*$i].'</b><br>';
|
||||||
if(strlen(stristr($tage[$j+7*$i],"."))>0)
|
if(strlen(stristr($tage[$j+7*$i], "."))>0)
|
||||||
{
|
{
|
||||||
echo '<input type="checkbox" name="wtag[]"
|
echo '<input type="checkbox" name="wtag[]"
|
||||||
value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"
|
value="'.date("Y-m-d", mktime(0, 0, 0, substr($tage[$j+7*$i], 3, 2), substr($tage[$j+7*$i], 0, 2), substr($tage[$j+7*$i], 6, 4))).'"
|
||||||
id="'.date("d.m.Y",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"></td>';
|
id="'.date("d.m.Y", mktime(0, 0, 0, substr($tage[$j+7*$i], 3, 2), substr($tage[$j+7*$i], 0, 2), substr($tage[$j+7*$i], 6, 4))).'"></td>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"
|
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $tage[$j+7*$i], $jahre[$wjahr])).'"
|
||||||
id="'.date("d.m.Y",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
|
id="'.date("d.m.Y", mktime(0, 0, 0, ($wmonat+1), $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -853,12 +895,12 @@ for ($i=0;$i<6;$i++)
|
|||||||
}
|
}
|
||||||
elseif(isset($freigabeamum[$j+7*$i]))
|
elseif(isset($freigabeamum[$j+7*$i]))
|
||||||
{
|
{
|
||||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
||||||
if($hgfarbe[$j+7*$i]=='#CDDDEE')
|
if($hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||||
{
|
{
|
||||||
$k=$j+7*$i;
|
$k=$j+7*$i;
|
||||||
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]&informSupervisor=True' onclick='return conf_del()'>";
|
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]' onclick='return conf_del()'>";
|
||||||
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ require_once('../../../include/person.class.php');
|
|||||||
require_once('../../../include/benutzer.class.php');
|
require_once('../../../include/benutzer.class.php');
|
||||||
require_once('../../../include/mitarbeiter.class.php');
|
require_once('../../../include/mitarbeiter.class.php');
|
||||||
require_once('../../../include/mail.class.php');
|
require_once('../../../include/mail.class.php');
|
||||||
|
require_once('../../../include/sancho.inc.php');
|
||||||
require_once('../../../include/benutzerberechtigung.class.php');
|
require_once('../../../include/benutzerberechtigung.class.php');
|
||||||
require_once('../../../include/phrasen.class.php');
|
require_once('../../../include/phrasen.class.php');
|
||||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||||
@@ -65,6 +66,7 @@ if(isset($_GET['uid']))
|
|||||||
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
|
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$datum_obj = new datum();
|
$datum_obj = new datum();
|
||||||
$ma= new mitarbeiter();
|
$ma= new mitarbeiter();
|
||||||
|
|
||||||
@@ -100,6 +102,7 @@ $num_rows_stunde=$db->db_num_rows($result_stunde);
|
|||||||
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
|
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
|
||||||
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// ADDONS laden
|
// ADDONS laden
|
||||||
$addon_obj = new addon();
|
$addon_obj = new addon();
|
||||||
$addon_obj->loadAddons();
|
$addon_obj->loadAddons();
|
||||||
@@ -109,6 +112,9 @@ foreach($addon_obj->result as $addon)
|
|||||||
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
|
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Überprüfen, ob addon casetime aktiv ist
|
||||||
|
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||||
|
|
||||||
// Wenn Seite fertig geladen ist Addons aufrufen
|
// Wenn Seite fertig geladen ist Addons aufrufen
|
||||||
echo '
|
echo '
|
||||||
<script>
|
<script>
|
||||||
@@ -119,7 +125,8 @@ $( document ).ready(function()
|
|||||||
{
|
{
|
||||||
for(i in addon)
|
for(i in addon)
|
||||||
{
|
{
|
||||||
addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
|
|
||||||
|
addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,6 +165,7 @@ $( document ).ready(function()
|
|||||||
}
|
}
|
||||||
return [true, ""];
|
return [true, ""];
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>';
|
</script>';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -316,6 +324,10 @@ function showHideStudeDropDown()
|
|||||||
{
|
{
|
||||||
document.getElementById('vonStd').style.visibility = 'hidden';
|
document.getElementById('vonStd').style.visibility = 'hidden';
|
||||||
document.getElementById('bisStd').style.visibility = 'hidden';
|
document.getElementById('bisStd').style.visibility = 'hidden';
|
||||||
|
|
||||||
|
// Stunde entfernen
|
||||||
|
document.getElementById('vonstunde').selectedIndex = 0;
|
||||||
|
document.getElementById('bisstunde').selectedIndex = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -339,6 +351,17 @@ function showHideStudeDropDown()
|
|||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
$zeitsaldo = "";
|
||||||
|
$urlaubssaldo = "";
|
||||||
|
if($addoncasetime)
|
||||||
|
{
|
||||||
|
require_once('../../../addons/casetime/config.inc.php');
|
||||||
|
require_once('../../../addons/casetime/include/functions.inc.php');
|
||||||
|
$zeitsaldo = getCaseTimeZeitsaldo($uid);
|
||||||
|
$zeitsaldo = formatZeitsaldo($zeitsaldo);
|
||||||
|
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
|
||||||
|
$urlaubssaldo = $urlaubssaldo->{'AktuellerStand'};
|
||||||
|
}
|
||||||
|
|
||||||
//Zeitsperre Speichern
|
//Zeitsperre Speichern
|
||||||
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
|
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
|
||||||
@@ -502,17 +525,24 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
|||||||
$zeitsperre->updateamum = date('Y-m-d H:i:s');
|
$zeitsperre->updateamum = date('Y-m-d H:i:s');
|
||||||
$zeitsperre->updatevon = $uid;
|
$zeitsperre->updatevon = $uid;
|
||||||
|
|
||||||
|
// Zeitsperretyp Beschreibung
|
||||||
|
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
|
||||||
|
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
|
||||||
|
|
||||||
if($zeitsperre->save())
|
if($zeitsperre->save())
|
||||||
{
|
{
|
||||||
echo "<h3>".$p->t('global/erfolgreichgespeichert')."</h3>";
|
echo "<h3>".$p->t('global/erfolgreichgespeichert')."</h3>";
|
||||||
if(URLAUB_TOOLS)
|
if(URLAUB_TOOLS)
|
||||||
{
|
{
|
||||||
if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
//Beim Anlegen von neuen Urlauben oder neuem Zeitausgleich wird ein Mail an den Vorgesetzten versendet
|
||||||
|
if($zeitsperre->new && ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub' || $zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||||
|
|| !$zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||||
{
|
{
|
||||||
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
|
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
|
||||||
$prsn = new person();
|
$prsn = new person();
|
||||||
|
|
||||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||||
|
|
||||||
if($vorgesetzter)
|
if($vorgesetzter)
|
||||||
{
|
{
|
||||||
$to='';
|
$to='';
|
||||||
@@ -531,21 +561,75 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
|||||||
|
|
||||||
$benutzer = new benutzer();
|
$benutzer = new benutzer();
|
||||||
$benutzer->load($uid);
|
$benutzer->load($uid);
|
||||||
|
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||||
|
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||||
|
|
||||||
if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
|
if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
|
||||||
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
|
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
|
||||||
else
|
else
|
||||||
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
|
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
|
||||||
|
|
||||||
$message = "Dies ist eine automatische Mail! \n".
|
$von = $datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y');
|
||||||
"$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
|
$bis = $datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y');
|
||||||
"$zeitsperre->bezeichnung von ".$datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y')." bis ".$datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y')."\n\n".
|
|
||||||
"Sie können diesen unter folgender Adresse freigeben:\n".
|
// Wenn ein neuer Urlaub eingetragen wurde, Freigabemail-Text
|
||||||
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
|
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||||
$from='vilesci@'.DOMAIN;
|
|
||||||
$mail = new mail($to, $from, 'Freigabeansuchen', $message);
|
|
||||||
if($mail->send())
|
|
||||||
{
|
{
|
||||||
echo "<br><b>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</b>";
|
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
|
||||||
|
|
||||||
|
$subject = "Freigabeansuchen Urlaub";
|
||||||
|
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
|
||||||
|
|
||||||
|
$template_data = array(
|
||||||
|
'vorgesetzter' => $fullName,
|
||||||
|
'nameMitarbeiter' => $nameMitarbeiter,
|
||||||
|
'beschreibung' =>$beschreibung,
|
||||||
|
'vonDatum' => $von,
|
||||||
|
'bisDatum' => $bis,
|
||||||
|
'Link'=> $link,
|
||||||
|
'urlaubssaldo' => $urlaubssaldo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wenn ein Zeitausgleich eingetragen wurde...
|
||||||
|
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||||
|
{
|
||||||
|
// ...Mail-Text für neuen Zeitausgleich
|
||||||
|
if ($zeitsperre->new)
|
||||||
|
{
|
||||||
|
$subject = $p->t('urlaubstool/zeitausgleichNeu');
|
||||||
|
$mailvorlage = 'Sancho_Content_Zeitausgleich';
|
||||||
|
}
|
||||||
|
// ...Mail-Text für geaenderten Zeitausgleich
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$subject = $subject = $p->t('urlaubstool/zeitausgleichGeaendert');
|
||||||
|
$mailvorlage = 'Sancho_Content_ZA_Aendern';
|
||||||
|
}
|
||||||
|
$template_data = array(
|
||||||
|
'vorgesetzter' => $fullName,
|
||||||
|
'nameMitarbeiter' => $nameMitarbeiter,
|
||||||
|
'beschreibung' =>$beschreibung,
|
||||||
|
'vonDatum' => $von,
|
||||||
|
'bisDatum' => $bis,
|
||||||
|
'Saldo'=> $zeitsaldo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$from='vilesci@'.DOMAIN;
|
||||||
|
|
||||||
|
//Sanchomail mit Vorlage Sancho Mail Zeitausgleich
|
||||||
|
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||||
|
{
|
||||||
|
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||||
|
{
|
||||||
|
echo "<br><b>". $p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName)). "</b>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||||
|
{
|
||||||
|
echo "<br><b>". $p->t('urlaubstool/VorgesetzteInformiert', array($fullName)). "</b>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -572,8 +656,15 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
|||||||
$zeitsperre = new zeitsperre();
|
$zeitsperre = new zeitsperre();
|
||||||
$zeitsperre->load($_GET['id']);
|
$zeitsperre->load($_GET['id']);
|
||||||
|
|
||||||
$vondatum = $zeitsperre->getVonDatum();
|
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
|
||||||
$bisdatum = $zeitsperre->getBisDatum();
|
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
|
||||||
|
|
||||||
|
$vonDatum = $zeitsperre->getVonDatum();
|
||||||
|
$bisDatum = $zeitsperre->getBisDatum();
|
||||||
|
|
||||||
|
$vonDatum = $datum_obj->formatDatum($vonDatum ,'d.m.Y');
|
||||||
|
$bisDatum = $datum_obj->formatDatum($bisDatum,'d.m.Y');
|
||||||
|
|
||||||
|
|
||||||
if(!$zeitsperre->delete($_GET['id']))
|
if(!$zeitsperre->delete($_GET['id']))
|
||||||
echo $zeitsperre->errormsg;
|
echo $zeitsperre->errormsg;
|
||||||
@@ -604,16 +695,32 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
|||||||
|
|
||||||
$benutzer = new benutzer();
|
$benutzer = new benutzer();
|
||||||
$benutzer->load($uid);
|
$benutzer->load($uid);
|
||||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||||
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||||
|
|
||||||
|
if ($zeitsperre->zeitsperretyp_kurzbz == 'Urlaub')
|
||||||
|
{
|
||||||
|
$subject = $p->t('urlaubstool/UrlaubGeloescht');
|
||||||
|
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
|
||||||
|
}
|
||||||
|
|
||||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||||
|
{
|
||||||
|
$subject = $p->t('urlaubstool/zeitausgleichGeloescht');
|
||||||
|
$mailvorlage = 'Sancho_Mail_ZA_loeschen';
|
||||||
|
}
|
||||||
|
|
||||||
|
$template_data = array(
|
||||||
|
'vorgesetzter' => $fullName,
|
||||||
|
'nameMitarbeiter' => $nameMitarbeiter,
|
||||||
|
'beschreibung' =>$beschreibung,
|
||||||
|
'vonDatum' => $vonDatum,
|
||||||
|
'bisDatum' => $bisDatum
|
||||||
|
);
|
||||||
|
|
||||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||||
if($mail->send())
|
|
||||||
{
|
{
|
||||||
|
echo "<b>" . $p->t('global/erfolgreichgelöscht') . '</b><br>';
|
||||||
echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>";
|
echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -621,6 +728,7 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
|||||||
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||||
@@ -632,6 +740,7 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['infor
|
|||||||
{
|
{
|
||||||
$zeit = new zeitsperre();
|
$zeit = new zeitsperre();
|
||||||
$zeit->load($_GET['id']);
|
$zeit->load($_GET['id']);
|
||||||
|
|
||||||
//pruefen ob die person die den datensatz loeschen will auch der
|
//pruefen ob die person die den datensatz loeschen will auch der
|
||||||
//besitzer dieses datensatzes ist
|
//besitzer dieses datensatzes ist
|
||||||
if($zeit->mitarbeiter_uid==$uid)
|
if($zeit->mitarbeiter_uid==$uid)
|
||||||
@@ -698,7 +807,7 @@ if(count($zeit->result)>0)
|
|||||||
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
|
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
|
||||||
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||||
$content_table .= '<td> </td>';
|
$content_table .= '<td> </td>';
|
||||||
else if($row->vondatum>=date("Y-m-d",time()) && $row->zeitsperretyp_kurzbz=='Urlaub')
|
else if($row->vondatum>=date("Y-m-d",time()) && ($row->zeitsperretyp_kurzbz=='Urlaub' || $row->zeitsperretyp_kurzbz == 'ZA'))
|
||||||
{
|
{
|
||||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id&informSupervisor=True' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id&informSupervisor=True' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||||
}
|
}
|
||||||
@@ -779,7 +888,7 @@ $content_form.= '<tr><td>'.$p->t('global/von').'</td><td><input'.$style.' type="
|
|||||||
//dropdown fuer vonstunde
|
//dropdown fuer vonstunde
|
||||||
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
||||||
|
|
||||||
$content_form.= " <SELECT name='vonstunde'$style>\n";
|
$content_form.= " <SELECT id='vonstunde' name='vonstunde'$style>\n";
|
||||||
if($zeitsperre->vonstunde=='')
|
if($zeitsperre->vonstunde=='')
|
||||||
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
||||||
else
|
else
|
||||||
@@ -800,7 +909,7 @@ $content_form.= "</SELECT></td></tr>";
|
|||||||
$content_form.= '<tr><td>'.$p->t('global/bis').'</td><td><input'.$style.' type="text" '.$class.' size="10" maxlength="10" name="bisdatum" id="bisdatum" value="'.($zeitsperre->bisdatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->bisdatum)):(!isset($_POST['bisdatum'])?date('d.m.Y'):$_POST['bisdatum'])).'"'.$readonly.'></td><td id="bisStd" style="text-align:right;"> ';
|
$content_form.= '<tr><td>'.$p->t('global/bis').'</td><td><input'.$style.' type="text" '.$class.' size="10" maxlength="10" name="bisdatum" id="bisdatum" value="'.($zeitsperre->bisdatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->bisdatum)):(!isset($_POST['bisdatum'])?date('d.m.Y'):$_POST['bisdatum'])).'"'.$readonly.'></td><td id="bisStd" style="text-align:right;"> ';
|
||||||
//dropdown fuer bisstunde
|
//dropdown fuer bisstunde
|
||||||
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
||||||
$content_form.= " <SELECT name='bisstunde'$style>\n";
|
$content_form.= " <SELECT id='bisstunde' name='bisstunde'$style>\n";
|
||||||
|
|
||||||
if($zeitsperre->bisstunde=='')
|
if($zeitsperre->bisstunde=='')
|
||||||
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
||||||
@@ -836,6 +945,10 @@ if($result = $db->db_query($qry))
|
|||||||
}
|
}
|
||||||
$content_form.= '</SELECT></td></tr>';
|
$content_form.= '</SELECT></td></tr>';
|
||||||
|
|
||||||
|
//$content_form.= '<tr><td>'.$p->t('global/bezeichnung').'</td>
|
||||||
|
//<td colspan="2"><span id="dienstv_span"><input'.$style.' type="text" size="32" name="bezeichnung" maxlength="32" value="'.$zeitsperre->bezeichnung.'"'.$readonly.'></span></td></tr>';
|
||||||
|
|
||||||
|
|
||||||
$content_form.= "<tr><td>".$p->t('urlaubstool/erreichbarkeit')."</td><td><SELECT name='erreichbarkeit'>";
|
$content_form.= "<tr><td>".$p->t('urlaubstool/erreichbarkeit')."</td><td><SELECT name='erreichbarkeit'>";
|
||||||
foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
|
foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
|
||||||
{
|
{
|
||||||
@@ -847,8 +960,12 @@ foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibun
|
|||||||
|
|
||||||
$content_form.= '</SELECT></td>';
|
$content_form.= '</SELECT></td>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$content_form.= '<td style="text-align:right;">';
|
$content_form.= '<td style="text-align:right;">';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(isset($_GET['type']) && $_GET['type']=='edit')
|
if(isset($_GET['type']) && $_GET['type']=='edit')
|
||||||
$content_form.= "<input type='submit' name='submit_zeitsperre' value='".$p->t('global/speichern')."'>";
|
$content_form.= "<input type='submit' name='submit_zeitsperre' value='".$p->t('global/speichern')."'>";
|
||||||
|
|
||||||
@@ -875,6 +992,7 @@ echo '</table>';
|
|||||||
?>
|
?>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
</html>
|
</html>
|
||||||
<?php echo '<script>showHideStudeDropDown();</script>'; ?>
|
<?php echo '<script>showHideStudeDropDown();</script>'; ?>
|
||||||
|
|||||||
@@ -605,9 +605,14 @@ echo '
|
|||||||
{
|
{
|
||||||
projphasenhtml += "<option value = \'" + json[i].projektphase_id + "\'>";
|
projphasenhtml += "<option value = \'" + json[i].projektphase_id + "\'>";
|
||||||
projphasenhtml += json[i].bezeichnung;
|
projphasenhtml += json[i].bezeichnung;
|
||||||
|
|
||||||
if(json[i].start != \'\' && json[i].ende !=\'\')
|
if(json[i].start != \'\' && json[i].ende !=\'\')
|
||||||
{
|
{
|
||||||
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+" )";
|
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+ " )";
|
||||||
|
}
|
||||||
|
if (!json[i].zeitaufzeichnung_erlaubt)
|
||||||
|
{
|
||||||
|
projphasenhtml += " ---AP NICHT bebuchbar---";
|
||||||
}
|
}
|
||||||
projphasenhtml += "<\/option>";
|
projphasenhtml += "<\/option>";
|
||||||
}
|
}
|
||||||
@@ -665,6 +670,7 @@ echo '
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Pausenblock
|
// Pausenblock
|
||||||
|
|
||||||
function checkPausenblock()
|
function checkPausenblock()
|
||||||
@@ -840,6 +846,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
|||||||
$projektph_of_user = new projektphase();
|
$projektph_of_user = new projektphase();
|
||||||
$projektphasen = $projektph_of_user->getProjectphaseForMitarbeiter($user);
|
$projektphasen = $projektph_of_user->getProjectphaseForMitarbeiter($user);
|
||||||
|
|
||||||
|
$phaseBebuchbar = $projektph_of_user->getPhasenZA($projektphase_id);
|
||||||
|
$projekt = new projekt();
|
||||||
|
$projekt->load($projekt_kurzbz);
|
||||||
|
|
||||||
if ($_FILES['csv']['error'] == 0 && isset($_POST['import']))
|
if ($_FILES['csv']['error'] == 0 && isset($_POST['import']))
|
||||||
{
|
{
|
||||||
$zeit_csv_import = new zeitaufzeichnung_import_csv($p, $user, $sperrdatum, $_FILES['csv']['tmp_name']);
|
$zeit_csv_import = new zeitaufzeichnung_import_csv($p, $user, $sperrdatum, $_FILES['csv']['tmp_name']);
|
||||||
@@ -848,9 +858,11 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
|||||||
}
|
}
|
||||||
else if ($datum->formatDatum($von, $format='Y-m-d H:i:s') < $sperrdatum)
|
else if ($datum->formatDatum($von, $format='Y-m-d H:i:s') < $sperrdatum)
|
||||||
echo '<span id="triggerPhasenReset" style="color:#ff0000"><b>' .$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum</b></span>';
|
echo '<span id="triggerPhasenReset" style="color:#ff0000"><b>' .$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum</b></span>';
|
||||||
|
|
||||||
// NOTE(chris): Save
|
// NOTE(chris): Save
|
||||||
else if (isset($_POST['save']) || isset($_POST['edit']))
|
else if (isset($_POST['save']) || isset($_POST['edit']))
|
||||||
{
|
{
|
||||||
|
|
||||||
$zeit_post_import = new zeitaufzeichnung_import_post($p, $user, isset($_POST['edit']), [
|
$zeit_post_import = new zeitaufzeichnung_import_post($p, $user, isset($_POST['edit']), [
|
||||||
'aktivitaet_kurzbz' => $aktivitaet_kurzbz,
|
'aktivitaet_kurzbz' => $aktivitaet_kurzbz,
|
||||||
'beschreibung' => $beschreibung,
|
'beschreibung' => $beschreibung,
|
||||||
@@ -867,6 +879,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
|||||||
'von_pause' => $von_pause,
|
'von_pause' => $von_pause,
|
||||||
'zeitaufzeichnung_id' => $zeitaufzeichnung_id,
|
'zeitaufzeichnung_id' => $zeitaufzeichnung_id,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$zeit_post_import->import();
|
$zeit_post_import->import();
|
||||||
echo $zeit_post_import->OutputToHTML();
|
echo $zeit_post_import->OutputToHTML();
|
||||||
if (!$zeit_post_import->hasErrors() && !$zeit_post_import->hasWarnings())
|
if (!$zeit_post_import->hasErrors() && !$zeit_post_import->hasWarnings())
|
||||||
@@ -1239,7 +1252,8 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
|||||||
else
|
else
|
||||||
$selected = '';
|
$selected = '';
|
||||||
|
|
||||||
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung). $phasentext.'</option>';
|
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung).
|
||||||
|
$phasentext. '</option>';
|
||||||
}
|
}
|
||||||
echo '</SELECT></span>';
|
echo '</SELECT></span>';
|
||||||
}
|
}
|
||||||
@@ -1379,7 +1393,27 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
echo '</td><td valign="top"><span id="zeitsaldo"></span><br><br>';
|
echo '</td><td valign="top"><span id="zeitsaldo"></span><br>';
|
||||||
|
|
||||||
|
if (defined('DEFAULT_ALLIN_DIENSTVERTRAG') && DEFAULT_ALLIN_DIENSTVERTRAG != '')
|
||||||
|
{
|
||||||
|
$bisver = new bisverwendung();
|
||||||
|
$bisver->getLastVerwendung($user);
|
||||||
|
// $ba1code = $bisver->ba1code;
|
||||||
|
$ba1code = null;
|
||||||
|
|
||||||
|
if (in_array($bisver->ba1code, DEFAULT_ALLIN_DIENSTVERTRAG))
|
||||||
|
{
|
||||||
|
echo '<span id="saldoAllin"></span><br><br>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
echo '<br>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
echo '<br>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!$adminView)
|
if (!$adminView)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ if (isset($_GET['projekt_kurzbz']))
|
|||||||
$item['bezeichnung'] = $row->bezeichnung;
|
$item['bezeichnung'] = $row->bezeichnung;
|
||||||
$item['start'] = $datum_obj->formatDatum($row->start, 'd.m.Y');
|
$item['start'] = $datum_obj->formatDatum($row->start, 'd.m.Y');
|
||||||
$item['ende'] = $datum_obj->formatDatum($row->ende, 'd.m.Y');
|
$item['ende'] = $datum_obj->formatDatum($row->ende, 'd.m.Y');
|
||||||
|
$item['zeitaufzeichnung_erlaubt'] = $row->zeitaufzeichnung;
|
||||||
$result_obj[] = $item;
|
$result_obj[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -164,6 +164,9 @@ $pruefling->load($_SESSION['pruefling_id']);
|
|||||||
if ($pruefling->gesperrt === 't')
|
if ($pruefling->gesperrt === 't')
|
||||||
die("<script>document.location.href='prueflinggesperrt.php';</script>");
|
die("<script>document.location.href='prueflinggesperrt.php';</script>");
|
||||||
|
|
||||||
|
if (!in_array($gebiet_id, $_SESSION['alleGebiete']))
|
||||||
|
die($p->t('testtool/dasGebietIstNichtFuerSieBestimmt'));
|
||||||
|
|
||||||
$gebiet = new gebiet($gebiet_id);
|
$gebiet = new gebiet($gebiet_id);
|
||||||
|
|
||||||
if($gebiet->level_start!='')
|
if($gebiet->level_start!='')
|
||||||
|
|||||||
+59
-4
@@ -82,7 +82,8 @@ if (isset($_REQUEST['prestudent']))
|
|||||||
$ps = new prestudent($_REQUEST['prestudent']);
|
$ps = new prestudent($_REQUEST['prestudent']);
|
||||||
|
|
||||||
$login_ok = false;
|
$login_ok = false;
|
||||||
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL && isset($_GET['confirmation']))
|
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL &&
|
||||||
|
(isset($_GET['confirmation']) || isset($_GET['confirmed_code'])))
|
||||||
{
|
{
|
||||||
if (isset($_SESSION['bewerbung/personId']) && $ps->person_id == $_SESSION['bewerbung/personId'])
|
if (isset($_SESSION['bewerbung/personId']) && $ps->person_id == $_SESSION['bewerbung/personId'])
|
||||||
{
|
{
|
||||||
@@ -153,6 +154,33 @@ if (isset($_REQUEST['prestudent']))
|
|||||||
{
|
{
|
||||||
// regenerate Session ID after Login
|
// regenerate Session ID after Login
|
||||||
session_regenerate_id();
|
session_regenerate_id();
|
||||||
|
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL)
|
||||||
|
{
|
||||||
|
if ($rt->zugangs_ueberpruefung && !is_null($rt->zugangscode))
|
||||||
|
{
|
||||||
|
$_SESSION['confirmed_code'] = false;
|
||||||
|
if (isset($_SESSION['confirmation_needed']) && $_SESSION['confirmation_needed'] === true)
|
||||||
|
{
|
||||||
|
if (isset($_GET['confirmed_code']))
|
||||||
|
{
|
||||||
|
if ($_GET['confirmed_code'] === $_SESSION['reihungstest_code'])
|
||||||
|
{
|
||||||
|
$_SESSION['confirmed_code'] = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$alertmsg .= '<div class="alert alert-danger">Code ist nicht korrekt.</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_SESSION['confirmed_code'] === false)
|
||||||
|
{
|
||||||
|
$_SESSION['reihungstest_code'] = $rt->zugangscode;
|
||||||
|
$_SESSION['confirmation_needed'] = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$reload_menu = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$pruefling = new pruefling();
|
$pruefling = new pruefling();
|
||||||
if ($pruefling->getPruefling($ps->prestudent_id))
|
if ($pruefling->getPruefling($ps->prestudent_id))
|
||||||
@@ -314,8 +342,11 @@ else
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']) &&
|
||||||
if (isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
|
!isset($_SESSION['confirmation_needed']) && !isset($_SESSION['confirmed_code'])) ||
|
||||||
|
(isset($_SESSION['confirmation_needed']) && $_SESSION['confirmation_needed'] === true &&
|
||||||
|
isset($_SESSION['confirmed_code']) && $_SESSION['confirmed_code'] === true &&
|
||||||
|
isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])))
|
||||||
{
|
{
|
||||||
$pruefling = new pruefling();
|
$pruefling = new pruefling();
|
||||||
|
|
||||||
@@ -421,8 +452,32 @@ if (isset($_POST['save']) && isset($_SESSION['prestudent_id']))
|
|||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
if (isset($_SESSION['confirmation_needed']) && $_SESSION['confirmation_needed'] === true &&
|
||||||
|
isset($_SESSION['confirmed_code']) && $_SESSION['confirmed_code'] === false)
|
||||||
|
{
|
||||||
|
echo '
|
||||||
|
<div class="col-xs-11">
|
||||||
|
<div id="alertmsgdiv"></div>
|
||||||
|
<div id="alert">'.$alertmsg.'</div>
|
||||||
|
<div class="row text-center">
|
||||||
|
'.$p->t('testtool/freischalttext').'
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<b>'.$p->t('testtool/freischaltcode').':</b>
|
||||||
|
<form action="login.php">
|
||||||
|
<input type="hidden" name="prestudent" value="'.$_REQUEST['prestudent'].'" />
|
||||||
|
<input id="confirmed_code" type="number" name="confirmed_code"/>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<button id="confirmation_access_submit" type="submit" class="btn btn-primary"/>
|
||||||
|
'.$p->t('testtool/start').'
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
//REIHUNGSTEST STARTSEITE (nach Login)
|
//REIHUNGSTEST STARTSEITE (nach Login)
|
||||||
if (isset($prestudent_id))
|
elseif (isset($prestudent_id))
|
||||||
{
|
{
|
||||||
$prestudent = new prestudent($prestudent_id);
|
$prestudent = new prestudent($prestudent_id);
|
||||||
$stg_obj = new studiengang($prestudent->studiengang_kz);
|
$stg_obj = new studiengang($prestudent->studiengang_kz);
|
||||||
|
|||||||
@@ -277,6 +277,7 @@ if (isset($_SESSION['pruefling_id']))
|
|||||||
$anzahlGebiete = $db->db_num_rows($result);
|
$anzahlGebiete = $db->db_num_rows($result);
|
||||||
$lastsemester = '';
|
$lastsemester = '';
|
||||||
$quereinsteiger_stg = '';
|
$quereinsteiger_stg = '';
|
||||||
|
$_SESSION['alleGebiete']= [];
|
||||||
while($row = $db->db_fetch_object($result))
|
while($row = $db->db_fetch_object($result))
|
||||||
{
|
{
|
||||||
//Jedes Semester in einer eigenen Tabelle anzeigen
|
//Jedes Semester in einer eigenen Tabelle anzeigen
|
||||||
@@ -385,6 +386,7 @@ if (isset($_SESSION['pruefling_id']))
|
|||||||
</td>
|
</td>
|
||||||
<!--<td width="10" class="ItemTesttoolRight" nowrap> </td>-->
|
<!--<td width="10" class="ItemTesttoolRight" nowrap> </td>-->
|
||||||
</tr>';
|
</tr>';
|
||||||
|
$_SESSION['alleGebiete'][] = $row->gebiet_id;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -259,4 +259,11 @@ define('CIS_ZEITWUNSCH_GD', false);
|
|||||||
|
|
||||||
// Covid-Status anzeigen
|
// Covid-Status anzeigen
|
||||||
define('CIS_SHOW_COVID_STATUS', false);
|
define('CIS_SHOW_COVID_STATUS', false);
|
||||||
|
|
||||||
|
//Vertrag Allin
|
||||||
|
define ('DEFAULT_ALLIN_DIENSTVERTRAG',[111]);
|
||||||
|
|
||||||
|
//Echter Dienstvertrag
|
||||||
|
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,111]);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -268,4 +268,7 @@ define('ZEUGNISNOTE_NICHT_ANZEIGEN',serialize(array('iar', 'nz')));
|
|||||||
|
|
||||||
//Default Lehrmodus
|
//Default Lehrmodus
|
||||||
define ('DEFAULT_LEHRMODUS','regulaer');
|
define ('DEFAULT_LEHRMODUS','regulaer');
|
||||||
|
|
||||||
|
//Echter Dienstvertrag
|
||||||
|
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,110]);
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -65,6 +65,13 @@ $data = '';
|
|||||||
$error = false;
|
$error = false;
|
||||||
$warnung = false;
|
$warnung = false;
|
||||||
|
|
||||||
|
//Default BA1Codes für echte Dienstverträge aus Config Laden
|
||||||
|
$arrEchterDV = [103];
|
||||||
|
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||||
|
{
|
||||||
|
$arrEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||||
|
}
|
||||||
|
|
||||||
loadVariables($user);
|
loadVariables($user);
|
||||||
|
|
||||||
//Berechtigungen laden
|
//Berechtigungen laden
|
||||||
@@ -560,10 +567,12 @@ if(!$error)
|
|||||||
{
|
{
|
||||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||||
// geliefert da dies im Vertrag inkludiert ist.
|
// geliefert da dies im Vertrag inkludiert ist.
|
||||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
|
||||||
|
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||||
{
|
{
|
||||||
$fixangestellt = true;
|
$fixangestellt = true;
|
||||||
$lem->stundensatz = '';
|
$lem->stundensatz = '';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1567,9 +1576,10 @@ if(!$error)
|
|||||||
|
|
||||||
foreach($bisverwendung->result as $row_verwendung)
|
foreach($bisverwendung->result as $row_verwendung)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||||
// geliefert da dies im Vertrag inkludiert ist.
|
// geliefert da dies im Vertrag inkludiert ist.
|
||||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||||
{
|
{
|
||||||
$data = '';
|
$data = '';
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ var lehrveranstaltungLvGesamtNotenSelectUID=null; //LehreinheitID des Noten Eint
|
|||||||
var lehrveranstaltungNotenTreeloaded=false;
|
var lehrveranstaltungNotenTreeloaded=false;
|
||||||
var lehrveranstaltungGesamtNotenTreeloaded=false;
|
var lehrveranstaltungGesamtNotenTreeloaded=false;
|
||||||
var LehrveranstaltungAusbildungssemesterFilter='';
|
var LehrveranstaltungAusbildungssemesterFilter='';
|
||||||
|
var LeDetailsDisabled = false; //Damit die Details von der Lehreinheit disabled bleiben soland der Rebuild nicht fertig ist
|
||||||
|
|
||||||
// Config-Eintrag, ob Vertragsdetails angezeigt werden sollen
|
// Config-Eintrag, ob Vertragsdetails angezeigt werden sollen
|
||||||
var lehrveranstaltung_vertragsdetails_anzeigen = Boolean(<?php echo (defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN) ? true : false ?>);
|
var lehrveranstaltung_vertragsdetails_anzeigen = Boolean(<?php echo (defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN) ? true : false ?>);
|
||||||
@@ -80,6 +81,7 @@ var LvTreeListener =
|
|||||||
didRebuild : function(builder)
|
didRebuild : function(builder)
|
||||||
{
|
{
|
||||||
//debug('didrebuild');
|
//debug('didrebuild');
|
||||||
|
LeDetailsDisabled = false;
|
||||||
//timeout nur bei Mozilla notwendig da sonst die rows
|
//timeout nur bei Mozilla notwendig da sonst die rows
|
||||||
//noch keine values haben. Ab Seamonkey funktionierts auch
|
//noch keine values haben. Ab Seamonkey funktionierts auch
|
||||||
//ohne dem setTimeout
|
//ohne dem setTimeout
|
||||||
@@ -452,7 +454,7 @@ function LvTreeSelectLehreinheit()
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
//In der globalen Variable ist die zu selektierende Lehreinheit gespeichert
|
//In der globalen Variable ist die zu selektierende Lehreinheit gespeichert
|
||||||
if(LvSelectLehreinheit_id!=null)
|
if(LvSelectLehreinheit_id!=null && LeDetailsDisabled === false)
|
||||||
{
|
{
|
||||||
//Den Subtree der Lehrveranstaltung oeffnen zu der zuletzt die Lehreinheit gespeichert/angelegt wurde
|
//Den Subtree der Lehrveranstaltung oeffnen zu der zuletzt die Lehreinheit gespeichert/angelegt wurde
|
||||||
//da diese sonst nicht markiert werden kann
|
//da diese sonst nicht markiert werden kann
|
||||||
@@ -754,6 +756,7 @@ function LeDetailSave()
|
|||||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||||
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
|
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
|
||||||
LeDetailDisableFields(true);
|
LeDetailDisableFields(true);
|
||||||
|
LeDetailsDisabled = true;
|
||||||
//LvTreeRefresh();
|
//LvTreeRefresh();
|
||||||
LvSelectLehreinheit_id=val.dbdml_data;
|
LvSelectLehreinheit_id=val.dbdml_data;
|
||||||
LvOpenLehrveranstaltung_id=lehrveranstaltung;
|
LvOpenLehrveranstaltung_id=lehrveranstaltung;
|
||||||
@@ -850,7 +853,8 @@ function LeAuswahl()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LeDetailDisableFields(false);
|
if (LeDetailsDisabled === false)
|
||||||
|
LeDetailDisableFields(false);
|
||||||
LehrveranstaltungNotenDisableFields(true);
|
LehrveranstaltungNotenDisableFields(true);
|
||||||
LehrveranstaltungNotenTreeUnload();
|
LehrveranstaltungNotenTreeUnload();
|
||||||
|
|
||||||
|
|||||||
@@ -216,6 +216,10 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
|
|||||||
class="sortDirectionIndicator"
|
class="sortDirectionIndicator"
|
||||||
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
|
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
|
||||||
<splitter class="tree-splitter"/>
|
<splitter class="tree-splitter"/>
|
||||||
|
<treecol id="lehrveranstaltung-treecol-unr" label="UNR" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||||
|
class="sortDirectionIndicator"
|
||||||
|
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#unr"/>
|
||||||
|
<splitter class="tree-splitter"/>
|
||||||
</treecols>
|
</treecols>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -249,6 +253,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
|
|||||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studienplan_bezeichnung"/>
|
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studienplan_bezeichnung"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrtyp_kurzbz"/>
|
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrtyp_kurzbz"/>
|
||||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
|
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
|
||||||
|
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#unr"/>
|
||||||
</treerow>
|
</treerow>
|
||||||
</treeitem>
|
</treeitem>
|
||||||
</treechildren>
|
</treechildren>
|
||||||
|
|||||||
@@ -255,13 +255,22 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
|||||||
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
|
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
|
||||||
<vbox>
|
<vbox>
|
||||||
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
|
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
|
||||||
|
xmlns:STANDORT="http://www.technikum-wien.at/standort/rdf#"
|
||||||
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&firmentyp_kurzbz=Intern"
|
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&firmentyp_kurzbz=Intern"
|
||||||
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
|
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
|
||||||
<template>
|
<template>
|
||||||
<menupopup>
|
<rule STANDORT:bezeichnung_null="t">
|
||||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
|
<menupopup>
|
||||||
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
|
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#kurzbz"
|
||||||
</menupopup>
|
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
|
||||||
|
</menupopup>
|
||||||
|
</rule>
|
||||||
|
<rule>
|
||||||
|
<menupopup>
|
||||||
|
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
|
||||||
|
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
|
||||||
|
</menupopup>
|
||||||
|
</rule>
|
||||||
</template>
|
</template>
|
||||||
</menulist>
|
</menulist>
|
||||||
<spacer flex="1"/>
|
<spacer flex="1"/>
|
||||||
|
|||||||
@@ -821,7 +821,16 @@ if(!$error)
|
|||||||
$prestudent->zgvdatum = $_POST['zgvdatum'];
|
$prestudent->zgvdatum = $_POST['zgvdatum'];
|
||||||
$prestudent->zgvnation = $_POST['zgvnation'];
|
$prestudent->zgvnation = $_POST['zgvnation'];
|
||||||
$prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
|
$prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
|
||||||
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
|
// Die Master-ZGV darf nur mit einem eigenen Recht geändert werden
|
||||||
|
if($rechte->isBerechtigt('student/editMakkZgv',$_POST['studiengang_kz'],'suid'))
|
||||||
|
{
|
||||||
|
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
|
||||||
|
}
|
||||||
|
elseif ($prestudent->zgvmas_code != $_POST['zgvmas_code'])
|
||||||
|
{
|
||||||
|
$errormsg = 'Keine Berechtigung zum Ändern der ZGV';
|
||||||
|
$error = true;
|
||||||
|
}
|
||||||
$prestudent->zgvmaort = $_POST['zgvmaort'];
|
$prestudent->zgvmaort = $_POST['zgvmaort'];
|
||||||
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
|
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
|
||||||
$prestudent->zgvmanation = $_POST['zgvmanation'];
|
$prestudent->zgvmanation = $_POST['zgvmanation'];
|
||||||
@@ -2499,7 +2508,23 @@ if(!$error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($exists)
|
if($exists)
|
||||||
|
{
|
||||||
$return = true;
|
$return = true;
|
||||||
|
$zusatz = "\n";
|
||||||
|
if (count($exists) > 10)
|
||||||
|
{
|
||||||
|
$zusatz .= "und ";
|
||||||
|
$persons = implode("\n- ", array_slice($exists, 0, 10));
|
||||||
|
if (count($exists) === 11)
|
||||||
|
$zusatz .= "einer weiteren Person.";
|
||||||
|
else
|
||||||
|
$zusatz .= (count($exists) - 10) . " weiteren Personen.";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$persons = implode("\n- ", $exists);
|
||||||
|
|
||||||
|
$data = "Es ist bereits eine Buchung vorhanden:\n- ". $persons . $zusatz ." Trotzdem fortfahren?";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
$return = false;
|
$return = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1829,6 +1829,20 @@ function StudentPrestudentDisableFields(val)
|
|||||||
document.getElementById('student-prestudent-menulist-zgvcode').disabled=true;
|
document.getElementById('student-prestudent-menulist-zgvcode').disabled=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$studiengaengeMaster = $rechte->getStgKz('student/editMakkZgv');
|
||||||
|
// Anlegen eines Arrays mit allen berechtigten Stg-Kz
|
||||||
|
echo ' var berechtigte_master_studiengaenge = ['.implode(',',$studiengaengeMaster).'];';
|
||||||
|
?>
|
||||||
|
if (berechtigte_master_studiengaenge.indexOf(studiengang_kz) >= 0)
|
||||||
|
{
|
||||||
|
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=true;
|
||||||
|
}
|
||||||
|
|
||||||
//Status Tree leeren
|
//Status Tree leeren
|
||||||
rollentree = document.getElementById('student-prestudent-tree-rolle');
|
rollentree = document.getElementById('student-prestudent-tree-rolle');
|
||||||
|
|
||||||
@@ -3102,9 +3116,9 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
|
|||||||
{
|
{
|
||||||
exists = StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kurzbz, studiengang_kz);
|
exists = StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kurzbz, studiengang_kz);
|
||||||
}
|
}
|
||||||
if (exists)
|
if (exists.dbdml_return)
|
||||||
{
|
{
|
||||||
if(!confirm('Die Buchung ist bereits vorhanden. Trotzdem fortfahren?'))
|
if(!confirm(exists.dbdml_data))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3159,7 +3173,7 @@ function StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kur
|
|||||||
|
|
||||||
var val = new ParseReturnValue(response);
|
var val = new ParseReturnValue(response);
|
||||||
|
|
||||||
return(val.dbdml_return);
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// *****
|
// *****
|
||||||
|
|||||||
+21
-5
@@ -30,7 +30,7 @@ class addon extends basis_db
|
|||||||
public $fhcomplete_target_version;
|
public $fhcomplete_target_version;
|
||||||
|
|
||||||
public $aktive_addons=array();
|
public $aktive_addons=array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Konstruktor
|
* Konstruktor
|
||||||
*/
|
*/
|
||||||
@@ -38,12 +38,12 @@ class addon extends basis_db
|
|||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->aktive_addons = array_filter(array_map('trim', explode(";", ACTIVE_ADDONS)));
|
$this->aktive_addons = array_filter(array_map('trim', explode(";", ACTIVE_ADDONS)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Liefert alle aktivierten Addons
|
* Liefert alle aktivierten Addons
|
||||||
*/
|
*/
|
||||||
public function loadAddons()
|
public function loadAddons()
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ class addon extends basis_db
|
|||||||
$fhcomplete_target_version='';
|
$fhcomplete_target_version='';
|
||||||
|
|
||||||
include(dirname(__FILE__).'/../addons/'.$addon.'/version.php');
|
include(dirname(__FILE__).'/../addons/'.$addon.'/version.php');
|
||||||
|
|
||||||
$obj = new stdClass();
|
$obj = new stdClass();
|
||||||
$obj->kurzbz = $addon;
|
$obj->kurzbz = $addon;
|
||||||
$obj->addon_name = $addon_name;
|
$obj->addon_name = $addon_name;
|
||||||
@@ -63,7 +63,7 @@ class addon extends basis_db
|
|||||||
$obj->addon_description = $addon_description;
|
$obj->addon_description = $addon_description;
|
||||||
$obj->fhcomplete_target_version = $fhcomplete_target_version;
|
$obj->fhcomplete_target_version = $fhcomplete_target_version;
|
||||||
|
|
||||||
|
|
||||||
$this->result[] = $obj;
|
$this->result[] = $obj;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -87,5 +87,21 @@ class addon extends basis_db
|
|||||||
$this->fhcomplete_target_version = $fhcomplete_target_version;
|
$this->fhcomplete_target_version = $fhcomplete_target_version;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prüfen, ob ein bestimmtes Addon aktivierten ist
|
||||||
|
* @param $addon_kurzbz (fhtw,casetime, wawi..)
|
||||||
|
* @return true wenn addon aktiv, sonst false
|
||||||
|
*/
|
||||||
|
public function checkActiveAddon($addon_kurzbz)
|
||||||
|
{
|
||||||
|
$addonIsActive = false;
|
||||||
|
foreach($this->aktive_addons as $addon)
|
||||||
|
{
|
||||||
|
if ($addon == $addon_kurzbz)
|
||||||
|
$addonIsActive = true;
|
||||||
|
}
|
||||||
|
return $addonIsActive;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user