mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -9,20 +9,60 @@ $config['navigation_header'] = array(
|
||||
'link' => site_url(''),
|
||||
'icon' => '',
|
||||
'description' => 'FH-Complete',
|
||||
'sort' => 1
|
||||
'sort' => 10
|
||||
),
|
||||
'vilesci' => array(
|
||||
'link' => base_url('vilesci'),
|
||||
'icon' => '',
|
||||
'description' => 'Vilesci',
|
||||
'sort' => 2,
|
||||
'requiredPermissions' => 'basis/vilesci:r'
|
||||
'Organisation' => array(
|
||||
'link' => '#',
|
||||
'icon' => 'sitemap',
|
||||
'description' => 'Organisation',
|
||||
'sort' => 20,
|
||||
'children'=> array(
|
||||
'vilesci' => array(
|
||||
'link' => base_url('vilesci'),
|
||||
'icon' => '',
|
||||
'description' => 'Vilesci',
|
||||
'expand' => true,
|
||||
'sort' => 1,
|
||||
'requiredPermissions' => 'basis/vilesci:r'
|
||||
)
|
||||
)
|
||||
),
|
||||
'cis' => array(
|
||||
'link' => CIS_ROOT,
|
||||
'icon' => '',
|
||||
'description' => 'CIS',
|
||||
'sort' => 3
|
||||
'Lehre' => array(
|
||||
'link' => '#',
|
||||
'icon' => 'graduation-cap',
|
||||
'description' => 'Lehre',
|
||||
'sort' => 30,
|
||||
'children'=> array(
|
||||
'cis' => array(
|
||||
'link' => CIS_ROOT,
|
||||
'icon' => '',
|
||||
'description' => 'CIS',
|
||||
'sort' => 10
|
||||
),
|
||||
'infocenter' => array(
|
||||
'link' => site_url('system/infocenter/InfoCenter'),
|
||||
'icon' => 'info',
|
||||
'description' => 'Infocenter',
|
||||
'expand' => true,
|
||||
'sort' => 20,
|
||||
'requiredPermissions' => 'infocenter:r'
|
||||
),
|
||||
)
|
||||
),
|
||||
'Personen' => array(
|
||||
'link' => '#',
|
||||
'icon' => 'user',
|
||||
'description' => 'Personen',
|
||||
'sort' => 40,
|
||||
'children'=> array(
|
||||
'bpk' => array(
|
||||
'link' => site_url('person/BPKWartung'),
|
||||
'icon' => '',
|
||||
'description' => 'BPK Wartung',
|
||||
'sort' => 10,
|
||||
'requiredPermissions' => 'admin:r'
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
@@ -21,7 +21,7 @@ class Buchungstyp extends APIv1_Controller
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(array('Buchungstyp' => 'basis/buchungstyp:rw');
|
||||
parent::__construct(array('Buchungstyp' => 'basis/buchungstyp:rw'));
|
||||
// Load model BuchungstypModel
|
||||
$this->load->model('crm/buchungstyp_model', 'BuchungstypModel');
|
||||
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Page for checking Persons where no bPK was found automatically
|
||||
*/
|
||||
class BPKWartung extends Auth_Controller
|
||||
{
|
||||
private $_uid; // contains the UID of the logged user
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'index' => 'admin:r',
|
||||
'showDetails' => 'admin:r',
|
||||
'saveBPK' => 'admin:rw',
|
||||
)
|
||||
);
|
||||
|
||||
// Loads models
|
||||
$this->load->model('crm/akte_model', 'AkteModel');
|
||||
$this->load->model('person/person_model', 'PersonModel');
|
||||
$this->load->model('person/adresse_model', 'AdressModel');
|
||||
|
||||
$this->load->library('WidgetLib');
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'person',
|
||||
'lehre',
|
||||
'ui',
|
||||
'infocenter',
|
||||
'filter'
|
||||
)
|
||||
);
|
||||
|
||||
$this->setControllerId(); // sets the controller id
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* Main page of the InfoCenter tool
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->_setNavigationMenuIndex(); // define the navigation menu for this page
|
||||
|
||||
$this->load->view('person/bpk/bpkwartung.php');
|
||||
}
|
||||
|
||||
/**
|
||||
* Personal details page of the InfoCenter tool
|
||||
* Initialization function, gets person and prestudent data and loads the view with the data
|
||||
* @param $person_id
|
||||
*/
|
||||
public function showDetails()
|
||||
{
|
||||
$this->_setNavigationMenuShowDetails();
|
||||
$person_id = $this->input->get('person_id');
|
||||
|
||||
if (!is_numeric($person_id))
|
||||
show_error('person id is not numeric!');
|
||||
|
||||
$personexists = $this->PersonModel->load($person_id);
|
||||
|
||||
if (isError($personexists))
|
||||
show_error($personexists->retval);
|
||||
|
||||
if (!hasData($personexists))
|
||||
show_error('Person does not exist!');
|
||||
|
||||
$persondata = $this->_loadPersonData($person_id);
|
||||
|
||||
|
||||
$data[self::FHC_CONTROLLER_ID] = $this->getControllerId();
|
||||
|
||||
$this->load->view('person/bpk/bpkDetails.php', $persondata);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves a ZGV for a prestudent, includes Ort, Datum, Nation for bachelor and master
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function saveBPK()
|
||||
{
|
||||
$person_id = $this->input->post('person_id');
|
||||
$bpk = $this->input->post('bpk');
|
||||
|
||||
if (isEmptyString($person_id))
|
||||
$result = error('PersonID missing');
|
||||
else
|
||||
{
|
||||
$result = $this->PersonModel->update(
|
||||
$person_id,
|
||||
array(
|
||||
'bpk' => $bpk,
|
||||
'updateamum' => date('Y-m-d H:i:s')
|
||||
)
|
||||
);
|
||||
redirect('person/BPKWartung/index');
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Loads all necessary Person data: Stammdaten (name, svnr, contact, ...), Dokumente, Logs and Notizen
|
||||
* @param $person_id
|
||||
* @return array
|
||||
*/
|
||||
private function _loadPersonData($person_id)
|
||||
{
|
||||
$stammdaten = $this->PersonModel->getPersonStammdaten($person_id, true);
|
||||
|
||||
if (isError($stammdaten))
|
||||
{
|
||||
show_error($stammdaten->retval);
|
||||
}
|
||||
|
||||
if (!isset($stammdaten->retval))
|
||||
return null;
|
||||
|
||||
$adresse = $this->AdressModel->getZustellAdresse($person_id);
|
||||
|
||||
if (isError($adresse))
|
||||
{
|
||||
show_error($adresse->retval);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'stammdaten' => $stammdaten->retval,
|
||||
'adresse' => $adresse->retval[0]
|
||||
);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the navigation menu for the showDetails page
|
||||
*/
|
||||
private function _setNavigationMenuShowDetails()
|
||||
{
|
||||
$this->load->library('NavigationLib', array('navigation_page' => 'person/BPKWartung/showDetails'));
|
||||
|
||||
$link = site_url('person/BPKWartung');
|
||||
|
||||
$this->navigationlib->setSessionMenu(
|
||||
array(
|
||||
'back' => $this->navigationlib->oneLevel(
|
||||
'Zurück', // description
|
||||
$link, // link
|
||||
array(), // children
|
||||
'angle-left', // icon
|
||||
true, // expand
|
||||
null, // subscriptDescription
|
||||
null, // subscriptLinkClass
|
||||
null, // subscriptLinkValue
|
||||
'', // target
|
||||
1 // sort
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the navigation menu for the showDetails page
|
||||
*/
|
||||
private function _setNavigationMenuIndex()
|
||||
{
|
||||
$this->load->library('NavigationLib', array('navigation_page' => 'person/BPKWartung/index'));
|
||||
|
||||
$link = site_url();
|
||||
|
||||
$this->navigationlib->setSessionMenu(
|
||||
array(
|
||||
'back' => $this->navigationlib->oneLevel(
|
||||
'Zurück', // description
|
||||
$link, // link
|
||||
array(), // children
|
||||
'angle-left', // icon
|
||||
true, // expand
|
||||
null, // subscriptDescription
|
||||
null, // subscriptLinkClass
|
||||
null, // subscriptLinkValue
|
||||
'', // target
|
||||
1 // sort
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ class Navigation extends Auth_Controller
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* Loads the FiltersLib with the NAVIGATION_PAGE_PARAM parameter
|
||||
* Loads the NavigationLib with the NAVIGATION_PAGE_PARAM parameter
|
||||
* If the parameter NAVIGATION_PAGE_PARAM is not given then the execution of the controller is terminated and
|
||||
* an error message is printed
|
||||
*/
|
||||
@@ -76,7 +76,7 @@ class Navigation extends Auth_Controller
|
||||
$navigationPage = $this->input->post(self::NAVIGATION_PAGE_PARAM); // is retrived from the HTTP POST
|
||||
}
|
||||
|
||||
// Loads the FiltersLib that contains all the used logic
|
||||
// Loads the NavigationLib that contains all the used logic
|
||||
$this->load->library('NavigationLib', array(self::NAVIGATION_PAGE_PARAM => $navigationPage));
|
||||
}
|
||||
else // Otherwise an error will be written in the output
|
||||
|
||||
@@ -74,6 +74,7 @@ class InfoCenter extends Auth_Controller
|
||||
'saveFormalGeprueft' => 'infocenter:rw',
|
||||
'getLastPrestudentWithZgvJson' => 'infocenter:r',
|
||||
'getZgvInfoForPrestudent' => 'infocenter:r',
|
||||
'saveBewPriorisierung' => 'infocenter:rw',
|
||||
'saveZgvPruefung' => 'infocenter:rw',
|
||||
'saveAbsage' => 'infocenter:rw',
|
||||
'saveFreigabe' => 'infocenter:rw',
|
||||
@@ -81,6 +82,7 @@ class InfoCenter extends Auth_Controller
|
||||
'updateNotiz' => 'infocenter:rw',
|
||||
'reloadNotizen' => 'infocenter:r',
|
||||
'reloadLogs' => 'infocenter:r',
|
||||
'reloadZgvPruefungen' => 'infocenter:r',
|
||||
'outputAkteContent' => 'infocenter:r',
|
||||
'getParkedDate' => 'infocenter:r',
|
||||
'park' => 'infocenter:rw',
|
||||
@@ -280,6 +282,22 @@ class InfoCenter extends Auth_Controller
|
||||
$this->load->view('system/infocenter/studiengangZgvInfo.php', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves application priority for a prestudent
|
||||
*/
|
||||
public function saveBewPriorisierung()
|
||||
{
|
||||
$prestudent_id = $this->input->post('prestudentid');
|
||||
$change = $this->input->post('change');
|
||||
|
||||
if (!is_numeric($change) || !is_numeric($prestudent_id))
|
||||
$result = error('Parameteres missing');
|
||||
else
|
||||
$result = $this->PrestudentModel->changePrio($prestudent_id, intval($change));
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($result));
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves a ZGV for a prestudent, includes Ort, Datum, Nation for bachelor and master
|
||||
* @param $prestudent_id
|
||||
@@ -338,55 +356,50 @@ class InfoCenter extends Auth_Controller
|
||||
* inserts Studiensemester and Ausbildungssemester for the new Absage of (chronologically) last status.
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function saveAbsage($prestudent_id)
|
||||
public function saveAbsage()
|
||||
{
|
||||
$json = null;
|
||||
$prestudent_id = $this->input->post('prestudent_id');
|
||||
$statusgrund = $this->input->post('statusgrund');
|
||||
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
|
||||
if (isError($lastStatus))
|
||||
$this->StatusgrundModel->addSelect('bezeichnung_mehrsprachig');
|
||||
$statusgrresult = $this->StatusgrundModel->load($statusgrund);
|
||||
|
||||
if (hasData($lastStatus) && hasData($statusgrresult))
|
||||
{
|
||||
show_error($lastStatus->retval);
|
||||
}
|
||||
|
||||
//check if still Interessent and not freigegeben yet
|
||||
if (count($lastStatus->retval) > 0 && $lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam))
|
||||
{
|
||||
$result = $this->PrestudentstatusModel->insert(
|
||||
array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $lastStatus->retval[0]->ausbildungssemester,
|
||||
'datum' => date('Y-m-d'),
|
||||
'orgform_kurzbz' => $lastStatus->retval[0]->orgform_kurzbz,
|
||||
'studienplan_id' => $lastStatus->retval[0]->studienplan_id,
|
||||
'status_kurzbz' => 'Abgewiesener',
|
||||
'statusgrund_id' => $statusgrund,
|
||||
'insertvon' => $this->_uid,
|
||||
'insertamum' => date('Y-m-d H:i:s')
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
//check if still Interessent and not freigegeben yet
|
||||
if ($lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam))
|
||||
{
|
||||
show_error($result->retval);
|
||||
$result = $this->PrestudentstatusModel->insert(
|
||||
array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz,
|
||||
'ausbildungssemester' => $lastStatus->retval[0]->ausbildungssemester,
|
||||
'datum' => date('Y-m-d'),
|
||||
'orgform_kurzbz' => $lastStatus->retval[0]->orgform_kurzbz,
|
||||
'studienplan_id' => $lastStatus->retval[0]->studienplan_id,
|
||||
'status_kurzbz' => 'Abgewiesener',
|
||||
'statusgrund_id' => $statusgrund,
|
||||
'insertvon' => $this->_uid,
|
||||
'insertamum' => date('Y-m-d H:i:s')
|
||||
)
|
||||
);
|
||||
|
||||
$json = $result;
|
||||
if (isSuccess($result))
|
||||
{
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
//statusgrund bezeichnung for logging
|
||||
$statusgrund_bez = $statusgrresult->retval[0]->bezeichnung_mehrsprachig[1];
|
||||
|
||||
$this->_log($logdata['person_id'], 'abgewiesen', array($prestudent_id, $logdata['studiengang_kurzbz'], $statusgrund_bez));
|
||||
}
|
||||
}
|
||||
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
//statusgrund bezeichnung for logging
|
||||
$this->StatusgrundModel->addSelect('bezeichnung_mehrsprachig');
|
||||
$result = $this->StatusgrundModel->load($statusgrund);
|
||||
if (isError($result))
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$statusgrund_bez = $result->retval[0]->bezeichnung_mehrsprachig[1];
|
||||
|
||||
$this->_log($logdata['person_id'], 'abgewiesen', array($prestudent_id, $logdata['studiengang_kurzbz'], $statusgrund_bez));
|
||||
}
|
||||
$this->_redirectToStart($prestudent_id, 'ZgvPruef');
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -394,16 +407,18 @@ class InfoCenter extends Auth_Controller
|
||||
* updates bestaetigtam and bestaetigtvon fields of the last status
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function saveFreigabe($prestudent_id)
|
||||
public function saveFreigabe()
|
||||
{
|
||||
$json = null;
|
||||
$prestudent_id = $this->input->post('prestudent_id');
|
||||
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
|
||||
if (isError($lastStatus))
|
||||
{
|
||||
show_error($lastStatus->retval);
|
||||
}
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
if (count($lastStatus->retval) > 0)
|
||||
$akteresult = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL));
|
||||
|
||||
if (hasData($lastStatus) && isSuccess($akteresult))
|
||||
{
|
||||
$lastStatus = $lastStatus->retval[0];
|
||||
|
||||
@@ -425,45 +440,36 @@ class InfoCenter extends Auth_Controller
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
$json = $result;
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
show_error($result->retval);
|
||||
$this->load->model('crm/dokumentprestudent_model', 'DokumentprestudentModel');
|
||||
|
||||
//set documents which have been formal geprüft to accepted
|
||||
$dokument_kurzbzs = array();
|
||||
|
||||
foreach ($akteresult->retval as $akte)
|
||||
{
|
||||
$dokument_kurzbzs[] = $akte->dokument_kurzbz;
|
||||
}
|
||||
|
||||
$acceptresult = $this->DokumentprestudentModel->setAcceptedDocuments($prestudent_id, $dokument_kurzbzs);
|
||||
|
||||
//returns null if no documents to accept
|
||||
if ($acceptresult !== null && isError($acceptresult))
|
||||
{
|
||||
$json->error = 2;
|
||||
}
|
||||
|
||||
$this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz']));
|
||||
|
||||
$this->_sendFreigabeMail($prestudent_id);
|
||||
}
|
||||
|
||||
$this->load->model('crm/dokumentprestudent_model', 'DokumentprestudentModel');
|
||||
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
//set documents which have been formal geprüft to accepted
|
||||
$result = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL));
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$dokument_kurzbzs = array();
|
||||
|
||||
foreach ($result->retval as $akte)
|
||||
{
|
||||
$dokument_kurzbzs[] = $akte->dokument_kurzbz;
|
||||
}
|
||||
|
||||
$result = $this->DokumentprestudentModel->setAcceptedDocuments($prestudent_id, $dokument_kurzbzs);
|
||||
|
||||
//returns null if no documents to accept
|
||||
if ($result !== null && isError($result))
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$this->_sendFreigabeMail($prestudent_id);
|
||||
|
||||
$this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz']));
|
||||
}
|
||||
}
|
||||
|
||||
$this->_redirectToStart($prestudent_id, 'ZgvPruef');
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -543,6 +549,19 @@ class InfoCenter extends Auth_Controller
|
||||
$this->load->view('system/infocenter/logs.php', array('logs' => $logs));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads Zgv Prüfung view for a person, helper for reloading after ajax request
|
||||
* @param $person_id
|
||||
*/
|
||||
public function reloadZgvPruefungen($person_id)
|
||||
{
|
||||
$prestudentdata = $this->_loadPrestudentData($person_id);
|
||||
|
||||
$prestudentdata[self::FHC_CONTROLLER_ID] = $this->getControllerId();
|
||||
|
||||
$this->load->view('system/infocenter/zgvpruefungen.php', $prestudentdata);
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs content of an Akte, sends appropriate headers (so the document can be downloaded)
|
||||
* @param $akte_id
|
||||
@@ -864,7 +883,7 @@ class InfoCenter extends Auth_Controller
|
||||
'filters' => $this->navigationlib->oneLevel(
|
||||
'Filter', // description
|
||||
'#', // link
|
||||
(isset($filtersArray['children'])?$filtersArray['children']:''), // children
|
||||
(isset($filtersArray['children']) ? $filtersArray['children'] : ''), // children
|
||||
'', // icon
|
||||
true, // expand
|
||||
null, // subscriptDescription
|
||||
@@ -880,20 +899,18 @@ class InfoCenter extends Auth_Controller
|
||||
/**
|
||||
* Utility method used to fill elements of the InfoCenter left menu of the main InfoCenter page
|
||||
*/
|
||||
private function _fillFilters($filters, &$tofill)
|
||||
private function _fillFilters($filters, &$toFill)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf(
|
||||
$toPrint,
|
||||
site_url(self::INFOCENTER_URI), 'filter_id', $filterId,
|
||||
FHC_Controller::FHC_CONTROLLER_ID,
|
||||
$this->getControllerId()
|
||||
),
|
||||
'description' => $description
|
||||
$toFill['children'][] = $this->navigationlib->oneLevel(
|
||||
$description, // description
|
||||
sprintf(
|
||||
'%s?%s=%s',
|
||||
site_url(self::INFOCENTER_URI),
|
||||
'filter_id',
|
||||
$filterId
|
||||
) // link
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -901,20 +918,18 @@ class InfoCenter extends Auth_Controller
|
||||
/**
|
||||
* Utility method used to fill elements of the InfoCenter left menu of the freigegeben InfoCenter page
|
||||
*/
|
||||
private function _fillFiltersFreigegeben($filters, &$tofill)
|
||||
private function _fillFiltersFreigegeben($filters, &$toFill)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf(
|
||||
$toPrint,
|
||||
site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE), 'filter_id', $filterId,
|
||||
FHC_Controller::FHC_CONTROLLER_ID,
|
||||
$this->getControllerId()
|
||||
),
|
||||
'description' => $description
|
||||
$toFill['children'][] = $this->navigationlib->oneLevel(
|
||||
$description, // description
|
||||
sprintf(
|
||||
'%s?%s=%s',
|
||||
site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE),
|
||||
'filter_id',
|
||||
$filterId
|
||||
) // link
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -923,23 +938,26 @@ class InfoCenter extends Auth_Controller
|
||||
* Utility method used to fill elements of the InfoCenter left menu
|
||||
* with the list of the custom filter of the authenticated user
|
||||
*/
|
||||
private function _fillCustomFilters($filters, &$tofill)
|
||||
private function _fillCustomFilters($filters, &$toFill)
|
||||
{
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf(
|
||||
$toPrint,
|
||||
site_url(self::INFOCENTER_URI), 'filter_id', $filterId,
|
||||
FHC_Controller::FHC_CONTROLLER_ID,
|
||||
$this->getControllerId()
|
||||
),
|
||||
'description' => $description,
|
||||
'subscriptDescription' => 'Remove',
|
||||
'subscriptLinkClass' => 'remove-custom-filter',
|
||||
'subscriptLinkValue' => $filterId
|
||||
$toFill['children'][] = $this->navigationlib->oneLevel(
|
||||
$description, // description
|
||||
sprintf(
|
||||
'%s?%s=%s',
|
||||
site_url(self::INFOCENTER_URI),
|
||||
'filter_id',
|
||||
$filterId
|
||||
), // link
|
||||
null, // children
|
||||
'', // icon
|
||||
false, // expand
|
||||
'Remove', // subscriptDescription
|
||||
'remove-custom-filter', // subscriptLinkClass
|
||||
$filterId, // subscriptLinkValue
|
||||
null, // sort
|
||||
null // requiredPermissions
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1058,6 +1076,8 @@ class InfoCenter extends Auth_Controller
|
||||
show_error($prestudenten->retval);
|
||||
}
|
||||
|
||||
$interessentenCount = array();
|
||||
|
||||
foreach ($prestudenten->retval as $prestudent)
|
||||
{
|
||||
$prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent->prestudent_id);
|
||||
@@ -1079,43 +1099,128 @@ class InfoCenter extends Auth_Controller
|
||||
//if prestudent is not interessent or is already bestaetigt, then show only as information, non-editable
|
||||
$zgvpruefung->infoonly = !isset($zgvpruefung->prestudentstatus) || isset($zgvpruefung->prestudentstatus->bestaetigtam) || $zgvpruefung->prestudentstatus->status_kurzbz != 'Interessent';
|
||||
|
||||
//numeric application priority and arrows for changing
|
||||
$zgvpruefung->changeup = false;
|
||||
$zgvpruefung->changedown = false;
|
||||
|
||||
if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz == 'Interessent')
|
||||
{
|
||||
if (isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz))
|
||||
{
|
||||
$studiensemester = $zgvpruefung->prestudentstatus->studiensemester_kurzbz;
|
||||
$zgvpruefung->changeup = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, -1);
|
||||
$zgvpruefung->changedown = $this->PrestudentModel->checkPrioChange($zgvpruefung->prestudent_id, $studiensemester, 1);
|
||||
if (array_key_exists($studiensemester, $interessentenCount))
|
||||
$interessentenCount[$studiensemester]++;
|
||||
else
|
||||
$interessentenCount[$studiensemester] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
$zgvpruefungen[] = $zgvpruefung;
|
||||
}
|
||||
|
||||
// Interessenten come first, otherwise by bewerbungsdatum desc, then by prestudent_id desc
|
||||
usort($zgvpruefungen, function ($a, $b) {
|
||||
$bewdatesort = isset($a->prestudentstatus) && isset($b->prestudentstatus) ? strcmp($b->prestudentstatus->bewerbung_abgeschicktamum, $a->prestudentstatus->bewerbung_abgeschicktamum) : 0;
|
||||
$defaultsort = $bewdatesort === 0 ? (int)$b->prestudent_id - (int)$a->prestudent_id : $bewdatesort;
|
||||
if (!isset($a->prestudentstatus->status_kurzbz) || !isset($b->prestudentstatus->status_kurzbz))
|
||||
return $defaultsort;
|
||||
elseif ($a->prestudentstatus->status_kurzbz === 'Interessent' && $b->prestudentstatus->status_kurzbz === 'Interessent')
|
||||
{
|
||||
//infoonly Interessenten come after new Interessenten
|
||||
if ($a->infoonly === $b->infoonly)
|
||||
return $defaultsort;
|
||||
elseif ($a->infoonly)
|
||||
return 1;
|
||||
elseif ($b->infoonly)
|
||||
return -1;
|
||||
}
|
||||
elseif ($a->prestudentstatus->status_kurzbz === 'Interessent')
|
||||
return -1;
|
||||
elseif ($b->prestudentstatus->status_kurzbz === 'Interessent')
|
||||
return 1;
|
||||
else
|
||||
return $defaultsort;
|
||||
});
|
||||
$this->load->model('organisation/studiensemester_model', 'StudiensemesterModel');
|
||||
|
||||
$this->_sortPrestudents($zgvpruefungen);
|
||||
|
||||
$statusgruende = $this->StatusgrundModel->loadWhere(array('status_kurzbz' => 'Abgewiesener'))->retval;
|
||||
|
||||
$data = array (
|
||||
'zgvpruefungen' => $zgvpruefungen,
|
||||
'numberinteressenten' => $interessentenCount,
|
||||
'statusgruende' => $statusgruende
|
||||
);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function for sorting prestudents
|
||||
* @param $zgvpruefungen
|
||||
*/
|
||||
private function _sortPrestudents(&$zgvpruefungen)
|
||||
{
|
||||
usort($zgvpruefungen, function ($a, $b) {
|
||||
//sort:
|
||||
// 1: Studiensemester
|
||||
if (isset($a->prestudentstatus->studiensemester_kurzbz) || isset($b->prestudentstatus->studiensemester_kurzbz))
|
||||
{
|
||||
if (!isset($a->prestudentstatus->studiensemester_kurzbz))
|
||||
return 1;
|
||||
elseif(!isset($b->prestudentstatus->studiensemester_kurzbz))
|
||||
return -1;
|
||||
|
||||
$starta = $this->StudiensemesterModel->load($a->prestudentstatus->studiensemester_kurzbz);
|
||||
if (!hasData($starta))
|
||||
{
|
||||
show_error($starta->retval);
|
||||
}
|
||||
|
||||
$startb = $this->StudiensemesterModel->load($b->prestudentstatus->studiensemester_kurzbz);
|
||||
if (!hasData($startb))
|
||||
{
|
||||
show_error($startb->retval);
|
||||
}
|
||||
|
||||
$starta = date_format(date_create($starta->retval[0]->start), 'Y-m-d');
|
||||
$startb = date_format(date_create($startb->retval[0]->start), 'Y-m-d');
|
||||
|
||||
if ($starta > $startb)
|
||||
return -1;
|
||||
elseif ($starta < $startb)
|
||||
return 1;
|
||||
}
|
||||
// 2: Status
|
||||
if (isset($a->prestudentstatus->status_kurzbz) || isset($a->prestudentstatus->status_kurzbz))
|
||||
{
|
||||
if (!isset($b->prestudentstatus->status_kurzbz))
|
||||
return -1;
|
||||
elseif (!isset ($a->prestudentstatus->status_kurzbz))
|
||||
return 1;
|
||||
elseif ($a->prestudentstatus->status_kurzbz !== $b->prestudentstatus->status_kurzbz)
|
||||
{
|
||||
if ($a->prestudentstatus->status_kurzbz === 'Interessent')
|
||||
return -1;
|
||||
elseif ($b->prestudentstatus->status_kurzbz === 'Interessent')
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// 3: Priorisierung, Nulls last
|
||||
if (isset($a->priorisierung) || isset($b->priorisierung))
|
||||
{
|
||||
if (!isset($a->priorisierung))
|
||||
return 1;
|
||||
elseif (!isset($b->priorisierung))
|
||||
return -1;
|
||||
elseif ($a->priorisierung > $b->priorisierung)
|
||||
return 1;
|
||||
elseif ($a->priorisierung < $b->priorisierung)
|
||||
return -1;
|
||||
}
|
||||
|
||||
// 4: Bewerbungsdatum
|
||||
$starta = isset($a->prestudentstatus->bewerbung_abgeschicktamum) ? $a->prestudentstatus->bewerbung_abgeschicktamum : null;
|
||||
$startb = isset($b->prestudentstatus->bewerbung_abgeschicktamum) ? $b->prestudentstatus->bewerbung_abgeschicktamum : null;
|
||||
|
||||
if (isset($starta) || isset($startb))
|
||||
{
|
||||
if (!isset($starta))
|
||||
return 1;
|
||||
elseif(!isset($startb))
|
||||
return -1;
|
||||
elseif ($starta > $startb)
|
||||
return -1;
|
||||
elseif ($starta < $startb)
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 5: prestudentid
|
||||
return (int)$b->prestudent_id - (int)$a->prestudent_id;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function for redirecting to initial page for person from a prestudent-specific page
|
||||
* @param $prestudent_id
|
||||
|
||||
@@ -26,6 +26,8 @@ class DB_Model extends FHC_Model
|
||||
private $executedQueryMetaData;
|
||||
private $executedQueryListFields;
|
||||
|
||||
private $debugMode;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@@ -42,6 +44,10 @@ class DB_Model extends FHC_Model
|
||||
|
||||
// Loads the UDF library
|
||||
$this->load->library('UDFLib');
|
||||
// Loads the logs library
|
||||
$this->load->library('LogLib');
|
||||
|
||||
$this->debugMode = isset($this->db->db_debug) && $this->db->db_debug === true;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
@@ -62,7 +68,11 @@ class DB_Model extends FHC_Model
|
||||
if (isError($validate = $this->_manageUDFs($data, $this->dbTable))) return $validate;
|
||||
|
||||
// DB-INSERT
|
||||
if ($this->db->insert($this->dbTable, $data))
|
||||
$insert = $this->db->insert($this->dbTable, $data);
|
||||
|
||||
$this->_logLastQuery();
|
||||
|
||||
if ($insert)
|
||||
{
|
||||
// If the table has a primary key that uses a sequence
|
||||
if ($this->hasSequence === true)
|
||||
@@ -126,7 +136,11 @@ class DB_Model extends FHC_Model
|
||||
$this->db->where($tmpId);
|
||||
|
||||
// DB-UPDATE
|
||||
if ($this->db->update($this->dbTable, $data))
|
||||
$update = $this->db->update($this->dbTable, $data);
|
||||
|
||||
$this->_logLastQuery();
|
||||
|
||||
if ($update)
|
||||
{
|
||||
return success($id);
|
||||
}
|
||||
@@ -164,7 +178,11 @@ class DB_Model extends FHC_Model
|
||||
}
|
||||
|
||||
// DB-DELETE
|
||||
if ($this->db->delete($this->dbTable, $tmpId))
|
||||
$delete = $this->db->delete($this->dbTable, $tmpId);
|
||||
|
||||
$this->_logLastQuery();
|
||||
|
||||
if ($delete)
|
||||
{
|
||||
return success($id);
|
||||
}
|
||||
@@ -201,15 +219,7 @@ class DB_Model extends FHC_Model
|
||||
$tmpId = array($this->pk => $id);
|
||||
}
|
||||
|
||||
// DB-SELECT
|
||||
if ($result = $this->db->get_where($this->dbTable, $tmpId))
|
||||
{
|
||||
return success($this->_toPhp($result));
|
||||
}
|
||||
else
|
||||
{
|
||||
return error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
return $this->loadWhere($tmpId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -223,7 +233,11 @@ class DB_Model extends FHC_Model
|
||||
if (is_null($this->dbTable)) return error(FHC_MODEL_ERROR, FHC_NODBTABLE);
|
||||
|
||||
// Execute query
|
||||
if ($result = $this->db->get_where($this->dbTable, $where))
|
||||
$result = $this->db->get_where($this->dbTable, $where);
|
||||
|
||||
$this->_logLastQuery();
|
||||
|
||||
if ($result)
|
||||
{
|
||||
return success($this->_toPhp($result));
|
||||
}
|
||||
@@ -292,6 +306,9 @@ class DB_Model extends FHC_Model
|
||||
|
||||
// Execute the query
|
||||
$resultDB = $this->db->get_where($this->dbTable, $where);
|
||||
|
||||
$this->_logLastQuery();
|
||||
|
||||
// If everything went ok...
|
||||
if ($resultDB)
|
||||
{
|
||||
@@ -603,7 +620,6 @@ class DB_Model extends FHC_Model
|
||||
|
||||
// Workaround to get metadata from this table
|
||||
$result = $this->db->query(sprintf(DB_Model::QUERY_LIST_FIELDS, $this->dbTable));
|
||||
|
||||
if (is_object($result))
|
||||
{
|
||||
$listFields = $result->list_fields();
|
||||
@@ -736,6 +752,8 @@ class DB_Model extends FHC_Model
|
||||
$resultDB = $this->db->query($query);
|
||||
}
|
||||
|
||||
$this->_logLastQuery();
|
||||
|
||||
// If no errors occurred
|
||||
if ($resultDB)
|
||||
{
|
||||
@@ -940,4 +958,12 @@ class DB_Model extends FHC_Model
|
||||
|
||||
return $this->execQuery($query, array(strtolower($schema), strtolower($table)));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _logLastQuery()
|
||||
{
|
||||
if ($this->debugMode) $this->loglib->logDebug($this->db->last_query());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,7 +263,6 @@ class FiltersLib
|
||||
public function generateDatasetQuery($query, $filters)
|
||||
{
|
||||
$datasetQuery = 'SELECT * FROM ('.$query.') '.self::DATASET_TABLE_ALIAS;
|
||||
$trimedval = trim($query);
|
||||
|
||||
// If the given query is valid and the parameter filters is an array
|
||||
if (!isEmptyString($query) && $filters != null && is_array($filters))
|
||||
@@ -366,7 +365,7 @@ class FiltersLib
|
||||
public function removeSelectedField($selectedField)
|
||||
{
|
||||
$removeSelectedField = false;
|
||||
$trimedval = (isset($selectedField)?trim($selectedField):'');
|
||||
|
||||
// Checks the parameter selectedField
|
||||
if (!isEmptyString($selectedField))
|
||||
{
|
||||
@@ -400,7 +399,7 @@ class FiltersLib
|
||||
public function addSelectedField($selectedField)
|
||||
{
|
||||
$removeSelectedField = false;
|
||||
$trimedval = (isset($selectedField)?trim($selectedField):'');
|
||||
|
||||
// Checks the parameter selectedField
|
||||
if (!isEmptyString($selectedField))
|
||||
{
|
||||
@@ -429,7 +428,7 @@ class FiltersLib
|
||||
public function removeAppliedFilter($appliedFilter)
|
||||
{
|
||||
$removeAppliedFilter = false;
|
||||
$trimedval = (isset($appliedFilter)?trim($appliedFilter):'');
|
||||
|
||||
// Checks the parameter appliedFilter
|
||||
if (!isEmptyString($appliedFilter))
|
||||
{
|
||||
@@ -517,7 +516,7 @@ class FiltersLib
|
||||
public function addFilter($filter)
|
||||
{
|
||||
$addFilter = false;
|
||||
$trimedval = (isset($filter)?trim($filter):'');
|
||||
|
||||
// Checks the parameter filter
|
||||
if (!isEmptyString($filter))
|
||||
{
|
||||
@@ -560,7 +559,7 @@ class FiltersLib
|
||||
public function saveCustomFilter($customFilterDescription)
|
||||
{
|
||||
$saveCustomFilter = false; // by default returns a failure
|
||||
$trimedval = (isset($customFilterDescription)?trim($customFilterDescription):'');
|
||||
|
||||
// Checks parameter customFilterDescription if not valid stop the execution
|
||||
if (isEmptyString($customFilterDescription))
|
||||
{
|
||||
|
||||
@@ -16,27 +16,48 @@ class LogLib
|
||||
const CLASS_POSTFIX = '->';
|
||||
const LINE_SEPARATOR = ':';
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------
|
||||
// Public methods
|
||||
|
||||
/**
|
||||
* format
|
||||
* logDebug
|
||||
*/
|
||||
private function format($class, $function, $line)
|
||||
public function logDebug($message)
|
||||
{
|
||||
$formatted = LogLib::CALLER_PREFIX;
|
||||
|
||||
if (!is_null($class) && $class != '')
|
||||
{
|
||||
$formatted .= $class.LogLib::CLASS_POSTFIX;
|
||||
}
|
||||
|
||||
$formatted .= $function.LogLib::LINE_SEPARATOR.$line.LogLib::CALLER_POSTFIX.' ';
|
||||
|
||||
return $formatted;
|
||||
$this->_log(LogLib::DEBUG, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* getCaller
|
||||
* logInfo
|
||||
*/
|
||||
private function getCaller()
|
||||
public function logInfo($message)
|
||||
{
|
||||
$this->_log(LogLib::INFO, $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* logError
|
||||
*/
|
||||
public function logError($message)
|
||||
{
|
||||
$this->_log(LogLib::ERROR, $message);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------
|
||||
// Private methods
|
||||
|
||||
/**
|
||||
* log
|
||||
*/
|
||||
private function _log($level, $message)
|
||||
{
|
||||
log_message($level, $this->_getCaller().$message);
|
||||
}
|
||||
|
||||
/**
|
||||
* _getCaller
|
||||
*/
|
||||
private function _getCaller()
|
||||
{
|
||||
$classIndex = 3;
|
||||
$functionIndex = 3;
|
||||
@@ -60,38 +81,23 @@ class LogLib
|
||||
$line = $backtrace_arr[$lineIndex]['line'];
|
||||
}
|
||||
|
||||
return $this->format($class, $function, $line);
|
||||
return $this->_format($class, $function, $line);
|
||||
}
|
||||
|
||||
/**
|
||||
* log
|
||||
* format
|
||||
*/
|
||||
private function log($level, $message)
|
||||
private function _format($class, $function, $line)
|
||||
{
|
||||
log_message($level, $this->getCaller().$message);
|
||||
}
|
||||
$formatted = LogLib::CALLER_PREFIX;
|
||||
|
||||
/**
|
||||
* logDebug
|
||||
*/
|
||||
public function logDebug($message)
|
||||
{
|
||||
$this->log(LogLib::DEBUG, $message);
|
||||
}
|
||||
if (!is_null($class) && $class != '')
|
||||
{
|
||||
$formatted .= $class.LogLib::CLASS_POSTFIX;
|
||||
}
|
||||
|
||||
/**
|
||||
* logInfo
|
||||
*/
|
||||
public function logInfo($message)
|
||||
{
|
||||
$this->log(LogLib::INFO, $message);
|
||||
}
|
||||
$formatted .= $function.LogLib::LINE_SEPARATOR.$line.LogLib::CALLER_POSTFIX.' ';
|
||||
|
||||
/**
|
||||
* logError
|
||||
*/
|
||||
public function logError($message)
|
||||
{
|
||||
$this->log(LogLib::ERROR, $message);
|
||||
return $formatted;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ class NavigationLib
|
||||
public function oneLevel(
|
||||
$description, $link = '#', $children = null, $icon = '', $expand = false,
|
||||
$subscriptDescription = null, $subscriptLinkClass = null, $subscriptLinkValue = null, $target = '',
|
||||
$sort = null, $requiredPermissions = null)
|
||||
$sort = null, $requiredPermissions = null, $subscriptLinkHref = '#')
|
||||
{
|
||||
return array(
|
||||
'description' => $description,
|
||||
@@ -82,7 +82,8 @@ class NavigationLib
|
||||
'subscriptLinkClass' => $subscriptLinkClass,
|
||||
'subscriptLinkValue' => $subscriptLinkValue,
|
||||
'sort' => $sort,
|
||||
'requiredPermissions' => $requiredPermissions
|
||||
'requiredPermissions' => $requiredPermissions,
|
||||
'subscriptLinkHref' => $subscriptLinkHref
|
||||
);
|
||||
}
|
||||
|
||||
@@ -235,8 +236,7 @@ class NavigationLib
|
||||
{
|
||||
$extensionArray = array_merge_recursive(
|
||||
$extensionArray,
|
||||
$this->_wildcardsearch($config[$configName],
|
||||
$navigationPage)
|
||||
$this->_wildcardsearch($config[$configName], $navigationPage)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,7 +194,6 @@ class PhrasesLib
|
||||
{
|
||||
$_phrase = $this->_phrases[$i]; // single phrase
|
||||
|
||||
$trimedval = trim($_phrase->text);
|
||||
// If the single phrase match the given parameters and is not an empty string
|
||||
if ($_phrase->category == $category
|
||||
&& $_phrase->phrase == $phrase
|
||||
|
||||
@@ -185,7 +185,6 @@ class Prestudent_model extends DB_Model
|
||||
return $this->execQuery(sprintf($query, is_array($prestudent_id) ? 'IN' : '='), array($prestudent_id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gets extended zgv data (with zgv bezeichnung) for a prestudent
|
||||
* includes last status, Studiengang, zgv, zgv master
|
||||
@@ -219,6 +218,18 @@ class Prestudent_model extends DB_Model
|
||||
|
||||
if (count($lastStatus->retval) > 0)
|
||||
{
|
||||
// get Studiengangname from Studienlan and -ordnung
|
||||
$studienordnung = $this->PrestudentstatusModel->getStudienordnungFromPrestudent($prestudent_id);
|
||||
if ($studienordnung->error)
|
||||
return error($studienordnung->retval);
|
||||
|
||||
if (count($studienordnung->retval) > 0)
|
||||
{
|
||||
$lastStatus->retval[0]->studiengangkurzbzlang = $studienordnung->retval[0]->studiengangkurzbzlang;
|
||||
$lastStatus->retval[0]->studiengangbezeichnung = $studienordnung->retval[0]->studiengangbezeichnung;
|
||||
$lastStatus->retval[0]->studiengangbezeichnung_englisch = $studienordnung->retval[0]->studiengangbezeichnung_englisch;
|
||||
}
|
||||
|
||||
$this->load->model('system/sprache_model', 'SpracheModel');
|
||||
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
|
||||
|
||||
@@ -278,4 +289,234 @@ class Prestudent_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list with Bewerbungen (applications)
|
||||
* @param $person_id person who sent application(s)
|
||||
* @param string $studiensemester_kurzbz
|
||||
* @param bool $abgeschickt optional, wether application was filled out and sent
|
||||
* @param bool $bestaetigt optional, wether application was confirmed by infocenter
|
||||
* @return array with Bewerber
|
||||
*/
|
||||
public function getBewerbungen($person_id, $studiensemester_kurzbz = null, $abgeschickt = null, $bestaetigt = null)
|
||||
{
|
||||
$bewerbungen = array();
|
||||
$prestudents = $this->loadWhere(array('person_id' => $person_id));
|
||||
|
||||
if (!hasData($prestudents))
|
||||
return $bewerbungen;
|
||||
|
||||
$this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel');
|
||||
|
||||
foreach ($prestudents->retval as $prestudent)
|
||||
{
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent->prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
if (!hasData($lastStatus))
|
||||
continue;
|
||||
|
||||
$lastStatus = $lastStatus->retval[0];
|
||||
|
||||
if ($lastStatus->status_kurzbz !== 'Interessent')
|
||||
continue;
|
||||
|
||||
$bewerbung_abgeschicktamum = $lastStatus->bewerbung_abgeschicktamum;
|
||||
$bestaetigtam = $lastStatus->bestaetigtam;
|
||||
|
||||
$abgeschicktcond = true;
|
||||
if (($abgeschickt === false && isset($bewerbung_abgeschicktamum)) || ($abgeschickt === true && !isset($bewerbung_abgeschicktamum)))
|
||||
$abgeschicktcond = false;
|
||||
|
||||
$bestaetigtcond = true;
|
||||
if (($bestaetigt === false && isset($bestaetigtam)) || ($bestaetigt === true && !isset($bestaetigtam)))
|
||||
$bestaetigtcond = false;
|
||||
|
||||
if ($bestaetigtcond && $abgeschicktcond)
|
||||
{
|
||||
$prestudent->lastStatus = $lastStatus;
|
||||
$bewerbungen[] = $prestudent;
|
||||
}
|
||||
}
|
||||
|
||||
return $bewerbungen;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if application priority can be changed for a prestudent
|
||||
* @param $prestudent_id
|
||||
* @param $studiensemester Semester in which Prestudent applied
|
||||
* @param $change increase priority (< 0) or decrease priority (> 0)
|
||||
* @return bool wether priority can be changed
|
||||
*/
|
||||
public function checkPrioChange($prestudent_id, $studiensemester, $change)
|
||||
{
|
||||
if (!is_numeric($change))
|
||||
return false;
|
||||
|
||||
$this->addSelect('person_id, priorisierung');
|
||||
$prestudent = $this->load($prestudent_id);
|
||||
|
||||
if (!hasData($prestudent))
|
||||
return false;
|
||||
|
||||
$person_id = $prestudent->retval[0]->person_id;
|
||||
|
||||
$bewerberarr = $this->getBewerbungen($person_id, $studiensemester);
|
||||
|
||||
//Prio can be added when prio is null and there is only one prestudent
|
||||
if (count($bewerberarr) === 1 && !isset($prestudent->retval[0]->priorisierung) && $change < 0)
|
||||
return true;
|
||||
|
||||
if (count($bewerberarr) <= 1)
|
||||
return false;
|
||||
|
||||
if (!isset($prestudent->retval[0]->priorisierung))
|
||||
{
|
||||
if ($change < 0)
|
||||
return true; //null values can be changed to priority numbers (prority increase)
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
$priomin = 0;
|
||||
$priomax = PHP_INT_MAX;
|
||||
$currprio = intval($prestudent->retval[0]->priorisierung);
|
||||
|
||||
foreach ($bewerberarr as $bewerber)
|
||||
{
|
||||
if (is_numeric($bewerber->priorisierung))
|
||||
{
|
||||
$bewprio = intval($bewerber->priorisierung);
|
||||
if ($bewprio < $priomax)
|
||||
$priomax = $bewprio;
|
||||
|
||||
if ($bewprio > $priomin)
|
||||
$priomin = $bewprio;
|
||||
}
|
||||
}
|
||||
|
||||
//no prio change when prestudent has max or min prio
|
||||
if (($currprio === $priomax && $change < 0) || ($currprio === $priomin && $change > 0))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes application priority for a prestudent
|
||||
* Swaps priorities with nearest neighbour (nearest bewerber/prestudent)
|
||||
* for the same studiensemester in order to move priority up/down
|
||||
* @param $prestudent_id
|
||||
* @param $change increase priority (< 0) or decrease priority (> 0)
|
||||
* @return bool wether change of priority was sucessfull
|
||||
*/
|
||||
public function changePrio($prestudent_id, $change)
|
||||
{
|
||||
$this->addSelect('person_id, priorisierung');
|
||||
$prestudent = $this->load($prestudent_id);
|
||||
|
||||
if (!hasData($prestudent))
|
||||
return false;
|
||||
|
||||
$this->load->model('prestudentstatus_model', 'PrestudentstatusModel');
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id, null, 'Interessent');
|
||||
|
||||
if (!hasData($lastStatus))
|
||||
return false;
|
||||
|
||||
$studiensemester_kurzbz = $lastStatus->retval[0]->studiensemester_kurzbz;
|
||||
|
||||
if (!$this->checkPrioChange($prestudent_id, $studiensemester_kurzbz, $change))
|
||||
return false;
|
||||
|
||||
$person_id = $prestudent->retval[0]->person_id;
|
||||
$currprio = intval($prestudent->retval[0]->priorisierung);
|
||||
|
||||
$difftonext = PHP_INT_MAX;
|
||||
$neighbour = null;
|
||||
|
||||
$bewerberarr = $this->getBewerbungen($person_id, $studiensemester_kurzbz );
|
||||
|
||||
foreach ($bewerberarr as $bewerber)
|
||||
{
|
||||
if (is_numeric($bewerber->priorisierung))
|
||||
{
|
||||
$bewprio = intval($bewerber->priorisierung);
|
||||
|
||||
$diff = 0;
|
||||
if ($change < 0 && ($bewprio < $currprio || is_null($prestudent->retval[0]->priorisierung))) //prio up
|
||||
{
|
||||
$diff = $currprio - $bewprio;
|
||||
}
|
||||
elseif ($change > 0 && $bewprio > $currprio)
|
||||
{
|
||||
$diff = $bewprio - $currprio;
|
||||
}
|
||||
|
||||
if ($diff !== 0 && $diff < $difftonext)
|
||||
{
|
||||
$difftonext = $diff;
|
||||
$neighbour = $bewerber;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_null($prestudent->retval[0]->priorisierung))
|
||||
{
|
||||
//if null value, add as prio 1
|
||||
$newprio = isset($neighbour->priorisierung) ? intval($neighbour->priorisierung) + 1 : 1;
|
||||
|
||||
$result = $this->PrestudentModel->update(
|
||||
$prestudent_id,
|
||||
array(
|
||||
'priorisierung' => $newprio
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->trans_start(false);
|
||||
//prio swap
|
||||
$resultFirst = $this->PrestudentModel->update(
|
||||
$prestudent_id,
|
||||
array(
|
||||
'priorisierung' => intval($neighbour->priorisierung)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
$resultSecond = $this->PrestudentModel->update(
|
||||
$neighbour->prestudent_id,
|
||||
array(
|
||||
'priorisierung' => $currprio
|
||||
)
|
||||
);
|
||||
|
||||
// Transaction complete!
|
||||
$this->db->trans_complete();
|
||||
|
||||
// Check if everything went ok during the transaction
|
||||
if ($this->db->trans_status() === false || isError($resultFirst) || isError($resultSecond))
|
||||
{
|
||||
$this->db->trans_rollback();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->trans_commit();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,10 +37,11 @@ class Prestudentstatus_model extends DB_Model
|
||||
array_push($parametersArray, $studiensemester_kurzbz);
|
||||
$query .= ' AND studiensemester_kurzbz = ?';
|
||||
}
|
||||
|
||||
if ($status_kurzbz != '')
|
||||
{
|
||||
array_push($parametersArray, $status_kurzbz);
|
||||
$query .= ' AND status_kurzbz = ?';
|
||||
$query .= ' AND tbl_prestudentstatus.status_kurzbz = ?';
|
||||
}
|
||||
|
||||
$query .= ' ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1';
|
||||
@@ -113,6 +114,41 @@ class Prestudentstatus_model extends DB_Model
|
||||
* @param $prestudent_id
|
||||
* @return array
|
||||
*/
|
||||
public function getStudienordnungFromPrestudent($prestudent_id)
|
||||
{
|
||||
$lastStatus = $this->getLastStatus($prestudent_id);
|
||||
|
||||
if ($lastStatus->error)
|
||||
{
|
||||
return error($lastStatus->retval);
|
||||
}
|
||||
|
||||
if (count($lastStatus->retval) > 0)
|
||||
{
|
||||
$lastStatus = $lastStatus->retval[0];
|
||||
|
||||
$this->addJoin('lehre.tbl_studienplan', 'studienplan_id');
|
||||
$this->addJoin('lehre.tbl_studienordnung', 'studienordnung_id');
|
||||
return $this->loadWhere(
|
||||
array(
|
||||
'public.tbl_prestudentstatus.prestudent_id' => $lastStatus->prestudent_id,
|
||||
'public.tbl_prestudentstatus.status_kurzbz' => $lastStatus->status_kurzbz,
|
||||
'public.tbl_prestudentstatus.studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz,
|
||||
'public.tbl_prestudentstatus.ausbildungssemester' => $lastStatus->ausbildungssemester
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
return success(array());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Studienordnung for last status of Prestudent, including ZGV information text
|
||||
* @param $prestudent_id
|
||||
* @return array
|
||||
*/
|
||||
public function getStudienordnungWithZgvText($prestudent_id)
|
||||
{
|
||||
$lastStatus = $this->getLastStatus($prestudent_id);
|
||||
@@ -140,7 +176,7 @@ class Prestudentstatus_model extends DB_Model
|
||||
}
|
||||
else
|
||||
{
|
||||
return sucess(array());
|
||||
return success(array());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,4 +11,15 @@ class Adresse_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_adresse';
|
||||
$this->pk = 'adresse_id';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gets person data from uid
|
||||
* @param $uid
|
||||
* @return array
|
||||
*/
|
||||
public function getZustellAdresse($person_id)
|
||||
{
|
||||
return $this->loadWhere(array('person_id' => $person_id, 'zustelladresse'=> true));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
$filterWidgetArray = array(
|
||||
'query' => '
|
||||
SELECT
|
||||
person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr,
|
||||
staatsbuergerschaft, gebdatum
|
||||
FROM
|
||||
public.tbl_person
|
||||
WHERE
|
||||
matr_nr is not null
|
||||
AND bpk is null
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) AND
|
||||
person_id=tbl_person.person_id AND tbl_benutzer.aktiv=true)
|
||||
',
|
||||
'requiredPermissions' => 'admin',
|
||||
'additionalColumns' => array('Details'),
|
||||
'columnsAliases' => array(
|
||||
'PersonID',
|
||||
ucfirst($this->p->t('person', 'vorname')) ,
|
||||
ucfirst($this->p->t('person', 'nachname')),
|
||||
ucfirst($this->p->t('person', 'geschlecht')),
|
||||
ucfirst($this->p->t('person', 'svnr')),
|
||||
ucfirst($this->p->t('person', 'ersatzkennzeichen')),
|
||||
ucfirst($this->p->t('person', 'matrikelnummer')),
|
||||
ucfirst($this->p->t('person', 'staatsbuergerschaft')),
|
||||
ucfirst($this->p->t('person', 'geburtsdatum')),
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
|
||||
/* NOTE: Dont use $this here for PHP Version compatibility */
|
||||
$datasetRaw->{'Details'} = sprintf(
|
||||
'<a href="%s?person_id=%s&origin_page=%s&fhc_controller_id=%s">Details</a>',
|
||||
site_url('person/BPKWartung/showDetails'),
|
||||
$datasetRaw->{'person_id'},
|
||||
'index',
|
||||
(isset($_GET['fhc_controller_id'])?$_GET['fhc_controller_id']:'')
|
||||
);
|
||||
|
||||
if ($datasetRaw->{'ersatzkennzeichen'} == null)
|
||||
{
|
||||
$datasetRaw->{'ersatzkennzeichen'} = '-';
|
||||
}
|
||||
if ($datasetRaw->{'svnr'} == null)
|
||||
{
|
||||
$datasetRaw->{'svnr'} = '-';
|
||||
}
|
||||
|
||||
return $datasetRaw;
|
||||
}
|
||||
);
|
||||
|
||||
$filterWidgetArray['app'] = 'core';
|
||||
$filterWidgetArray['datasetName'] = 'overview';
|
||||
$filterWidgetArray['filterKurzbz'] = 'BPKWartung';
|
||||
$filterWidgetArray['filter_id'] = $this->input->get('filter_id');
|
||||
|
||||
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
|
||||
?>
|
||||
@@ -0,0 +1,153 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'bPK Details',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'jqueryui' => true,
|
||||
'ajaxlib' => true,
|
||||
'tablesorter' => true,
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'addons' => true,
|
||||
'navigationwidget' => true,
|
||||
'customCSSs' => array(
|
||||
'public/css/sbadmin2/admintemplate.css',
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'public/css/infocenter/infocenterDetails.css'
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/tablesort/tablesort.js'
|
||||
),
|
||||
'phrases' => array(
|
||||
'ui' => array(
|
||||
'gespeichert',
|
||||
'fehlerBeimSpeichern'
|
||||
),
|
||||
'global' => array(
|
||||
'bis',
|
||||
'zeilen'
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<input type="hidden" id="hiddenpersonid" value="<?php echo $stammdaten->person_id ?>">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<h3 class="page-header">
|
||||
bPK Details: <?php echo $stammdaten->vorname.' '.$stammdaten->nachname ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<section>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading text-center">
|
||||
<h4><?php echo ucfirst($this->p->t('global', 'stammdaten')) ?></h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 table-responsive">
|
||||
<table class="table">
|
||||
<?php if (!empty($stammdaten->titelpre)): ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpre')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->titelpre ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','vorname')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->vorname ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','nachname')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->nachname ?></td>
|
||||
</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>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsdatum')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','svnr')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->svnr ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','ersatzkennzeichen')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->ersatzkennzeichen ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','staatsbuergerschaft')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->staatsbuergerschaft ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geschlecht')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->geschlecht ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','bpk')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->bpk ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','postleitzahl')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $adresse->plz ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','strasse')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $adresse->strasse ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-4 table-responsive">
|
||||
<form action="<?php echo base_url('soap/datenverbund_client.php?action=pruefeBPK');?>" method="POST" target="_blank">
|
||||
<input type="hidden" name="vorname" value="<?php echo $stammdaten->vorname; ?>"/>
|
||||
<input type="hidden" name="nachname" value="<?php echo $stammdaten->nachname; ?>"/>
|
||||
<input type="hidden" name="geburtsdatum" value="<?php echo mb_str_replace('-','',$stammdaten->gebdatum); ?>"/>
|
||||
<input type="hidden" name="geschlecht" value="<?php echo mb_strtoupper($stammdaten->geschlecht); ?>"/>
|
||||
<input type="submit" value="Namenssuche starten" class="btn btn-default"/>
|
||||
</form>
|
||||
<br><br>
|
||||
<form action="<?php echo site_url('person/BPKWartung/saveBPK');?>" method="POST">
|
||||
<strong>bPK</strong><input type="text" name="bpk" value="" class="form-control"/>
|
||||
<input type="hidden" name="person_id" value="<?php echo $stammdaten->person_id;?>"/>
|
||||
<input type="submit" value="Speichern" class="btn btn-default"/>
|
||||
</form>
|
||||
</div>
|
||||
</div> <!-- ./panel-body -->
|
||||
</div> <!-- ./panel -->
|
||||
</div> <!-- ./main column -->
|
||||
</div> <!-- ./main row -->
|
||||
</section>
|
||||
</div> <!-- ./container-fluid-->
|
||||
</div> <!-- ./page-wrapper-->
|
||||
</div> <!-- ./wrapper -->
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'bPK Wartung',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'tablesorter' => true,
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'phrases' => array(
|
||||
'ui' => array('bitteEintragWaehlen')
|
||||
),
|
||||
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'customJSs' => array('public/js/bootstrapper.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<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">
|
||||
bPK <?php echo ucfirst($this->p->t('global', 'uebersicht')); ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
Bei folgenden Personen mit Matrikelnummer konnte kein bPK ermittelt werden.
|
||||
Es ist die Namensschreibweise zu prüfen und ggf zu korrigieren.
|
||||
Falls die Person keine Meldeadresse hat, ist eine Eintragung der
|
||||
Person in das "Ergänzungsregister für natürliche Personen" notwendig.
|
||||
<br /><br />
|
||||
<?php $this->load->view('person/bpk/bpkData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
@@ -1,200 +1,209 @@
|
||||
<?php
|
||||
|
||||
$APP = 'infocenter';
|
||||
$NOTBEFORE = '2018-03-01 18:00:00';
|
||||
$APP = '\'infocenter\'';
|
||||
$REJECTED_STATUS = '\'Abgewiesener\'';
|
||||
$INTERESSENT_STATUS = '\'Interessent\'';
|
||||
$STUDIENGANG_TYP = '\'b\'';
|
||||
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'New application\', \'Interessent rejected\'';
|
||||
$LOGDATA_NAME_PARKED = '\'Parked\'';
|
||||
$LOGTYPE_KURZBZ = '\'Processstate\'';
|
||||
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => '
|
||||
SELECT
|
||||
WITH currentOrNextStudiensemester AS (
|
||||
SELECT ss.studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester ss
|
||||
WHERE ss.ende > NOW()
|
||||
ORDER BY ss.ende
|
||||
LIMIT 3
|
||||
)
|
||||
|
||||
SELECT
|
||||
p.person_id AS "PersonId",
|
||||
p.vorname AS "Vorname",
|
||||
p.nachname AS "Nachname",
|
||||
p.gebdatum AS "Gebdatum",
|
||||
p.staatsbuergerschaft AS "Nation",
|
||||
pl.zeitpunkt AS "LockDate",
|
||||
pl.lockuser AS "LockUser",
|
||||
pd.parkdate AS "ParkDate",
|
||||
(
|
||||
SELECT zeitpunkt
|
||||
FROM system.tbl_log
|
||||
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\')
|
||||
AND person_id = p.person_id
|
||||
ORDER BY zeitpunkt DESC
|
||||
LIMIT 1
|
||||
SELECT l.zeitpunkt
|
||||
FROM system.tbl_log l
|
||||
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
|
||||
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
|
||||
AND l.person_id = p.person_id
|
||||
ORDER BY l.zeitpunkt DESC
|
||||
LIMIT 1
|
||||
) AS "LastAction",
|
||||
(
|
||||
SELECT insertvon
|
||||
FROM system.tbl_log
|
||||
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\')
|
||||
AND person_id = p.person_id
|
||||
ORDER BY zeitpunkt DESC
|
||||
LIMIT 1
|
||||
SELECT l.insertvon
|
||||
FROM system.tbl_log l
|
||||
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
|
||||
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
|
||||
AND l.person_id = p.person_id
|
||||
ORDER BY l.zeitpunkt DESC
|
||||
LIMIT 1
|
||||
) AS "User/Operator",
|
||||
(
|
||||
SELECT
|
||||
pss.studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
SELECT pss.studiensemester_kurzbz
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT cnss.studiensemester_kurzbz FROM currentOrNextStudiensemester cnss)
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
) AS "Studiensemester",
|
||||
(
|
||||
SELECT pss.bewerbung_abgeschicktamum
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT cnss.studiensemester_kurzbz FROM currentOrNextStudiensemester cnss)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = pss.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende > NOW())
|
||||
)
|
||||
AND not exists (select 1 from tbl_prestudentstatus psss where psss.prestudent_id = pss.prestudent_id and psss.status_kurzbz = \'Abgewiesener\' and psss.studiensemester_kurzbz = \'WS2018\')
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
) AS "SendDate",
|
||||
(
|
||||
SELECT count(*)
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
SELECT COUNT(*)
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT cnss.studiensemester_kurzbz FROM currentOrNextStudiensemester cnss)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = pss.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende > NOW())
|
||||
)
|
||||
AND not exists (select 1 from tbl_prestudentstatus psss where psss.prestudent_id = pss.prestudent_id and psss.status_kurzbz = \'Abgewiesener\' and psss.studiensemester_kurzbz = \'WS2018\')
|
||||
LIMIT 1
|
||||
LIMIT 1
|
||||
) AS "AnzahlAbgeschickt",
|
||||
array_to_string(
|
||||
(
|
||||
SELECT array_agg(distinct UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) || \':\' || tbl_studienplan.orgform_kurzbz)
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan using (studienplan_id)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
(
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz) || \':\' || sp.orgform_kurzbz), \', \')
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT cnss.studiensemester_kurzbz FROM currentOrNextStudiensemester cnss)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = pss.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende > NOW())
|
||||
)
|
||||
AND not exists (select 1 from tbl_prestudentstatus psss where psss.prestudent_id = pss.prestudent_id and psss.status_kurzbz = \'Abgewiesener\' and psss.studiensemester_kurzbz = \'WS2018\')
|
||||
LIMIT 1
|
||||
),\', \'
|
||||
LIMIT 1
|
||||
) AS "StgAbgeschickt",
|
||||
array_to_string(
|
||||
(
|
||||
SELECT array_agg(distinct UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) || \':\' || tbl_studienplan.orgform_kurzbz)
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan using (studienplan_id)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NULL)
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
(
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz) || \':\' || sp.orgform_kurzbz), \', \')
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NULL
|
||||
AND pss.bestaetigtam IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT cnss.studiensemester_kurzbz FROM currentOrNextStudiensemester cnss)
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = pss.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende > NOW())
|
||||
)
|
||||
AND not exists (select 1 from tbl_prestudentstatus psss where psss.prestudent_id = pss.prestudent_id and psss.status_kurzbz = \'Abgewiesener\' and psss.studiensemester_kurzbz = \'WS2018\')
|
||||
LIMIT 1
|
||||
),\', \'
|
||||
LIMIT 1
|
||||
) AS "StgNichtAbgeschickt",
|
||||
array_to_string(
|
||||
(
|
||||
SELECT array_agg(distinct UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) || \':\' || tbl_studienplan.orgform_kurzbz)
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan using (studienplan_id)
|
||||
WHERE pss.status_kurzbz in (\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\')
|
||||
AND (pss.bewerbung_abgeschicktamum IS NULL)
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE start >= NOW()
|
||||
(
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz) || \':\' || sp.orgform_kurzbz), \', \')
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
|
||||
WHERE pss.status_kurzbz IN ('.$STATUS_KURZBZ.')
|
||||
AND pss.bewerbung_abgeschicktamum IS NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.start >= NOW())
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = pss.prestudent_id
|
||||
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende > NOW())
|
||||
)
|
||||
AND not exists (select 1 from tbl_prestudentstatus psss where psss.prestudent_id = pss.prestudent_id and psss.status_kurzbz = \'Abgewiesener\' and psss.studiensemester_kurzbz = \'WS2018\')
|
||||
LIMIT 1
|
||||
),\', \'
|
||||
) AS "StgAktiv",
|
||||
pl.zeitpunkt AS "LockDate",
|
||||
pl.lockuser AS "LockUser",
|
||||
pd.parkdate AS "ParkDate"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (SELECT person_id, zeitpunkt, uid as lockuser FROM system.tbl_person_lock WHERE app = \''.$APP.'\') pl USING(person_id)
|
||||
LEFT JOIN (
|
||||
SELECT person_id, zeitpunkt as parkdate
|
||||
FROM system.tbl_log
|
||||
WHERE logtype_kurzbz = \'Processstate\'
|
||||
AND logdata->>\'name\' = \'Parked\'
|
||||
AND zeitpunkt >= now()
|
||||
LIMIT 1
|
||||
) AS "StgAktiv"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (
|
||||
SELECT tpl.person_id,
|
||||
tpl.zeitpunkt,
|
||||
tpl.uid AS lockuser
|
||||
FROM system.tbl_person_lock tpl
|
||||
WHERE tpl.app = '.$APP.'
|
||||
) pl USING(person_id)
|
||||
LEFT JOIN (
|
||||
SELECT l.person_id,
|
||||
l.zeitpunkt AS parkdate
|
||||
FROM system.tbl_log l
|
||||
WHERE l.logtype_kurzbz = '.$LOGTYPE_KURZBZ.'
|
||||
AND l.logdata->>\'name\' = '.$LOGDATA_NAME_PARKED.'
|
||||
AND l.zeitpunkt >= NOW()
|
||||
) pd USING(person_id)
|
||||
WHERE
|
||||
EXISTS(
|
||||
WHERE
|
||||
EXISTS (
|
||||
SELECT 1
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
person_id=p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id=tbl_prestudent.prestudent_id
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC
|
||||
LIMIT 1
|
||||
)
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = \'Interessent\'
|
||||
AND (bestaetigtam IS NULL AND (bewerbung_abgeschicktamum is null OR bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\'))
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
)
|
||||
FROM public.tbl_prestudent sps
|
||||
JOIN public.tbl_studiengang ssg USING(studiengang_kz)
|
||||
WHERE sps.person_id = p.person_id
|
||||
AND ssg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND '.$INTERESSENT_STATUS.' = (
|
||||
SELECT spss.status_kurzbz
|
||||
FROM public.tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = sps.prestudent_id
|
||||
ORDER BY spss.datum DESC, spss.insertamum DESC, spss.ext_id DESC
|
||||
LIMIT 1
|
||||
)
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM public.tbl_prestudentstatus spss
|
||||
WHERE spss.prestudent_id = sps.prestudent_id
|
||||
AND spss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND spss.bestaetigtam IS NULL
|
||||
AND spss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende > NOW())
|
||||
)
|
||||
)
|
||||
ORDER BY "LastAction" ASC
|
||||
ORDER BY "LastAction" ASC
|
||||
',
|
||||
'requiredPermissions' => 'infocenter',
|
||||
'checkboxes' => 'PersonId',
|
||||
@@ -307,7 +316,7 @@
|
||||
}
|
||||
);
|
||||
|
||||
$filterWidgetArray['app'] = $APP;
|
||||
$filterWidgetArray['app'] = 'infocenter';
|
||||
$filterWidgetArray['datasetName'] = 'overview';
|
||||
$filterWidgetArray['filterKurzbz'] = 'InfoCenterSentApplicationAll';
|
||||
$filterWidgetArray['filter_id'] = $this->input->get('filter_id');
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
'navigationwidget' => true,
|
||||
'customCSSs' => array(
|
||||
'public/css/sbadmin2/admintemplate.css',
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css'
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'public/css/infocenter/infocenterDetails.css'
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
@@ -71,6 +72,8 @@
|
||||
<i class="fa fa-sign-out"></i> <?php echo ucfirst($this->p->t('ui', 'freigeben')) ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -118,7 +121,7 @@
|
||||
<?php echo $this->p->t('infocenter', 'zgv').' - '.ucfirst($this->p->t('lehre', 'pruefung'))?>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="panel-body" id="zgvpruefungen">
|
||||
<?php $this->load->view('system/infocenter/zgvpruefungen.php'); ?><!-- /.panel-group -->
|
||||
</div><!-- /.main panel body -->
|
||||
</div> <!-- /.main panel-->
|
||||
|
||||
@@ -1,137 +1,114 @@
|
||||
<?php
|
||||
|
||||
$APP = 'infocenter';
|
||||
$NOTBEFORE = '2018-03-01 18:00:00';
|
||||
$APP = '\'infocenter\'';
|
||||
$INTERESSENT_STATUS = '\'Interessent\'';
|
||||
$STUDIENGANG_TYP = '\'b\'';
|
||||
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'New application\'';
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => '
|
||||
SELECT
|
||||
SELECT
|
||||
p.person_id AS "PersonId",
|
||||
p.vorname AS "Vorname",
|
||||
p.nachname AS "Nachname",
|
||||
p.gebdatum AS "Gebdatum",
|
||||
p.staatsbuergerschaft AS "Nation",
|
||||
pl.zeitpunkt AS "LockDate",
|
||||
pl.lockuser AS "LockUser",
|
||||
(
|
||||
SELECT zeitpunkt
|
||||
FROM system.tbl_log
|
||||
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
|
||||
AND person_id = p.person_id
|
||||
ORDER BY zeitpunkt DESC
|
||||
LIMIT 1
|
||||
SELECT l.zeitpunkt
|
||||
FROM system.tbl_log l
|
||||
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
|
||||
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
|
||||
AND l.person_id = p.person_id
|
||||
ORDER BY l.zeitpunkt DESC
|
||||
LIMIT 1
|
||||
) AS "LastAction",
|
||||
(
|
||||
SELECT insertvon
|
||||
FROM system.tbl_log
|
||||
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
|
||||
AND person_id = p.person_id
|
||||
ORDER BY zeitpunkt DESC
|
||||
LIMIT 1
|
||||
SELECT l.insertvon
|
||||
FROM system.tbl_log l
|
||||
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
|
||||
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
|
||||
AND l.person_id = p.person_id
|
||||
ORDER BY l.zeitpunkt DESC
|
||||
LIMIT 1
|
||||
) AS "User/Operator",
|
||||
(
|
||||
SELECT
|
||||
pss.studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
SELECT pss.studiensemester_kurzbz
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW())
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
) AS "Studiensemester",
|
||||
(
|
||||
SELECT pss.bewerbung_abgeschicktamum
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW())
|
||||
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
|
||||
LIMIT 1
|
||||
) AS "SendDate",
|
||||
(
|
||||
SELECT count(*)
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
LIMIT 1
|
||||
SELECT COUNT(*)
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW())
|
||||
LIMIT 1
|
||||
) AS "AnzahlAbgeschickt",
|
||||
array_to_string(
|
||||
(
|
||||
SELECT array_agg(distinct UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz))
|
||||
FROM
|
||||
public.tbl_prestudentstatus pss
|
||||
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = \'Interessent\'
|
||||
AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')
|
||||
AND ps.person_id = p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
LIMIT 1
|
||||
),\', \'
|
||||
) AS "StgAbgeschickt",
|
||||
pl.zeitpunkt AS "LockDate",
|
||||
pl.lockuser as "LockUser"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (SELECT person_id, zeitpunkt, uid as lockuser FROM system.tbl_person_lock WHERE app = \''.$APP.'\') pl USING(person_id)
|
||||
WHERE
|
||||
EXISTS(
|
||||
(
|
||||
SELECT ARRAY_TO_STRING(ARRAY_AGG(DISTINCT UPPER(sg.typ || sg.kurzbz)), \', \')
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW())
|
||||
LIMIT 1
|
||||
) AS "StgAbgeschickt"
|
||||
FROM public.tbl_person p
|
||||
LEFT JOIN (
|
||||
SELECT tpl.person_id,
|
||||
tpl.zeitpunkt,
|
||||
tpl.uid AS lockuser
|
||||
FROM system.tbl_person_lock tpl
|
||||
WHERE tpl.app = '.$APP.'
|
||||
) pl USING(person_id)
|
||||
WHERE
|
||||
EXISTS (
|
||||
SELECT 1
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
person_id=p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = \'Interessent\'
|
||||
AND (bestaetigtam IS NOT NULL AND bewerbung_abgeschicktamum >= \''.$NOTBEFORE.'\')
|
||||
AND studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ende >= NOW()
|
||||
)
|
||||
FROM public.tbl_prestudent ps
|
||||
JOIN public.tbl_studiengang sg USING(studiengang_kz)
|
||||
WHERE ps.person_id = p.person_id
|
||||
AND sg.typ IN ('.$STUDIENGANG_TYP.')
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
WHERE pss.prestudent_id = ps.prestudent_id
|
||||
AND pss.status_kurzbz = '.$INTERESSENT_STATUS.'
|
||||
AND pss.bestaetigtam IS NOT NULL
|
||||
AND pss.bewerbung_abgeschicktamum IS NOT NULL
|
||||
AND pss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >= NOW())
|
||||
)
|
||||
)
|
||||
ORDER BY "LastAction" DESC
|
||||
ORDER BY "LastAction" DESC
|
||||
',
|
||||
'requiredPermissions' => 'infocenter',
|
||||
'checkboxes' => 'PersonId',
|
||||
@@ -216,7 +193,7 @@
|
||||
}
|
||||
);
|
||||
|
||||
$filterWidgetArray['app'] = $APP;
|
||||
$filterWidgetArray['app'] = 'infocenter';
|
||||
$filterWidgetArray['datasetName'] = 'freigegeben';
|
||||
$filterWidgetArray['filterKurzbz'] = 'InfoCenterFreigegeben5days';
|
||||
$filterWidgetArray['filter_id'] = $this->input->get('filter_id');
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-6 table-responsive">
|
||||
<table class="table">
|
||||
<?php if (!empty($stammdaten->titelpre)): ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpre')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->titelpre ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','vorname')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->vorname ?></td>
|
||||
@@ -10,6 +16,12 @@
|
||||
<td>
|
||||
<?php echo $stammdaten->nachname ?></td>
|
||||
</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>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsdatum')) ?></strong></td>
|
||||
<td>
|
||||
@@ -57,21 +69,23 @@
|
||||
<?php foreach ($stammdaten->kontakte as $kontakt): ?>
|
||||
<tr>
|
||||
<?php if ($kontakt->kontakttyp === 'email'): ?>
|
||||
<td><?php echo ucfirst($this->p->t('person','email')) ?></td>
|
||||
<?php elseif ($kontakt->kontakttyp === 'telefon'): ?>
|
||||
<td><?php echo ucfirst($this->p->t('person','telefon')) ?></td>
|
||||
<td><?php echo ucfirst($this->p->t('person', 'email')) ?></td>
|
||||
<?php elseif ($kontakt->kontakttyp === 'telefon' || $kontakt->kontakttyp === 'mobil'): ?>
|
||||
<td><?php echo ucfirst($this->p->t('person', 'telefon')) ?></td>
|
||||
<?php else: ?>
|
||||
<td><?php echo ucfirst($kontakt->kontakttyp) ?></td>
|
||||
<?php endif; ?>
|
||||
<td>
|
||||
<?php echo '<span class="'.$kontakt->kontakttyp.'">';?>
|
||||
<?php if ($kontakt->kontakttyp === 'email'): ?>
|
||||
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
||||
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
||||
<?php
|
||||
endif;
|
||||
echo $kontakt->kontakt;
|
||||
if ($kontakt->kontakttyp === 'email'):
|
||||
?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<?php echo '</span>'?>
|
||||
</td>
|
||||
<td><?php echo $kontakt->anmerkung; ?></td>
|
||||
|
||||
@@ -1,43 +1,90 @@
|
||||
<div class="panel-group">
|
||||
<?php
|
||||
$unique_studsemester = array();
|
||||
$first = true;
|
||||
foreach ($zgvpruefungen as $zgvpruefung):
|
||||
$infoonly = $zgvpruefung->infoonly;
|
||||
$studiensemester = isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz) ? $zgvpruefung->prestudentstatus->studiensemester_kurzbz : '';
|
||||
$studiengangkurzbz = empty($zgvpruefung->prestudentstatus->studiengangkurzbzlang) ? $zgvpruefung->studiengang : $zgvpruefung->prestudentstatus->studiengangkurzbzlang;
|
||||
$studiengangbezeichnung = empty($zgvpruefung->prestudentstatus->studiengangbezeichnung) ? $zgvpruefung->studiengangbezeichnung : $zgvpruefung->prestudentstatus->studiengangbezeichnung;
|
||||
|
||||
//set bootstrap columns for zgv form
|
||||
$columns = array(4, 3, 2, 3);
|
||||
$headercolumns = array(7, 5);
|
||||
if (!$infoonly && isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) && isset($zgvpruefung->prestudentstatus->bewerbungstermin))
|
||||
{
|
||||
$headercolumns[0] = 5;
|
||||
$headercolumns[1] = 7;
|
||||
$headercolumns[0] = 4;
|
||||
$headercolumns[1] = 8;
|
||||
}
|
||||
|
||||
if (!$first)
|
||||
echo '<br />';
|
||||
|
||||
if (!in_array($studiensemester, $unique_studsemester)):
|
||||
$unique_studsemester[] = $studiensemester;
|
||||
|
||||
if (!$first)
|
||||
echo '<br/>';
|
||||
|
||||
if (isEmptyString($studiensemester)):
|
||||
?>
|
||||
<br/>
|
||||
<h4 class="headercolorbg text-center"><?php echo $this->p->t('global', 'ohne').' '.$this->p->t('lehre', 'studiensemester') ?></h4>
|
||||
<?php else: ?>
|
||||
<h4 class="headercolorbg text-center"><?php echo $studiensemester; ?></h4>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-xs-<?php echo $headercolumns[0]; ?>">
|
||||
<h4 class="panel-title">
|
||||
<a data-toggle="collapse"
|
||||
href="#collapse<?php echo $zgvpruefung->prestudent_id ?>"><?php echo $zgvpruefung->studiengang.' - '.$zgvpruefung->studiengangbezeichnung.' | '.(isset($zgvpruefung->prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : '');
|
||||
href="#collapse<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $studiengangkurzbz.' - '.$studiengangbezeichnung.' | '.(isset($zgvpruefung->prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : '');
|
||||
?></a>
|
||||
</h4>
|
||||
</div>
|
||||
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'/* && !$infoonly*/): ?>
|
||||
<?php
|
||||
$changeup = isset($zgvpruefung->changeup) && $zgvpruefung->changeup === true;
|
||||
$changedown = isset($zgvpruefung->changedown) && $zgvpruefung->changedown === true;
|
||||
?>
|
||||
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
|
||||
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'): ?>
|
||||
<span<?php echo $changeup || $changedown ? ' class="zgvheaderbeforeprio"' : ''?>>
|
||||
<?php if ($infoonly): ?>
|
||||
<?php if (isset($zgvpruefung->prestudentstatus->bestaetigtam)): ?>
|
||||
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
|
||||
<i class="fa fa-check" style="color: green"></i>
|
||||
<?php echo $this->p->t('global', 'anStudiengangFreigegeben') ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
|
||||
<?php echo ucfirst($this->p->t('infocenter','bewerbung')) . ' ' . $this->p->t('global','abgeschickt') . ': '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
|
||||
<?php echo ucfirst($this->p->t('infocenter', 'bewerbung')) . ' ' . $this->p->t('global', 'abgeschickt') . ': '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
|
||||
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) ? ' | ' . $this->p->t('infocenter', 'nachfrist') . ': ' . date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?>
|
||||
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungstermin) ? ' | ' . $this->p->t('infocenter', 'bewerbungsfrist') . ': ' . date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
echo ' | ' . ucfirst($this->p->t('infocenter', 'priorisierung')) . ': ';
|
||||
echo isset($zgvpruefung->priorisierung) ? $zgvpruefung->priorisierung : $this->p->t('global', 'nichtvorhanden'); ?>
|
||||
</span>
|
||||
<?php
|
||||
if ($changeup || $changedown):
|
||||
$topup = $changeup && $changedown ? 'priotogetherup' : 'prioalone';
|
||||
$topdown = $changeup && $changedown ? 'priotogetherdown' : 'prioalone';
|
||||
?>
|
||||
<span class="zgvheaderrightprio">
|
||||
<?php if ($changeup): ?>
|
||||
<button id="prioup_<?php echo $zgvpruefung->prestudent_id ?>" class="prio prioup <?php echo $topup ?>">
|
||||
<span class="fa fa-caret-up prioarrow"></span>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php if ($changedown): ?>
|
||||
<button id="priodown_<?php echo $zgvpruefung->prestudent_id ?>" class="prio priodown <?php echo $topdown ?>">
|
||||
<span class="fa fa-caret-down prioarrow" id="priodown_<?php echo $zgvpruefung->prestudent_id ?>"></span>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="collapse<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
@@ -49,7 +96,7 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-<?php echo $columns[0] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo ucfirst($this->p->t('global','letzterStatus')) . ':' ?></label>
|
||||
<label><?php echo ucfirst($this->p->t('global', 'letzterStatus')) . ':' ?></label>
|
||||
<?php
|
||||
if (isset($zgvpruefung->prestudentstatus->status_kurzbz))
|
||||
{
|
||||
@@ -60,8 +107,8 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[1] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo ucfirst($this->p->t('lehre','studiensemester')) . ':' ?></label>
|
||||
<?php echo isset($zgvpruefung->prestudentstatus->studiensemester_kurzbz) ? $zgvpruefung->prestudentstatus->studiensemester_kurzbz : '' ?>
|
||||
<label><?php echo ucfirst($this->p->t('lehre', 'studiensemester')) . ':' ?></label>
|
||||
<?php echo $studiensemester ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[2] ?>">
|
||||
@@ -73,7 +120,7 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[3] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo ucfirst($this->p->t('lehre','organisationsform')) . ':' ?></label>
|
||||
<label><?php echo ucfirst($this->p->t('lehre', 'organisationsform')) . ':' ?></label>
|
||||
<span style="display: inline-block">
|
||||
<?php
|
||||
$separator = (isset($zgvpruefung->prestudentstatus->orgform)) ? ', ' : '';
|
||||
@@ -101,7 +148,7 @@
|
||||
$zgvinfocolumns = $infoonly ? 4 : 9;
|
||||
?>
|
||||
<div class="col-xs-<?php echo $zgvinfocolumns; ?> text-right zgvinfo" id="zgvinfo_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<a href="javascript:void(0)"><i class="fa fa-info-circle"></i> <?php echo $this->p->t('infocenter', 'zgv') ?> <?php echo $zgvpruefung->studiengang; ?></a>
|
||||
<a href="javascript:void(0)"><i class="fa fa-info-circle"></i> <?php echo $this->p->t('infocenter', 'zgv') ?> <?php echo $studiengangkurzbz ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php if (!$infoonly)
|
||||
@@ -114,7 +161,7 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[1] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('person','ort') . ':'?></label>
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('person', 'ort') . ':'?></label>
|
||||
<?php if ($infoonly):
|
||||
echo html_escape($zgvpruefung->zgvort);
|
||||
else:
|
||||
@@ -127,7 +174,7 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[2] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('global','datum') . ':'?></label>
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('global', 'datum') . ':'?></label>
|
||||
<?php
|
||||
$zgvdatum = isEmptyString($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y');
|
||||
if ($infoonly):
|
||||
@@ -143,7 +190,7 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[3] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('person','nation') . ':'?></label>
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('person', 'nation') . ':'?></label>
|
||||
<?php if ($infoonly)
|
||||
echo $zgvpruefung->zgvnation_bez;
|
||||
else
|
||||
@@ -173,7 +220,7 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[1] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ' ' . $this->p->t('person','ort') . ':'?></label>
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre', 'master') . ' ' . $this->p->t('person', 'ort') . ':'?></label>
|
||||
<?php if ($infoonly):
|
||||
echo $zgvpruefung->zgvmaort;
|
||||
else:
|
||||
@@ -186,7 +233,7 @@
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[2] ?>">
|
||||
<div class="form-group">
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ' ' . $this->p->t('global','datum') . ':'?></label>
|
||||
<label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre', 'master') . ' ' . $this->p->t('global', 'datum') . ':'?></label>
|
||||
<?php
|
||||
$zgvmadatum = isEmptyString($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y');
|
||||
if ($infoonly):
|
||||
@@ -201,7 +248,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-<?php echo $columns[3] ?>">
|
||||
<div class="form-group"><label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre','master') . ' ' . $this->p->t('person', 'nation') . ':'?></label>
|
||||
<div class="form-group"><label><?php echo $this->p->t('infocenter', 'zgv') . ' ' . $this->p->t('lehre', 'master') . ' ' . $this->p->t('person', 'nation') . ':'?></label>
|
||||
<?php
|
||||
if ($infoonly)
|
||||
echo $zgvpruefung->zgvmanation_bez;
|
||||
@@ -237,69 +284,65 @@
|
||||
//Prestudenten cannot be abgewiesen or freigegeben if already done
|
||||
if (!$infoonly) :
|
||||
?>
|
||||
<div class="panel-footer" style="border-top: 1px solid #ddd">
|
||||
<div class="panel-footer solidtop">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 text-left">
|
||||
<div class="form-inline">
|
||||
<form method="post" action="saveAbsage/<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<input type="hidden" name="fhc_controller_id" value="<?php echo $fhc_controller_id; ?>">
|
||||
<div class="input-group" id="statusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="statusgrund"
|
||||
class="d-inline float-right"
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('infocenter', 'absagegrund')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($statusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button id="absageBtn" type="button"
|
||||
class="btn btn-default"
|
||||
data-toggle="modal"
|
||||
data-target="#absageModal_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('ui', 'absagen') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button type="submit"
|
||||
class="btn btn-primary">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
<div class="input-group" id="statusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<select name="statusgrund"
|
||||
class="d-inline float-right"
|
||||
required>
|
||||
<option value="null"
|
||||
selected="selected"><?php echo ucfirst($this->p->t('infocenter', 'absagegrund')) . '...' ?>
|
||||
</option>
|
||||
<?php foreach ($statusgruende as $statusgrund): ?>
|
||||
<option value="<?php echo $statusgrund->statusgrund_id ?>"><?php echo $statusgrund->bezeichnung_mehrsprachig[0] ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
<span class="input-group-btn">
|
||||
<button id="absageBtn" type="button"
|
||||
class="btn btn-default"
|
||||
data-toggle="modal"
|
||||
data-target="#absageModal_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('ui', 'absagen') ?>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="absageModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">
|
||||
×
|
||||
</button>
|
||||
<h4 class="modal-title"
|
||||
id="absageModalLabel"><?php echo $this->p->t('infocenter', 'absageBestaetigen') ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $this->p->t('infocenter', 'absageBestaetigenTxt') ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal">
|
||||
<?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<button class="btn btn-primary saveAbsage" id="saveAbsage_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentAbweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
</form>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.column-absage -->
|
||||
<div class="col-lg-6 text-right">
|
||||
@@ -326,7 +369,7 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>" tabindex="-1"
|
||||
<div class="modal fade freigabeModal" id="freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>" tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="freigabeModalLabel"
|
||||
aria-hidden="true">
|
||||
@@ -349,12 +392,10 @@
|
||||
class="btn btn-default"
|
||||
data-dismiss="modal"><?php echo $this->p->t('ui', 'abbrechen') ?>
|
||||
</button>
|
||||
<a href="saveFreigabe/<?php echo $zgvpruefung->prestudent_id ?>?fhc_controller_id=<?php echo $fhc_controller_id; ?>">
|
||||
<button type="button"
|
||||
class="btn btn-primary">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
</a>
|
||||
<button type="button"
|
||||
class="btn btn-primary saveFreigabe" id="saveFreigabe_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<?php echo $this->p->t('infocenter', 'interessentFreigeben') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
@@ -374,5 +415,8 @@
|
||||
?>
|
||||
</div><!-- /.div collapse -->
|
||||
</div><!-- /.panel -->
|
||||
<?php endforeach; // end foreach zgvpruefungen?>
|
||||
<?php
|
||||
$first = false;
|
||||
endforeach; // end foreach zgvpruefungen
|
||||
?>
|
||||
</div><!-- /.panel-group -->
|
||||
|
||||
@@ -47,7 +47,8 @@ $widthColumn = $msgExists === true ? 8 : 12;
|
||||
autoresize_min_height: 140,
|
||||
autoresize_max_height: 495,
|
||||
//callback to avoid conflict with ajax (for getting body of first message)
|
||||
init_instance_callback: "initMsgBody"
|
||||
init_instance_callback: "initMsgBody",
|
||||
responsive: true
|
||||
});
|
||||
|
||||
function initMsgBody()
|
||||
|
||||
Regular → Executable
+3
-3
@@ -619,7 +619,7 @@ echo '
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Autocomplete Feld fuer Ressourcen initialisieren
|
||||
$("#input_ressource").autocomplete({
|
||||
source: "coodle_autocomplete.php?work=ressource",
|
||||
@@ -708,8 +708,8 @@ echo '
|
||||
error: function() {
|
||||
alert("Error fetching data for "+typ+" "+id);
|
||||
},
|
||||
color:"lightgrey"
|
||||
//textColor:"black"
|
||||
color:"lightgrey",
|
||||
textColor:"#777"
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -286,39 +286,39 @@ foreach ($noten_obj->result as $row)
|
||||
changedwarning.innerHTML = '<div class="warning"><?php echo $p->t('benotungstool/geaenderteNotenVorhanden'); ?></div>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
alert(resp);
|
||||
document.getElementById(uid).note.value="";
|
||||
else
|
||||
{
|
||||
alert(resp);
|
||||
document.getElementById(uid).note.value="";
|
||||
}
|
||||
},
|
||||
},
|
||||
error:function(result)
|
||||
{
|
||||
alert('Speichern der Note fehlgeschlagen');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// *************************************************
|
||||
// * Formular zum Eintragen einer Pruefung erstellen
|
||||
// *************************************************
|
||||
function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte,typ)
|
||||
{
|
||||
if(typeof(typ)=='undefined')
|
||||
typ = 'Termin2';
|
||||
var str = " <form name='nachpruefung_form'> <table style='width: 95%'>";
|
||||
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
|
||||
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var y = getOffset('y'); y = y+50;
|
||||
anlegendiv.style.top = y+"px";
|
||||
var x = getOffset('x'); x = x+300;
|
||||
anlegendiv.style.left = x+"px";
|
||||
str += "<tr><td colspan='2'><b><?php echo $p->t('benotungstool/pruefungAnlegenFuer');?> "+uid+":</b></td></tr>";
|
||||
str += "<tr><td><?php echo $p->t('global/datum');?>:</td>";
|
||||
str += "<td><input type='hidden' name='uid' value='"+uid+"'>";
|
||||
str += "<input type='hidden' name='le_id' value='"+lehreinheit_id+"'>";
|
||||
str += "<input type='hidden' name='typ' value='"+typ+"'>";
|
||||
}
|
||||
|
||||
// *************************************************
|
||||
// * Formular zum Eintragen einer Pruefung erstellen
|
||||
// *************************************************
|
||||
function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte,typ)
|
||||
{
|
||||
if(typeof(typ)=='undefined')
|
||||
typ = 'Termin2';
|
||||
var str = " <form name='nachpruefung_form'> <table style='width: 95%'>";
|
||||
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
|
||||
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var y = getOffset('y'); y = y+50;
|
||||
anlegendiv.style.top = y+"px";
|
||||
var x = getOffset('x'); x = x+300;
|
||||
anlegendiv.style.left = x+"px";
|
||||
str += "<tr><td colspan='2'><b><?php echo $p->t('benotungstool/pruefungAnlegenFuer');?> "+uid+":</b></td></tr>";
|
||||
str += "<tr><td><?php echo $p->t('global/datum');?>:</td>";
|
||||
str += "<td><input type='hidden' name='uid' value='"+uid+"'>";
|
||||
str += "<input type='hidden' name='le_id' value='"+lehreinheit_id+"'>";
|
||||
str += "<input type='hidden' name='typ' value='"+typ+"'>";
|
||||
str += "<input type='text' id='pruefungsdatum' name='datum' size='10' value='"+datum+"'> [DD.MM.YYYY]</td></tr>";
|
||||
|
||||
<?php
|
||||
@@ -342,9 +342,9 @@ foreach ($noten_obj->result as $row)
|
||||
}
|
||||
echo '</select></td>';
|
||||
?>';
|
||||
str += "</tr><tr><td colspan='2' align='center'>";
|
||||
str += "</tr><tr><td colspan='2' align='center'>";
|
||||
str += "<input id='pruefungsnotensave' type='button' name='speichern'";
|
||||
str +="value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();' ></td></tr>";
|
||||
str +="value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();' ></td></tr>";
|
||||
str += "</table></form>";
|
||||
anlegendiv.innerHTML = str;
|
||||
anlegendiv.style.visibility = "visible";
|
||||
@@ -432,15 +432,15 @@ foreach ($noten_obj->result as $row)
|
||||
|
||||
if (resp == "update_f" || resp == "update")
|
||||
{
|
||||
notenstatus.innerHTML = "<img src='../../../../skin/images/changed.png'>";
|
||||
notenstatus.innerHTML = "<img src='../../../../skin/images/changed.png'>";
|
||||
if (warningdiv != null)
|
||||
warningdiv.parentNode.removeChild(warningdiv); // Entfernt das Warning-Div
|
||||
changedwarning.innerHTML = '<div class="warning"><?php echo $p->t('benotungstool/geaenderteNotenVorhanden'); ?></div>';
|
||||
}
|
||||
document.getElementById("lvnoteneingabe_"+uid).style.visibility = "hidden";
|
||||
anlegendiv.innerHTML = "";
|
||||
anlegendiv.style.visibility = "hidden";
|
||||
var pruefhtml = "<table><tr><td class='td_datum'>"+datum+"</td>";
|
||||
changedwarning.innerHTML = '<div class="warning"><?php echo $p->t('benotungstool/geaenderteNotenVorhanden'); ?></div>';
|
||||
}
|
||||
document.getElementById("lvnoteneingabe_"+uid).style.visibility = "hidden";
|
||||
anlegendiv.innerHTML = "";
|
||||
anlegendiv.style.visibility = "hidden";
|
||||
var pruefhtml = "<table><tr><td class='td_datum'>"+datum+"</td>";
|
||||
pruefhtml += "<td class='td_note'>"+noten_array[note]+"</td>";
|
||||
pruefhtml += "<td><input type='button' name='anlegen'";
|
||||
pruefhtml +=" value='<?php echo $p->t('global/aendern'); ?>' ";
|
||||
@@ -580,13 +580,13 @@ foreach ($noten_obj->result as $row)
|
||||
// ****
|
||||
function GradeImport()
|
||||
{
|
||||
var str = "<form name='gradeimport_form'><center><table style='width: 95%'>";
|
||||
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px";
|
||||
str += '<tr><td><?php echo $p->t('benotungstool/importAnweisung');?>:</td>';
|
||||
str += '<td></td><tr><td><textarea id="noteimporttextarea" name="notenimport"></textarea></td></tr>';
|
||||
str += "<tr><td><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='saveGradeBulk();'>";
|
||||
var str = "<form name='gradeimport_form'><center><table style='width: 95%'>";
|
||||
str += "<tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var y = getOffset('y'); y = y+50; anlegendiv.style.top = y+"px";
|
||||
str += '<tr><td><?php echo $p->t('benotungstool/importAnweisung');?>:</td>';
|
||||
str += '<td></td><tr><td><textarea id="noteimporttextarea" name="notenimport"></textarea></td></tr>';
|
||||
str += "<tr><td><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='saveGradeBulk();'>";
|
||||
str += "</td><td></td></tr></table></center></form>";
|
||||
anlegendiv.innerHTML = str;
|
||||
anlegendiv.style.visibility = "visible";
|
||||
@@ -749,7 +749,7 @@ foreach ($stsem_obj->studiensemester as $studiensemester)
|
||||
{
|
||||
$selected = ($stsem == $studiensemester->studiensemester_kurzbz ? 'selected' : '');
|
||||
$optionvalue = "lvgesamtnoteverwalten.php?lvid=$lvid&stsem=$studiensemester->studiensemester_kurzbz";
|
||||
|
||||
|
||||
$stsem_content .= "<OPTION value='" . $optionvalue . "' $selected>
|
||||
$studiensemester->studiensemester_kurzbz
|
||||
</OPTION>\n";
|
||||
@@ -768,7 +768,7 @@ if (! $rechte->isBerechtigt('admin', 0) && ! $rechte->isBerechtigt('admin', $lv_
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=" . $db->db_add_param($lvid, FHC_INTEGER) . "
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=" . $db->db_add_param($stsem) . "
|
||||
AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=" . $db->db_add_param($user) . ';';
|
||||
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
@@ -803,19 +803,21 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
|
||||
{
|
||||
$jetzt = date("Y-m-d H:i:s");
|
||||
$neuenoten = 0;
|
||||
|
||||
$studlist = "<table border='1'>
|
||||
<tr>
|
||||
<td><b>" . $p->t('global/personenkz') . "</b></td>
|
||||
<td><b>" . $p->t('global/nachname') . "</b></td>
|
||||
<td><b>" . $p->t('global/vorname') . "</b></td>";
|
||||
|
||||
<tr>
|
||||
<td><b>" . $p->t('global/personenkz') . "</b></td>
|
||||
<td><b>" . $p->t('global/nachname') . "</b></td>
|
||||
<td><b>" . $p->t('global/vorname') . "</b></td>";
|
||||
|
||||
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
|
||||
{
|
||||
$studlist .= "<td><b>" . $p->t('benotungstool/punkte') . "</b></td>\n";
|
||||
}
|
||||
$studlist .= "<td><b>" . $p->t('benotungstool/note') . "</b></td>\n";
|
||||
|
||||
$studlist .= "<td><b>" . $p->t('benotungstool/bearbeitetvon') . "</b></td></tr>\n";
|
||||
|
||||
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT
|
||||
DISTINCT uid, vorname, nachname, matrikelnr
|
||||
@@ -839,9 +841,11 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
|
||||
$lvgesamtnote->freigabedatum = $jetzt;
|
||||
$lvgesamtnote->freigabevon_uid = $user;
|
||||
$lvgesamtnote->save();
|
||||
|
||||
$studlist .= "<tr><td>" . trim($row_stud->matrikelnr) . "</td>";
|
||||
$studlist .= "<td>" . trim($row_stud->nachname) . "</td>";
|
||||
$studlist .= "<td>" . trim($row_stud->vorname) . "</td>";
|
||||
|
||||
if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
|
||||
{
|
||||
$studlist .= "<td>";
|
||||
@@ -850,18 +854,20 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
|
||||
$studlist .= "</td>\n";
|
||||
}
|
||||
$studlist .= "<td>" . $noten_array[trim($lvgesamtnote->note)]['bezeichnung_mehrsprachig'][$sprache] . "</td>";
|
||||
|
||||
$studlist .= "<td>" . $lvgesamtnote->mitarbeiter_uid;
|
||||
if ($lvgesamtnote->updatevon != '')
|
||||
$studlist .= " (" . $lvgesamtnote->updatevon . ")";
|
||||
$studlist .= "</td></tr>\n";
|
||||
|
||||
$neuenoten ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$studlist .= "</table>";
|
||||
|
||||
|
||||
// mail an assistentin und den user selber verschicken
|
||||
if ($neuenoten > 0)
|
||||
{
|
||||
@@ -869,29 +875,33 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1))
|
||||
$sg = new studiengang($lv->studiengang_kz);
|
||||
$lektor_adresse = $user . "@" . DOMAIN;
|
||||
$adressen = $sg->email . ", " . $user . "@" . DOMAIN;
|
||||
|
||||
|
||||
$studienplan = new studienplan();
|
||||
$studienplan->getStudienplanLehrveranstaltung($lvid, $stsem);
|
||||
$studienplan_bezeichnung = '';
|
||||
foreach ($studienplan->result as $row)
|
||||
$studienplan_bezeichnung .= $row->bezeichnung . ' ';
|
||||
|
||||
|
||||
$mit = new mitarbeiter();
|
||||
$mit->load($user);
|
||||
|
||||
$freigeber = "<b>" . mb_strtoupper($user) . "</b>";
|
||||
$name = $mit->anrede.' '.$mit->vorname.' '.$mit->nachname.' ('.$mit->kurzbz.')';
|
||||
|
||||
$betreff = 'Notenfreigabe ' . $lv->bezeichnung . ' ' . $lv->orgform_kurzbz . ' - ' . $studienplan_bezeichnung;
|
||||
$mail = new mail($adressen, 'vilesci@' . DOMAIN, $betreff, '');
|
||||
$htmlcontent = "<html>
|
||||
<body>
|
||||
$name hat neue Noten für die Lehrveranstaltung\n\n<br>
|
||||
<b>" . $sg->kuerzel . ' ' . $lv->semester . '.Semester
|
||||
' . $lv->bezeichnung . " " . $lv->orgform_kurzbz . " - " . $stsem . "</b>
|
||||
(" . $lv->semester . ". Sem.)
|
||||
<br><br>" . $p->t('global/benutzer') . " " . $freigeber . " (" . $mit->kurzbz . ")
|
||||
" . $p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten') . ":
|
||||
<br><br>\n" . $studlist . "
|
||||
<br>eingetragen.\n<br><br>
|
||||
Die Noten können jetzt ins Zeugnis übernommen werden.\n";
|
||||
|
||||
if (defined('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE') && CIS_GESAMTNOTE_FREIGABEMAIL_NOTE)
|
||||
$htmlcontent.= $studlist;
|
||||
|
||||
$htmlcontent.= "
|
||||
<br>Anzahl der Noten:" . $neuenoten . "
|
||||
<br>" . $p->t('abgabetool/mailVerschicktAn') . ": " . $adressen . "
|
||||
<br><br>" . $p->t('abgabetool/mailVerschicktAn') . ": " . $adressen . "
|
||||
</body></html>";
|
||||
$mail->setHTMLContent($htmlcontent);
|
||||
$mail->setReplyTo($lektor_adresse);
|
||||
@@ -909,7 +919,7 @@ if (defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
|
||||
$onclickpath = "notenschluessel.php?lehrveranstaltung_id=$lvid&stsem=$stsem";
|
||||
$onclickoptions = "height=200, width=350, left=50, top=50, resizable=yes, status=no,";
|
||||
$onclickoptions .= "scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes";
|
||||
|
||||
|
||||
echo '<br>
|
||||
<a href="#" onclick="window.open(\'' . $onclickpath . '\',\'Grades\',\'' . $onclickoptions . '\'); return false;">
|
||||
' . $p->t('gesamtnote/notenschluesselanzeigen') . '</a>';
|
||||
@@ -1078,7 +1088,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
studiensemester_kurzbz = " . $db->db_add_param($stsem) . "
|
||||
AND lehrveranstaltung_id = " . $db->db_add_param($lvid) . "
|
||||
ORDER BY nachname, vorname ";
|
||||
|
||||
|
||||
if ($result_stud = $db->db_query($qry_stud))
|
||||
{
|
||||
$i = 1;
|
||||
@@ -1088,20 +1098,20 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
{
|
||||
$grades[$row_stud->uid]['vorname'] = $row_stud->vorname;
|
||||
$grades[$row_stud->uid]['nachname'] = $row_stud->nachname;
|
||||
|
||||
|
||||
// Noten aus Uebungstool
|
||||
$le = new lehreinheit();
|
||||
$le->load_lehreinheiten($lvid, $stsem);
|
||||
foreach ($le->lehreinheiten as $l)
|
||||
{
|
||||
$legesamtnote = new legesamtnote($l->lehreinheit_id);
|
||||
|
||||
|
||||
if ($legesamtnote->load($row_stud->uid, $l->lehreinheit_id))
|
||||
{
|
||||
$gewicht = $l->gewicht;
|
||||
if ($l->gewicht == '')
|
||||
$gewicht = 1;
|
||||
|
||||
|
||||
$grades[$row_stud->uid]['grades'][] = array(
|
||||
'grade' => $legesamtnote->note,
|
||||
'points' => null,
|
||||
@@ -1112,7 +1122,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Load Addons to modify grades
|
||||
$addon_obj = new addon();
|
||||
if ($addon_obj->loadAddons())
|
||||
@@ -1126,7 +1136,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$anzahlChanged = 0;
|
||||
foreach ($grades as $uid => $data)
|
||||
{
|
||||
@@ -1135,7 +1145,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
<td>' . $db->convert_html_chars($uid) . '</td>
|
||||
<td>' . $db->convert_html_chars($data['nachname']) . '</td>
|
||||
<td>' . $db->convert_html_chars($data['vorname']) . '</td>';
|
||||
|
||||
|
||||
// Bereits eingetragene Note ermitteln
|
||||
if ($lvgesamtnote = new lvgesamtnote($lvid, $uid, $stsem))
|
||||
{
|
||||
@@ -1147,7 +1157,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$note_lv = null;
|
||||
$punkte_lv = null;
|
||||
}
|
||||
|
||||
|
||||
$notensumme = 0;
|
||||
$notensumme_gewichtet = 0;
|
||||
$gewichtsumme = 0;
|
||||
@@ -1157,7 +1167,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$negativeteilnote = false;
|
||||
$note_zusatztext = '';
|
||||
$note_zusatztext_tooltip = '';
|
||||
|
||||
|
||||
if (isset($data['grades']))
|
||||
{
|
||||
// Teilnoten summieren und Notenvorschlag berechnen
|
||||
@@ -1173,7 +1183,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$anzahlnoten += 1;
|
||||
}
|
||||
$note_zusatztext_tooltip .= $row_grades['text'] . "\n";
|
||||
|
||||
|
||||
if (isset($noten_array[$row_grades['grade']]) && ! $noten_array[$row_grades['grade']]['positiv'])
|
||||
{
|
||||
$negativeteilnote = true;
|
||||
@@ -1186,7 +1196,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$note_zusatztext .= '<br>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$punkte_vorschlag = '';
|
||||
if (! is_null($note_lv))
|
||||
{
|
||||
@@ -1226,23 +1236,23 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
{
|
||||
$note_vorschlag = null;
|
||||
}
|
||||
|
||||
|
||||
if ($zeugnisnote = new zeugnisnote($lvid, $uid, $stsem))
|
||||
$znote = $zeugnisnote->note;
|
||||
else
|
||||
$znote = null;
|
||||
|
||||
|
||||
if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)
|
||||
{
|
||||
$htmlstring .= '<td style="white-space: nowrap;" title="' . $note_zusatztext_tooltip . '">';
|
||||
$htmlstring .= $note_zusatztext . ' </td>';
|
||||
}
|
||||
|
||||
|
||||
if (key_exists($uid, $studpruef_arr))
|
||||
$hide = "style='display:none;visibility:hidden;'";
|
||||
else
|
||||
$hide = "style='display:block;visibility:visible;'";
|
||||
|
||||
|
||||
if (! defined('CIS_GESAMTNOTE_UEBERSCHREIBEN') || CIS_GESAMTNOTE_UEBERSCHREIBEN || (! CIS_GESAMTNOTE_UEBERSCHREIBEN && is_null($znote)))
|
||||
{
|
||||
$htmlstring .= "<td valign='bottom' nowrap>
|
||||
@@ -1289,7 +1299,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
|
||||
if ($row_note->lehre && $row_note->aktiv)
|
||||
$htmlstring .= '<option value="' . $row_note->note . '" ' . $selected . '>' . $row_note->bezeichnung_mehrsprachig[$sprache] . '</option>';
|
||||
}
|
||||
@@ -1307,12 +1317,12 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
{
|
||||
$htmlstring .= '<td></td>';
|
||||
}
|
||||
|
||||
|
||||
if (isset($noten_array[$note_lv]) && $noten_array[$note_lv]['positiv'] == false)
|
||||
$negmarkier = ' class="negative"';
|
||||
else
|
||||
$negmarkier = "";
|
||||
|
||||
|
||||
// LV Note
|
||||
$htmlstring .= '<td align="center" id="note_' . $uid . '"><span ' . $negmarkier . '>';
|
||||
if (isset($noten_array[$note_lv]))
|
||||
@@ -1320,7 +1330,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
if ($punkte_lv != '')
|
||||
$htmlstring .= ' (' . number_format($punkte_lv, 2) . ')';
|
||||
$htmlstring .= '</span></td>';
|
||||
|
||||
|
||||
// status
|
||||
$htmlstring .= "<td align='center' id='status_$uid'>";
|
||||
if (! $lvgesamtnote->freigabedatum)
|
||||
@@ -1330,7 +1340,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$htmlstring .= "<img src='../../../../skin/images/changed.png'>";
|
||||
$anzahlChanged ++;
|
||||
}
|
||||
else
|
||||
else
|
||||
$htmlstring .= "<img src='../../../../skin/images/offen.png'>";
|
||||
}
|
||||
elseif ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
|
||||
@@ -1340,22 +1350,22 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
else
|
||||
$htmlstring .= "<img src='../../../../skin/images/ok.png'>";
|
||||
|
||||
|
||||
$htmlstring .= "</td>";
|
||||
if (($znote) && ($note_lv != $znote))
|
||||
$stylestr = " style='color:red; border-color:red; border-style:solid; border-width:1px;'";
|
||||
else
|
||||
$stylestr = "";
|
||||
|
||||
|
||||
// Zeugnisnote
|
||||
$htmlstring .= "<td" . $stylestr . " align='center'>";
|
||||
if (isset($noten_array[$znote]))
|
||||
$htmlstring .= $noten_array[$znote]['bezeichnung_mehrsprachig'][$sprache];
|
||||
$htmlstring .= "</td>";
|
||||
|
||||
|
||||
if (isset($noten_array[$znote]) && $noten_array[$znote]['positiv'] == false)
|
||||
$summe_ng ++;
|
||||
|
||||
|
||||
if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
|
||||
{
|
||||
// Pruefung 2. Termin
|
||||
@@ -1372,7 +1382,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$pr_punkte = $studpruef_arr[$uid][$le_id_stud]["punkte"];
|
||||
$pr_datum = $studpruef_arr[$uid][$le_id_stud]["datum"];
|
||||
$pr_le_id = $le_id_stud;
|
||||
|
||||
|
||||
if ($pr_punkte != '')
|
||||
{
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
|
||||
@@ -1380,10 +1390,10 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
else
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
|
||||
|
||||
|
||||
$onclick = "pruefungAnlegen('" . $uid . "','" . $pr_datum . "','" . $pr_note . "',";
|
||||
$onclick .= "'" . $pr_le_id . "','" . $pr_punkte . "')";
|
||||
|
||||
|
||||
$htmlstring .= '<tr>
|
||||
<td class="td_datum">' . $pr_datum . '</td>
|
||||
<td class="td_note">' . $pr_notenbezeichnung . '</td>
|
||||
@@ -1425,7 +1435,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
|
||||
{
|
||||
// Pruefung 3. Termin
|
||||
@@ -1442,7 +1452,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$pr_punkte = $studpruef_arr_t3[$uid][$le_id_stud]["punkte"];
|
||||
$pr_datum = $studpruef_arr_t3[$uid][$le_id_stud]["datum"];
|
||||
$pr_le_id = $le_id_stud;
|
||||
|
||||
|
||||
if ($pr_punkte != '')
|
||||
{
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
|
||||
@@ -1450,10 +1460,10 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
else
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
|
||||
|
||||
|
||||
$onclick = "pruefungAnlegen('" . $uid . "',";
|
||||
$onclick .= "'" . $pr_datum . "','" . $pr_note . "','" . $pr_le_id . "','" . $pr_punkte . "','Termin3')";
|
||||
|
||||
|
||||
$htmlstring .= '<tr>
|
||||
<td class="td_datum">' . $pr_datum . '</td>
|
||||
<td class="td_note">' . $pr_notenbezeichnung . '</td>
|
||||
@@ -1488,7 +1498,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$htmlstring .= "<td colspan='2'></td>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
|
||||
{
|
||||
// komm Pruefung
|
||||
@@ -1505,7 +1515,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$pr_punkte = $studpruef_komm[$uid][$le_id_stud]["punkte"];
|
||||
$pr_datum = $studpruef_komm[$uid][$le_id_stud]["datum"];
|
||||
$pr_le_id = $le_id_stud;
|
||||
|
||||
|
||||
if ($pr_punkte != '')
|
||||
{
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
|
||||
@@ -1513,7 +1523,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
}
|
||||
else
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung_mehrsprachig'][$sprache];
|
||||
|
||||
|
||||
$htmlstring .= '
|
||||
<tr>
|
||||
<td class="td_datum">' . $pr_datum . '</td>
|
||||
@@ -1529,7 +1539,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
|
||||
$htmlstring .= "<td colspan='2'></td>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$htmlstring .= "</tr>";
|
||||
$i ++;
|
||||
}
|
||||
|
||||
@@ -45,47 +45,47 @@ if(!check_lektor($uid))
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
|
||||
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
|
||||
$lvid=$_GET['lvid'];
|
||||
else
|
||||
die("Fehlerhafte Parameteruebergabe");
|
||||
|
||||
|
||||
if(isset($_GET['stg']) && is_numeric($_GET['stg']))
|
||||
$stg=$_GET['stg'];
|
||||
else
|
||||
else
|
||||
die("Fehlerhafte Parameteruebergabe");
|
||||
|
||||
|
||||
if(isset($_GET['gruppe_kurzbz']))
|
||||
$gruppe_kurzbz = $_GET['gruppe_kurzbz'];
|
||||
else
|
||||
else
|
||||
$gruppe_kurzbz = '';
|
||||
|
||||
|
||||
if(isset($_GET['sem']) && is_numeric($_GET['sem']))
|
||||
$sem = $_GET['sem'];
|
||||
else
|
||||
else
|
||||
$sem = '';
|
||||
|
||||
|
||||
if(isset($_GET['verband']))
|
||||
$verband = $_GET['verband'];
|
||||
else
|
||||
else
|
||||
$verband = '';
|
||||
|
||||
|
||||
if(isset($_GET['gruppe']) && is_numeric($_GET['gruppe']))
|
||||
$gruppe = $_GET['gruppe'];
|
||||
else
|
||||
$gruppe = '';
|
||||
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
else
|
||||
die('Studiensemester muss uebergeben werden');
|
||||
|
||||
|
||||
if(isset($_GET['lehreinheit_id']))
|
||||
$lehreinheit_id = $_GET['lehreinheit_id'];
|
||||
else
|
||||
else
|
||||
$lehreinheit_id = '';
|
||||
|
||||
|
||||
/*
|
||||
* Create Excel File
|
||||
*/
|
||||
@@ -93,7 +93,7 @@ else
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
$workbook->setVersion(8);
|
||||
|
||||
|
||||
// sending HTTP headers
|
||||
$workbook->send($p->t('anwesenheitsliste/notenliste'). "_" . date("d_m_Y") . ".xls");
|
||||
$workbook->setCustomColor (15,192,192,192); //Setzen der HG-Farbe Hellgrau
|
||||
@@ -105,12 +105,12 @@ else
|
||||
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
|
||||
$format_highlight =& $workbook->addFormat();
|
||||
$format_highlight->setFgColor(15);
|
||||
$format_highlight->setBorder(1);
|
||||
$format_highlight->setBorderColor('white');
|
||||
|
||||
|
||||
$format_border_bottom =& $workbook->addFormat();
|
||||
$format_border_bottom ->setBottom(2);
|
||||
$format_border_bottom->setBold();
|
||||
@@ -124,17 +124,17 @@ else
|
||||
$format_title->setAlign('merge');
|
||||
|
||||
$lvobj = new lehrveranstaltung($lvid);
|
||||
|
||||
|
||||
$worksheet->write(0,0,$p->t('anwesenheitsliste/notenliste')." ".($sprache=='English'?$lvobj->bezeichnung_english:$lvobj->bezeichnung),$format_bold);
|
||||
|
||||
|
||||
$stg_obj = new studiengang($stg);
|
||||
|
||||
|
||||
$qry = "SELECT
|
||||
distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
|
||||
semester, verband, gruppe, gruppe_kurzbz
|
||||
distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
|
||||
semester, verband, gruppe, gruppe_kurzbz
|
||||
FROM
|
||||
campus.vw_lehreinheit
|
||||
WHERE
|
||||
campus.vw_lehreinheit
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
@@ -152,26 +152,26 @@ else
|
||||
$gruppen.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$worksheet->write(1,0,$p->t('global/studiengang').": $stg_obj->bezeichnung $gruppen");
|
||||
$lines=2;
|
||||
//Lektoren ermitteln
|
||||
|
||||
$qry = "SELECT
|
||||
distinct vorname, nachname
|
||||
FROM
|
||||
campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
uid=mitarbeiter_uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
|
||||
$qry = "SELECT
|
||||
distinct vorname, nachname
|
||||
FROM
|
||||
campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE
|
||||
uid=mitarbeiter_uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname';
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row=$db->db_fetch_object($result))
|
||||
@@ -183,42 +183,43 @@ else
|
||||
|
||||
//Studenten holen
|
||||
$lines++;
|
||||
$worksheet->write($lines,1,$p->t('global/nachname'),$format_border_bottom);
|
||||
$worksheet->write($lines,2,$p->t('global/vorname'),$format_border_bottom);
|
||||
$worksheet->write($lines,3,$p->t('global/gruppe'),$format_border_bottom);
|
||||
$worksheet->write($lines,4,$p->t('global/personenkennzeichen'),$format_border_bottom);
|
||||
$worksheet->write($lines,1,$p->t('global/uid'),$format_border_bottom);
|
||||
$worksheet->write($lines,2,$p->t('global/nachname'),$format_border_bottom);
|
||||
$worksheet->write($lines,3,$p->t('global/vorname'),$format_border_bottom);
|
||||
$worksheet->write($lines,4,$p->t('global/gruppe'),$format_border_bottom);
|
||||
$worksheet->write($lines,5,$p->t('global/personenkennzeichen'),$format_border_bottom);
|
||||
|
||||
if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
|
||||
$worksheet->write($lines,5,$p->t('benotungstool/punkte'),$format_border_bottom);
|
||||
$worksheet->write($lines,6,$p->t('benotungstool/punkte'),$format_border_bottom);
|
||||
else
|
||||
$worksheet->write($lines,5,$p->t('benotungstool/note'),$format_border_bottom);
|
||||
$worksheet->write($lines,6,$p->t('benotungstool/note'),$format_border_bottom);
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($stsem);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$qry = "SELECT
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
|
||||
tbl_zeugnisnote.note
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
tbl_zeugnisnote.note
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
|
||||
if($lehreinheit_id!='')
|
||||
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$i=1;
|
||||
@@ -226,36 +227,37 @@ else
|
||||
while($elem = $db->db_fetch_object($result))
|
||||
{
|
||||
if(!preg_match('*dummy*',$elem->uid) && $elem->semester!=10)
|
||||
{
|
||||
{
|
||||
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
|
||||
{
|
||||
$worksheet->write($lines,0,$i);
|
||||
if($elem->status=='Incoming')
|
||||
$inc=' (i)';
|
||||
else
|
||||
else
|
||||
$inc='';
|
||||
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
|
||||
$inc.=' (o)';
|
||||
|
||||
|
||||
if($elem->note==6) //angerechnet
|
||||
{
|
||||
$inc.=' (ar)';
|
||||
$note='ar';
|
||||
}
|
||||
else
|
||||
else
|
||||
$note='';
|
||||
$worksheet->write($lines,1,$elem->nachname.$inc);
|
||||
$worksheet->write($lines,2,$elem->vorname);
|
||||
$worksheet->write($lines,3,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"');
|
||||
$worksheet->write($lines,4,'="'.trim($elem->matrikelnr).'"',$format_highlight);
|
||||
$worksheet->write($lines,5,$note,$format_highlight);
|
||||
$worksheet->write($lines,1,$elem->uid);
|
||||
$worksheet->write($lines,2,$elem->nachname.$inc);
|
||||
$worksheet->write($lines,3,$elem->vorname);
|
||||
$worksheet->write($lines,4,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"');
|
||||
$worksheet->write($lines,5,'="'.trim($elem->matrikelnr).'"',$format_highlight);
|
||||
$worksheet->write($lines,6,$note,$format_highlight);
|
||||
$i++;
|
||||
$lines++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Noten
|
||||
$note = new note();
|
||||
$note->getAll();
|
||||
@@ -266,8 +268,8 @@ else
|
||||
|
||||
$aufteilung = array();
|
||||
foreach($notenschluessel->result as $row)
|
||||
$aufteilung[$row->note]=$row->punkte;
|
||||
|
||||
$aufteilung[$row->note]=$row->punkte;
|
||||
|
||||
$worksheet->write(++$lines,0,$p->t('benotungstool/note').":");
|
||||
foreach($note->result as $row)
|
||||
{
|
||||
@@ -285,19 +287,20 @@ else
|
||||
$worksheet->write(++$lines,0,$row->bezeichnung.' ('.$row->anmerkung.')');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$worksheet->writeBlank(++$lines,0,0);
|
||||
$worksheet->writeBlank(++$lines,0,$format_highlight);
|
||||
$worksheet->write($lines,1,'...'.$p->t('anwesenheitsliste/anleitungImportFunktion'));
|
||||
$lines++;
|
||||
$worksheet->write(++$lines,0,'(i) ... Incoming');
|
||||
$worksheet->write(++$lines,0,'(i) ... Incoming');
|
||||
$worksheet->write(++$lines,0,'(o) ... Outgoing');
|
||||
$worksheet->write(++$lines,0,'(ar) ... '.$p->t('anwesenheitsliste/angerechnet'));
|
||||
|
||||
|
||||
$worksheet->setColumn(0, 0, 5);
|
||||
$worksheet->setColumn(1, 1, 25);
|
||||
$worksheet->setColumn(2, 2, 25);
|
||||
$worksheet->setColumn(3, 3, 7);
|
||||
$worksheet->setColumn(4, 4, 21);
|
||||
$worksheet->setColumn(0, 1, 16);
|
||||
$worksheet->setColumn(0, 2, 25);
|
||||
$worksheet->setColumn(0, 3, 25);
|
||||
$worksheet->setColumn(0, 4, 7);
|
||||
$worksheet->setColumn(0, 5, 21);
|
||||
$workbook->close();
|
||||
?>
|
||||
|
||||
@@ -24,6 +24,7 @@ require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../config/global.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/studienordnung.class.php');
|
||||
require_once('../../../include/person.class.php');
|
||||
@@ -42,6 +43,7 @@ require_once('../../../include/fotostatus.class.php');
|
||||
require_once('../../../include/addon.class.php');
|
||||
require_once('../../../include/gruppe.class.php');
|
||||
require_once('../../../include/adresse.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -51,14 +53,21 @@ if (!$db = new basis_db())
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
$ansicht = false; //Wenn ein anderer User sich das Profil ansieht (Bei Personensuche)
|
||||
if (isset($_GET['uid']))
|
||||
// Wenn ein anderer User sich das Profil ansieht (Bei Personensuche) sollen bestimmte persönliche Daten nicht angezeigt werden
|
||||
// außer der User selber oder berechtigte Personen
|
||||
$ansicht = false;
|
||||
if (isset($_GET['uid']) && $_GET['uid'] != $uid)
|
||||
{
|
||||
$uid = stripslashes($_GET['uid']);
|
||||
$ansicht = true;
|
||||
}
|
||||
if ($rechte->isBerechtigt('basis/kontakt'))
|
||||
$ansicht = false;
|
||||
|
||||
if (!$ansicht && isset($_GET['action']))
|
||||
{
|
||||
@@ -230,7 +239,10 @@ echo '</td><td width="30%" valign="top">';
|
||||
|
||||
echo '
|
||||
<b>'.($type == "student"?$p->t("profil/student"):$p->t('profil/mitarbeiter')).'</b><br><br>
|
||||
'.$p->t('global/username').': '.$user->uid.'<br>
|
||||
'.$p->t('global/username').': '.$user->uid.'<br>';
|
||||
if ($type == 'student' && $person->matr_nr)
|
||||
echo $p->t('global/matrikelnummer'). ": ". $person->matr_nr. "<br>";
|
||||
echo '
|
||||
'.$p->t('global/anrede').': '.$user->anrede.'<br>
|
||||
'.$p->t('global/titel').': '.$user->titelpre.' <br>';
|
||||
|
||||
@@ -326,6 +338,16 @@ if ($type == 'mitarbeiter')
|
||||
echo $p->t('profil/telefonTw').": $vorwahl - $user->telefonklappe<BR>";
|
||||
//echo $p->t('profil/faxTw').": $vorwahl - 99 $user->telefonklappe<BR>";
|
||||
}
|
||||
else {
|
||||
$kontakt = new kontakt();
|
||||
$kontakt->load_pers($user->person_id);
|
||||
foreach($kontakt->result as $k)
|
||||
{
|
||||
if ($k->kontakttyp == 'firmenhandy')
|
||||
echo $p->t('profil/telefonTw').': '.$k->kontakt.'<br>';
|
||||
}
|
||||
|
||||
}
|
||||
if ($user->ort_kurzbz != '')
|
||||
echo $p->t('profil/buero').': '.$user->ort_kurzbz.'<br>';
|
||||
}
|
||||
@@ -400,9 +422,24 @@ if (!$ansicht)
|
||||
$kontakt = new kontakt();
|
||||
$kontakt->load_pers($user->person_id);
|
||||
usort($kontakt->result, "sortKontakt");
|
||||
echo '<table>';
|
||||
|
||||
foreach($kontakt->result as $k)
|
||||
{
|
||||
if ($k->kontakttyp != 'firmenhandy' && $k->kontakttyp != 'hidden')
|
||||
{
|
||||
if ($k->zustellung)
|
||||
$zustellung = '✓';
|
||||
else
|
||||
$zustellung = '✗';
|
||||
echo '<tr>';
|
||||
echo '<td>'.$k->bezeichnung_mehrsprachig[$sprache].'</td>';
|
||||
echo '<td>'.$k->kontakt.'</td>';
|
||||
echo '<td>'.$k->anmerkung.'</td>';
|
||||
echo '<td>'.$zustellung.'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
/*
|
||||
if ($k->zustellung === TRUE)
|
||||
{
|
||||
switch($k->kontakttyp)
|
||||
@@ -420,7 +457,9 @@ if (!$ansicht)
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
echo '</table>';
|
||||
}
|
||||
|
||||
if ($user->homepage != '')
|
||||
|
||||
@@ -52,7 +52,7 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">';
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">';
|
||||
|
||||
include('../../../include/meta/jquery.php');
|
||||
include('../../../include/meta/jquery-tablesorter.php');
|
||||
@@ -158,7 +158,7 @@ function searchPerson($searchItems)
|
||||
{
|
||||
$bisverwendung = new bisverwendung();
|
||||
$bisverwendung->getLastAktVerwendung($row->uid);
|
||||
|
||||
|
||||
echo '<tr>';
|
||||
//echo '<td>',$row->titelpre,'</td>';
|
||||
echo '<td>',$row->anrede,'</td>';
|
||||
@@ -171,8 +171,47 @@ function searchPerson($searchItems)
|
||||
echo '</td>';
|
||||
//echo '<td>',$row->titelpost,'</td>';
|
||||
echo '<td>',($row->studiengang!=''?$row->studiengang:'-'),'</td>';
|
||||
echo '<td>',($row->mitarbeiter_uid==NULL?'StudentIn':'MitarbeiterIn'),'</td>';
|
||||
echo '<td>',($row->telefonklappe!=''?$row->telefonklappe:'-'),'</td>';
|
||||
echo '<td>',($row->mitarbeiter_uid==NULL?'StudentIn':'MitarbeiterIn'),'</td>';
|
||||
// Display phone number
|
||||
echo '<td>';
|
||||
// * if user has telefonklappe, display it
|
||||
if ($row->telefonklappe != '')
|
||||
{
|
||||
echo $row->telefonklappe;
|
||||
}
|
||||
// * if user has no telefonklappe, display business handy
|
||||
else
|
||||
{
|
||||
$person = new Person();
|
||||
$person->getPersonFromBenutzer($row->uid);
|
||||
$person_id = $person->person_id;
|
||||
$kontakt = new Kontakt();
|
||||
|
||||
if ($kontakt->load_persKontakttyp($person_id, 'firmenhandy'))
|
||||
{
|
||||
$is_zugestellt = false;
|
||||
foreach ($kontakt->result as $kontakt)
|
||||
{
|
||||
// display business handy only if zustellung is true
|
||||
if ($kontakt->zustellung)
|
||||
{
|
||||
echo $kontakt->kontakt. "<br>";
|
||||
$is_zugestellt = true;
|
||||
}
|
||||
}
|
||||
// if zustellung is false display '-'
|
||||
if (!$is_zugestellt)
|
||||
{
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
// * if neither telefonklappe nor business handy, display '-'
|
||||
else
|
||||
{
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
echo '<td>',($row->raum!=''?$row->raum:'-'),'</td>';
|
||||
if($row->alias!='' && !in_array($row->studiengang_kz, $noalias))
|
||||
$mail = $row->alias.'@'.DOMAIN;
|
||||
@@ -271,9 +310,46 @@ function searchOE($searchItems)
|
||||
echo '<td>'.$bf->bezeichnung;
|
||||
if($bisverwendung->beschausmasscode=='5')
|
||||
echo '<span style="color: orange"> (karenziert)</span>';
|
||||
echo '</td>';
|
||||
|
||||
echo '<td>',($mitarbeiter->telefonklappe!=''?$kontakt->kontakt.'-'.$mitarbeiter->telefonklappe:'-'),'</td>';
|
||||
echo '</td>';
|
||||
|
||||
// Display phone number
|
||||
echo '<td>';
|
||||
// * if user has telefonklappe, display it
|
||||
if ($mitarbeiter->telefonklappe != '')
|
||||
{
|
||||
echo $kontakt->kontakt. '-'. $mitarbeiter->telefonklappe;
|
||||
}
|
||||
// * if user has no telefonklappe, display business handy
|
||||
else
|
||||
{
|
||||
$person_id = $person->person_id;
|
||||
|
||||
if ($kontakt->load_persKontakttyp($person_id, 'firmenhandy'))
|
||||
{
|
||||
$is_zugestellt = false;
|
||||
foreach ($kontakt->result as $kontakt)
|
||||
{
|
||||
// display business handy only if zustellung is true
|
||||
if ($kontakt->zustellung)
|
||||
{
|
||||
echo $kontakt->kontakt. "<br>";
|
||||
$is_zugestellt = true;
|
||||
}
|
||||
}
|
||||
// if zustellung is false display '-'
|
||||
if (!$is_zugestellt)
|
||||
{
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
// * if neither telefonklappe nor business handy, display '-'
|
||||
else
|
||||
{
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
echo '<td>',($mitarbeiter->ort_kurzbz!=''?$mitarbeiter->ort_kurzbz:'-'),'</td>';
|
||||
//if($row->alias!='' && !in_array($row->studiengang_kz, $noalias)) ??? Was macht $noalias?
|
||||
if($person->alias!='')
|
||||
|
||||
@@ -1087,7 +1087,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
|
||||
$summe=0;
|
||||
$dr = new zeitaufzeichnung();
|
||||
$dr->getDienstreisenUser($user);
|
||||
$dr->getDienstreisenUser($user, 180);
|
||||
$dr_arr = $dr->result;
|
||||
|
||||
//var_dump($dr->result);
|
||||
|
||||
@@ -62,7 +62,7 @@ $daysinmonth = cal_days_in_month(CAL_GREGORIAN, $month, $year);
|
||||
$date = new datum();
|
||||
$ztauf = new zeitaufzeichnung();
|
||||
|
||||
$activitiesToIgnore = array('DienstreiseMT');//aktivitaetstypen which shouldn't be added to worktime
|
||||
$activitiesToIgnore = array('DienstreiseMT', 'Ersatzruhe');//aktivitaetstypen which shouldn't be added to worktime
|
||||
$ztauf->getListeUserFromTo($uid, $year.'-'.$month.'-01', $year.'-'.$month.'-'.$daysinmonth, $activitiesToIgnore);
|
||||
|
||||
//objects for one projectline of list (corresponds to one day)
|
||||
|
||||
@@ -89,6 +89,10 @@ define('CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE', true);
|
||||
// Vertraege fuer Pruefungshonorare anzulegen
|
||||
define('FAS_GESAMTNOTE_PRUEFUNGSHONORAR',false);
|
||||
|
||||
// Gibt an ob die Note im Notenfreigabemail enthalten ist oder nicht
|
||||
// Aus Datenschutzgründen ist dies per default deaktiviert
|
||||
define('CIS_GESAMTNOTE_FREIGABEMAIL_NOTE', false);
|
||||
|
||||
// Grenzwerte für Anwesenheit
|
||||
define('FAS_ANWESENHEIT_ROT', 70);
|
||||
define('FAS_ANWESENHEIT_GELB', 90);
|
||||
|
||||
+100
-116
@@ -22,7 +22,6 @@
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/fachbereich.class.php');
|
||||
require_once('../../include/Excel/excel.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
@@ -45,24 +44,31 @@ $stg_arr = array();
|
||||
foreach ($studiengang->result as $row)
|
||||
$stg_arr[$row->studiengang_kz] = $row->kuerzel.' ('.$row->kurzbzlang.')';
|
||||
|
||||
$fachbereich = new fachbereich();
|
||||
$fachbereich->getAll();
|
||||
$oe_obj = new organisationseinheit();
|
||||
$oe_obj->getTypen();
|
||||
foreach($oe_obj->result as $row)
|
||||
{
|
||||
$oetyp_arr[$row->organisationseinheittyp_kurzbz] = $row->bezeichnung;
|
||||
}
|
||||
|
||||
$fb_arr = array();
|
||||
foreach ($fachbereich->result as $row)
|
||||
$fb_arr[$row->fachbereich_kurzbz]=$row->bezeichnung;
|
||||
$oe_obj = new organisationseinheit();
|
||||
$oe_obj->getAll();
|
||||
|
||||
$oe_arr = array();
|
||||
$oe_arr['']='Nicht Zugewiesen';
|
||||
foreach ($oe_obj->result as $row)
|
||||
$oe_arr[$row->oe_kurzbz]=$oetyp_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung;
|
||||
|
||||
$db = new basis_db();
|
||||
// ALVS pro Fachbereich
|
||||
// ALVS pro OE
|
||||
$qry = "
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
fachbereich_kurzbz, tbl_lehrveranstaltung.studiengang_kz, geschlecht,sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semesterstunden
|
||||
lehrfach.oe_kurzbz as lehrfach_oe_kurzbz, tbl_lehrveranstaltung.studiengang_kz, geschlecht,sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semesterstunden
|
||||
FROM
|
||||
lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_lehrveranstaltung as lehrfach,
|
||||
public.tbl_fachbereich,
|
||||
lehre.tbl_lehreinheitmitarbeiter,
|
||||
public.tbl_benutzer,
|
||||
public.tbl_person
|
||||
@@ -73,28 +79,27 @@ SELECT * FROM (
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_benutzer.uid AND
|
||||
tbl_benutzer.person_id = tbl_person.person_id AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
|
||||
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND
|
||||
faktor<>0 AND
|
||||
stundensatz<>0 AND
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
|
||||
GROUP BY fachbereich_kurzbz, geschlecht, tbl_lehrveranstaltung.studiengang_kz
|
||||
GROUP BY lehrfach.oe_kurzbz, geschlecht, tbl_lehrveranstaltung.studiengang_kz
|
||||
) as a JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
ORDER BY typ, tbl_studiengang.kurzbz, fachbereich_kurzbz
|
||||
ORDER BY typ, tbl_studiengang.kurzbz, lehrfach_oe_kurzbz
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
die('Fehler bei Datenbankabfrage');
|
||||
|
||||
$fachbereiche = array();
|
||||
$organisationseinheiten = array();
|
||||
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
if(!in_array($row->fachbereich_kurzbz, $fachbereiche))
|
||||
$fachbereiche[] = $row->fachbereich_kurzbz;
|
||||
$data[$row->studiengang_kz][$row->fachbereich_kurzbz][$row->geschlecht]=$row->semesterstunden;
|
||||
if(!in_array($row->lehrfach_oe_kurzbz, $organisationseinheiten))
|
||||
$organisationseinheiten[] = $row->lehrfach_oe_kurzbz;
|
||||
$data[$row->studiengang_kz][$row->lehrfach_oe_kurzbz][$row->geschlecht]=$row->semesterstunden;
|
||||
}
|
||||
|
||||
sort($fachbereiche);
|
||||
sort($organisationseinheiten);
|
||||
|
||||
//Betreuerstunden
|
||||
$qry = "
|
||||
@@ -138,7 +143,6 @@ if($format=='xls')
|
||||
//Formate Definieren
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
//$format_bold->setBorder(1);
|
||||
|
||||
$format_border =& $workbook->addFormat();
|
||||
$format_border->setBorder(1);
|
||||
@@ -147,19 +151,19 @@ if($format=='xls')
|
||||
$format_rotate->setTextRotation(270);
|
||||
$format_rotate->setAlign("center");
|
||||
$format_rotate->setBold();
|
||||
|
||||
|
||||
$format_m_w =& $workbook->addFormat();
|
||||
$format_m_w->setAlign("center");
|
||||
$format_m_w->setBold();
|
||||
|
||||
|
||||
$format_data =& $workbook->addFormat();
|
||||
$format_data->setNumFormat("0.00");
|
||||
|
||||
|
||||
$format_bold_data =& $workbook->addFormat();
|
||||
$format_bold_data->setBold();
|
||||
$format_bold_data->setNumFormat("0.00");
|
||||
$format_bold_data->setVAlign("vcenter");
|
||||
|
||||
|
||||
$format_bold_center_data =& $workbook->addFormat();
|
||||
$format_bold_center_data->setBold();
|
||||
$format_bold_center_data->setNumFormat("0.00");
|
||||
@@ -168,59 +172,45 @@ if($format=='xls')
|
||||
$spalte=0;
|
||||
$zeile=0;
|
||||
|
||||
|
||||
$worksheet->write($zeile,$spalte,$stsem, $format_bold);
|
||||
$maxlength[$spalte]=13;
|
||||
$summe_fb = array();
|
||||
foreach ($fachbereiche as $fb)
|
||||
$summe_oe = array();
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
$zeile=0;
|
||||
$worksheet->write($zeile,++$spalte,$fb_arr[$fb], $format_rotate);
|
||||
$worksheet->write($zeile,++$spalte,$oe_arr[$oe], $format_rotate);
|
||||
$worksheet->mergeCells($zeile,$spalte,0,$spalte+1);
|
||||
$fachbereiche[$fb]=$spalte;
|
||||
|
||||
$organisationseinheiten_idx[$oe]=$spalte;
|
||||
|
||||
$worksheet->write(++$zeile,$spalte,'m',$format_m_w);
|
||||
$worksheet->write($zeile,++$spalte,'w',$format_m_w);
|
||||
|
||||
//$fachbereiche[$fb]=$spalte;
|
||||
$summe_fb[$fb]=array();
|
||||
//++$spalte;
|
||||
|
||||
$summe_oe[$oe]=array();
|
||||
|
||||
$maxlength[$spalte]=7;
|
||||
$maxlength[$spalte-1]=7;
|
||||
}
|
||||
$zeile=0;
|
||||
$worksheet->write($zeile,++$spalte,'Betreuungen', $format_rotate);
|
||||
$worksheet->mergeCells($zeile,$spalte,0,$spalte+1);
|
||||
|
||||
|
||||
$worksheet->write(++$zeile,$spalte,'m',$format_m_w);
|
||||
$worksheet->write($zeile,++$spalte,'w',$format_m_w);
|
||||
|
||||
|
||||
$maxlength[$spalte]=7;
|
||||
$maxlength[$spalte-1]=7;
|
||||
|
||||
$fachbereiche['betreuungen']=$spalte-1;
|
||||
//$maxlength[$spalte]=3;
|
||||
$summe_fb['betreuungen']=array();
|
||||
//++$spalte;
|
||||
|
||||
|
||||
$organisationseinheiten_idx['betreuungen']=$spalte-1;
|
||||
$summe_oe['betreuungen']=array();
|
||||
|
||||
$zeile=0;
|
||||
$worksheet->write($zeile,++$spalte,'Summe', $format_rotate);
|
||||
$worksheet->mergeCells($zeile,$spalte,0,$spalte+2);
|
||||
$worksheet->write(++$zeile,$spalte,'m',$format_m_w);
|
||||
$worksheet->write($zeile,++$spalte,'w',$format_m_w);
|
||||
$worksheet->write($zeile,++$spalte,'Gesamt',$format_m_w);
|
||||
|
||||
|
||||
$maxspalten=$spalte;
|
||||
|
||||
/*++$zeile;
|
||||
$spalte=0;
|
||||
foreach ($fachbereiche as $fb)
|
||||
{
|
||||
$worksheet->write($zeile,++$spalte,'m');
|
||||
$worksheet->write($zeile,++$spalte,'w');
|
||||
//$fachbereiche[$fb]=$spalte;
|
||||
//++$spalte;
|
||||
}*/
|
||||
|
||||
if(isset($data))
|
||||
{
|
||||
@@ -231,27 +221,23 @@ if($format=='xls')
|
||||
$worksheet->write($zeile,$spalte,$stg_arr[$key], $format_bold);
|
||||
$summe_m=0;
|
||||
$summe_w=0;
|
||||
foreach ($data[$key] as $fb=>$stunden)
|
||||
foreach ($data[$key] as $oe=>$stunden)
|
||||
{
|
||||
if(!isset($stunden['m']))
|
||||
$stunden['m']=0;
|
||||
$summe_m+=$stunden['m'];
|
||||
if(!isset($summe_fb[$fb]['m']))
|
||||
$summe_fb[$fb]['m']=0;
|
||||
$summe_fb[$fb]['m']+=$stunden['m'];
|
||||
$worksheet->write($zeile,$fachbereiche[$fb],$stunden['m'],$format_data);
|
||||
//if($maxlength[$fachbereiche[$fb]]<strlen($stunden['m']))
|
||||
// $maxlength[$fachbereiche[$fb]]=strlen($stunden['m']);
|
||||
|
||||
if(!isset($summe_oe[$oe]['m']))
|
||||
$summe_oe[$oe]['m']=0;
|
||||
$summe_oe[$oe]['m']+=$stunden['m'];
|
||||
$worksheet->write($zeile,$organisationseinheiten_idx[$oe],$stunden['m'],$format_data);
|
||||
|
||||
if(!isset($stunden['w']))
|
||||
$stunden['w']=0;
|
||||
$summe_w+=$stunden['w'];
|
||||
if(!isset($summe_fb[$fb]['w']))
|
||||
$summe_fb[$fb]['w']=0;
|
||||
$summe_fb[$fb]['w']+=$stunden['w'];
|
||||
$worksheet->write($zeile,$fachbereiche[$fb]+1,$stunden['w'],$format_data);
|
||||
//if($maxlength[$fachbereiche[$fb]]<strlen($stunden['w']))
|
||||
// $maxlength[$fachbereiche[$fb]]=strlen($stunden['w']);
|
||||
if(!isset($summe_oe[$oe]['w']))
|
||||
$summe_oe[$oe]['w']=0;
|
||||
$summe_oe[$oe]['w']+=$stunden['w'];
|
||||
$worksheet->write($zeile,$organisationseinheiten_idx[$oe]+1,$stunden['w'],$format_data);
|
||||
}
|
||||
$worksheet->write($zeile,$maxspalten-2,number_format($summe_m,2,'.',''), $format_bold_data);
|
||||
$worksheet->write($zeile,$maxspalten-1,number_format($summe_w,2,'.',''), $format_bold_data);
|
||||
@@ -264,20 +250,20 @@ if($format=='xls')
|
||||
$zeile++;
|
||||
$worksheet->write($zeile,0,'Summe', $format_bold_data);
|
||||
$worksheet->mergeCells($zeile,0,$zeile+1,0);
|
||||
//foreach ($summe_fb as $fb=>$summe)
|
||||
foreach ($summe_fb as $fb=>$summe)
|
||||
|
||||
foreach ($summe_oe as $oe=>$summe)
|
||||
{
|
||||
if(!isset($summe['m']))
|
||||
$summe['m']=0;
|
||||
if(!isset($summe['w']))
|
||||
$summe['w']=0;
|
||||
|
||||
if(isset($fachbereiche[$fb]))
|
||||
$worksheet->write($zeile,$fachbereiche[$fb],number_format($summe['m'],2,'.',''), $format_bold_center_data);
|
||||
$worksheet->write($zeile,$fachbereiche[$fb]+1,number_format($summe['w'],2,'.',''), $format_bold_center_data);
|
||||
|
||||
if(isset($organisationseinheiten_idx[$oe]))
|
||||
$worksheet->write($zeile,$organisationseinheiten_idx[$oe],number_format($summe['m'],2,'.',''), $format_bold_center_data);
|
||||
$worksheet->write($zeile,$organisationseinheiten_idx[$oe]+1,number_format($summe['w'],2,'.',''), $format_bold_center_data);
|
||||
$gesamt = $summe['m']+$summe['w'];
|
||||
$worksheet->write(++$zeile,$fachbereiche[$fb],number_format($gesamt,2,'.',''), $format_bold_center_data);
|
||||
$worksheet->mergeCells($zeile,$fachbereiche[$fb],$zeile,$fachbereiche[$fb]+1);
|
||||
$worksheet->write(++$zeile,$organisationseinheiten_idx[$oe],number_format($gesamt,2,'.',''), $format_bold_center_data);
|
||||
$worksheet->mergeCells($zeile,$organisationseinheiten_idx[$oe],$zeile,$organisationseinheiten_idx[$oe]+1);
|
||||
--$zeile;
|
||||
}
|
||||
|
||||
@@ -303,72 +289,70 @@ else
|
||||
}
|
||||
td
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="Background_main">';
|
||||
|
||||
|
||||
|
||||
echo "<h2>ALVS $stsem</h2>";
|
||||
|
||||
echo '<table class="liste" style="border: 1px solid black" rules="all" cellspacing="0">';
|
||||
echo '<tr class="liste"><th>'.$stsem.'</th>';
|
||||
$summe_fb = array();
|
||||
$summe_oe = array();
|
||||
|
||||
foreach ($fachbereiche as $fb)
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
echo "<th colspan='2'>".$fb_arr[$fb]."</th>";
|
||||
$summe_fb[$fb]=array();
|
||||
echo "<th colspan='2'>".$oe_arr[$oe]."</th>";
|
||||
$summe_oe[$oe]=array();
|
||||
}
|
||||
echo "<th colspan='2'>Betreuungen</th>";
|
||||
$summe_fb['betreuungen']=array();
|
||||
$summe_oe['betreuungen']=array();
|
||||
echo "<th colspan='3'>Summe</th>";
|
||||
echo "</tr>";
|
||||
// Spalten m/w
|
||||
echo '<tr class="liste"><td> </td>';
|
||||
foreach ($fachbereiche as $fb)
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
echo "<td style='text-align:center; font-weight: bold; width: 50%'>m</td><td style='text-align:center; font-weight: bold;'>w</td>";
|
||||
}
|
||||
echo "<td style='text-align:center; font-weight: bold; width: 33%'>m</td>";
|
||||
echo "<td style='text-align:center; font-weight: bold; width: 33%'>w</td>";
|
||||
//$summe_fb['betreuungen']=0;
|
||||
|
||||
echo "<td style='text-align:center; font-weight: bold; width: 33%'>m</td>";
|
||||
echo "<td style='text-align:center; font-weight: bold; width: 33%'>w</td>";
|
||||
echo "<td style='text-align:center; font-weight: bold'>Gesamt</td>";
|
||||
echo "</tr>";
|
||||
|
||||
// Für jeden Fachbereich eine Variable definieren
|
||||
foreach ($fachbereiche as $fb)
|
||||
// Für jede OE eine Variable definieren
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
$summe_fb[$fb]["m"] = 0;
|
||||
$summe_fb[$fb]["w"] = 0;
|
||||
$summe_oe[$oe]["m"] = 0;
|
||||
$summe_oe[$oe]["w"] = 0;
|
||||
}
|
||||
$summe_fb['betreuungen']['m'] = 0;
|
||||
$summe_fb['betreuungen']['w'] = 0;
|
||||
$summe_oe['betreuungen']['m'] = 0;
|
||||
$summe_oe['betreuungen']['w'] = 0;
|
||||
foreach ($data as $key=>$val)
|
||||
{
|
||||
echo "<tr>";
|
||||
echo "<td>".$stg_arr[$key]."</td>";
|
||||
$summe_m =0;
|
||||
$summe_w =0;
|
||||
foreach ($fachbereiche as $fb)
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
if(isset($data[$key][$fb]["m"]))
|
||||
if(isset($data[$key][$oe]["m"]))
|
||||
{
|
||||
$summe_m+=$data[$key][$fb]["m"];
|
||||
$summe_fb[$fb]["m"]+=$data[$key][$fb]["m"];
|
||||
echo "<td>".$data[$key][$fb]["m"]."</td>";
|
||||
$summe_m+=$data[$key][$oe]["m"];
|
||||
$summe_oe[$oe]["m"]+=$data[$key][$oe]["m"];
|
||||
echo "<td>".$data[$key][$oe]["m"]."</td>";
|
||||
}
|
||||
else
|
||||
echo "<td> </td>";
|
||||
if(isset($data[$key][$fb]["w"]))
|
||||
if(isset($data[$key][$oe]["w"]))
|
||||
{
|
||||
$summe_w+=$data[$key][$fb]["w"];
|
||||
$summe_fb[$fb]["w"]+=$data[$key][$fb]["w"];
|
||||
echo "<td>".$data[$key][$fb]["w"]."</td>";
|
||||
$summe_w+=$data[$key][$oe]["w"];
|
||||
$summe_oe[$oe]["w"]+=$data[$key][$oe]["w"];
|
||||
echo "<td>".$data[$key][$oe]["w"]."</td>";
|
||||
}
|
||||
else
|
||||
echo "<td> </td>";
|
||||
@@ -376,7 +360,7 @@ else
|
||||
if(isset($data[$key]['betreuungen']['m']))
|
||||
{
|
||||
echo "<td>".number_format($data[$key]['betreuungen']['m'],2)."</td>";
|
||||
$summe_fb['betreuungen']['m']+=$data[$key]['betreuungen']['m'];
|
||||
$summe_oe['betreuungen']['m']+=$data[$key]['betreuungen']['m'];
|
||||
$summe_m+=$data[$key]['betreuungen']['m'];
|
||||
}
|
||||
else
|
||||
@@ -384,7 +368,7 @@ else
|
||||
if(isset($data[$key]['betreuungen']['w']))
|
||||
{
|
||||
echo "<td>".number_format($data[$key]['betreuungen']['w'],2)."</td>";
|
||||
$summe_fb['betreuungen']['w']+=$data[$key]['betreuungen']['w'];
|
||||
$summe_oe['betreuungen']['w']+=$data[$key]['betreuungen']['w'];
|
||||
$summe_w+=$data[$key]['betreuungen']['w'];
|
||||
}
|
||||
else
|
||||
@@ -398,44 +382,44 @@ else
|
||||
|
||||
echo "<tr>";
|
||||
echo "<td rowspan='2'>Summe</td>";
|
||||
foreach ($fachbereiche as $fb)
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
if(isset($summe_fb[$fb]["m"]))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".$summe_fb[$fb]["m"]."</td>";
|
||||
if(isset($summe_oe[$oe]["m"]))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".$summe_oe[$oe]["m"]."</td>";
|
||||
else
|
||||
echo "<td> </td>";
|
||||
if(isset($summe_fb[$fb]["w"]))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".$summe_fb[$fb]["w"]."</td>";
|
||||
if(isset($summe_oe[$oe]["w"]))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".$summe_oe[$oe]["w"]."</td>";
|
||||
else
|
||||
echo "<td> </td>";
|
||||
}
|
||||
if(isset($summe_fb['betreuungen']['m']))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".number_format($summe_fb['betreuungen']['m'],2)."</td>";
|
||||
if(isset($summe_oe['betreuungen']['m']))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".number_format($summe_oe['betreuungen']['m'],2)."</td>";
|
||||
else
|
||||
echo "<td> </td>";
|
||||
if(isset($summe_fb['betreuungen']['w']))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".number_format($summe_fb['betreuungen']['w'],2)."</td>";
|
||||
if(isset($summe_oe['betreuungen']['w']))
|
||||
echo "<td style='text-align:center; font-weight: bold'>".number_format($summe_oe['betreuungen']['w'],2)."</td>";
|
||||
else
|
||||
echo "<td> </td>";
|
||||
echo "<td colspan='3'> </td>";
|
||||
echo "</tr>";
|
||||
|
||||
|
||||
echo "<tr>";
|
||||
//echo "<td></td>";
|
||||
foreach ($fachbereiche as $fb)
|
||||
foreach ($organisationseinheiten as $oe)
|
||||
{
|
||||
if(isset($summe_fb[$fb]["m"]) || isset($summe_fb[$fb]["w"]))
|
||||
echo "<td colspan='2' style='text-align:center; font-weight: bold'>".($summe_fb[$fb]["m"] + $summe_fb[$fb]["w"])."</td>";
|
||||
if(isset($summe_oe[$oe]["m"]) || isset($summe_oe[$oe]["w"]))
|
||||
echo "<td colspan='2' style='text-align:center; font-weight: bold'>".($summe_oe[$oe]["m"] + $summe_oe[$oe]["w"])."</td>";
|
||||
else
|
||||
echo "<td colspan='2'> </td>";
|
||||
}
|
||||
if(isset($summe_fb['betreuungen']['m']) || isset($summe_fb['betreuungen']['w']))
|
||||
echo "<td colspan='2' style='text-align:center; font-weight: bold'>".number_format(($summe_fb['betreuungen']['m'] + $summe_fb['betreuungen']['w']),2)."</td>";
|
||||
if(isset($summe_oe['betreuungen']['m']) || isset($summe_oe['betreuungen']['w']))
|
||||
echo "<td colspan='2' style='text-align:center; font-weight: bold'>".number_format(($summe_oe['betreuungen']['m'] + $summe_oe['betreuungen']['w']),2)."</td>";
|
||||
else
|
||||
echo "<td colspan='2'> </td>";
|
||||
echo "<td colspan='3'> </td>";
|
||||
echo "</tr>";
|
||||
|
||||
|
||||
echo '</table>';
|
||||
echo '</body>
|
||||
</html>';
|
||||
|
||||
@@ -25,6 +25,7 @@ require_once('../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if(isset($_GET['studiengang_kz']))
|
||||
$studiengang_kz = $_GET['studiengang_kz'];
|
||||
@@ -43,12 +44,18 @@ else
|
||||
|
||||
if(isset($_GET['oe_kurzbz']))
|
||||
$oe_kurzbz = $_GET['oe_kurzbz'];
|
||||
else
|
||||
else
|
||||
$oe_kurzbz = '';
|
||||
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('assistenz', null, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
$db = new basis_db();
|
||||
|
||||
$stg_arr = array();
|
||||
@@ -62,6 +69,10 @@ if($studiengang_kz!='')
|
||||
{
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($studiengang_kz);
|
||||
|
||||
if(!$rechte->isBerechtigt('assistenz', $studiengang->oe_kurzbz, 's'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
}
|
||||
|
||||
if($mitarbeiter_uid!='')
|
||||
@@ -159,9 +170,9 @@ $qry = "SELECT
|
||||
tbl_person.person_id=tbl_benutzer.person_id AND
|
||||
lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
|
||||
$qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id";
|
||||
$qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehreinheit.lehreinheit_id";
|
||||
}
|
||||
else
|
||||
else
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
|
||||
echo '<table class="liste">';
|
||||
@@ -309,7 +320,7 @@ elseif($oe_kurzbz!='')
|
||||
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0
|
||||
";
|
||||
}
|
||||
else
|
||||
else
|
||||
die('Something unexpected happend');
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
@@ -329,7 +340,7 @@ if($result = $db->db_query($qry))
|
||||
echo "<th>Kosten</th>";
|
||||
echo '<th> </th>';
|
||||
echo '</tr>';
|
||||
|
||||
|
||||
$gesamtkosten_betreuung=0;
|
||||
$stunden_betreuung=0;
|
||||
while($row = $db->db_fetch_object($result))
|
||||
|
||||
+104
-145
@@ -27,6 +27,8 @@ require_once('../../include/Excel/excel.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/organisationseinheit.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
@@ -36,119 +38,114 @@ if(isset($_GET['studiensemester_kurzbz']))
|
||||
$studiensemester_kurzbz = $_GET['studiensemester_kurzbz'];
|
||||
else if(isset($_POST['studiensemester_kurzbz']))
|
||||
$studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
||||
else
|
||||
else
|
||||
die('studiensemester_kurzbz muss uebergeben werden');
|
||||
|
||||
|
||||
if(isset($_GET['studiengang_kz']))
|
||||
$studiengang_kz = $_GET['studiengang_kz'];
|
||||
else
|
||||
else
|
||||
$studiengang_kz='';
|
||||
|
||||
|
||||
if(isset($_GET['semester']))
|
||||
$semester = $_GET['semester'];
|
||||
else
|
||||
else
|
||||
$semester='';
|
||||
|
||||
if(isset($_GET['oe_kurzbz']))
|
||||
$oe_kurzbz = $_GET['oe_kurzbz'];
|
||||
else
|
||||
else
|
||||
$oe_kurzbz = '';
|
||||
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
else
|
||||
$uid = '';
|
||||
|
||||
|
||||
$db = new basis_db();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if($studiengang_kz != '')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('assistenz', $studiengang_kz, 's'))
|
||||
die($rechte->errormsg);
|
||||
}
|
||||
elseif($oe_kurzbz!='')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('assistenz', $oe_kurzbz, 's'))
|
||||
die($rechte->errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$rechte->isBerechtigt('assistenz', null, 's'))
|
||||
die($rechte->errormsg);
|
||||
}
|
||||
|
||||
$oetyp = new organisationseinheit();
|
||||
$oetyp->getTypen();
|
||||
|
||||
foreach($oetyp->result as $row)
|
||||
{
|
||||
$oetyp_arr[$row->organisationseinheittyp_kurzbz] = $row->bezeichnung;
|
||||
}
|
||||
|
||||
$oe = new organisationseinheit();
|
||||
$oe->getAll();
|
||||
|
||||
foreach($oe->result as $row)
|
||||
{
|
||||
$oe_arr[$row->oe_kurzbz] = $oetyp_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung;
|
||||
}
|
||||
$oe_arr[''] = '';
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll('typ, kurzbz', false);
|
||||
|
||||
$qry = "
|
||||
SELECT (SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
|
||||
WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND
|
||||
funktion_kurzbz='fbk' AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
) as koordinator,
|
||||
(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
|
||||
WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND
|
||||
funktion_kurzbz='fbk' AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
) as vorname,
|
||||
|
||||
lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz,
|
||||
tbl_fachbereich.fachbereich_kurzbz as fachbereich_kurzbz, tbl_lehreinheitmitarbeiter.mitarbeiter_uid,
|
||||
SELECT
|
||||
lehrfach.bezeichnung as lf_bezeichnung, tbl_lehrveranstaltung.studiengang_kz, lehrfach.oe_kurzbz as lehrfach_oe_kurzbz,
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid,
|
||||
tbl_lehrveranstaltung.semester as lv_semester, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheitmitarbeiter.faktor,
|
||||
tbl_lehreinheitmitarbeiter.stundensatz,
|
||||
tbl_lehreinheitmitarbeiter.stundensatz,
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden lemss, tbl_lehreinheitmitarbeiter.planstunden,
|
||||
tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ,
|
||||
tbl_lehreinheitmitarbeiter.anmerkung
|
||||
,tbl_lehreinheit.studiensemester_kurzbz
|
||||
,tbl_lehrveranstaltung.ects
|
||||
,tbl_lehrveranstaltung.semesterstunden
|
||||
,tbl_lehrveranstaltung.semesterstunden
|
||||
,tbl_lehrveranstaltung.semesterstunden as sws
|
||||
,tbl_lehrveranstaltung.lehrform_kurzbz
|
||||
,tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
,(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
,(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=(SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz='LV-Leitung' LIMIT 1)
|
||||
)as lv_leitung
|
||||
,(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
)as lv_leitung
|
||||
,(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=(SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehre.tbl_lehreinheitmitarbeiter.lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and lehre.tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz='LV-Leitung' LIMIT 1)
|
||||
)as lv_leitung_vorname
|
||||
)as lv_leitung_vorname
|
||||
,(SELECT bezeichnung FROM lehre.tbl_lehrform WHERE lehre.tbl_lehrform.lehrform_kurzbz=tbl_lehrveranstaltung.lehrform_kurzbz LIMIT 1) as lv_type
|
||||
,tbl_lehrveranstaltung.lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
# ,(SELECT lv_semesterstunden FROM campus.vw_lehreinheit WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id and lehreinheit_id=lehre.tbl_lehreinheit.lehreinheit_id and studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' LIMIT 1) as sws
|
||||
|
||||
if($studiengang_kz!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
|
||||
if($oe_kurzbz!='')
|
||||
$qry.=" AND tbl_fachbereich.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
|
||||
$qry.=" AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
|
||||
|
||||
if($semester!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER);
|
||||
|
||||
|
||||
if($uid!='')
|
||||
$qry.=" AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$db->db_add_param($uid);
|
||||
|
||||
$qry.=" ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.bezeichnung";
|
||||
|
||||
/*
|
||||
// exit($qry);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$row = $db->db_fetch_object($result);
|
||||
var_dump($row);
|
||||
}
|
||||
else
|
||||
echo 'nix<br>';
|
||||
var_dump($stg_obj);
|
||||
exit;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// Creating a workbook
|
||||
$workbook = new Spreadsheet_Excel_Writer();
|
||||
|
||||
@@ -174,10 +171,8 @@ $zeile=0;
|
||||
$spalte=0;
|
||||
$worksheet->write($zeile,$spalte,"Studiengang", $format_bold);
|
||||
$maxlength[$spalte]=11;
|
||||
$worksheet->write($zeile,++$spalte,"Institut", $format_bold);
|
||||
$worksheet->write($zeile,++$spalte,"Organisationseinheit", $format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,"Koordinator", $format_bold);
|
||||
$maxlength[$spalte]=11;
|
||||
$worksheet->write($zeile,++$spalte,"Lektor", $format_bold);
|
||||
$maxlength[$spalte]=6;
|
||||
$worksheet->write($zeile,++$spalte,"Lehrfach", $format_bold);
|
||||
@@ -211,8 +206,8 @@ $maxlength[$spalte]=9;
|
||||
$worksheet->write($zeile,++$spalte,"LV-Nummer", $format_bold);
|
||||
$maxlength[$spalte]=9;
|
||||
|
||||
$worksheet->write($zeile,++$spalte,"ALVS", $format_bold);
|
||||
$maxlength[$spalte]=9;
|
||||
$worksheet->write($zeile,++$spalte,"Semesterstunden", $format_bold);
|
||||
$maxlength[$spalte]=15;
|
||||
|
||||
$worksheet->write($zeile,++$spalte,"ECTS", $format_bold);
|
||||
$maxlength[$spalte]=9;
|
||||
@@ -227,22 +222,20 @@ if($result = $db->db_query($qry))
|
||||
|
||||
$spalte=0;
|
||||
$zeile++;
|
||||
|
||||
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
$mitarbeiter->load($row->mitarbeiter_uid);
|
||||
|
||||
|
||||
//Studiengang
|
||||
$worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
if($maxlength[$spalte]<mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]))
|
||||
$maxlength[$spalte]=mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
//Fachbereich
|
||||
$worksheet->write($zeile,++$spalte,$row->fachbereich_kurzbz);
|
||||
if($maxlength[$spalte]<mb_strlen($row->fachbereich_kurzbz))
|
||||
$maxlength[$spalte]=mb_strlen($row->fachbereich_kurzbz);
|
||||
//Koordinator
|
||||
$worksheet->write($zeile,++$spalte,$row->koordinator.' '.$row->vorname);
|
||||
if($maxlength[$spalte]<mb_strlen($row->koordinator.' '.$row->vorname))
|
||||
$maxlength[$spalte]=mb_strlen($row->koordinator.' '.$row->vorname);
|
||||
|
||||
//Organisationseinheit
|
||||
$worksheet->write($zeile,++$spalte,$oe_arr[$row->lehrfach_oe_kurzbz]);
|
||||
if($maxlength[$spalte]<mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]))
|
||||
$maxlength[$spalte]=mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]);
|
||||
|
||||
//Lektor
|
||||
$worksheet->write($zeile,++$spalte,$mitarbeiter->nachname.' '.$mitarbeiter->vorname);
|
||||
if($maxlength[$spalte]<mb_strlen($mitarbeiter->nachname.' '.$mitarbeiter->vorname))
|
||||
@@ -255,7 +248,7 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->lv_semester);
|
||||
if($maxlength[$spalte]<mb_strlen($row->lv_semester))
|
||||
$maxlength[$spalte]=mb_strlen($row->lv_semester);
|
||||
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
$result_gruppe = $db->db_query($qry);
|
||||
$gruppe = '';
|
||||
@@ -265,10 +258,10 @@ if($result = $db->db_query($qry))
|
||||
$gruppe.=', ';
|
||||
if($row_gruppe->gruppe_kurzbz!='')
|
||||
$gruppe.=$row_gruppe->gruppe_kurzbz;
|
||||
else
|
||||
else
|
||||
$gruppe.=trim($stg_obj->kuerzel_arr[$row_gruppe->studiengang_kz].'-'.$row_gruppe->semester.$row_gruppe->verband.$row_gruppe->gruppe);
|
||||
}
|
||||
|
||||
|
||||
//Gruppen
|
||||
$worksheet->write($zeile,++$spalte,$gruppe);
|
||||
if($maxlength[$spalte]<mb_strlen($gruppe))
|
||||
@@ -277,9 +270,9 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->lemss);
|
||||
if($maxlength[$spalte]<mb_strlen($row->lemss))
|
||||
$maxlength[$spalte]=mb_strlen($row->lemss);
|
||||
|
||||
|
||||
$kosten = ($row->stundensatz*$row->lemss*$row->faktor);
|
||||
|
||||
|
||||
//Kosten
|
||||
$worksheet->write($zeile,++$spalte,$kosten);
|
||||
if($maxlength[$spalte]<mb_strlen($kosten))
|
||||
@@ -308,8 +301,7 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->anmerkung);
|
||||
if($maxlength[$spalte]<mb_strlen($row->anmerkung))
|
||||
$maxlength[$spalte]=mb_strlen($row->anmerkung);
|
||||
|
||||
// Neu 13.11.2009 sequens
|
||||
|
||||
//LV-Leitung
|
||||
$worksheet->write($zeile,++$spalte,$row->lv_leitung.' '.$row->lv_leitung_vorname);
|
||||
if($maxlength[$spalte]<mb_strlen($row->lv_leitung.' '.$row->lv_leitung_vorname))
|
||||
@@ -320,22 +312,15 @@ if($result = $db->db_query($qry))
|
||||
if($maxlength[$spalte]<mb_strlen($row->lehrveranstaltung_id))
|
||||
$maxlength[$spalte]=mb_strlen($row->lehrveranstaltung_id);
|
||||
|
||||
//SWS
|
||||
|
||||
|
||||
/* $worksheet->write($zeile,++$spalte,$row->sws);
|
||||
if($maxlength[$spalte]<mb_strlen($row->sws))
|
||||
$maxlength[$spalte]=mb_strlen($row->sws);
|
||||
*/
|
||||
//Semesterstunden
|
||||
$semesterstunden = $row->semesterstunden;
|
||||
if ($row->stundensatz==0 || $row->lemss==0 || $row->faktor==0)
|
||||
$semesterstunden = 0;
|
||||
|
||||
|
||||
$worksheet->write($zeile,++$spalte,$semesterstunden);
|
||||
if($maxlength[$spalte]<mb_strlen($semesterstunden))
|
||||
$maxlength[$spalte]=mb_strlen($semesterstunden);
|
||||
|
||||
|
||||
|
||||
//ECTS
|
||||
$worksheet->write($zeile,++$spalte,$row->ects);
|
||||
if($maxlength[$spalte]<mb_strlen($row->ects))
|
||||
@@ -347,51 +332,28 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->lv_type);
|
||||
if($maxlength[$spalte]<mb_strlen($row->lv_type))
|
||||
$maxlength[$spalte]=mb_strlen($row->lv_type);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Betreuungen
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz,
|
||||
(SELECT nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
|
||||
WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND
|
||||
funktion_kurzbz='fbk' AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
) as koordinator,
|
||||
(SELECT vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE uid=COALESCE(tbl_lehrveranstaltung.koordinator, (SELECT uid FROM public.tbl_benutzerfunktion
|
||||
WHERE fachbereich_kurzbz=tbl_fachbereich.fachbereich_kurzbz AND
|
||||
tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1) AND
|
||||
funktion_kurzbz='fbk' AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
) as koordinator_vorname, nachname, vorname, lehrfach.bezeichnung,
|
||||
tbl_lehrveranstaltung.semester, student_uid, stunden, tbl_projektbetreuer.stundensatz,
|
||||
tbl_lehrveranstaltung.studiengang_kz, lehrfach.oe_kurzbz as lehrfach_oe_kurzbz,
|
||||
nachname, vorname, lehrfach.bezeichnung,
|
||||
tbl_lehrveranstaltung.semester, student_uid, stunden, tbl_projektbetreuer.stundensatz,
|
||||
tbl_projektbetreuer.faktor
|
||||
FROM
|
||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich
|
||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_projektbetreuer, public.tbl_person, lehre.tbl_lehrveranstaltung as lehrfach
|
||||
WHERE
|
||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
|
||||
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND
|
||||
lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz AND
|
||||
tbl_person.person_id=tbl_projektbetreuer.person_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stundensatz*tbl_projektbetreuer.stunden)>0
|
||||
";
|
||||
|
||||
|
||||
if($uid!=='')
|
||||
{
|
||||
$mitarbeiter = new mitarbeiter($uid);
|
||||
@@ -399,11 +361,11 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
|
||||
if($oe_kurzbz!='')
|
||||
$qry.=" AND tbl_fachbereich.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
|
||||
|
||||
$qry.=" AND lehrfach.oe_kurzbz=".$db->db_add_param($oe_kurzbz);
|
||||
|
||||
if($studiengang_kz!='')
|
||||
$qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$spalte=0;
|
||||
@@ -415,20 +377,17 @@ if($result = $db->db_query($qry))
|
||||
{
|
||||
$spalte=0;
|
||||
$zeile++;
|
||||
|
||||
|
||||
//Studiengang
|
||||
$worksheet->write($zeile,$spalte,$stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
if($maxlength[$spalte]<mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]))
|
||||
$maxlength[$spalte]=mb_strlen($stg_obj->kuerzel_arr[$row->studiengang_kz]);
|
||||
|
||||
//Fachbereich
|
||||
$worksheet->write($zeile,++$spalte,$row->fachbereich_kurzbz);
|
||||
if($maxlength[$spalte]<mb_strlen($row->fachbereich_kurzbz))
|
||||
$maxlength[$spalte]=mb_strlen($row->fachbereich_kurzbz);
|
||||
//Koordinator
|
||||
$worksheet->write($zeile,++$spalte,$row->koordinator.' '.$row->koordinator_vorname);
|
||||
if($maxlength[$spalte]<mb_strlen($row->koordinator.' '.$row->koordinator_vorname))
|
||||
$maxlength[$spalte]=mb_strlen($row->koordinator.' '.$row->koordinator_vorname);
|
||||
|
||||
//Organisationseinheit
|
||||
$worksheet->write($zeile,++$spalte,$oe_arr[$row->lehrfach_oe_kurzbz]);
|
||||
if($maxlength[$spalte]<mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]))
|
||||
$maxlength[$spalte]=mb_strlen($oe_arr[$row->lehrfach_oe_kurzbz]);
|
||||
|
||||
//Lektor
|
||||
$worksheet->write($zeile,++$spalte,$row->nachname.' '.$row->vorname);
|
||||
if($maxlength[$spalte]<mb_strlen($row->nachname.' '.$row->vorname))
|
||||
@@ -441,7 +400,7 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->semester);
|
||||
if($maxlength[$spalte]<mb_strlen($row->semester))
|
||||
$maxlength[$spalte]=mb_strlen($row->semester);
|
||||
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($row->student_uid);
|
||||
//Student
|
||||
@@ -456,10 +415,10 @@ if($result = $db->db_query($qry))
|
||||
$worksheet->write($zeile,++$spalte,$row->stunden*$row->stundensatz*$row->faktor);
|
||||
if($maxlength[$spalte]<mb_strlen($row->stunden*$row->stundensatz*$row->faktor))
|
||||
$maxlength[$spalte]=mb_strlen($row->stunden*$row->stundensatz*$row->faktor);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Die Breite der Spalten setzen
|
||||
foreach($maxlength as $i=>$breite)
|
||||
$worksheet->setColumn($i, $i, $breite+2);
|
||||
|
||||
+700
-100
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
*/
|
||||
/**
|
||||
* This class provides static functions for handling Result values
|
||||
*/
|
||||
|
||||
class ErrorHandler
|
||||
{
|
||||
/**
|
||||
* Returns a Success Object
|
||||
* @param $retval object
|
||||
* @return result object
|
||||
*/
|
||||
public static function success($retval = '')
|
||||
{
|
||||
$data = new stdClass();
|
||||
$data->error = false;
|
||||
$data->errormsg = '';
|
||||
$data->retval = $retval;
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an Error Object
|
||||
* @param $retval object (optional)
|
||||
* @return result object
|
||||
*/
|
||||
public static function error($errormsg = '', $retval = '')
|
||||
{
|
||||
$data = new stdClass();
|
||||
$data->error = true;
|
||||
$data->errormsg = $errormsg;
|
||||
$data->retval = $retval;
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the Result object is Successfull
|
||||
* @param result object
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isSuccess($result)
|
||||
{
|
||||
if (is_object($result) && isset($result->error) && $result->error === false)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the Result object is an error
|
||||
* @param result object
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isError($result)
|
||||
{
|
||||
return !ErrorHandler::isSuccess($result);
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if the Result object contains additional data
|
||||
* @param result object
|
||||
* @return boolean
|
||||
*/
|
||||
public static function hasData($result)
|
||||
{
|
||||
if (is_object($result) && isset($result->retval) && $result->retval!='')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,8 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/authentication.class.php');
|
||||
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
|
||||
require_once(dirname(__FILE__).'/personlog.class.php');
|
||||
require_once(dirname(__FILE__).'/benutzerberechtigung.class.php');
|
||||
require_once(dirname(__FILE__).'/mitarbeiter.class.php');
|
||||
|
||||
// Auth: Benutzer des Webportals
|
||||
/**
|
||||
@@ -1112,4 +1114,51 @@ function setLeadingZero($number, $length = 2)
|
||||
}
|
||||
}
|
||||
|
||||
/** Check if uid is a supervisor
|
||||
*
|
||||
* @param string $uid
|
||||
* @param string $employee_uid
|
||||
* @return boolean True if $uid is direct leader of $employee_uid.
|
||||
*/
|
||||
function check_isVorgesetzter($uid, $employee_uid)
|
||||
{
|
||||
$mitarbeiter = new Mitarbeiter();
|
||||
$mitarbeiter->getUntergebene($uid);
|
||||
$untergebenen_arr = $mitarbeiter->untergebene;
|
||||
|
||||
// Check, if uid is an employee of supervisor
|
||||
if (!empty($untergebenen_arr) &&
|
||||
in_array($employee_uid, $untergebenen_arr))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/** Check if uid is a supervisor on higher oe level
|
||||
*
|
||||
* @param string $uid
|
||||
* @param string $employee_uid
|
||||
* @return boolean True if $uid is indirect supervisor (leader on higher oe-level)
|
||||
* of $employee_uid.
|
||||
*/
|
||||
function check_isVorgesetzter_indirekt($uid, $employee_uid)
|
||||
{
|
||||
$mitarbeiter = new Mitarbeiter();
|
||||
$mitarbeiter->getUntergebene($uid, true);
|
||||
$untergebenen_ofChildOEs_arr = $mitarbeiter->untergebene;
|
||||
|
||||
if (!empty($untergebenen_ofChildOEs_arr) &&
|
||||
in_array($employee_uid, $untergebenen_ofChildOEs_arr))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Regular → Executable
+20
-16
@@ -24,6 +24,7 @@
|
||||
* @create 20-12-2006
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
|
||||
class kontakt extends basis_db
|
||||
{
|
||||
@@ -281,7 +282,7 @@ class kontakt extends basis_db
|
||||
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
|
||||
FROM public.tbl_kontakt LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND kontakttyp =".$this->db_add_param($kontakttyp, FHC_STRING);
|
||||
|
||||
|
||||
if ($order != null)
|
||||
$qry .= " ORDER BY ".$order;
|
||||
|
||||
@@ -332,9 +333,10 @@ class kontakt extends basis_db
|
||||
$this->errormsg = 'Person_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
|
||||
FROM public.tbl_kontakt LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).';';
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id, tbl_kontakttyp.beschreibung as kontakttyp_name, $bezeichnung_mehrsprachig
|
||||
FROM public.tbl_kontakt JOIN tbl_kontakttyp USING (kontakttyp) LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -356,6 +358,8 @@ class kontakt extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->kontakttyp_name = $row->kontakttyp_name;
|
||||
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -512,15 +516,15 @@ class kontakt extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sucht nach Kontaktdaten, die den Suchkriterien entsprechen
|
||||
* @param string $searchstring String, nach dem gesucht werden soll.
|
||||
* @param string $searchstring String, nach dem gesucht werden soll.
|
||||
* Wenn $typ = nummer ist, werden eventuelle nicht-numerische Zeichen mit preg_replace entfernt,
|
||||
* und es wird nach den Typen "telefon","mobil","so.tel","firmenhandy" und "notfallkontakt" gesucht
|
||||
* @param string $typ Optional. Kontakttyp. Möglich sind <b>"nummer"</b>,"telefon","mobil","so.tel","firmenhandy","firmenhandy","email","fax" und "homepage".
|
||||
* Wenn $typ = nummer ist, werden eventuelle nicht-numerische Zeichen mit preg_replace entfernt,
|
||||
* und es wird nach den Typen "telefon","mobil","so.tel","firmenhandy" und "notfallkontakt" gesucht
|
||||
* und es wird nach den Typen "telefon","mobil","so.tel","firmenhandy" und "notfallkontakt" gesucht
|
||||
* @return boolean
|
||||
*/
|
||||
public function searchKontakt ($searchstring, $typ = '')
|
||||
@@ -534,18 +538,18 @@ class kontakt extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
FROM
|
||||
public.tbl_kontakt
|
||||
WHERE
|
||||
WHERE
|
||||
1=1";
|
||||
|
||||
|
||||
if ($typ == 'nummer')
|
||||
$qry .= " AND regexp_replace(kontakt , '[^0-9]', '', 'g') LIKE ('%".$this->db_escape($searchstring)."%')";
|
||||
else
|
||||
$qry .= " AND LOWER (kontakt) LIKE LOWER ('%".$this->db_escape($searchstring)."%')";
|
||||
|
||||
|
||||
if ($typ != '' && $typ != 'nummer')
|
||||
$qry .= " AND kontakttyp=".$this->db_add_param($typ);
|
||||
|
||||
@@ -554,7 +558,7 @@ class kontakt extends basis_db
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new kontakt();
|
||||
|
||||
|
||||
$obj->kontakt_id = $row->kontakt_id;
|
||||
$obj->person_id = $row->person_id;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
@@ -567,10 +571,10 @@ class kontakt extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -580,4 +584,4 @@ class kontakt extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -1091,8 +1091,12 @@ class mitarbeiter extends benutzer
|
||||
|
||||
/**
|
||||
* Gibt ein Array mit den UIDs der aktiv beschäftigten Untergebenen zurueck
|
||||
* @param string $uid UID.
|
||||
* @param boolean $include_OE_childs Wenn true, dann werden auch alle aktiv
|
||||
* beschäftigten Untergebenen der Kind-OEs des Leiters zurückgegeben.
|
||||
* @return boolean
|
||||
*/
|
||||
public function getUntergebene($uid=null)
|
||||
public function getUntergebene($uid=null, $include_OE_childs = false)
|
||||
{
|
||||
if (is_null($uid))
|
||||
$uid=$this->uid;
|
||||
@@ -1113,6 +1117,70 @@ class mitarbeiter extends benutzer
|
||||
$oe.=$this->db_add_param($row->oe_kurzbz);
|
||||
}
|
||||
}
|
||||
|
||||
// Kinder-Organisationseinheiten holen
|
||||
if ($include_OE_childs == true)
|
||||
{
|
||||
if (!empty($oe))
|
||||
{
|
||||
$child_oe_arr = array(); // array of string child oes
|
||||
|
||||
$qry = '
|
||||
WITH RECURSIVE
|
||||
oes (oe_kurzbz, oe_parent_kurzbz) AS
|
||||
(
|
||||
SELECT
|
||||
oe_kurzbz,
|
||||
oe_parent_kurzbz
|
||||
FROM
|
||||
public.tbl_organisationseinheit
|
||||
WHERE
|
||||
oe_kurzbz IN ('. $oe. ')
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
o.oe_kurzbz,
|
||||
o.oe_parent_kurzbz
|
||||
FROM
|
||||
public.tbl_organisationseinheit o, oes
|
||||
WHERE
|
||||
o.oe_parent_kurzbz = oes.oe_kurzbz
|
||||
)
|
||||
SELECT
|
||||
oe_kurzbz
|
||||
FROM
|
||||
oes
|
||||
GROUP BY
|
||||
oe_kurzbz';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$child_oe_arr []= $this->db_add_param($row->oe_kurzbz);
|
||||
}
|
||||
}
|
||||
|
||||
// eliminate duplicates
|
||||
$child_oe_arr = array_unique($child_oe_arr);
|
||||
|
||||
// check if leader has child oes by comparing the original
|
||||
// string of oes with string of child oes.
|
||||
if ($oe == implode(',', $child_oe_arr))
|
||||
{
|
||||
$this->result ['isIndirectSupervisor']= false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->result ['isIndirectSupervisor']= true;
|
||||
}
|
||||
|
||||
// overwrite $oe with child oes for further query
|
||||
$oe = implode(',', $child_oe_arr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Alle Personen holen die dieser Organisationseinheit untergeordnet sind
|
||||
$qry = "
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
* Cristina Hainberger <hainberg@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Organisationseinheit
|
||||
@@ -46,6 +47,7 @@ class organisationseinheit extends basis_db
|
||||
|
||||
public $oe_kurzbz_orig;
|
||||
public $beschreibung;
|
||||
public $oetyp_bezeichnung;
|
||||
|
||||
|
||||
/**
|
||||
@@ -454,6 +456,79 @@ class organisationseinheit extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get names and types of ALL parent organisational units recursivly for all ascending
|
||||
* org units of given organisational unit. (All parent organisational units)
|
||||
* @param string $oe_kurzbz
|
||||
* @return boolean True on success. If true, returns object-array with name
|
||||
* and types of given organisational unit and of its parent organisational units.
|
||||
*/
|
||||
public function getParents_withOEType($oe_kurzbz)
|
||||
{
|
||||
$parents=array();
|
||||
|
||||
$qry="
|
||||
WITH RECURSIVE
|
||||
oes (oe_kurzbz, oe_parent_kurzbz) AS
|
||||
(
|
||||
SELECT
|
||||
oe_kurzbz,
|
||||
oe_parent_kurzbz,
|
||||
bezeichnung AS oe_bezeichnung,
|
||||
organisationseinheittyp_kurzbz
|
||||
FROM
|
||||
public.tbl_organisationseinheit
|
||||
WHERE
|
||||
oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
|
||||
AND
|
||||
aktiv = true
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
o.oe_kurzbz,
|
||||
o.oe_parent_kurzbz,
|
||||
o.bezeichnung,
|
||||
o.organisationseinheittyp_kurzbz
|
||||
FROM
|
||||
public.tbl_organisationseinheit o, oes
|
||||
WHERE
|
||||
o.oe_kurzbz = oes.oe_parent_kurzbz
|
||||
AND
|
||||
aktiv = true
|
||||
)
|
||||
SELECT
|
||||
oe_kurzbz,
|
||||
oe_bezeichnung,
|
||||
tbl_organisationseinheittyp.bezeichnung AS oe_typ_bezeichnung
|
||||
FROM
|
||||
oes
|
||||
JOIN
|
||||
public.tbl_organisationseinheittyp
|
||||
USING (organisationseinheittyp_kurzbz)";
|
||||
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdClass();
|
||||
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->oe_bezeichnung = $row->oe_bezeichnung;
|
||||
$obj->oe_typ_bezeichnung = (!is_null($row->oe_typ_bezeichnung) ? $row->oe_typ_bezeichnung : '');
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
return $this->result;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Prueft ob $child eine Organisationseinheit unterhalb der OE $oe_kurzbz ist
|
||||
*
|
||||
@@ -756,5 +831,47 @@ class organisationseinheit extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get full term of organisational unit type
|
||||
* @param string $oetyp_kurzbz
|
||||
* @return boolean True on success. If true, returns full term of given organisational unit type.
|
||||
*/
|
||||
public function getOETypBezeichnung($oetyp_kurzbz)
|
||||
{
|
||||
if (isset($oetyp_kurzbz) && !empty($oetyp_kurzbz))
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
bezeichnung
|
||||
FROM
|
||||
public.tbl_organisationseinheittyp
|
||||
WHERE
|
||||
organisationseinheittyp_kurzbz = '. $this->db_add_param($oetyp_kurzbz). ';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->oetyp_bezeichnung = $row->bezeichnung;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler in der Abfrage zum Einholen OE-Typ Bezeichnung.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'OE Typ fehlt bzw. darf nicht leer sein.';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,214 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Cristina Hainberger <hainberg@technikum-wien.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/mail.class.php');
|
||||
require_once(dirname(__FILE__).'/vorlage.class.php');
|
||||
|
||||
const DEFAULT_SANCHO_HEADER_IMG = 'sancho_header_DEFAULT.jpg';
|
||||
|
||||
/**
|
||||
* Send single Mail with Sancho Design and Layout.
|
||||
* @param string $vorlage_kurzbz Name of the template for specific mail content.
|
||||
* @param array $vorlage_data Associative array with specific mail content varibales
|
||||
* to be replaced in the content template.
|
||||
* @param string $to Email-adress.
|
||||
* @param string $subject Subject of mail.
|
||||
* @param string $headerImg Filename of the specific Sancho header image.
|
||||
* @return boolean True, if succeeded.
|
||||
*/
|
||||
function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DEFAULT_SANCHO_HEADER_IMG)
|
||||
{
|
||||
$from = 'sancho@'. DOMAIN;
|
||||
$sanchoHeader_img = dirname(__FILE__). '/../skin/images/sancho/'. $headerImg;
|
||||
$sanchoFooter_img = dirname(__FILE__). '/../skin/images/sancho/sancho_footer.jpg';
|
||||
|
||||
// Set unique content id for embedding header and footer image
|
||||
$cid_header = uniqid();
|
||||
$cid_footer = uniqid();
|
||||
|
||||
// Set specific mail content into specific content template
|
||||
$content = parseMailContent($vorlage_kurzbz, $vorlage_data);
|
||||
|
||||
// Create data array with specific content and image content ids
|
||||
$layout = array(
|
||||
'CID_header' => $cid_header,
|
||||
'CID_footer' => $cid_footer,
|
||||
'content' => $content
|
||||
);
|
||||
|
||||
// Set the data array into overall sancho mail template
|
||||
$body = parseMailContent('Sancho_Mail_Template', $layout);
|
||||
|
||||
// Send mail
|
||||
$mail = new Mail($to, $from, $subject, $body);
|
||||
|
||||
// * embed the images
|
||||
$mail->addEmbeddedImage($sanchoHeader_img, 'image/jpg', '', $cid_header);
|
||||
$mail->addEmbeddedImage($sanchoFooter_img, 'image/jpg', '', $cid_footer);
|
||||
|
||||
// * embed the html content
|
||||
$mail->setHTMLContent($body);
|
||||
|
||||
return $mail->send();
|
||||
}
|
||||
|
||||
|
||||
// ******************************************* HELPER FUNCTIONS
|
||||
/**
|
||||
* Replace variables in the mail content template with specific mail content data.
|
||||
* @param string $vorlage_kurzbz Name of the template for specific mail content.
|
||||
* @param array $vorlage_data Associative array with specific mail content varibales
|
||||
* to be replaced in the content template.
|
||||
* @return string
|
||||
*/
|
||||
function parseMailContent($vorlage_kurzbz, $vorlage_data)
|
||||
{
|
||||
$vorlage = new Vorlage();
|
||||
$vorlage->getAktuelleVorlage('etw', $vorlage_kurzbz);
|
||||
|
||||
// If the text and the subject of the template are not empty
|
||||
if (!empty($vorlage->text))
|
||||
{
|
||||
// Parses template text
|
||||
$parsedText = parseVorlagetext($vorlage->text, $vorlage_data);
|
||||
|
||||
return $parsedText;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* parseVorlagetext() - will parse a Vorlagetext.
|
||||
*
|
||||
* @param string $text REQUIRED
|
||||
* @param array $data REQUIRED
|
||||
* @return string
|
||||
*/
|
||||
function parseVorlagetext($text, $data = array())
|
||||
{
|
||||
if (empty($text))
|
||||
return 'Error in parsing Vorlagentext';
|
||||
$text = parse_string($text, $data, true);
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a String
|
||||
*
|
||||
* Parses pseudo-variables contained in the specified string,
|
||||
* replacing them with the data in the second param
|
||||
*
|
||||
* @param string
|
||||
* @param array
|
||||
* @param bool
|
||||
* @return string
|
||||
*/
|
||||
function parse_string($template, $data, $return = FALSE)
|
||||
{
|
||||
if ($template === '')
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$replace = array();
|
||||
foreach ($data as $key => $val)
|
||||
{
|
||||
$replace = array_merge(
|
||||
$replace,
|
||||
is_array($val)
|
||||
? parse_pair($key, $val, $template)
|
||||
: parse_single($key, (string) $val, $template)
|
||||
);
|
||||
}
|
||||
|
||||
unset($data);
|
||||
$template = strtr($template, $replace);
|
||||
|
||||
if ($template === FALSE)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a single key/value
|
||||
*
|
||||
* @param string
|
||||
* @param string
|
||||
* @param string
|
||||
* @return string
|
||||
*/
|
||||
function parse_single($key, $val, $string)
|
||||
{
|
||||
return array('{'. $key. '}' => (string) $val);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a tag pair
|
||||
*
|
||||
* Parses tag pairs: {some_tag} string... {/some_tag}
|
||||
*
|
||||
* @param string
|
||||
* @param array
|
||||
* @param string
|
||||
* @return string
|
||||
*/
|
||||
function parse_pair($variable, $data, $string)
|
||||
{
|
||||
$replace = array();
|
||||
preg_match_all(
|
||||
'#'.preg_quote('{'. $variable. '}').'(.+?)'.preg_quote('{'.'/'.$variable. '}').'#s',
|
||||
$string,
|
||||
$matches,
|
||||
PREG_SET_ORDER
|
||||
);
|
||||
|
||||
foreach ($matches as $match)
|
||||
{
|
||||
$str = '';
|
||||
foreach ($data as $row)
|
||||
{
|
||||
$temp = array();
|
||||
foreach ($row as $key => $val)
|
||||
{
|
||||
if (is_array($val))
|
||||
{
|
||||
$pair = parse_pair($key, $val, $match[1]);
|
||||
if ( ! empty($pair))
|
||||
{
|
||||
$temp = array_merge($temp, $pair);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
$temp['{'.$key. '}'] = $val;
|
||||
}
|
||||
|
||||
$str .= strtr($match[1], $temp);
|
||||
}
|
||||
|
||||
$replace[$match[0]] = $str;
|
||||
}
|
||||
|
||||
return $replace;
|
||||
}
|
||||
@@ -244,31 +244,31 @@ class studiengang extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt alle aktiven Studiengaenge und Lehrgaenge (mit Typ) zurueck, bei denen das Attribut onlinebewerbung true ist.
|
||||
* Gibt alle aktiven Studiengaenge und Lehrgaenge (mit Typ) zurueck, bei denen das Attribut onlinebewerbung true ist.
|
||||
*
|
||||
* @param string $order Spalten, nach denen Sortiert werden soll.<br>Default: tbl_studiengang.typ, tbl_lgartcode.bezeichnung ASC, tbl_studiengang.bezeichnung.
|
||||
* @param string $order Spalten, nach denen Sortiert werden soll.<br>Default: tbl_studiengang.typ, tbl_lgartcode.bezeichnung ASC, tbl_studiengang.bezeichnung.
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAllForOnlinebewerbung($order = 'tbl_studiengang.typ, tbl_lgartcode.bezeichnung ASC, tbl_studiengang.bezeichnung')
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_studiengang.studiengang_kz,
|
||||
tbl_studiengang.typ,
|
||||
$qry = "SELECT
|
||||
tbl_studiengang.studiengang_kz,
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengangstyp.bezeichnung AS typ_bezeichnung,
|
||||
tbl_studiengang.lgartcode,
|
||||
tbl_studiengang.bezeichnung AS studiengangbezeichnung,
|
||||
tbl_studiengang.english AS studiengangbezeichnung_englisch,
|
||||
tbl_organisationseinheit.organisationseinheittyp_kurzbz,
|
||||
tbl_organisationseinheit.organisationseinheittyp_kurzbz,
|
||||
tbl_organisationseinheit.standort,
|
||||
tbl_lgartcode.bezeichnung AS lehrgangsart
|
||||
FROM public.tbl_studiengang
|
||||
LEFT JOIN bis.tbl_lgartcode USING (lgartcode)
|
||||
FROM public.tbl_studiengang
|
||||
LEFT JOIN bis.tbl_lgartcode USING (lgartcode)
|
||||
LEFT JOIN public.tbl_organisationseinheit USING (oe_kurzbz)
|
||||
JOIN public.tbl_organisationseinheittyp USING (organisationseinheittyp_kurzbz)
|
||||
JOIN public.tbl_studiengangstyp USING (typ)
|
||||
WHERE tbl_studiengang.onlinebewerbung IS TRUE
|
||||
WHERE tbl_studiengang.onlinebewerbung IS TRUE
|
||||
AND tbl_studiengang.aktiv IS TRUE";
|
||||
|
||||
|
||||
$qry .= " ORDER BY ".$order;
|
||||
|
||||
if(!$result = $this->db_query($qry))
|
||||
@@ -276,12 +276,12 @@ class studiengang extends basis_db
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->result[] = $row;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1045,6 +1045,34 @@ class studiengang extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Studiengang in einem Studiensemester mehrere Studienplaene mit unterschiedlichen Orgformen hat
|
||||
* @param $studiengang_kz integer Kennzahl des Studiengangs.
|
||||
* @param $studiensemester_kurzbz varchar Studiensemester (optional).
|
||||
* @return true wenn mehrere Orgformen vorhanden sind, false wenn nicht.
|
||||
*/
|
||||
public function isMischform($studiengang_kz, $studiensemester_kurzbz = null)
|
||||
{
|
||||
$qry = "SELECT distinct orgform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE
|
||||
studiengang_kz=".$this->db_add_param($studiengang_kz);
|
||||
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>1)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Studiengänge die vom übergeben Typ sind
|
||||
|
||||
Regular → Executable
+1
-1
@@ -5,7 +5,7 @@ $this->phrasen['profil/home']='HOME';
|
||||
$this->phrasen['profil/meinCis']='Mein CIS';
|
||||
$this->phrasen['profil/bildHochladen']='Profilfoto hochladen';
|
||||
$this->phrasen['profil/email']='eMail';
|
||||
$this->phrasen['profil/kontaktPrivat']='Privat';
|
||||
$this->phrasen['profil/kontaktPrivat']='Private Kontakte';
|
||||
$this->phrasen['profil/mobil']='Mobil';
|
||||
$this->phrasen['profil/telefon']='Telefon';
|
||||
$this->phrasen['profil/intern']='Intern';
|
||||
|
||||
Regular → Executable
+1
@@ -5,6 +5,7 @@ $this->phrasen['profil/mitarbeiter']='Employee';
|
||||
$this->phrasen['profil/meinCis']='My CIS';
|
||||
$this->phrasen['profil/bildHochladen']='Upload picture';
|
||||
$this->phrasen['profil/email']='eMail';
|
||||
$this->phrasen['profil/kontaktPrivat']='Private Contacts';
|
||||
$this->phrasen['profil/intern']='Intern';
|
||||
$this->phrasen['profil/alias']='Alias';
|
||||
$this->phrasen['profil/homepage']='Homepage';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
.fhc-ajaxclient-veil {
|
||||
position: absolute;
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/* styles for infocenter details page */
|
||||
|
||||
/* styles for right header of the zgv boxes, which includes infos and priorisierung for each prestudent.*/
|
||||
.zgvheaderbeforeprio{
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.zgvheaderrightprio{
|
||||
position: relative;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.zgvheaderrightprio button.prio{
|
||||
position: absolute;
|
||||
font-size: 19px;
|
||||
height: 13px;
|
||||
width: 18px;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.zgvheaderrightprio button.prioalone{
|
||||
top: 25%;
|
||||
}
|
||||
|
||||
.zgvheaderrightprio button.priotogetherup{
|
||||
bottom: 50%;
|
||||
}
|
||||
|
||||
.zgvheaderrightprio button.priotogetherdown{
|
||||
top: 55%;
|
||||
}
|
||||
|
||||
.zgvheaderrightprio button.prio .prioarrow{
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
right: 2px;
|
||||
left: 2px;
|
||||
}
|
||||
@@ -7,7 +7,31 @@
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
/*change of panel colors (grey) */
|
||||
.headerrightform
|
||||
{
|
||||
margin: 28px 0 20px -30px;
|
||||
padding: 6.4px 0 9px;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.headerrightform .form-group{
|
||||
margin-bottom: 0;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.headerrightform .form-control{
|
||||
height: 32px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/*heading with colored background*/
|
||||
.headercolorbg {
|
||||
background-color: #dfdfdf;
|
||||
padding: 3px 0;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/*change of panel colors (to grey) */
|
||||
.panel-primary > .panel-heading, .panel-primary > .panel-collapse > .panel-footer, .panel-primary > .panel-footer{
|
||||
color: black;
|
||||
background-color: #dfdfdf;
|
||||
@@ -42,6 +66,10 @@
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.panel-footer.solidtop{
|
||||
border-top: 1px solid #ddd
|
||||
}
|
||||
|
||||
/*required asterisk for labels for required fields*/
|
||||
.label-required:after
|
||||
{
|
||||
|
||||
@@ -744,7 +744,7 @@ var FHC_FilterWidget = {
|
||||
*/
|
||||
_renderTableDataset: function(data) {
|
||||
|
||||
if (data.hasOwnProperty("checkboxes") && data.checkboxes.trim() != "")
|
||||
if (data.hasOwnProperty("checkboxes") && data.checkboxes!=null && data.checkboxes.trim() != "")
|
||||
{
|
||||
$("#filterTableDataset > thead > tr").append("<th data-filter='false' title='Select'>Select</th>");
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ var FHC_NavigationWidget = {
|
||||
|
||||
if (item["subscriptLinkClass"] != null && item["subscriptDescription"] != null)
|
||||
{
|
||||
strLeftMenu += '<a class="' + item["subscriptLinkClass"] + ' menuSubscriptLink" value="' + item["subscriptLinkValue"] + '" href="#">' +
|
||||
strLeftMenu += '<a class="' + item["subscriptLinkClass"] + ' menuSubscriptLink" value="' + item["subscriptLinkValue"] + '" href="' + item["subscriptLinkHref"] + '">' +
|
||||
' (' + item["subscriptDescription"] + ')' +
|
||||
'</a>';
|
||||
strLeftMenu += '</span>';
|
||||
|
||||
Vendored
+7
-1
@@ -3,8 +3,14 @@
|
||||
* NOTE: avoid using this if possible
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
Bootstrapper.bootstraphtml();
|
||||
});
|
||||
|
||||
var Bootstrapper = {
|
||||
bootstraphtml: function ()
|
||||
{
|
||||
$("input[type=text], select").addClass("form-control");
|
||||
$("button, input[type=button]").addClass("btn btn-default");
|
||||
$("table").addClass("table-condensed");
|
||||
}
|
||||
);
|
||||
};
|
||||
@@ -16,21 +16,13 @@ $(document).ready(function ()
|
||||
InfocenterDetails._formatNotizTable();
|
||||
InfocenterDetails._formatLogTable();
|
||||
|
||||
//initialise datepicker
|
||||
$.datepicker.setDefaults($.datepicker.regional['de']);
|
||||
$(".dateinput").datepicker({
|
||||
"dateFormat": "dd.mm.yy"
|
||||
});
|
||||
|
||||
var personid = $("#hiddenpersonid").val();
|
||||
|
||||
//add submit event to message send link
|
||||
$("#sendmsglink").click(
|
||||
function ()
|
||||
{
|
||||
$("#sendmsgform").submit();
|
||||
}
|
||||
);
|
||||
$("#sendmsglink").click(function ()
|
||||
{
|
||||
$("#sendmsgform").submit();
|
||||
});
|
||||
|
||||
//add click events to "formal geprüft" checkboxes
|
||||
$(".prchbox").click(function ()
|
||||
@@ -41,60 +33,8 @@ $(document).ready(function ()
|
||||
InfocenterDetails.saveFormalGeprueft(personid, akteid, checked)
|
||||
});
|
||||
|
||||
//zgv übernehmen
|
||||
$(".zgvUebernehmen").click(function ()
|
||||
{
|
||||
var btn = $(this);
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
$('#zgvUebernehmenNotice').remove();
|
||||
InfocenterDetails.zgvUebernehmen(personid, prestudentid, btn)
|
||||
});
|
||||
|
||||
//zgv speichern
|
||||
$(".zgvform").on('submit', function (e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var formdata = $(this).serializeArray();
|
||||
|
||||
var data = {};
|
||||
|
||||
for (var i = 0; i < formdata.length; i++)
|
||||
{
|
||||
data[formdata[i].name] = formdata[i].value;
|
||||
}
|
||||
|
||||
InfocenterDetails.saveZgv(data);
|
||||
}
|
||||
);
|
||||
|
||||
//show popup with zgvinfo
|
||||
$(".zgvinfo").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
InfocenterDetails.openZgvInfoForPrestudent(prestudentid);
|
||||
}
|
||||
);
|
||||
|
||||
//prevent opening modal when Statusgrund not chosen
|
||||
$(".absageModal").on('show.bs.modal', function (e)
|
||||
{
|
||||
var id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var statusgrvalue = $("#statusgrselect_" + id + " select[name=statusgrund]").val();
|
||||
if (statusgrvalue === "null")
|
||||
{
|
||||
$("#statusgrselect_" + id).addClass("has-error");
|
||||
return e.preventDefault();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//remove red mark when statusgrund is selected again
|
||||
$("select[name=statusgrund]").change(
|
||||
function ()
|
||||
{
|
||||
$(this).parent().removeClass("has-error");
|
||||
}
|
||||
);
|
||||
//add click events to zgv Prüfung section
|
||||
InfocenterDetails._addZgvPruefungEvents(personid);
|
||||
|
||||
//save notiz
|
||||
$("#notizform").on("submit", function (e)
|
||||
@@ -203,6 +143,25 @@ var InfocenterDetails = {
|
||||
}
|
||||
);
|
||||
},
|
||||
saveBewPriorisierung: function(data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + '/saveBewPriorisierung',
|
||||
data,
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
if (data === true)
|
||||
{
|
||||
InfocenterDetails._refreshZgv(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("error when saving zgv Prio");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
zgvUebernehmen: function(personid, prestudentid, btn)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallGet(
|
||||
@@ -267,6 +226,55 @@ var InfocenterDetails = {
|
||||
}
|
||||
);
|
||||
},
|
||||
saveAbsage: function(data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + '/saveAbsage',
|
||||
data,
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
InfocenterDetails._refreshZgv();
|
||||
InfocenterDetails._refreshLog();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("error when saving Absage");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
saveFreigabe: function(data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + '/saveFreigabe',
|
||||
data,
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
|
||||
console.log(data.error);
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
InfocenterDetails._refreshZgv();
|
||||
InfocenterDetails._refreshLog();
|
||||
}
|
||||
else if (data.error === 2 && parseInt(data.retval.prestudent_id, 10))
|
||||
{
|
||||
alert("error when setting accepted documents");
|
||||
InfocenterDetails._refreshZgv();
|
||||
InfocenterDetails._refreshLog();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("error when saving Freigabe");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
saveNotiz: function(personid, data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
@@ -399,6 +407,145 @@ var InfocenterDetails = {
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// (private) methods executed after ajax (refreshers)
|
||||
|
||||
//adds JQuery events to ZGVprüfung section
|
||||
_addZgvPruefungEvents: function(personid)
|
||||
{
|
||||
//add bootstrap to forms
|
||||
Bootstrapper.bootstraphtml();
|
||||
|
||||
//initialise datepicker
|
||||
$.datepicker.setDefaults($.datepicker.regional['de']);
|
||||
$(".dateinput").datepicker({
|
||||
"dateFormat": "dd.mm.yy"
|
||||
});
|
||||
|
||||
//up/down prioritize Bewerbungen
|
||||
$(".prioup").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
InfocenterDetails._savePrio(prestudentid, -1);
|
||||
});
|
||||
$(".priodown").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
InfocenterDetails._savePrio(prestudentid, 1);
|
||||
});
|
||||
|
||||
//zgv übernehmen
|
||||
$(".zgvUebernehmen").click(function ()
|
||||
{
|
||||
var btn = $(this);
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
$('#zgvUebernehmenNotice').remove();
|
||||
InfocenterDetails.zgvUebernehmen(personid, prestudentid, btn);
|
||||
});
|
||||
|
||||
//zgv speichern
|
||||
$(".zgvform").on('submit', function (e)
|
||||
{
|
||||
e.preventDefault();
|
||||
var formdata = $(this).serializeArray();
|
||||
|
||||
var data = {};
|
||||
|
||||
for (var i = 0; i < formdata.length; i++)
|
||||
{
|
||||
data[formdata[i].name] = formdata[i].value;
|
||||
}
|
||||
|
||||
InfocenterDetails.saveZgv(data);
|
||||
}
|
||||
);
|
||||
|
||||
//show popup with zgvinfo
|
||||
$(".zgvinfo").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
InfocenterDetails.openZgvInfoForPrestudent(prestudentid);
|
||||
}
|
||||
);
|
||||
|
||||
//prevent opening modal when Statusgrund not chosen
|
||||
$(".absageModal").on('show.bs.modal', function (e)
|
||||
{
|
||||
var id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var statusgrvalue = $("#statusgrselect_" + id + " select[name=statusgrund]").val();
|
||||
if (statusgrvalue === "null")
|
||||
{
|
||||
$("#statusgrselect_" + id).addClass("has-error");
|
||||
return e.preventDefault();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
//remove red mark when statusgrund is selected again
|
||||
$("select[name=statusgrund]").change(
|
||||
function ()
|
||||
{
|
||||
$(this).parent().removeClass("has-error");
|
||||
}
|
||||
);
|
||||
|
||||
$(".saveAbsage").click(function()
|
||||
{
|
||||
$(".absageModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var statusgrund_id = $("#statusgrselect_" + prestudent_id + " select[name=statusgrund]").val();
|
||||
var data = {"prestudent_id": prestudent_id , "statusgrund": statusgrund_id};
|
||||
InfocenterDetails.saveAbsage(data);
|
||||
}
|
||||
);
|
||||
|
||||
$(".saveFreigabe").click(function()
|
||||
{
|
||||
$(".freigabeModal").modal("hide");
|
||||
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
|
||||
var data = {"prestudent_id": prestudent_id};
|
||||
InfocenterDetails.saveFreigabe(data);
|
||||
}
|
||||
)
|
||||
|
||||
},
|
||||
_refreshZgv: function(preserveCollapseState)
|
||||
{
|
||||
var personid = $("#hiddenpersonid").val();
|
||||
|
||||
var collapsed = {};
|
||||
|
||||
//save if panel is collapsed to preserve collapse state
|
||||
if (preserveCollapseState)
|
||||
{
|
||||
$("#zgvpruefungen").find(".panel-collapse").each(
|
||||
function()
|
||||
{
|
||||
var collapseid = $(this).prop("id");
|
||||
collapsed[collapseid] = !$(this).hasClass('collapse in');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
//show veil until refresh finished?
|
||||
//FHC_AjaxClient.showVeil();
|
||||
$("#zgvpruefungen").load(
|
||||
CONTROLLER_URL + '/reloadZgvPruefungen/' + personid + '?fhc_controller_id=' + FHC_AjaxClient.getUrlParameter('fhc_controller_id'),
|
||||
function()
|
||||
{
|
||||
InfocenterDetails._addZgvPruefungEvents(personid);
|
||||
if (preserveCollapseState)
|
||||
{
|
||||
for (var i in collapsed)
|
||||
{
|
||||
if (collapsed[i])
|
||||
$("#"+i).removeClass("in");
|
||||
else
|
||||
$("#"+i).addClass("in");
|
||||
}
|
||||
}
|
||||
//FHC_AjaxClient.hideVeil();
|
||||
}
|
||||
);
|
||||
},
|
||||
_refreshLog: function()
|
||||
{
|
||||
var personid = $("#hiddenpersonid").val();
|
||||
@@ -491,5 +638,13 @@ var InfocenterDetails = {
|
||||
_errorSaveNotiz: function()
|
||||
{
|
||||
$("#notizmsg").text(FHC_PhrasesLib.t('ui', 'fehlerBeimSpeichern'));
|
||||
},
|
||||
_savePrio: function(prestudentid, change)
|
||||
{
|
||||
var data = {
|
||||
"prestudentid": prestudentid,
|
||||
"change": change
|
||||
};
|
||||
InfocenterDetails.saveBewPriorisierung(data);
|
||||
}
|
||||
};
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 95 KiB |
+113
-43
@@ -25,6 +25,7 @@ require_once('../include/functions.inc.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/dvb.class.php');
|
||||
require_once('../include/errorhandler.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
@@ -39,9 +40,9 @@ if (isset($_GET['action']))
|
||||
else
|
||||
$action = 'getBySvnr';
|
||||
|
||||
$username = filter_input(INPUT_POST, 'username');
|
||||
$password = filter_input(INPUT_POST, 'password');
|
||||
$bildungseinrichtung = filter_input(INPUT_POST, 'bildungseinrichtung');
|
||||
$username = DVB_USERNAME;
|
||||
$password = DVB_PASSWORD;
|
||||
|
||||
$studienjahr = filter_input(INPUT_POST, 'studienjahr');
|
||||
$matrikelnr = filter_input(INPUT_POST, 'matrikelnummer');
|
||||
$nachname = filter_input(INPUT_POST, 'nachname');
|
||||
@@ -54,6 +55,7 @@ $matura = filter_input(INPUT_POST, 'matura');
|
||||
$svnr = filter_input(INPUT_POST, 'svnr');
|
||||
$ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
||||
$person_id = filter_input(INPUT_POST, 'person_id');
|
||||
$strasse = filter_input(INPUT_POST, 'strasse');
|
||||
|
||||
?><!DOCTYPE html>
|
||||
<html>
|
||||
@@ -71,11 +73,18 @@ $person_id = filter_input(INPUT_POST, 'person_id');
|
||||
Matrikelnummer nach Ersatzkennzeichen suchen
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="datenverbund_client.php?action=getByNachname">Matrikelnummer nach Nachname suchen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getReservations">Matrikelnummer Reservierungen anzeigen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getKontingent">Matrikelnummer Kontingent anfordern</a></li>
|
||||
<li><a href="datenverbund_client.php?action=setMatrikelnummer">Matrikelnummer Vergabe melden</a></li>
|
||||
<li><a href="datenverbund_client.php?action=assignMatrikelnummer">Gesamtprozess (Abfrage, ggf Vergabemeldung, Speichern bei Person)</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getBPK">BPK ermitteln</a></li>
|
||||
<li><a href="datenverbund_client.php?action=pruefeBPK">BPK ermitteln manuell</a></li>
|
||||
</ul>
|
||||
<?php
|
||||
echo "<br>Portal: ".DVB_PORTAL;
|
||||
echo "<br>Bildungseinrichtung: ".DVB_BILDUNGSEINRICHTUNG_CODE;
|
||||
?>
|
||||
<br><br>
|
||||
<form action="<?php echo $_SERVER['PHP_SELF'].'?action='.$action; ?>" method="post">
|
||||
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
|
||||
@@ -103,9 +112,6 @@ $person_id = filter_input(INPUT_POST, 'person_id');
|
||||
</tr>';
|
||||
}
|
||||
|
||||
printrow('username', 'Username', $username, '', 100);
|
||||
printrow('password', 'Passwort', $password, '', 100, 'password');
|
||||
|
||||
switch($action)
|
||||
{
|
||||
case 'getOAuth':
|
||||
@@ -118,25 +124,17 @@ $person_id = filter_input(INPUT_POST, 'person_id');
|
||||
case 'getByErsatzkennzeichen':
|
||||
printrow('ersatzkennzeichen', 'Ersatzkennzeichen', $ersatzkennzeichen);
|
||||
break;
|
||||
case 'getByNachname':
|
||||
printrow('nachname', 'Nachname', $nachname);
|
||||
printrow('geburtsdatum', 'Geburtsdatum', $geburtsdatum, ' (Format: YYYYMMDD)', 8);
|
||||
break;
|
||||
|
||||
case 'getReservations':
|
||||
case 'getKontingent':
|
||||
printrow(
|
||||
'bildungseinrichtung',
|
||||
'Bildungseinrichtung',
|
||||
$bildungseinrichtung,
|
||||
'Kurzzeichen der Bildungseinrichtung'
|
||||
);
|
||||
printrow('studienjahr', 'Studienjahr', $studienjahr, 'zB 2016 (für WS2016 und SS2017)', 4);
|
||||
break;
|
||||
|
||||
case 'setMatrikelnummer':
|
||||
printrow(
|
||||
'bildungseinrichtung',
|
||||
'Bildungseinrichtung',
|
||||
$bildungseinrichtung,
|
||||
'Kurzzeichen der Bildungseinrichtung'
|
||||
);
|
||||
printrow('matrikelnummer', 'Matrikelnummer', $matrikelnr);
|
||||
printrow('nachname', 'Nachname', $nachname, '', 255);
|
||||
printrow('vorname', 'Vorname', $vorname, '', 30);
|
||||
@@ -144,7 +142,7 @@ $person_id = filter_input(INPUT_POST, 'person_id');
|
||||
printrow('geschlecht', 'Geschlecht', $geschlecht, 'Format: M | W', 1);
|
||||
printrow('postleitzahl', 'Postleitzahl', $postleitzahl, '', 10);
|
||||
printrow('staat', 'Staat', $staat, '1-3 Stellen Codex (zb A für Österreich)', 3);
|
||||
printrow('svnr', 'SVNR', $staat);
|
||||
printrow('svnr', 'SVNR', $svnr);
|
||||
printrow('matura', 'Maturadatum', $matura, 'Format: YYYYMMDD (optional)', 10);
|
||||
break;
|
||||
|
||||
@@ -152,6 +150,20 @@ $person_id = filter_input(INPUT_POST, 'person_id');
|
||||
printrow('person_id', 'PersonID', $person_id);
|
||||
break;
|
||||
|
||||
case 'getBPK':
|
||||
printrow('person_id', 'PersonID', $person_id);
|
||||
break;
|
||||
|
||||
case 'pruefeBPK':
|
||||
printrow('nachname', 'Nachname', $nachname, '', 255);
|
||||
printrow('vorname', 'Vorname', $vorname, '', 30);
|
||||
printrow('geburtsdatum', 'Geburtsdatum', $geburtsdatum, 'Format: YYYYMMDD', 10);
|
||||
printrow('geschlecht', 'Geschlecht', $geschlecht, 'Format: M | W', 1);
|
||||
printrow('postleitzahl', 'Postleitzahl', $postleitzahl, 'optional', 10);
|
||||
printrow('strasse', 'Strasse', $strasse, 'optional', 255);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
echo "Unknown action";
|
||||
break;
|
||||
@@ -180,44 +192,80 @@ if (isset($_REQUEST['submit']))
|
||||
switch ($action)
|
||||
{
|
||||
case 'getOAuth':
|
||||
if ($dvb->authenticate())
|
||||
$result = $dvb->authenticate();
|
||||
if (ErrorHandler::isSuccess($result))
|
||||
echo '<br><b>OAuth Bearer Token:</b> '.$dvb->authentication->access_token;
|
||||
else
|
||||
echo '<br><b>Failed:</b> '.$dvb->errormsg;
|
||||
break;
|
||||
|
||||
case 'getBySvnr':
|
||||
$matrikelnr = $dvb->getMatrikelnrBySVNR($_POST['svnr']);
|
||||
if ($matrikelnr !== false)
|
||||
echo '<br><b>Matrikelnummer vorhanden:</b>'.$matrikelnr;
|
||||
$data = $dvb->getMatrikelnrBySVNR($_POST['svnr']);
|
||||
|
||||
if(ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
|
||||
{
|
||||
echo '<br><b>Matrikelnummer vorhanden:</b> '.$data->retval->matrikelnummer;
|
||||
if(isset($data->retval->bpk) && $data->retval->bpk!='')
|
||||
echo '<br><b>BPK vorhanden:</b> '.$data->retval->bpk;
|
||||
}
|
||||
else
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$dvb->errormsg;
|
||||
{
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'getByErsatzkennzeichen':
|
||||
$matrikelnr = $dvb->getMatrikelnrByErsatzkennzeichen($_POST['ersatzkennzeichen']);
|
||||
if ($matrikelnr !== false)
|
||||
echo '<br><b>Matrikelnummer vorhanden:</b>'.$matrikelnr;
|
||||
$data = $dvb->getMatrikelnrByErsatzkennzeichen($_POST['ersatzkennzeichen']);
|
||||
|
||||
if (ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
|
||||
echo '<br><b>Matrikelnummer vorhanden:</b>'.$data->retval->matrikelnummer;
|
||||
else
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$dvb->errormsg;
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
|
||||
break;
|
||||
|
||||
case 'getReservations':
|
||||
$reservierteNummern = $dvb->getReservations($_POST['bildungseinrichtung'], $_POST['studienjahr']);
|
||||
case 'getByNachname':
|
||||
$data = $dvb->getMatrikelnrByNachname($_POST['nachname'], $_POST['geburtsdatum']);
|
||||
|
||||
if ($reservierteNummern !== false)
|
||||
echo '<br><b>Reservierte Nummern:</b>'.print_r($reservierteNummern, true);
|
||||
if(ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
|
||||
{
|
||||
if(isset($data->retval->data) && is_array($data->retval->data) && count($data->retval->data)>0)
|
||||
{
|
||||
echo '<br><b>Daten gefunden:</b> ';
|
||||
var_dump($data->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'keine Einträge gefunden';
|
||||
}
|
||||
}
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
||||
{
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
|
||||
}
|
||||
break;
|
||||
case 'getReservations':
|
||||
$result = $dvb->getReservations(DVB_BILDUNGSEINRICHTUNG_CODE, $_POST['studienjahr']);
|
||||
if(ErrorHandler::isSuccess($result) && ErrorHandler::hasData($result))
|
||||
{
|
||||
$reservierteNummern = $result->retval->reservations;
|
||||
if ($reservierteNummern !== false)
|
||||
echo '<br><b>Reservierte Nummern:</b>'.print_r($reservierteNummern, true);
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'getKontingent':
|
||||
$kontingent = $dvb->getKontingent($_POST['bildungseinrichtung'], $_POST['studienjahr']);
|
||||
$result = $dvb->getKontingent(DVB_BILDUNGSEINRICHTUNG_CODE, $_POST['studienjahr']);
|
||||
|
||||
if ($kontingent !== false)
|
||||
echo '<br><b>Kontingent:</b>'.print_r($kontingent, true);
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
||||
if(ErrorHandler::isSuccess($result) && ErrorHandler::hasData($result))
|
||||
{
|
||||
$kontingent = $result->retval->kontingent;
|
||||
if ($kontingent !== false)
|
||||
echo '<br><b>Kontingent:</b>'.print_r($kontingent, true);
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'setMatrikelnummer':
|
||||
@@ -232,27 +280,49 @@ if (isset($_REQUEST['submit']))
|
||||
$person->matura = $matura; // Optional
|
||||
$person->svnr = $svnr; // Optional
|
||||
|
||||
if ($dvb->setMatrikelnummer($_POST['bildungseinrichtung'], $person))
|
||||
$result = $dvb->setMatrikelnummer(DVB_BILDUNGSEINRICHTUNG_CODE, $person);
|
||||
|
||||
if (ErrorHandler::isSuccess($result))
|
||||
echo '<br><b>Erfolgreich gemeldet</b>';
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
|
||||
break;
|
||||
|
||||
case 'assignMatrikelnummer':
|
||||
if($dvb->assignMatrikelnummer($person_id))
|
||||
$result = $dvb->assignMatrikelnummer($person_id);
|
||||
if(ErrorHandler::isSuccess($result))
|
||||
{
|
||||
echo '<br><b>OK</b>';
|
||||
}
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
|
||||
break;
|
||||
|
||||
case 'getBPK':
|
||||
$data = $dvb->getBPK($person_id);
|
||||
if(ErrorHandler::isSuccess($data))
|
||||
{
|
||||
echo '<br><b>OK BPK:</b> '.$data->retval->bpk;
|
||||
}
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
|
||||
break;
|
||||
|
||||
case 'pruefeBPK':
|
||||
$data = $dvb->pruefeBPK($geburtsdatum, $vorname, $nachname, $geschlecht, $postleitzahl, $strasse);
|
||||
if(ErrorHandler::isSuccess($data))
|
||||
{
|
||||
echo '<br><b>OK BPK:</b> '.$data->retval->bpk;
|
||||
}
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$data->errormsg;
|
||||
break;
|
||||
default:
|
||||
echo "Unknown action";
|
||||
break;
|
||||
}
|
||||
if (isset($_POST['debug']))
|
||||
echo '<div style="color: gray">'.$dvb->debug_output.'</div>';
|
||||
echo '<div style="color: gray">'.nl2br(htmlentities($dvb->debug_output)).'</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -609,7 +609,7 @@ $text .= "<br><br>Studierender hat keine Matrikelnummer<br><br>";
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct on (person_id)
|
||||
distinct on (tbl_person.person_id)
|
||||
tbl_student.student_uid,
|
||||
tbl_prestudent.prestudent_id,
|
||||
tbl_prestudent.studiengang_kz as studiengang
|
||||
@@ -618,7 +618,7 @@ FROM
|
||||
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN public.tbl_student USING(prestudent_id)
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
JOIN public.tbl_benutzer ON(tbl_student.student_uid=tbl_benutzer.uid)
|
||||
WHERE
|
||||
status_kurzbz in('Student', 'Diplomand', 'Absolvent', 'Abbrecher')
|
||||
AND tbl_prestudent.bismelden
|
||||
@@ -637,6 +637,62 @@ if ($result = $db->db_query($qry))
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Bewerber die nicht zum Reihungstest angetreten gesetzt sind
|
||||
*/
|
||||
$text .= "<br><br>Bewerber aber kein ReihungstestAngetreten gesetzt<br><br>";
|
||||
$lastSem = $studiensemester->getPreviousFrom($aktSem);
|
||||
$qry="SELECT vorname, nachname, tbl_prestudent.prestudent_id, studiengang_kz FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
|
||||
WHERE (studiensemester_kurzbz=".$db->db_add_param($aktSem)." OR studiensemester_kurzbz=".$db->db_add_param($lastSem).")
|
||||
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz)."
|
||||
AND status_kurzbz='Bewerber' AND reihungstestangetreten=false
|
||||
";
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$ausgabe[$row->studiengang_kz][15][] = $row->vorname.' '.$row->nachname.
|
||||
' ('.$row->prestudent_id.')';
|
||||
$text .= $row->vorname.' '.$row->nachname.
|
||||
' ('.$row->prestudent_id.')';
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Nation der Adresse ist ungleich Österreicher, die Gemeinde ist aber in der Gemeinde Tabelle enthalten
|
||||
*/
|
||||
$text .= "<br><br>Adressnation ausserhalb Österreich mit Gemeinde in Gemeindetabelle<br><br>";
|
||||
$lastSem = $studiensemester->getPreviousFrom($aktSem);
|
||||
$qry="SELECT tbl_person.vorname, tbl_person.nachname, tbl_prestudent.studiengang_kz, tbl_student.student_uid
|
||||
FROM
|
||||
public.tbl_adresse
|
||||
JOIN public.tbl_prestudent USING(person_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
JOIN public.tbl_student USING(prestudent_id)
|
||||
JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
WHERE
|
||||
tbl_adresse.nation!='A'
|
||||
AND tbl_benutzer.aktiv
|
||||
AND gemeinde NOT IN ('Münster')
|
||||
AND EXISTS(SELECT 1 FROM bis.tbl_gemeinde WHERE name = tbl_adresse.gemeinde)
|
||||
ORDER BY tbl_prestudent.studiengang_kz, tbl_person.nachname
|
||||
";
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$ausgabe[$row->studiengang_kz][16][] = $row->vorname.' '.$row->nachname.
|
||||
' ('.$row->student_uid.')';
|
||||
$text .= $row->vorname.' '.$row->nachname.
|
||||
' ('.$row->student_uid.')';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Ausgabe der Studenten
|
||||
foreach ($ausgabe as $stg_kz => $value)
|
||||
{
|
||||
@@ -795,7 +851,24 @@ foreach ($ausgabe as $stg_kz => $value)
|
||||
<td colspan='4'><b>Aktive Studierende ohne Matrikelnummer</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
|
||||
case 15:
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Folgende Personen wurden zu Bewerbern gemacht, sind aber nicht zum Reihungstest angetreten.</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
case 16:
|
||||
echo "
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='4'><b>Folgende Personen haben eine Adresse mit Nation Österreichs, die Gemeinde liegt aber in Österreich</b></td>
|
||||
</tr>";
|
||||
break;
|
||||
default:
|
||||
echo "<tr><td> </td></tr><tr><td colspan='4'><b>Ungültiger Code</b></td></tr>";
|
||||
break;
|
||||
|
||||
+31
-3
@@ -1522,6 +1522,33 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_person_lock LIMIT 1"))
|
||||
echo ' system.tbl_person_lock hinzugefügt<br>';
|
||||
}
|
||||
|
||||
// Spalte bezeichnung_mehrsprachig in public.tbl_kontakttyp
|
||||
if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_kontakttyp LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_kontakttyp ADD COLUMN bezeichnung_mehrsprachig varchar(128)[];";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_kontakttyp '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_kontakttyp: Spalte bezeichnung_mehrsprachig hinzugefuegt!<br>';
|
||||
|
||||
// Bezeichnung_mehrsprachig aus existierender Bezeichnung vorausfuellen. Ein Eintrag fuer jede Sprache mit Content aktiv.
|
||||
$qry_help = "SELECT index FROM public.tbl_sprache WHERE content=TRUE;";
|
||||
if(!$result = $db->db_query($qry_help))
|
||||
echo '<strong>tbl_kontakttyp bezeichnung_mehrsprachig: Fehler beim ermitteln der Sprachen: '.$db->db_last_error().'</strong>';
|
||||
else
|
||||
{
|
||||
$qry='';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$qry.= "UPDATE public.tbl_kontakttyp set bezeichnung_mehrsprachig[".$row->index."] = beschreibung;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Setzen der bezeichnung_mehrsprachig fehlgeschlagen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_kontakttyp: bezeichnung_mehrprachig automatisch aus existierender Beschreibung uebernommen<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// INSERT Berechtigungen fuer web User erteilen fuer tbl_msg_status
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_msg_status' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'"))
|
||||
{
|
||||
@@ -1550,6 +1577,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Kommentare fuer Datenbanktabellen
|
||||
*/
|
||||
@@ -2455,14 +2483,14 @@ if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1"))
|
||||
echo '<br>public.tbl_firma: Spalte lieferant hinzugefuegt';
|
||||
}
|
||||
|
||||
// INSERT, UPDATE und DELETE Berechtigungen fuer web User erteilen fuer tbl_rt_person und SEQUENCE public.tbl_rt_person_rt_person_id_seq
|
||||
// INSERT, UPDATE und DELETE Berechtigungen fuer web User erteilen fuer tbl_rt_person und SEQUENCE public.tbl_rt_person_rt_person_id_seq
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_rt_person' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_rt_person TO web;
|
||||
GRANT SELECT, UPDATE ON SEQUENCE public.tbl_rt_person_rt_person_id_seq TO web;";
|
||||
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_rt_person Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
@@ -2647,7 +2675,7 @@ $tabellen=array(
|
||||
"public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz","gid","content_visible","gesperrt","zutrittssystem","aufnahmegruppe"),
|
||||
"public.tbl_kontakt" => array("kontakt_id","person_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id"),
|
||||
"public.tbl_kontaktmedium" => array("kontaktmedium_kurzbz","beschreibung"),
|
||||
"public.tbl_kontakttyp" => array("kontakttyp","beschreibung"),
|
||||
"public.tbl_kontakttyp" => array("kontakttyp","beschreibung","bezeichnung_mehrsprachig"),
|
||||
"public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id","credit_points", "zahlungsreferenz", "anmerkung"),
|
||||
"public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz","gid"),
|
||||
"public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"),
|
||||
|
||||
@@ -300,6 +300,28 @@ $filters = array(
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'overview',
|
||||
'filter_kurzbz' => 'BPKWartung',
|
||||
'description' => '{bPK Uebersicht}',
|
||||
'sort' => 1,
|
||||
'default_filter' => true,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "Fehlende bPK",
|
||||
"columns": [
|
||||
{"name": "person_id"},
|
||||
{"name": "vorname"},
|
||||
{"name": "nachname"},
|
||||
{"name": "svnr"},
|
||||
{"name": "ersatzkennzeichen"}
|
||||
],
|
||||
"filters": []
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@@ -53,28 +53,28 @@ if(isset($_FILES['datei']))
|
||||
$dom = new DOMDocument();
|
||||
$dom->load($_FILES['datei']['tmp_name']);
|
||||
$studierende = $dom->getElementsByTagName('studierende');
|
||||
if(isset($studierende[0]))
|
||||
if($studierende->length > 0)
|
||||
{
|
||||
$domnodes_personen = $studierende[0]->getElementsByTagName('personen');
|
||||
$domnodes_personen = $studierende->item(0)->getElementsByTagName('personen');
|
||||
foreach($domnodes_personen as $row_person)
|
||||
{
|
||||
$personid_node = $row_person->getElementsByTagName('personId');
|
||||
if(isset($personid_node[0]))
|
||||
if($personid_node->length > 0)
|
||||
{
|
||||
$node_bpk = $personid_node[0]->getElementsByTagName('bpk');
|
||||
$node_personenkennzeichen = $personid_node[0]->getElementsByTagName('personenkennzeichen');
|
||||
$node_matrikelnr = $personid_node[0]->getElementsByTagName('matrikelnummer');
|
||||
$node_bpk = $personid_node->item(0)->getElementsByTagName('bpk');
|
||||
$node_personenkennzeichen = $personid_node->item(0)->getElementsByTagName('personenkennzeichen');
|
||||
$node_matrikelnr = $personid_node->item(0)->getElementsByTagName('matrikelnummer');
|
||||
|
||||
$bpk = '';
|
||||
$personenkennzeichen = '';
|
||||
$matrikelnr = '';
|
||||
|
||||
if (isset($node_bpk[0]))
|
||||
$bpk = $node_bpk[0]->textContent;
|
||||
if (isset($node_personenkennzeichen[0]))
|
||||
$personenkennzeichen = $node_personenkennzeichen[0]->textContent;
|
||||
if (isset($node_matrikelnr[0]))
|
||||
$matrikelnr = $node_matrikelnr[0]->textContent;
|
||||
if ($node_bpk->length > 0)
|
||||
$bpk = $node_bpk->item(0)->textContent;
|
||||
if ($node_personenkennzeichen->length > 0)
|
||||
$personenkennzeichen = $node_personenkennzeichen->item(0)->textContent;
|
||||
if ($node_matrikelnr->length > 0)
|
||||
$matrikelnr = $node_matrikelnr->item(0)->textContent;
|
||||
|
||||
if($personenkennzeichen != '')
|
||||
{
|
||||
|
||||
+221
-40
@@ -18,7 +18,7 @@
|
||||
* Authors: Cristina Hainberger <hainberg@technikum-wien.at>
|
||||
*
|
||||
* Beschreibung:
|
||||
* The script checks phrases and phrase-texts for actuality in the database.
|
||||
* The script checks phrases and phrase-texts for actuality in the database.
|
||||
* Missing attributes are inserted.
|
||||
*/
|
||||
|
||||
@@ -928,7 +928,7 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
@@ -949,7 +949,7 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
@@ -970,8 +970,49 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
'phrase' => 'nichtvorhanden',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'n.v.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'n/a',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
'phrase' => 'ohne',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'ohne',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'without',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
//******************************* CORE/ui
|
||||
array(
|
||||
'app' => 'core',
|
||||
@@ -1333,8 +1374,8 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
//*************************** CORE/filter
|
||||
array(
|
||||
'app' => 'core',
|
||||
@@ -1356,7 +1397,7 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'filter',
|
||||
@@ -1377,7 +1418,7 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'filter',
|
||||
@@ -1398,7 +1439,7 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'filter',
|
||||
@@ -1419,10 +1460,10 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//**************************** CORE/person
|
||||
array(
|
||||
'app' => 'core',
|
||||
@@ -1644,6 +1685,46 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'ersatzkennzeichen',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ersatzkennzeichen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => '',
|
||||
'description' => 'Replacement Label',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'bpk',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'bPK',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => '',
|
||||
'description' => 'bPK',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
@@ -1804,7 +1885,87 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'postleitzahl',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Postleitzahl',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => '',
|
||||
'description' => 'ZIP-Code',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'strasse',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Strasse',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => '',
|
||||
'description' => 'Street',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'titelpre',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'TitelPre',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'TitlePre',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'person',
|
||||
'phrase' => 'titelpost',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'TitelPost',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'TitlePost',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
//**************** CORE/lehre
|
||||
array(
|
||||
'app' => 'core',
|
||||
@@ -1966,9 +2127,9 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//********************** INFOCENTER/infocenter
|
||||
array(
|
||||
'app' => 'infocenter',
|
||||
@@ -2600,7 +2761,7 @@ $phrases = array(
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bei Freigabe von InteressentInnen wird deren Interessentenstatus bestätigt
|
||||
'text' => 'Bei Freigabe von InteressentInnen wird deren Interessentenstatus bestätigt
|
||||
und deren Zgvdaten können im Infocenter nicht mehr bearbeitet oder freigegeben werden.<br/>
|
||||
Alle nicht gespeicherten Zgvdaten gehen verloren.<br/>
|
||||
Fortfahren?',
|
||||
@@ -2755,6 +2916,26 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'infocenter',
|
||||
'category' => 'infocenter',
|
||||
'phrase' => 'priorisierung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'prio',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'prio',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
@@ -2895,19 +3076,19 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
);
|
||||
|
||||
|
||||
//***** CHECK PHRASES & PHRASENTEXTE in German and English.
|
||||
//***** CHECK PHRASES & PHRASENTEXTE in German and English.
|
||||
//***** INSERT into phrase_tbl if new app + category + phrase found in phrasen-array.
|
||||
//***** INSERT into phrasentext_tbl if new text found in phrasen-phrases-array, conciders every language apart.
|
||||
|
||||
foreach ($phrases as $phrase)
|
||||
{
|
||||
$qry = "SELECT phrase_id
|
||||
$qry = "SELECT phrase_id
|
||||
FROM system.tbl_phrase
|
||||
WHERE
|
||||
WHERE
|
||||
app=". $db->db_add_param($phrase['app']). " AND
|
||||
category=". $db->db_add_param($phrase['category']). " AND
|
||||
phrase=". $db->db_add_param($phrase['phrase']);
|
||||
@@ -2916,16 +3097,16 @@ foreach ($phrases as $phrase)
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$phrase_id = '';
|
||||
|
||||
|
||||
//phrase not existing -> insert phrase and get last inserted phrase_id
|
||||
if ($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry_insert = "INSERT INTO system.tbl_phrase(
|
||||
app,
|
||||
phrase,
|
||||
insertamum,
|
||||
insertvon,
|
||||
category)
|
||||
app,
|
||||
phrase,
|
||||
insertamum,
|
||||
insertvon,
|
||||
category)
|
||||
VALUES(".
|
||||
$db->db_add_param($phrase['app']). ','.
|
||||
$db->db_add_param($phrase['phrase']). ','.
|
||||
@@ -2936,7 +3117,7 @@ foreach ($phrases as $phrase)
|
||||
if ($db->db_query($qry_insert))
|
||||
{
|
||||
$new = true;
|
||||
|
||||
|
||||
$qry_lastId = "SELECT currval('system.tbl_phrase_phrase_id_seq') as id";
|
||||
if ($db->db_query($qry_lastId))
|
||||
{
|
||||
@@ -2960,37 +3141,37 @@ foreach ($phrases as $phrase)
|
||||
}
|
||||
echo 'Kategorie/Phrase: '. $phrase['category']. '/'. $phrase['phrase']. ' vorhanden.<br>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//*** CHECK PHRASENTEXT
|
||||
//loop through languages
|
||||
foreach ($phrase['phrases'] as $phrase_phrases)
|
||||
{
|
||||
$language = $phrase_phrases['sprache'];
|
||||
|
||||
|
||||
//query phrasentext in certain language
|
||||
$qry_language =
|
||||
"SELECT *
|
||||
FROM system.tbl_phrasentext
|
||||
WHERE
|
||||
WHERE
|
||||
phrase_id=". $phrase_id. " AND
|
||||
sprache='". $language. "'";
|
||||
|
||||
|
||||
|
||||
|
||||
if ($result_language = $db->db_query($qry_language))
|
||||
{
|
||||
//if phrasentext not existing in certain language -> insert
|
||||
if ($db->db_num_rows($result_language) === 0 && !empty($phrase_phrases['text']))
|
||||
{
|
||||
$qry_insert = "INSERT INTO system.tbl_phrasentext(
|
||||
phrase_id,
|
||||
sprache,
|
||||
phrase_id,
|
||||
sprache,
|
||||
orgeinheit_kurzbz,
|
||||
orgform_kurzbz,
|
||||
text,
|
||||
description,
|
||||
insertamum,
|
||||
insertvon)
|
||||
insertamum,
|
||||
insertvon)
|
||||
VALUES(".
|
||||
$db->db_add_param($phrase_id, FHC_INTEGER). ','.
|
||||
$db->db_add_param($phrase_phrases['sprache']). ','.
|
||||
|
||||
Binary file not shown.
@@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
@@ -53,7 +53,7 @@
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="28pt" officeooo:rsid="0006c6a3" officeooo:paragraph-rsid="0006c6a3" style:font-size-asian="28pt" style:font-size-complex="28pt"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
|
||||
|
||||
<office:body>
|
||||
<xsl:apply-templates select="pruefung"/>
|
||||
</office:body>
|
||||
@@ -73,6 +73,7 @@
|
||||
<xsl:if test="staatsbuergerschaft = ''">
|
||||
<text:p text:style-name="P4">Staatsbürgerschaft nicht angegeben</text:p>
|
||||
</xsl:if>
|
||||
<xsl:if test="pruefungstyp_kurzbz != 'Bachelor'"><text:p text:style-name="P4">Prüfungstyp passt nicht zu diesem Dokumenttyp</text:p></xsl:if>
|
||||
<xsl:if test="datum = ''">
|
||||
<text:p text:style-name="P4">Datum der Abschlussprüfung nicht gesetzt</text:p>
|
||||
</xsl:if>
|
||||
@@ -98,19 +99,19 @@
|
||||
<xsl:value-of select="name" />
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1">born <xsl:value-of select="gebdatum" /> in
|
||||
<text:p text:style-name="P1">born <xsl:value-of select="gebdatum" /> in
|
||||
<xsl:if test="string-length(gebort)!=0">
|
||||
<xsl:value-of select="gebort" />
|
||||
<xsl:text>, </xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="geburtsnation_engl" />, citizen of <xsl:value-of select="staatsbuergerschaft_engl" />,</text:p>
|
||||
<text:p text:style-name="P1">student of the University of Applied Sciences
|
||||
<text:p text:style-name="P1">student of the University of Applied Sciences
|
||||
<xsl:choose>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diploma</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Course</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Short study</xsl:when>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diploma</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Course</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Short study</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:if test="stg_art != 'l' or 'k'" >'s</xsl:if> degree program</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -145,4 +146,4 @@
|
||||
</text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
@@ -53,7 +53,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="28pt" officeooo:rsid="0006c6a3" officeooo:paragraph-rsid="0006c6a3" style:font-size-asian="28pt" style:font-size-complex="28pt"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
|
||||
|
||||
<office:body>
|
||||
<xsl:apply-templates select="pruefung"/>
|
||||
</office:body>
|
||||
@@ -68,15 +68,16 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
</text:sequence-decls>
|
||||
|
||||
|
||||
<text:p text:style-name="Seitenumbruch">Diplom-Urkunde</text:p>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="staatsbuergerschaft = ''"><text:p text:style-name="P4">Staatsbürgerschaft nicht angegeben</text:p></xsl:if>
|
||||
<xsl:if test="pruefungstyp_kurzbz != 'Bachelor'"><text:p text:style-name="P4">Prüfungstyp passt nicht zu diesem Dokumenttyp</text:p></xsl:if>
|
||||
<xsl:if test="datum = ''"><text:p text:style-name="P4">Datum der Abschlussprüfung nicht gesetzt</text:p></xsl:if>
|
||||
<xsl:if test="titel = ''"><text:p text:style-name="P4">Kein akademischer Grad ausgewählt</text:p></xsl:if>
|
||||
<xsl:if test="sponsion = ''"><text:p text:style-name="P4">Sponsionsdatum nicht gesetzt</text:p></xsl:if>
|
||||
<xsl:if test="bescheidbgbl1 = ''"><text:p text:style-name="P4">Bundesgesetzblattnummer (BGBl) beim Studiengang ist nicht gesetzt</text:p></xsl:if>
|
||||
|
||||
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -86,7 +87,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P3"><xsl:value-of select="anrede" /><xsl:text> </xsl:text><xsl:value-of select="name" /></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1">geboren am <xsl:value-of select="gebdatum" /> in
|
||||
<text:p text:style-name="P1">geboren am <xsl:value-of select="gebdatum" /> in
|
||||
<xsl:if test="string-length(gebort)!=0">
|
||||
<xsl:value-of select="gebort" />
|
||||
<xsl:text>, </xsl:text>
|
||||
@@ -103,15 +104,15 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<xsl:otherwise>
|
||||
<xsl:text>die/der</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:choose>
|
||||
<xsl:if test="stg_art != 'k'"> den</xsl:if>
|
||||
<xsl:if test="stg_art = 'k'"> das</xsl:if>
|
||||
<xsl:if test="stg_art = 'k'"> das</xsl:if>
|
||||
Fachhochschul-<xsl:choose>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diplom</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Lehrgang</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Kurzstudium</xsl:when>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diplom</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Lehrgang</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Kurzstudium</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:if test="stg_art != 'k' or 'l'">-Studiengang</xsl:if></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -139,4 +140,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P1"><xsl:value-of select="rektor" /></text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
@@ -53,7 +53,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="28pt" officeooo:rsid="0006c6a3" officeooo:paragraph-rsid="0006c6a3" style:font-size-asian="28pt" style:font-size-complex="28pt"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
|
||||
|
||||
<office:body>
|
||||
<xsl:apply-templates select="pruefung"/>
|
||||
</office:body>
|
||||
@@ -71,11 +71,12 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="Seitenumbruch">Diploma</text:p>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="staatsbuergerschaft = ''"><text:p text:style-name="P4">Staatsbürgerschaft nicht angegeben</text:p></xsl:if>
|
||||
<xsl:if test="pruefungstyp_kurzbz != 'Diplom'"><text:p text:style-name="P4">Prüfungstyp passt nicht zu diesem Dokumenttyp</text:p></xsl:if>
|
||||
<xsl:if test="datum = ''"><text:p text:style-name="P4">Datum der Abschlussprüfung nicht gesetzt</text:p></xsl:if>
|
||||
<xsl:if test="titel = ''"><text:p text:style-name="P4">Kein akademischer Grad ausgewählt</text:p></xsl:if>
|
||||
<xsl:if test="sponsion = ''"><text:p text:style-name="P4">Sponsionsdatum nicht gesetzt</text:p></xsl:if>
|
||||
<xsl:if test="bescheidbgbl1 = ''"><text:p text:style-name="P4">Bundesgesetzblattnummer (BGBl) beim Studiengang ist nicht gesetzt</text:p></xsl:if>
|
||||
|
||||
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -85,19 +86,19 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P3"><xsl:value-of select="anrede_engl" /><xsl:text> </xsl:text><xsl:value-of select="name" /></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1">born <xsl:value-of select="gebdatum" /> in
|
||||
<text:p text:style-name="P1">born <xsl:value-of select="gebdatum" /> in
|
||||
<xsl:if test="string-length(gebort)!=0">
|
||||
<xsl:value-of select="gebort" />
|
||||
<xsl:text>, </xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="geburtsnation_engl" />, citizen of <xsl:value-of select="staatsbuergerschaft_engl" />,</text:p>
|
||||
<text:p text:style-name="P1">student of the University of Applied Sciences
|
||||
<text:p text:style-name="P1">student of the University of Applied Sciences
|
||||
<xsl:choose>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diploma</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Course</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Short study</xsl:when>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diploma</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Course</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Short study</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:if test="stg_art != 'l' or 'k'" >'s</xsl:if> degree program</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -124,4 +125,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P1"><xsl:value-of select="rektor" /></text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
<xsl:stylesheet
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
@@ -53,7 +53,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="28pt" officeooo:rsid="0006c6a3" officeooo:paragraph-rsid="0006c6a3" style:font-size-asian="28pt" style:font-size-complex="28pt"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
|
||||
|
||||
<office:body>
|
||||
<xsl:apply-templates select="pruefung"/>
|
||||
</office:body>
|
||||
@@ -68,15 +68,16 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
</text:sequence-decls>
|
||||
|
||||
|
||||
<text:p text:style-name="Seitenumbruch">Diplom-Urkunde</text:p>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="staatsbuergerschaft = ''"><text:p text:style-name="P4">Staatsbürgerschaft nicht angegeben</text:p></xsl:if>
|
||||
<xsl:if test="pruefungstyp_kurzbz != 'Diplom'"><text:p text:style-name="P4">Prüfungstyp passt nicht zu diesem Dokumenttyp</text:p></xsl:if>
|
||||
<xsl:if test="datum = ''"><text:p text:style-name="P4">Datum der Abschlussprüfung nicht gesetzt</text:p></xsl:if>
|
||||
<xsl:if test="titel = ''"><text:p text:style-name="P4">Kein akademischer Grad ausgewählt</text:p></xsl:if>
|
||||
<xsl:if test="sponsion = ''"><text:p text:style-name="P4">Sponsionsdatum nicht gesetzt</text:p></xsl:if>
|
||||
<xsl:if test="bescheidbgbl1 = ''"><text:p text:style-name="P4">Bundesgesetzblattnummer (BGBl) beim Studiengang ist nicht gesetzt</text:p></xsl:if>
|
||||
|
||||
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -86,7 +87,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P3"><xsl:value-of select="anrede" /><xsl:text> </xsl:text><xsl:value-of select="name" /></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<text:p text:style-name="P1">geboren am <xsl:value-of select="gebdatum" /> in
|
||||
<text:p text:style-name="P1">geboren am <xsl:value-of select="gebdatum" /> in
|
||||
<xsl:if test="string-length(gebort)!=0">
|
||||
<xsl:value-of select="gebort" />
|
||||
<xsl:text>, </xsl:text>
|
||||
@@ -105,13 +106,13 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:if test="stg_art != 'k'"> den</xsl:if>
|
||||
<xsl:if test="stg_art = 'k'"> das</xsl:if>
|
||||
<xsl:if test="stg_art = 'k'"> das</xsl:if>
|
||||
Fachhochschul-<xsl:choose>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diplom</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Lehrgang</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Kurzstudium</xsl:when>
|
||||
<xsl:when test="stg_art='b'">Bachelor</xsl:when>
|
||||
<xsl:when test="stg_art='m'">Master</xsl:when>
|
||||
<xsl:when test="stg_art='d'">Diplom</xsl:when>
|
||||
<xsl:when test="stg_art='l'">Lehrgang</xsl:when>
|
||||
<xsl:when test="stg_art='k'">Kurzstudium</xsl:when>
|
||||
</xsl:choose>
|
||||
<xsl:if test="stg_art != 'k' or 'l'">-Studiengang</xsl:if></text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
@@ -139,4 +140,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P1"><xsl:value-of select="rektor" /></text:p>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -241,6 +241,7 @@ $qryall='
|
||||
JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
|
||||
WHERE
|
||||
aktiv=false
|
||||
and bismelden=true
|
||||
AND (ende>now() OR ende IS NULL)
|
||||
GROUP BY uid, nachname, vorname
|
||||
ORDER by nachname, vorname;';
|
||||
|
||||
@@ -101,7 +101,7 @@ wird das Ende des Semesters letzten Lehrauftrages herangezogen.
|
||||
$qry = "SELECT ma.* FROM
|
||||
(
|
||||
SELECT
|
||||
vorname, nachname, uid, personalnummer, insertamum,anmerkung,
|
||||
vorname, nachname, uid, personalnummer, insertamum, anmerkung, aktiv,
|
||||
(
|
||||
SELECT studiensemester_kurzbz FROM (
|
||||
SELECT
|
||||
@@ -198,6 +198,7 @@ if ($result = $db->db_query($qry))
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>UID</th>
|
||||
<th>Aktiv</th>
|
||||
<th>Personalnummer</th>
|
||||
<th>Anlagedatum</th>
|
||||
<th>Letzer Lehrauftrag</th>
|
||||
@@ -216,6 +217,7 @@ if ($result = $db->db_query($qry))
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
<td>'.($db->db_parse_bool($row->aktiv)?'Ja':'<span style="color:red; font-weight:bold">Nein</span>').'</td>
|
||||
<td>'.$db->convert_html_chars($row->personalnummer).'</td>
|
||||
<td>'.$db->convert_html_chars($datum_obj->formatDatum($row->insertamum,'d.m.Y')).'</td>
|
||||
<td>'.$db->convert_html_chars($row->letzter_lehrauftrag).'</td>
|
||||
|
||||
@@ -300,7 +300,9 @@ if($result = $db->db_query($qry))
|
||||
//Bewerberblock bei Ausserordentlichen nicht anzeigen
|
||||
if($stg_kz!=('9'.$erhalter))
|
||||
{
|
||||
if($orgform_code==3)
|
||||
$stg_obj = new studiengang();
|
||||
|
||||
if($orgform_code==3 || $stg_obj->isMischform($stg_kz,$ssem) || $stg_obj->isMischform($stg_kz,$psem))
|
||||
{
|
||||
$orgcodes = array_unique($orgform_code_array);
|
||||
//Mischform
|
||||
@@ -1005,7 +1007,7 @@ function GenerateXMLStudentBlock($row)
|
||||
$datei.="
|
||||
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
|
||||
}
|
||||
|
||||
|
||||
$datei.="
|
||||
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
|
||||
<HeimatPLZ>".$plz."</HeimatPLZ>
|
||||
@@ -1152,7 +1154,9 @@ function GenerateXMLStudentBlock($row)
|
||||
$datei.="
|
||||
</StudentIn>";
|
||||
|
||||
if($aktstatus=='Student' || $aktstatus=='Diplomand' || $aktstatus=='Praktikant' || $aktstatus=='Outgoing')
|
||||
// Aktive Studierende - keine Incoming, keine Externen GS
|
||||
if(($aktstatus=='Student' || $aktstatus=='Diplomand' || $aktstatus=='Praktikant' || $aktstatus=='Outgoing')
|
||||
&& !($gemeinsamestudien && $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=='E'))
|
||||
{
|
||||
if(!isset($stsem[$storgform][$sem]))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
*/
|
||||
/**
|
||||
* Erfragt die BPKs von Personen beim Datenverbund und speichert diese wenn gefunden
|
||||
* Dieses Script sollte nach dem Matrikelnummer Job aufgerufen werden da dieser bereits bpks ermittelt
|
||||
* Dieser Job versucht die BPKs zu holen die nicht automatisch über den Matrikelnummer Job gefunden wurden.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/dvb.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/benutzerberechtigung.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/datum.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/errorhandler.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$limit = '';
|
||||
$debug = false;
|
||||
|
||||
// Wenn das Script nicht ueber Commandline gestartet wird, muss eine
|
||||
// Authentifizierung stattfinden
|
||||
if (php_sapi_name() != 'cli')
|
||||
{
|
||||
$nl = '<br>';
|
||||
// Benutzerdefinierte Variablen laden
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
|
||||
// Berechtigungen pruefen
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if (!$rechte->isBerechtigt('admin', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if (isset($_GET['debug']))
|
||||
$debug = ($_GET['debug'] == 'true'?true:false);
|
||||
|
||||
if (isset($_GET['limit']) && is_numeric($_GET['limit']))
|
||||
$limit = $_GET['limit'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$nl = "\n";
|
||||
// Commandline Paramter parsen bei Aufruf ueber Cronjob
|
||||
// zb php matrikelnummer.php --limit 100 --debug true
|
||||
$longopt = array(
|
||||
"limit:",
|
||||
"debug:"
|
||||
);
|
||||
$commandlineparams = getopt('', $longopt);
|
||||
if (isset($commandlineparams['limit']) && is_numeric($commandlineparams['limit']))
|
||||
$limit = $commandlineparams['limit'];
|
||||
if (isset($commandlineparams['debug']))
|
||||
$debug = ($commandlineparams['debug'] == 'true'?true:false);
|
||||
}
|
||||
|
||||
$webservice = new dvb(DVB_USERNAME, DVB_PASSWORD, $debug);
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct person_id, vorname, nachname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
JOIN public.tbl_student ON(tbl_student.student_uid=tbl_benutzer.uid)
|
||||
WHERE
|
||||
public.tbl_benutzer.aktiv = true
|
||||
AND tbl_person.matr_nr is not null
|
||||
AND tbl_person.bpk is null
|
||||
AND studiengang_kz<10000
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id AND bismelden=true)
|
||||
AND gebdatum is not null";
|
||||
|
||||
if ($limit != '')
|
||||
$qry .= " LIMIT ".$limit;
|
||||
|
||||
$db = new basis_db();
|
||||
$cnt = 0;
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$cnt++;
|
||||
// Nach jeweils 25 Requests eine Pause einlegen damit die
|
||||
// Anzahl Requests pro Minute nicht überschritten wird
|
||||
if($cnt%25 == 0)
|
||||
sleep(30);
|
||||
|
||||
echo $nl."Pruefe $row->person_id $row->vorname $row->nachname";
|
||||
$data = $webservice->getBPK($row->person_id);
|
||||
if (ErrorHandler::isSuccess($data))
|
||||
{
|
||||
if (ErrorHandler::hasData($data) && isset($data->retval->bpk) && $data->retval->bpk != '')
|
||||
{
|
||||
$person = new person();
|
||||
if ($person->load($row->person_id))
|
||||
{
|
||||
$person->bpk = $data->retval->bpk;
|
||||
if ($person->save())
|
||||
echo ' OK';
|
||||
else
|
||||
echo ' Failed: '.$person->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Failed: BPK Empty';
|
||||
}
|
||||
}
|
||||
else
|
||||
echo ' Failed:'.$webservice->errormsg;
|
||||
}
|
||||
}
|
||||
if ($debug)
|
||||
echo $webservice->debug_output;
|
||||
@@ -26,17 +26,20 @@ require_once(dirname(__FILE__).'/../../include/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/dvb.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/benutzerberechtigung.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/datum.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/errorhandler.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$limit = '';
|
||||
$debug = false;
|
||||
$softrun = false;
|
||||
|
||||
// Wenn das Script nicht ueber Commandline gestartet wird, muss eine
|
||||
// Authentifizierung stattfinden
|
||||
if (php_sapi_name() != 'cli')
|
||||
{
|
||||
$nl = '<br>';
|
||||
// Benutzerdefinierte Variablen laden
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
@@ -48,25 +51,32 @@ if (php_sapi_name() != 'cli')
|
||||
if (!$rechte->isBerechtigt('admin', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if(isset($_GET['debug']))
|
||||
$debug = ($_GET['debug']=='true'?true:false);
|
||||
if (isset($_GET['debug']))
|
||||
$debug = ($_GET['debug'] == 'true'?true:false);
|
||||
|
||||
if(isset($_GET['limit']) && is_numeric($_GET['limit']))
|
||||
if (isset($_GET['limit']) && is_numeric($_GET['limit']))
|
||||
$limit = $_GET['limit'];
|
||||
|
||||
if (isset($_GET['softrun']))
|
||||
$debug = ($_GET['softrun'] == 'true'?true:false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$nl = "\n";
|
||||
// Commandline Paramter parsen bei Aufruf ueber Cronjob
|
||||
// zb php matrikelnummer.php --limit 100 --debug true
|
||||
$longopt = array(
|
||||
"limit:",
|
||||
"debug:"
|
||||
"debug:",
|
||||
"softrun:"
|
||||
);
|
||||
$commandlineparams = getopt('', $longopt);
|
||||
if (isset($commandlineparams['limit']) && is_numeric($commandlineparams['limit']))
|
||||
$limit = $commandlineparams['limit'];
|
||||
if (isset($commandlineparams['debug']))
|
||||
$debug = ($commandlineparams['debug']=='true'?true:false);
|
||||
$debug = ($commandlineparams['debug'] == 'true'?true:false);
|
||||
if (isset($commandlineparams['softrun']))
|
||||
$softrun = ($commandlineparams['softrun'] == 'true'?true:false);
|
||||
}
|
||||
|
||||
$matrikelnummer_added = 0;
|
||||
@@ -74,7 +84,7 @@ $webservice = new dvb(DVB_USERNAME, DVB_PASSWORD, $debug);
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct person_id
|
||||
distinct person_id, vorname, nachname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
@@ -83,20 +93,23 @@ $qry = "
|
||||
public.tbl_benutzer.aktiv = true
|
||||
AND tbl_person.matr_nr is null
|
||||
AND studiengang_kz<10000
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id AND bismelden=true)";
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id AND bismelden=true)
|
||||
AND (svnr is not null OR ersatzkennzeichen is not null)";
|
||||
|
||||
if ($limit != '')
|
||||
$qry.=" LIMIT ".$limit;
|
||||
$qry .= " LIMIT ".$limit;
|
||||
|
||||
$db = new basis_db();
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($webservice->assignMatrikelnummer($row->person_id))
|
||||
echo "\n<br>".$row->person_id.' OK';
|
||||
echo $nl."Pruefe $row->person_id $row->vorname $row->nachname";
|
||||
$data = $webservice->assignMatrikelnummer($row->person_id, $softrun);
|
||||
if (ErrorHandler::isSuccess($data))
|
||||
echo ' OK';
|
||||
else
|
||||
echo "\n<br>".$row->person_id.' Failed:'.$webservice->errormsg;
|
||||
echo ' Failed:'.$webservice->errormsg;
|
||||
}
|
||||
}
|
||||
if($debug)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/fachbereich.class.php');
|
||||
require_once('../../include/organisationseinheit.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
@@ -34,8 +34,15 @@ if (!$db = new basis_db())
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll('typ, kurzbz', false);
|
||||
|
||||
$fb_obj = new fachbereich();
|
||||
$fb_obj->getAll();
|
||||
$oe_typ = new organisationseinheit();
|
||||
$oe_typ->getTypen();
|
||||
foreach($oe_typ->result as $row)
|
||||
$oe_typ_arr[$row->organisationseinheittyp_kurzbz]=$row->bezeichnung;
|
||||
$oe_obj = new organisationseinheit();
|
||||
$oe_obj->getAll();
|
||||
|
||||
foreach($oe_obj->result as $row)
|
||||
$oe_arr[$row->oe_kurzbz] = $oe_typ_arr[$row->organisationseinheittyp_kurzbz].' '.$row->bezeichnung;
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen(get_uid());
|
||||
@@ -55,26 +62,26 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[1,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {11: {sorter: false}, 12: {sorter: false}, 13: {sorter: false}}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
<h2>Liste der MitarbeiterInnen der Institute</h2>';
|
||||
<h2>Liste der MitarbeiterInnen der Abteilungen</h2>';
|
||||
|
||||
$stsem = new studiensemester();
|
||||
if(isset($_GET['ws']) && check_stsem($_GET['ws']))
|
||||
$ws = $_GET['ws'];
|
||||
else
|
||||
$ws = $stsem->getNearest(1);
|
||||
|
||||
|
||||
if(isset($_GET['ss']) && check_stsem($_GET['ss']))
|
||||
$ss = $_GET['ss'];
|
||||
else
|
||||
@@ -82,49 +89,55 @@ else
|
||||
|
||||
if($rechte->isBerechtigt('admin', 0) || $rechte->isBerechtigt('mitarbeiter', 0))
|
||||
$where = '';
|
||||
else
|
||||
else
|
||||
{
|
||||
$fb = $rechte->getFbKz();
|
||||
if(count($fb)>0)
|
||||
$oe = $rechte->getOEkurzbz('assistenz');
|
||||
if(count($oe)>0)
|
||||
{
|
||||
$where = " AND EXISTS (SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz) WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz in(".$db->db_add_param($ws).",".$db->db_add_param($ss).") AND mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
fachbereich_kurzbz IN(";
|
||||
foreach ($fb as $fachbereich_kurzbz)
|
||||
$where = " AND EXISTS (
|
||||
SELECT * FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz in(".$db->db_add_param($ws).",".$db->db_add_param($ss).")
|
||||
AND mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid
|
||||
AND lehrfach.oe_kurzbz IN(";
|
||||
foreach ($oe as $oe_kurzbz)
|
||||
{
|
||||
$where.=$db->db_add_param($fachbereich_kurzbz).",";
|
||||
$where.=$db->db_add_param($oe_kurzbz).",";
|
||||
}
|
||||
$where.="''))";
|
||||
}
|
||||
else
|
||||
else
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
}
|
||||
|
||||
//Alle aktiven Mitarbeiter holen mit den ALVS-Stunden und der Hauptinstitutszuteilung
|
||||
$qry = "SELECT
|
||||
personalnummer, vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen,
|
||||
$qry = "SELECT
|
||||
personalnummer, vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen,
|
||||
(
|
||||
SELECT
|
||||
sum(semesterstunden)
|
||||
FROM
|
||||
SELECT
|
||||
sum(semesterstunden)
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
WHERE
|
||||
mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($ws)."
|
||||
) as lvs_wintersemester,
|
||||
(
|
||||
SELECT
|
||||
sum(semesterstunden)
|
||||
FROM
|
||||
SELECT
|
||||
sum(semesterstunden)
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
WHERE
|
||||
mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($ss)."
|
||||
) as lvs_sommersemester,
|
||||
(
|
||||
SELECT
|
||||
tbl_organisationseinheit.bezeichnung
|
||||
FROM
|
||||
SELECT
|
||||
tbl_organisationseinheit.oe_kurzbz
|
||||
FROM
|
||||
public.tbl_benutzerfunktion JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
|
||||
WHERE
|
||||
uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
@@ -133,9 +146,9 @@ $qry = "SELECT
|
||||
AND (datum_bis>=now() OR datum_bis is null)
|
||||
LIMIT 1
|
||||
) as hauptzuteilung
|
||||
FROM
|
||||
public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
FROM
|
||||
public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE tbl_benutzer.aktiv $where";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
@@ -149,12 +162,11 @@ if($result = $db->db_query($qry))
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>Fix / Frei</th>
|
||||
<th>Kompetenzen</th>
|
||||
<th>ALVS<br>".$db->convert_html_chars($ws)."</th>
|
||||
<th>ALVS<br>".$db->convert_html_chars($ss)."</th>
|
||||
<th>Studiengang</th>
|
||||
<th>Institut Hauptzuteilung</th>
|
||||
<th>Sonstige Institutszuteilungen</th>
|
||||
<th>Disziplinäre Zuordnung</th>
|
||||
<th>Zuteilungen laut Lehrauträge</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>";
|
||||
@@ -166,46 +178,52 @@ if($result = $db->db_query($qry))
|
||||
echo "<td>".$db->convert_html_chars($row->nachname)."</td>";
|
||||
echo "<td>".$db->convert_html_chars($row->vorname)."</td>";
|
||||
echo "<td>".($row->fixangestellt=='t'?'fix':'frei')."</td>";
|
||||
echo "<td>".$db->convert_html_chars($row->kompetenzen)."</td>";
|
||||
echo "<td>$row->lvs_wintersemester</td>";
|
||||
echo "<td>$row->lvs_sommersemester</td>";
|
||||
echo '<td>';
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
|
||||
SELECT
|
||||
distinct studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
|
||||
AND studiensemester_kurzbz in(".$db->db_add_param($ss).", ".$db->db_add_param($ws).")";
|
||||
|
||||
|
||||
$text='';
|
||||
if($row->hauptzuteilung!='')
|
||||
$abteilung = $oe_arr[$row->hauptzuteilung];
|
||||
else
|
||||
$abteilung = '';
|
||||
|
||||
if($result_stg = $db->db_query($qry))
|
||||
while($row_stg = $db->db_fetch_object($result_stg))
|
||||
$text.= $stg_obj->kuerzel_arr[$row_stg->studiengang_kz].', ';
|
||||
echo mb_substr($text, 0, mb_strlen($text)-2);
|
||||
echo '</td>';
|
||||
echo "<td>".$db->convert_html_chars($row->hauptzuteilung)."</td>";
|
||||
echo "<td>".$db->convert_html_chars($abteilung)."</td>";
|
||||
echo "<td>";
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct fachbereich_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
|
||||
JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
|
||||
SELECT
|
||||
distinct lehrfach.oe_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
|
||||
AND studiensemester_kurzbz in(".$db->db_add_param($ss).", ".$db->db_add_param($ws).")";
|
||||
|
||||
|
||||
$text='';
|
||||
if($result_fb = $db->db_query($qry))
|
||||
while($row_fb = $db->db_fetch_object($result_fb))
|
||||
$text.= $fb_obj->bezeichnung_arr[$row_fb->fachbereich_kurzbz].', ';
|
||||
if($result_oe = $db->db_query($qry))
|
||||
while($row_oe = $db->db_fetch_object($result_oe))
|
||||
{
|
||||
if($row_oe->oe_kurzbz!='')
|
||||
$text.= $oe_arr[$row_oe->oe_kurzbz].', ';
|
||||
}
|
||||
echo mb_substr($text, 0, mb_strlen($text)-2);
|
||||
echo "</td>";
|
||||
echo '</tr>';
|
||||
|
||||
Regular → Executable
+11
@@ -386,6 +386,17 @@ if (!$errorOccurred && $dataPosted)
|
||||
|
||||
<form name="saveLeistungsstipendium" method="post" enctype="multipart/form-data" action="">
|
||||
<table border=0>
|
||||
<tr><td valign="top">CMS-Format</td>
|
||||
<td></td>
|
||||
<td valign="top">
|
||||
Zeichensatz: UTF-8<br>
|
||||
Feldtrenner: ;<br>
|
||||
Texttrenner: "<br>
|
||||
Felder:<br>
|
||||
<pre>Nachname;Vorname;UID/PersKZ;Studiengang;Betrag;Überweisungsdatum
|
||||
Dylan;Bob;1234567;MEE;750;03.10.2016</pre>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="30%">
|
||||
<th width="3%">
|
||||
|
||||
@@ -152,13 +152,22 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
}
|
||||
|
||||
// Wenn beide Personen eine Matr_nr haben, abbrechen
|
||||
if (($personToDelete_obj->matr_nr != '' && $personToKeep_obj->matr_nr != ''))
|
||||
if ($personToDelete_obj->matr_nr != '' && $personToKeep_obj->matr_nr != ''
|
||||
&& $personToDelete_obj->matr_nr != $personToKeep_obj->matr_nr)
|
||||
{
|
||||
$msg_error[] = 'Beide Personen haben eine Matrikelnummer und können nicht zusammengelegt werden.<br>
|
||||
Bitte wenden Sie sich an einen Administrator.';
|
||||
$error = true;
|
||||
}
|
||||
|
||||
// Wenn beide Personen ein BPK haben, abbrechen
|
||||
if ($personToDelete_obj->bpk != '' && $personToKeep_obj->bpk != '' && $personToDelete_obj->bpk != $personToKeep_obj->bpk)
|
||||
{
|
||||
$msg_error[] = 'Beide Personen haben unterschiedliche BPK und können nicht zusammengelegt werden.<br>
|
||||
Bitte wenden Sie sich an einen Administrator.';
|
||||
$error = true;
|
||||
}
|
||||
|
||||
// Wenn zwei gleiche rt_person Einträge vorhanden sind, wird ein Fehler ausgegeben und abgebrochen
|
||||
$reihungstest_personToKeep = new reihungstest();
|
||||
$reihungstest_personToKeep->getReihungstestPerson($personToKeep);
|
||||
@@ -276,6 +285,16 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$matr_nr = $personToKeep_obj->matr_nr;
|
||||
if ($personToKeep_obj->matr_nr == '' && $personToDelete_obj->matr_nr != '')
|
||||
$matr_nr = $personToDelete_obj->matr_nr;
|
||||
else
|
||||
$matr_nr = $personToKeep_obj->matr_nr;
|
||||
|
||||
$bpk = '';
|
||||
if ($personToDelete_obj->bpk == '' && $personToKeep_obj->bpk != '')
|
||||
$bpk = $personToKeep_obj->bpk;
|
||||
if ($personToKeep_obj->bpk == '' && $personToDelete_obj->bpk != '')
|
||||
$bpk = $personToDelete_obj->bpk;
|
||||
else
|
||||
$bpk = $personToKeep_obj->bpk;
|
||||
|
||||
// Letztbenutzten Zugangscode abfragen und übernehmen
|
||||
$zugangscode = '';
|
||||
@@ -339,6 +358,9 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
// Matr_nr erst setzen, wenn nur mehr eine Person vorhanden ist
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person SET matr_nr=" . $db->db_add_param($matr_nr, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
|
||||
// BPK erst setzen, wenn nur mehr eine Person vorhanden ist
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person SET bpk=" . $db->db_add_param($bpk, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
|
||||
if ($db->db_query($sql_query_upd1))
|
||||
{
|
||||
$msg_info[] = "Update Query:";
|
||||
|
||||
@@ -46,10 +46,10 @@ if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
|
||||
<title>Statistik - Details</title>
|
||||
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<script src="../../include/js/jquery.js" type="text/javascript"></script>
|
||||
<script src="../../include/js/jquery.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
function addNewContent(bezeichnung)
|
||||
{
|
||||
{
|
||||
if(bezeichnung == '')
|
||||
{
|
||||
if($( "#bezeichnung" ).val() != '')
|
||||
@@ -59,12 +59,12 @@ if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
|
||||
}
|
||||
else
|
||||
var bez = bezeichnung;
|
||||
|
||||
|
||||
|
||||
data = {
|
||||
NewContent: "NewContent",
|
||||
titel: bez,
|
||||
templateContent: <?php echo (defined('REPORT_CONTENT_TEMPLATE') && REPORT_CONTENT_TEMPLATE != '' ? REPORT_CONTENT_TEMPLATE : 1); ?>
|
||||
templateContent: <?php echo (defined('REPORT_CONTENT_TEMPLATE') && REPORT_CONTENT_TEMPLATE != '' ? REPORT_CONTENT_TEMPLATE : 1); ?>
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
@@ -72,7 +72,7 @@ if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
|
||||
data: data,
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
success: function(data)
|
||||
{
|
||||
//set contentID into the ContentID input-field
|
||||
$("#content_id").val(data);
|
||||
@@ -83,7 +83,7 @@ if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
|
||||
// disable the contentID add-image
|
||||
$("#content_id").next().css({"pointer-events": "none", "cursor": "default"});
|
||||
},
|
||||
error: function(data)
|
||||
error: function(data)
|
||||
{
|
||||
alert("ERROR:"+data);
|
||||
}
|
||||
@@ -105,6 +105,7 @@ if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
|
||||
{
|
||||
$statistik_kurzbz = filter_input(INPUT_POST, 'statistik_kurzbz');
|
||||
$exists = false;
|
||||
$statistik->berechtigung_kurzbz='addon/reports';
|
||||
}
|
||||
|
||||
if(isset($_POST['save']))
|
||||
@@ -190,7 +191,7 @@ EOT;
|
||||
<td><input type="text" name="bezeichnung" size="80" maxlength="256" value="<?php echo $statistik->bezeichnung ?>"></td>
|
||||
<td></td>
|
||||
<td>ContentID</td>
|
||||
<td><input type="text" name="content_id" id="content_id" value="<?php echo $statistik->content_id ?>">
|
||||
<td><input type="text" name="content_id" id="content_id" value="<?php echo $statistik->content_id ?>">
|
||||
<?php if(!is_null($statistik->content_id)): ?>
|
||||
<a href="#" style="pointer-events: none; cursor:default;"><img src="../../skin/images/plus.png" height="16px"></a>
|
||||
<a target="_blank" href="<?php echo APP_ROOT ?>cms/admin.php?action=childs&content_id=<?php echo $statistik->content_id ?>&action=content&sprache=<?php echo DEFAULT_LANGUAGE ?>&filter=<?php echo (defined('REPORT_CONTENT_TEMPLATE') ? REPORT_CONTENT_TEMPLATE : $statistik->content_id) ?>"> ContentID <?php echo $statistik->content_id?> bearbeiten</a>
|
||||
|
||||
Reference in New Issue
Block a user