Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2019-04-16 16:32:54 +02:00
31 changed files with 2512 additions and 692 deletions
@@ -234,7 +234,7 @@ class InfoCenter extends Auth_Controller
$akte_id = $this->input->post('akte_id');
$formalgeprueft = $this->input->post('formal_geprueft');
$json = false;
$json = null;
if (isset($akte_id) && isset($formalgeprueft) && isset($person_id))
{
@@ -247,7 +247,7 @@ class InfoCenter extends Auth_Controller
if (isSuccess($result))
{
$json = $timestamp;
$json = is_null($timestamp) ? '' : $timestamp;
$this->_log(
$person_id,
@@ -261,7 +261,7 @@ class InfoCenter extends Auth_Controller
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
$this->outputJsonSuccess(array($json));
}
/**
@@ -272,7 +272,7 @@ class InfoCenter extends Auth_Controller
{
$prestudentdata = $this->_loadPrestudentData($person_id);
$this->output->set_content_type('application/json')->set_output(json_encode($prestudentdata['zgvpruefungen']));
$this->outputJsonSuccess($prestudentdata['zgvpruefungen']);
}
/**
@@ -283,7 +283,7 @@ class InfoCenter extends Auth_Controller
{
$prestudent = $this->PrestudentModel->getLastPrestudent($person_id, true);
$this->output->set_content_type('application/json')->set_output(json_encode($prestudent));
$this->outputJson($prestudent);
}
/**
@@ -299,10 +299,10 @@ class InfoCenter extends Auth_Controller
$studiengangbezeichnung = $prestudentdata['studiengang_bezeichnung'];
$data = array(
'studiengang_bezeichnung' => $studiengangbezeichnung,
'studiengang_kurzbz' => $studiengangkurzbz,
'data' => null
);
'studiengang_bezeichnung' => $studiengangbezeichnung,
'studiengang_kurzbz' => $studiengangkurzbz,
'data' => null
);
if (hasData($studienordnung))
{
@@ -319,13 +319,14 @@ class InfoCenter extends Auth_Controller
{
$prestudent_id = $this->input->post('prestudentid');
$change = $this->input->post('change');
$json = false;
if (!is_numeric($change) || !is_numeric($prestudent_id))
$result = error('Parameteres missing');
else
$result = $this->PrestudentModel->changePrio($prestudent_id, intval($change));
if (is_numeric($change) || is_numeric($prestudent_id))
{
$json = $this->PrestudentModel->changePrio($prestudent_id, intval($change));
}
$this->output->set_content_type('application/json')->set_output(json_encode($result));
$this->outputJsonSuccess(array($json));
}
/**
@@ -403,7 +404,8 @@ class InfoCenter extends Auth_Controller
$this->_log($logdata['person_id'], 'savezgv', array($logdata['studiengang_kurzbz'], $prestudent_id));
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
$this->outputJson($json);
}
/**
@@ -454,7 +456,8 @@ class InfoCenter extends Auth_Controller
}
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
$this->outputJson($json);
}
/**
@@ -521,9 +524,7 @@ class InfoCenter extends Auth_Controller
// acceptresult returns null if no documents to accept
if ($acceptresult !== null && isError($acceptresult))
{
$json->error = 2;
}
$json->retval['nonCriticalErrors'] = 'error when accepting documents in FAS';
$logparams = array($prestudent_id, $logdata['studiengang_kurzbz'], '');
@@ -543,7 +544,7 @@ class InfoCenter extends Auth_Controller
}
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
$this->outputJson($json);
}
/**
@@ -557,7 +558,7 @@ class InfoCenter extends Auth_Controller
$notiz_id
);
$this->output->set_content_type('application/json')->set_output(json_encode($result));
$this->outputJson($result);
}
/**
@@ -577,7 +578,7 @@ class InfoCenter extends Auth_Controller
$this->_log($person_id, 'savenotiz', array($titel));
}
$this->output->set_content_type('application/json')->set_output(json_encode($result));
$this->outputJson($result);
}
/**
@@ -608,7 +609,7 @@ class InfoCenter extends Auth_Controller
$this->_log($person_id, 'updatenotiz', array($titel));
}
$this->output->set_content_type('application/json')->set_output(json_encode($result));
$this->outputJson($result);
}
/**
@@ -696,9 +697,9 @@ class InfoCenter extends Auth_Controller
*/
public function getParkedDate($person_id)
{
$result = $this->personloglib->getParkedDate($person_id);
$parkedDate = $this->personloglib->getParkedDate($person_id);
$this->output->set_content_type('application/json')->set_output(json_encode($result));
$this->outputJsonSuccess(array($parkedDate));
}
/**
@@ -711,7 +712,7 @@ class InfoCenter extends Auth_Controller
$result = $this->personloglib->park($person_id, date_format(date_create($date), 'Y-m-d'), self::TAETIGKEIT, self::APP, null, $this->_uid);
$this->output->set_content_type('application/json')->set_output(json_encode($result));
$this->outputJson($result);
}
/**
@@ -722,14 +723,8 @@ class InfoCenter extends Auth_Controller
$person_id = $this->input->post('person_id');
$result = $this->personloglib->unPark($person_id);
if (isError($result))
{
$this->outputJsonError($result);
}
else
{
$this->output->set_content_type('application/json')->set_output(json_encode(getData($result)));
}
$this->outputJson($result);
}
/**
@@ -741,14 +736,14 @@ class InfoCenter extends Auth_Controller
$result = $this->StudienjahrModel->getCurrStudienjahr();
$json = false;
$json = null;
if (hasData($result))
{
$json = $result->retval[0]->ende;
}
$this->output->set_content_type('application/json')->set_output(json_encode($json));
$this->outputJsonSuccess(array($json));
}
/**
@@ -1254,7 +1249,6 @@ class InfoCenter extends Auth_Controller
$data = array (
'zgvpruefungen' => $zgvpruefungen,
'numberinteressenten' => $interessentenCount,
'abwstatusgruende' => $abwstatusgruende,
'intstatusgruende' => $intstatusgruende
);
+3 -6
View File
@@ -96,7 +96,7 @@ class FHC_Controller extends CI_Controller
*/
protected function outputJsonSuccess($mixed)
{
$this->_outputJson(success($mixed));
$this->outputJson(success($mixed));
}
/**
@@ -105,7 +105,7 @@ class FHC_Controller extends CI_Controller
*/
protected function outputJsonError($mixed)
{
$this->_outputJson(error($mixed));
$this->outputJson(error($mixed));
}
/**
@@ -119,13 +119,10 @@ class FHC_Controller extends CI_Controller
exit;
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
/**
* Utility method to output using JSON as content type
*/
private function _outputJson($mixed)
protected function outputJson($mixed)
{
$this->output->set_content_type('application/json')->set_output(json_encode($mixed));
}
@@ -52,7 +52,7 @@ class Kostenstelle_model extends DB_Model
* @param null $geschaeftsjahr
* @return array|null
*/
public function getKostenstellenForGegitschaeftsjahrWithOe($geschaeftsjahr = null)
public function getKostenstellenForGeschaeftsjahrWithOe($geschaeftsjahr = null)
{
$this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel');
@@ -106,6 +106,31 @@ class Kostenstelle_model extends DB_Model
}
}
/**
* Gets all Kostenstellen for which logged in user is berechtigt.
* @param null $berechtigung_kurzbz
* @param null $art
* @return array
*/
public function getKostenstellenBerechtigt($berechtigung_kurzbz = null, $art = null)
{
$allkostenstellen = $this->load();
$kostenstellen = array();
if (hasData($allkostenstellen))
{
foreach ($allkostenstellen->retval as $kostenstelle)
{
if ($this->permissionlib->isBerechtigt($berechtigung_kurzbz, $art, null, $kostenstelle->kostenstelle_id))
{
$kostenstellen[] = $kostenstelle;
}
}
}
return success($kostenstellen);
}
/**
* Gets either given Geschaeftsjahr, current Geschaeftsjahr if not given, or chronologically last Geschaeftsjahr if there is no current
* @param $geschaeftsjahr
@@ -14,6 +14,7 @@ class Lehreinheit_model extends DB_Model
$this->load->model('education/lehrveranstaltung_model', 'LehrveranstaltungModel');
$this->load->model('education/lehreinheitgruppe_model', 'LehreinheitgruppeModel');
$this->load->model('education/lehreinheitmitarbeiter_model', 'LehreinheitmitarbeiterModel');
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
}
/**
@@ -57,13 +58,22 @@ class Lehreinheit_model extends DB_Model
{
foreach ($lehreinheitgruppen->retval as $lehreinheitgruppe)
{
$letoadd->lehreinheitgruppen[] = array(
'semester' => $lehreinheitgruppe->semester,
'verband' => $lehreinheitgruppe->verband,
'gruppe' => $lehreinheitgruppe->gruppe,
'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz,
'direktinskription' => $lehreinheitgruppe->direktinskription
);
$studiengangresponse = $this->StudiengangModel->load($lehreinheitgruppe->studiengang_kz);
if (hasData($studiengangresponse))
{
$studiengang = $studiengangresponse->retval[0];
$stgkuerzel = mb_strtoupper($studiengang->typ . $studiengang->kurzbz);
$letoadd->lehreinheitgruppen[] = array(
'semester' => $lehreinheitgruppe->semester,
'verband' => $lehreinheitgruppe->verband,
'gruppe' => $lehreinheitgruppe->gruppe,
'gruppe_kurzbz' => $lehreinheitgruppe->gruppe_kurzbz,
'direktinskription' => $lehreinheitgruppe->direktinskription,
'studiengang_kz' => $lehreinheitgruppe->studiengang_kz,
'studiengang_kuerzel' => $stgkuerzel
);
}
}
}
@@ -208,11 +208,11 @@ class Lehrveranstaltung_model extends DB_Model
* Gets valid Lehrveranstaltungen with incoming places for a Studiensemester.
* Only
* 1. Lvs with incoming places > 0
* 2. Studienordnung valid in current semester or with Lehrauftrag (i.e. assigned Lehreinheit)
* 2. Studienplan valid in current semester or with Lehrauftrag (i.e. assigned Lehreinheit)
* @param $studiensemester_kurzbz
* @return object
*/
public function getLvsWithIncomings($studiensemester_kurzbz)
public function getLvsWithIncomingPlaces($studiensemester_kurzbz)
{
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
@@ -221,36 +221,45 @@ class Lehrveranstaltung_model extends DB_Model
if (!hasData($studsemres))
return success(array());
$semstart = $studsemres->retval[0]->start;
$semende = $studsemres->retval[0]->ende;
$parametersarray = array($studiensemester_kurzbz, $studsemres->retval[0]->studienjahr_kurzbz, $semstart, $semende, $studiensemester_kurzbz);
$parametersarray = array($studiensemester_kurzbz, $studsemres->retval[0]->studienjahr_kurzbz, $studiensemester_kurzbz, $studiensemester_kurzbz);
$query = "
SELECT lv.*, ? AS studiensemester_kurzbz, ? AS studienjahr_kurzbz, UPPER(stg.typ::varchar(1) || stg.kurzbz) AS studiengang_kuerzel,
stg.bezeichnung AS studiengang_bezeichnung, stg.english AS studiengang_bezeichnung_english, stg.typ, tbl_sprache.locale
FROM lehre.tbl_lehrveranstaltung lv
JOIN public.tbl_studiengang stg ON lv.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_sprache ON lv.sprache = tbl_sprache.sprache
WHERE lv.lehrtyp_kurzbz != 'modul'
AND (
EXISTS
(
SELECT 1 FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan ON tbl_studienplan_lehrveranstaltung.studienplan_id = tbl_studienplan.studienplan_id
JOIN lehre.tbl_studienordnung ON tbl_studienordnung.studienordnung_id = tbl_studienplan.studienordnung_id
JOIN public.tbl_studiensemester semvon ON lehre.tbl_studienordnung.gueltigvon = semvon.studiensemester_kurzbz OR lehre.tbl_studienordnung.gueltigvon IS NULL
JOIN public.tbl_studiensemester sembis ON lehre.tbl_studienordnung.gueltigbis = sembis.studiensemester_kurzbz OR lehre.tbl_studienordnung.gueltigbis IS NULL
WHERE tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id = lv.lehrveranstaltung_id
AND (?::date >= semvon.start OR semvon.start IS NULL) AND (?::date <= sembis.ende OR sembis.ende IS NULL)
)
OR EXISTS (SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = lv.lehrveranstaltung_id AND studiensemester_kurzbz = ?)
)
AND lv.incoming > 0
AND lv.aktiv
AND stg.typ IN ('b', 'm')
ORDER BY studiengang_kuerzel, orgform_kurzbz, lv.bezeichnung, lv.lehrform_kurzbz, lv.lehrveranstaltung_id
SELECT * FROM (
SELECT DISTINCT ON (lv.lehrveranstaltung_id) lv.lehrveranstaltung_id, lv.bezeichnung AS lv_bezeichnung, lv.kurzbz AS lv_kurzbz, lv.sprache, lv.ects, lv.lehre,
lv.lehreverzeichnis, lv.sws, lv.lvs, lv.alvs, lv.lvps, lv.las, lv.incoming, lv.lehrform_kurzbz, lv.orgform_kurzbz AS lv_orgform, lv.semester,
? AS studiensemester_kurzbz, ? AS studienjahr_kurzbz, UPPER(stg.typ::VARCHAR(1) || stg.kurzbz) AS studiengang_kuerzel,
stg.bezeichnung AS studiengang_bezeichnung, stg.english AS studiengang_bezeichnung_english, stg.typ, stg.orgform_kurzbz AS studiengang_orgform,
tbl_sprache.locale, CASE WHEN lv.orgform_kurzbz NOTNULL THEN lv.orgform_kurzbz ELSE stg.orgform_kurzbz END AS orgform_kurzbz
FROM lehre.tbl_lehrveranstaltung lv
JOIN public.tbl_studiengang stg ON lv.studiengang_kz = stg.studiengang_kz
JOIN public.tbl_sprache ON lv.sprache = tbl_sprache.sprache
WHERE lv.lehrtyp_kurzbz != 'modul'
AND (
EXISTS
(
WITH gueltige_studienplaene AS (
SELECT studienplan_id, semester
FROM lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE tbl_studienplan.aktiv
AND lehre.tbl_studienplan_semester.studiensemester_kurzbz = ?
)
SELECT 1
FROM lehre.tbl_studienplan_lehrveranstaltung
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id IN (SELECT studienplan_id FROM gueltige_studienplaene)
AND tbl_studienplan_lehrveranstaltung.semester IN
(SELECT semester FROM gueltige_studienplaene
WHERE gueltige_studienplaene.studienplan_id = tbl_studienplan_lehrveranstaltung.studienplan_id)
AND tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id = lv.lehrveranstaltung_id
AND tbl_studienplan_lehrveranstaltung.export
)
OR EXISTS (SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = lv.lehrveranstaltung_id AND studiensemester_kurzbz = ?)
)
AND lv.incoming > 0
AND lv.aktiv
AND (stg.typ IN ('b', 'm') OR stg.studiengang_kz = 10006)-- ECI Studiengang Campus International
) lvs
ORDER BY studiengang_kuerzel, orgform_kurzbz, lv_bezeichnung, lehrform_kurzbz, lehrveranstaltung_id;
";
return $this->execQuery($query, $parametersarray);
@@ -387,19 +387,19 @@
if (isEmptyString($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum))
{
$disabled = $disabledStg = 'disabled';
$disabledTxt = $disabledStgTxt = 'Die Bewerbung muss erst abgeschickt worden sein.';
$disabledTxt = $disabledStgTxt = $this->p->t('infocenter', 'bewerbungMussAbgeschickt');
}
if ($studiengangtyp !== 'b')
{
$disabled = 'disabled';
$disabledTxt = 'Nur Bachelorstudiengänge können freigegeben werden.';
$disabledTxt = $this->p->t('infocenter', 'nurBachelorFreigeben');
// FIT-Lehrgänge: exceptions, can be freigegeben in Infocenter
if (!in_array($studiengang_kz, $fit_programme_studiengaenge))
{
$disabledStg = 'disabled';
$disabledStgTxt = 'Nur Bachelorstudiengänge können freigegeben werden.';
$disabledStgTxt = $this->p->t('infocenter', 'nurBachelorFreigeben');
}
}
?>
+276
View File
@@ -0,0 +1,276 @@
<?php
/* Copyright (C) 2006 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('../../../config/cis.config.inc.php');
require_once('../../../include/dokument_export.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/person.class.php');
require_once('../../../include/lehreinheitmitarbeiter.class.php');
require_once('../../../include/lehreinheit.class.php');
require_once('../../../include/projektbetreuer.class.php');
require_once('../../../include/projektarbeit.class.php');
require_once('../../../include/bisverwendung.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$user = get_uid();
$sprache = getSprache();
$p = new phrasen($sprache);
$doc = new dokument_export('Lehrtaetigkeit');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
// Check permission
$berechtigung = new benutzerberechtigung();
$berechtigung->getBerechtigungen($user);
if (!$berechtigung->isBerechtigt('admin') &&
!$berechtigung->isBerechtigt('mitarbeiter'))
die('Sie muessen das Recht "ADMIN" oder "MITARBEITER" haben, um diese Seite aufrufen zu koennen');
// Get GET params
$uid = (isset($_GET['uid']) && is_string($_GET['uid'])) ? $_GET['uid'] : die($p->t('global/fehlerBeimErmittelnDerUID'));
$output = (isset($_GET['output']) && ($_GET['output'] == 'odt' || $_GET['output'] == 'doc')) ? $_GET['output'] : 'pdf';
// Personal data of lector
$person = new Person();
$person->getPersonFromBenutzer($uid);
$person_id = $person->person_id;
$anrede = $person->anrede;
$fullname = $person->getFullName();
$birthday_date = new DateTime($person->gebdatum);
// Get the lectors lehreinheiten-semesterstunden per semester
$semesterstunden_per_semester = array();
$le_ma = new Lehreinheitmitarbeiter();
// * get all semester of the lector where he was teaching actively
$active_semester_arr = $le_ma->getSemesterZuLektor($uid);
$active_semester_arr = array_keys($active_semester_arr);
// * for each semester:
foreach($active_semester_arr as $active_semester)
{
// * get all the lectors lehreinheiten
$le_id_arr = array();
$le_array = $le_ma->getLehreinheiten($uid, $active_semester);
foreach($le_array as $le)
{
$le_id_arr[]= $le->lehreinheit_id;
}
// * get begin- and end date of studiensemester
$ss = new Studiensemester($active_semester);
$studiensemester_start_date = $ss->start;
$studiensemester_end_date = $ss->ende;
// * get total amount of semesterstunden of the lehreinheiten, where stundensatz > 0
$total_semesterstunden = 0;
foreach ($le_id_arr as $le_id)
{
$le_ma = new Lehreinheitmitarbeiter($le_id, $uid);
if ($le_ma && (!is_null ($le_ma->stundensatz) && $le_ma->stundensatz > 0))
{
$total_semesterstunden = $total_semesterstunden + $le_ma->semesterstunden;
}
}
// * store data only if semesterstunden > 0
if ($total_semesterstunden > 0)
{
$semesterstunden_per_semester []= (
array(
'studiensemester_kurzbz'=> $active_semester,
'total_semesterstunden' => $total_semesterstunden,
'studiensemester_start_date' => $studiensemester_start_date,
'studiensemester_end_date' => $studiensemester_end_date
)
);
}
}
// Get the lectors projektarbeitstunden per semester
$projektstunden_per_semester = array();
$pb = new Projektbetreuer();
$pb->getAllProjects($person_id);
$project_arr = $pb->result;
// * for each project
foreach ($project_arr as $project)
{
$pa_id = $project->projektarbeit_id;
$projektstunden = $project->stunden;
// * get studiensemester
$pa = new Projektarbeit($pa_id);
$le = new Lehreinheit($pa->lehreinheit_id);
$studiensemester_kurzbz = $le->studiensemester_kurzbz;
// * get begin- and end date of studiensemester
$ss = new Studiensemester($studiensemester_kurzbz);
$studiensemester_start_date = $ss->start;
$studiensemester_end_date = $ss->ende;
// Get total amount of semesterstunden by studiensemester
// * check if studiensemester already exists. If so, get array index.
$studiensemester_index = array_search($studiensemester_kurzbz, array_map(function($val) {
return $val['studiensemester_kurzbz'];
}, $projektstunden_per_semester
));
// * if studiensemester exists, sum up hours of projektarbeit, where stundensatz > 0
if ($studiensemester_index !== false)
{
$projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $projektstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $projektstunden;
}
// * if not, create new index
else
{
$projektstunden_per_semester []= (
array(
'studiensemester_kurzbz'=> $studiensemester_kurzbz,
'total_semesterstunden' => $projektstunden,
'studiensemester_start_date' => $studiensemester_start_date,
'studiensemester_end_date' => $studiensemester_end_date
)
);
}
}
// Merge lehreinheit- and projektarbeitstunden arrays
foreach ($projektstunden_per_semester as $item)
{
// check if studiensemester already exists in projektstunden-per-term-array. If so, get array index.
$studiensemester_index = array_search($item['studiensemester_kurzbz'], array_map(function($val) {
return $val['studiensemester_kurzbz'];
}, $semesterstunden_per_semester
));
// * if studiensemester exists, merge lehreinheit- and projektarbeit hours
if ($studiensemester_index !== false)
{
$semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] = $semesterstunden_per_semester [$studiensemester_index]['total_semesterstunden'] + $item['total_semesterstunden'];
}
// * if not, create new index
else
{
$semesterstunden_per_semester []= (
array(
'studiensemester_kurzbz'=> $item['studiensemester_kurzbz'],
'total_semesterstunden' => intval($item['total_semesterstunden']),
'studiensemester_start_date' => $item['studiensemester_start_date'],
'studiensemester_end_date' => $item['studiensemester_end_date']
)
);
}
}
// Sort lehreinheit- and projektarbeitstunden array by date
usort($semesterstunden_per_semester, function($a, $b)
{
return strtotime($a['studiensemester_start_date']) - strtotime($b['studiensemester_start_date']);
});
// Split studiensemester array into actual studiensemester array and former studiensemester array
// * get actual studiensemester
$ss = new Studiensemester();
$actual_studiensemester = $ss->getakt();
$actual_studiensemester_index = array_search($actual_studiensemester, array_map(function($val) {
return $val['studiensemester_kurzbz'];
}, $semesterstunden_per_semester
));
// * if lector is teaching actually, split former teaching activities from actual teaching activities of actual studiensemester
$semesterstunden_of_actual_semester = array();
if ($actual_studiensemester_index !== false)
{
$semesterstunden_of_actual_semester = array_slice($semesterstunden_per_semester, $actual_studiensemester_index); // array with actual + future semester
$semesterstunden_per_semester = array_slice($semesterstunden_per_semester, 0, $actual_studiensemester_index); // array with all former semester
}
// Semester begin and ending date of lehreinheit- and projektarbeit studiensemester
// * begin date of first lehreinheit- and projektarbeit studiensemester
$earliest_ss = current($semesterstunden_per_semester)['studiensemester_start_date'];
$begin_date = !is_null($earliest_ss) ? new DateTime($earliest_ss) : null;
// * end date of last lehreinheit- and projektarbeit studiensemester
// * if lector is teaching on actual studiensemester, get end date of actual studiensemester
$latest_ss = !empty($semesterstunden_of_actual_semester)
? current($semesterstunden_of_actual_semester)['studiensemester_end_date']
// * else get end date of the last of his teaching studiensemester
: end($semesterstunden_per_semester)['studiensemester_end_date'];
$end_date = !is_null($latest_ss) ? new DateTime($latest_ss) : null;
$actual_date = new DateTime();
// if the lector is still employed, reset the end date to null
if ($end_date > $actual_date)
{
$end_date = null;
}
$data = array (
'anrede' => $anrede,
'full_name' => $fullname,
'birthday' => $birthday_date->format('d.m.Y'),
'begin_date' => !is_null($begin_date) ? $begin_date->format('d.m.Y') : '',
'end_date' => !is_null($end_date) ? $end_date->format('d.m.Y') : '', // empty, if lector is still employed
'total_ss_actual_semester' => current($semesterstunden_of_actual_semester), // empty, if lector has no lehreinheit- or projektarbeitsstunden at the actual studiensemester
'actual_date' => $actual_date->format('d.m.Y')
);
// Put semesterstunden per semester array in correct format for xsl template
if (!empty($semesterstunden_per_semester))
{
foreach ($semesterstunden_per_semester as &$item)
{
$data[]= array('total_ss_per_semester'=>
array(
'studiensemester_kurzbz'=> $item['studiensemester_kurzbz'],
'total_semesterstunden' => $item['total_semesterstunden']
)
);
}
}
else
{
$data[]= array('total_ss_per_semester'=> ''); // empty if lector has no lehreinheit- or projektarbeitsstunden in the past (before the actual studiensemester)
}
// Add data to lehrtaetigkeit.xsl
$doc->addDataArray($data, 'lehrtaetigkeit');
// Set doc name
$doc->setFilename('Lehrtaetigkeit_'. rtrim($fullname, '.'));
// Create doc in format required
if (!$doc->create($output))
die($doc->errormsg);
// Download doc
$doc->output();
// unlink doc from tmp-folder
$doc->close();
+4 -4
View File
@@ -124,10 +124,10 @@ if ($is_popup)
$user_ampel_arr,
$cnt_ueberfaellig_und_verpflichtend) = //counts mandatory, overdue (not expired), unconfirmed, not before vorlaufzeit
getPopupUserAmpelData($user_ampel_arr);
}
}
//filter ampeln of actual term (if radiobutton is set to aktuell)
if ($show == 'aktuell')
if (!$is_popup && $show == 'aktuell')
$user_ampel_arr = getActualUserAmpelData($user_ampel_arr, $semester_start);
@@ -361,7 +361,7 @@ function typeWrite(span){
<div>
<img src="../../../skin/images/sancho/sancho_header_du_hast_verpflichtende_ampeln.jpg" alt="sancho_verpflichtende_ampeln" style="width: 100%;">
</div>
<p><br><br></p>';
<p><br><br></p>';
}
}
?>
@@ -401,7 +401,7 @@ function typeWrite(span){
$cnt_active++;
}
if ($cnt_active == 0)
if ($cnt_active == 0 && !$is_popup)
{
echo '
<div class="panel">
+3 -1
View File
@@ -193,7 +193,8 @@ if (isset($_SESSION['pruefling_id']))
)
SELECT DISTINCT
SELECT DISTINCT ON
(gebiet_id, semester)
semester,
gebiet_id,
bezeichnung,
@@ -252,6 +253,7 @@ if (isset($_SESSION['pruefling_id']))
ORDER BY
semester,
gebiet_id,
reihung
";
@@ -49,7 +49,8 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<menupopup id="lehrveranstaltung-noten-tree-popup">
<menuitem label="Entfernen" oncommand="LehrveranstaltungNotenDelete();" id="lehrveranstaltung-noten-tree-popup-delete" hidden="false"/>
<menuitem label="Freifaecher-Zertifikat erstellen" oncommand="LehrveranstaltungFFZertifikatPrint(event);" id="lehrveranstaltung-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="LehrveranstaltungLVZeugnisPrint(event);" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Deutsch erstellen" oncommand="LehrveranstaltungLVZeugnisPrint(event, 'German');" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Englisch erstellen" oncommand="LehrveranstaltungLVZeugnisPrint(event, 'English');" id="lehrveranstaltung-noten-tree-popup-lvzeugnis-englisch" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1" style="margin-top: 10px;">
@@ -2264,7 +2264,7 @@ function LehrveranstaltungFFZertifikatPrint(event)
// ****
// * Erstellt ein Lehrveranstaltungszeugnis fuer die LV
// ****
function LehrveranstaltungLVZeugnisPrint(event)
function LehrveranstaltungLVZeugnisPrint(event, sprache)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -2299,9 +2299,13 @@ function LehrveranstaltungLVZeugnisPrint(event)
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
var xsl = 'LVZeugnis';
if (sprache == 'English')
xsl = 'LVZeugnisEng';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
//prompt('test:',url);
}
// ****
+25 -22
View File
@@ -1085,15 +1085,15 @@ if (isset($_GET['excel']))
$worksheet2->write($zeile, ++$i, $row->interessenten_w, $$format);
if (strlen($row->interessenten_w) > $maxlength[$i])
$maxlength[$i] = mb_strlen($row->interessenten_w);
$worksheet2->write($zeile, ++$i, "k.A.", $$format);
if (strlen("k.A.") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.");
$worksheet2->write($zeile, ++$i, "k.A.", $$format);
if (strlen("k.A.") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.");
$worksheet2->write($zeile, ++$i, "k.A.", $$format);
if (strlen("k.A.") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.");
$worksheet2->write($zeile, ++$i, "k.A.*", $$format);
if (strlen("k.A.*") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.*");
$worksheet2->write($zeile, ++$i, "k.A.*", $$format);
if (strlen("k.A.*") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.*");
$worksheet2->write($zeile, ++$i, "k.A.*", $$format);
if (strlen("k.A.*") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.*");
$worksheet2->write($zeile, ++$i, $row->interessentenrtanmeldung, $$format);
if (strlen($row->interessentenrtanmeldung) > $maxlength[$i])
$maxlength[$i] = mb_strlen($row->interessentenrtanmeldung);
@@ -1188,15 +1188,15 @@ if (isset($_GET['excel']))
$worksheet2->write($zeile, ++$i, $interessenten_w_sum, $format_bold);
if (strlen($interessenten_w_sum) > $maxlength[$i])
$maxlength[$i] = mb_strlen($interessenten_w_sum);
$worksheet2->write($zeile, ++$i, "k.A.", $format_bold);
if (strlen("k.A.") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.");
$worksheet2->write($zeile, ++$i, "k.A.", $format_bold);
if (strlen("k.A.") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.");
$worksheet2->write($zeile, ++$i, "k.A.", $format_bold);
if (strlen("k.A.") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.");
$worksheet2->write($zeile, ++$i, "k.A.*", $format_bold);
if (strlen("k.A.*") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.*");
$worksheet2->write($zeile, ++$i, "k.A.*", $format_bold);
if (strlen("k.A.*") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.*");
$worksheet2->write($zeile, ++$i, "k.A.*", $format_bold);
if (strlen("k.A.*") > $maxlength[$i])
$maxlength[$i] = mb_strlen("k.A.*");
$worksheet2->write($zeile, ++$i, $interessentenrtanmeldung_sum, $format_bold);
if (strlen($interessentenrtanmeldung_sum) > $maxlength[$i])
$maxlength[$i] = mb_strlen($interessentenrtanmeldung_sum);
@@ -1253,7 +1253,9 @@ if (isset($_GET['excel']))
$maxlength[$i] = mb_strlen($student3sem_w_sum);
}
//Verteilung
$zeile = $zeile + 3;
$zeile = $zeile + 2;
$worksheet2->write($zeile, 0, '* für ZGV liegen zum Stichtag keine historischen Daten vor');
$zeile = $zeile + 2;
$i = 0;
$worksheet2->write($zeile, 0, 'Verteilung'.$stsem, $format_bold);
$worksheet2->mergeCells($zeile, $i, $zeile, $i + 1);
@@ -2060,7 +2062,7 @@ else
<tr>
<th class='table-sortable:default'>Studiengang</th>
<th class='table-sortable:numeric'>InteressentInnen (m/w)</th>
<th class='table-sortable:numeric'>InteressentInnen mit ZGV (m/w)</th>
<th class='table-sortable:numeric'>InteressentInnen mit ZGV (m/w) *</th>
<th class='table-sortable:numeric'>InteressentInnen mit RT Anmeldung (m/w)</th>
<th class='table-sortable:numeric'>BewerberIn (m/w)</th>
<th class='table-sortable:numeric'>Aufgenommene (m/w)</th>
@@ -2099,7 +2101,7 @@ else
$content .= '<tr>';
$content .= "<td>".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)</td>";
$content .= "<td align='center'>$row->interessenten ($row->interessenten_m / $row->interessenten_w)</td>";
$content .= "<td align='center'>k.A.</td>";
$content .= "<td align='center'>k.A.*</td>";
$content .= "<td align='center'>$row->interessentenrtanmeldung ($row->interessentenrtanmeldung_m / $row->interessentenrtanmeldung_w)</td>";
$content .= "<td align='center'>$row->bewerber ($row->bewerber_m / $row->bewerber_w)</td>";
$content .= "<td align='center'>$row->aufgenommener ($row->aufgenommener_m / $row->aufgenommener_w)</td>";
@@ -2136,7 +2138,7 @@ else
$content .= '</tbody><tfoot style="font-weight: bold;"><tr>';
$content .= "<td>Summe</td>";
$content .= "<td align='center'>$interessenten_sum ($interessenten_m_sum / $interessenten_w_sum)</td>";
$content .= "<td align='center'>k.A.</td>";
$content .= "<td align='center'>k.A.*</td>";
$content .= "<td align='center'>$interessentenrt_sum ($interessentenrt_m_sum / $interessentenrt_w_sum)</td>";
$content .= "<td align='center'>$bewerber_sum ($bewerber_m_sum / $bewerber_w_sum)</td>";
$content .= "<td align='center'>$aufgenommener_sum ($aufgenommener_m_sum / $aufgenommener_w_sum)</td>";
@@ -2146,6 +2148,7 @@ else
$content .= "</tr>";
$content .= '</tfoot></table>';
$content .= "<br />* für ZGV liegen zum Stichtag keine historischen Daten vor";
//Verteilung
$content .= '<br><h2>Verteilung '.$stsem.'</h2><br>';
$qry = "SELECT
+2 -1
View File
@@ -47,7 +47,8 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<menupopup id="student-noten-tree-popup">
<menuitem label="Entfernen" oncommand="StudentNotenDelete();" id="student-noten-tree-popup-delete" hidden="false"/>
<menuitem label="Zertifikat erstellen" oncommand="StudentFFZertifikatPrint(event);" id="student-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="StudentLVZeugnisPrint(event);" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="StudentLVZeugnisPrint(event, 'German');" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis Englisch erstellen" oncommand="StudentLVZeugnisPrint(event, 'English');" id="student-noten-tree-popup-lvzeugnis_eng" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1" style="margin-top: 10px;">
+9 -6
View File
@@ -427,7 +427,7 @@ function StudentFFZertifikatPrint(event)
//****
//* Erstellt ein Lehrveranstaltungszeugnis fuer die LV
//****
function StudentLVZeugnisPrint(event)
function StudentLVZeugnisPrint(event, sprache)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -451,8 +451,11 @@ function StudentLVZeugnisPrint(event)
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
var xsl = 'LVZeugnis';
if (sprache == 'English')
xsl = 'LVZeugnisEng';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
}
@@ -1921,13 +1924,13 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
datepart = bewerbung_abgeschicktamum.substring(0, 10);
timepart = bewerbung_abgeschicktamum.substring(11);
arr = datepart.split('.');
if(arr[0].length==1)
arr[0]='0'+arr[0];
if(arr[1].length==1)
arr[1]='0'+arr[1];
bewerbung_abgeschicktamum = arr[2]+'-'+arr[1]+'-'+arr[0]+' '+timepart;
}
}
+1 -1
View File
@@ -474,7 +474,7 @@ class lehreinheitmitarbeiter extends basis_db
public function getLehreinheiten($mitarbeiter_uid, $studiensemester_kurzbz)
{
$qry = 'SELECT
DISTINCT lehreinheit_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz, stg_kurzbzlang,
DISTINCT lehreinheit_id, lehrveranstaltung_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz, stg_kurzbzlang,
lv_semester, lehrform_kurzbz
FROM
campus.vw_lehreinheit
+210 -162
View File
@@ -24,17 +24,17 @@
*/
/**
* Klasse Organisationseinheit
*
*
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class organisationseinheit extends basis_db
{
public static $oe_parents_array=array();
public $new; // @var boolean
public $new; // @var boolean
public $errormsg; // @var string
public $result;
//Tabellenspalten
public $oe_kurzbz;
public $oe_parent_kurzbz;
@@ -43,13 +43,13 @@ class organisationseinheit extends basis_db
public $aktiv=true;
public $lehre=true;
public $mailverteiler=false;
public $standort_id;
public $standort_id;
public $oe_kurzbz_orig;
public $beschreibung;
public $oetyp_bezeichnung;
/**
* Konstruktor
* @param $oe_kurzbz Kurzbz der Organisationseinheit
@@ -57,7 +57,7 @@ class organisationseinheit extends basis_db
public function __construct($oe_kurzbz=null)
{
parent::__construct();
if($oe_kurzbz != null)
$this->load($oe_kurzbz);
}
@@ -76,17 +76,17 @@ class organisationseinheit extends basis_db
if(!is_null($aktiv))
$qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
if(!is_null($lehre))
if(!is_null($lehre))
$qry.=" AND lehre=".$this->db_add_param($lehre, FHC_BOOLEAN);
$qry .=" ORDER BY ".$order;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -94,18 +94,18 @@ class organisationseinheit extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
/**
* Laedt eine Organisationseinheit
* @param $oe_kurzbz
@@ -136,7 +136,7 @@ class organisationseinheit extends basis_db
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$this->lehre = $this->db_parse_bool($row->lehre);
$this->standort_id = $row->standort_id;
$this->standort_id = $row->standort_id;
$this->freigabegrenze = $row->freigabegrenze;
}
else
@@ -147,7 +147,7 @@ class organisationseinheit extends basis_db
return true;
}
/**
* Laedt alle Organisationseinheiten an oberster Stelle
*
@@ -156,13 +156,13 @@ class organisationseinheit extends basis_db
public function getHeads()
{
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz is null";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -170,18 +170,18 @@ class organisationseinheit extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler bei Abfrage';
return false;
}
}
/**
* Liefert die ChildNodes einer Organisationseinheit. Optional kann ein Typ übergeben werden, welchem das Child entspricht
*
@@ -192,23 +192,23 @@ class organisationseinheit extends basis_db
public function getChilds($oe_kurzbz, $organisationseinheittyp_kurzbz = null)
{
$childs[] = $oe_kurzbz;
$dbversion = $this->db_version();
if($dbversion['server']>=8.4)
{
//ab PostgreSQL Version 8.4 wird die Rekursion von der DB aufgeloest
$qry = "
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
)
SELECT oe_kurzbz, organisationseinheittyp_kurzbz
FROM oes";
if ($organisationseinheittyp_kurzbz != '')
{
$qry .= " WHERE organisationseinheittyp_kurzbz = ".$this->db_add_param($organisationseinheittyp_kurzbz);
@@ -221,17 +221,17 @@ class organisationseinheit extends basis_db
$childs[] = $row->oe_kurzbz;
}
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der Childs';
}
return $childs;
}
else
{
else
{
//vor 8.4 muss die Rekursion in PHP aufgeloest werden
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz = ".$this->db_add_param($oe_kurzbz);
if($myresult = $this->db_query($qry))
{
while($row = $this->db_fetch_object($myresult))
@@ -239,14 +239,14 @@ class organisationseinheit extends basis_db
$childs = array_merge($childs, $this->getChilds($row->oe_kurzbz));
}
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der Childs';
}
return $childs;
}
}
/**
* Liefert die Direkten KindElemente der Organisationseinheit
*
@@ -254,10 +254,10 @@ class organisationseinheit extends basis_db
* @return Array mit den Childs inkl derm Uebergebenen Element
*/
public function getDirectChilds($oe_kurzbz)
{
{
$childs = array();
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz = ".$this->db_add_param($oe_kurzbz)." ORDER BY organisationseinheittyp_kurzbz DESC, bezeichnung";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -265,13 +265,13 @@ class organisationseinheit extends basis_db
$childs[] = $row->oe_kurzbz;
}
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der Childs';
}
return $childs;
}
/**
* Speichert eine Organisationseinheit
*
@@ -282,11 +282,11 @@ class organisationseinheit extends basis_db
{
if(is_null($new))
$new = $this->new;
if($new)
{
//Neu anlegen
$qry = 'INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung,
$qry = 'INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung,
organisationseinheittyp_kurzbz, aktiv, mailverteiler, lehre) VALUES('.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->oe_parent_kurzbz).','.
@@ -296,19 +296,19 @@ class organisationseinheit extends basis_db
$this->db_add_param($this->mailverteiler, FHC_BOOLEAN).','.
$this->db_add_param($this->lehre, FHC_BOOLEAN).');';
}
else
else
{
if($this->oe_kurzbz=='')
{
$this->errormsg = 'Kurzbezeichnung darf nicht leer sein';
return false;
}
if($this->oe_kurzbz_orig=='')
{
$this->oe_kurzbz_orig=$this->oe_kurzbz;
}
$qry = 'UPDATE public.tbl_organisationseinheit SET '.
' oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).','.
' oe_parent_kurzbz='.$this->db_add_param($this->oe_parent_kurzbz).','.
@@ -319,7 +319,7 @@ class organisationseinheit extends basis_db
' lehre='.$this->db_add_param($this->lehre, FHC_BOOLEAN).
" WHERE oe_kurzbz=".$this->db_add_param($this->oe_kurzbz_orig, FHC_STRING, false).";";
}
if($this->db_query($qry))
{
return true;
@@ -330,7 +330,7 @@ class organisationseinheit extends basis_db
return false;
}
}
/**
* Laedt alle Organisationseinheittypen
*
@@ -339,28 +339,28 @@ class organisationseinheit extends basis_db
public function getTypen()
{
$qry = "SELECT * FROM public.tbl_organisationseinheittyp ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new organisationseinheit();
$obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Typen';
return false;
}
}
/**
* Laedt die Organisationseinheiten die als Array uebergeben werden
* @param $kurzbzs Array mit den kurzbezeichnungen
@@ -372,9 +372,9 @@ class organisationseinheit extends basis_db
{
if(count($kurzbzs)==0)
return true;
$kurzbzs = $this->db_implode4SQL($kurzbzs);
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE oe_kurzbz in('.$kurzbzs.')';
if ($aktiv)
$qry.=' AND aktiv=true';
@@ -386,12 +386,12 @@ class organisationseinheit extends basis_db
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
while($row = $this->db_fetch_object($result))
{
$obj = new organisationseinheit();
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -399,13 +399,13 @@ class organisationseinheit extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
$this->result[] = $obj;
}
return true;
}
/**
* Laedt die Organisationseinheiten in ein Array
* das Array enthaelt danach Key alle Organisationseinheiten und als Value dessen Parent OE
@@ -413,7 +413,7 @@ class organisationseinheit extends basis_db
public function loadParentsArray()
{
$qry = 'SELECT * FROM public.tbl_organisationseinheit';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -422,22 +422,22 @@ class organisationseinheit extends basis_db
}
}
}
/**
* Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen
*
*
* @param $oe_kurzbz
*/
public function getParents($oe_kurzbz)
{
$parents=array();
$qry="WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
$qry="WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)." and aktiv = true
SELECT oe_kurzbz, oe_parent_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 FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true
)
SELECT oe_kurzbz
@@ -454,46 +454,46 @@ class organisationseinheit extends basis_db
{
$this->errormsg='Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Get names and types of ALL parent organisational units recursivly for all ascending
* 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.
* @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
WITH RECURSIVE
oes (oe_kurzbz, oe_parent_kurzbz) AS
(
SELECT
oe_kurzbz,
SELECT
oe_kurzbz,
oe_parent_kurzbz,
bezeichnung AS oe_bezeichnung,
organisationseinheittyp_kurzbz
organisationseinheittyp_kurzbz
FROM
public.tbl_organisationseinheit
WHERE
oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
AND
public.tbl_organisationseinheit
WHERE
oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
AND
aktiv = true
UNION ALL
SELECT
o.oe_kurzbz,
o.oe_kurzbz,
o.oe_parent_kurzbz,
o.bezeichnung,
o.organisationseinheittyp_kurzbz
FROM
public.tbl_organisationseinheit o, oes
WHERE
public.tbl_organisationseinheit o, oes
WHERE
o.oe_kurzbz = oes.oe_parent_kurzbz
AND
aktiv = true
@@ -502,33 +502,33 @@ class organisationseinheit extends basis_db
oe_kurzbz,
oe_bezeichnung,
tbl_organisationseinheittyp.bezeichnung AS oe_typ_bezeichnung
FROM
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
@@ -543,13 +543,13 @@ class organisationseinheit extends basis_db
{
$this->loadParentsArray();
}
if(!isset(organisationseinheit::$oe_parents_array[$child]))
{
$this->errormsg = 'Organisationseinheit existiert nicht';
return false;
}
$childs = array_keys(organisationseinheit::$oe_parents_array, $oe_kurzbz);
foreach ($childs as $row)
@@ -559,15 +559,15 @@ class organisationseinheit extends basis_db
return true;
}
else
{
{
if($this->isChild($row, $child))
return true;
}
}
return false;
return false;
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
*/
@@ -588,8 +588,8 @@ class organisationseinheit extends basis_db
$obj->lehre = $oeEinheit->lehre;
$data[]=$obj;
}
}
else
}
else
{
$obj = new stdClass();
$obj->oe_kurzbz = $this->oe_kurzbz;
@@ -603,7 +603,7 @@ class organisationseinheit extends basis_db
}
return $data;
}
/**
* Lädt Organisationseinheiten nach ihrem Typ
* @param type $oetyp_kurzbz
@@ -611,10 +611,10 @@ class organisationseinheit extends basis_db
*/
public function getByTyp($oetyp_kurzbz)
{
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE organisationseinheittyp_kurzbz='.$this->db_add_param($oetyp_kurzbz).';';
if($this->db_query($qry))
{
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE organisationseinheittyp_kurzbz='.$this->db_add_param($oetyp_kurzbz).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
@@ -630,14 +630,14 @@ class organisationseinheit extends basis_db
$this->result[] = $obj;
}
return true;
}
else
{
}
else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
}
/**
* Sucht nach einer Organisationseinheit
* @param type $searchItem
@@ -645,21 +645,21 @@ class organisationseinheit extends basis_db
*/
public function search($searchItem)
{
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE
(
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
OR
LOWER(organisationseinheittyp_kurzbz) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
)';
foreach($searchItem as $value)
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE
(
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
OR
LOWER(organisationseinheittyp_kurzbz) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
)';
foreach($searchItem as $value)
{
$qry.=' OR (LOWER(oe_kurzbz)=LOWER('.$this->db_add_param($value).'))
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
}
$qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
$qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
if($this->db_query($qry))
{
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
@@ -675,20 +675,20 @@ class organisationseinheit extends basis_db
$this->result[] = $obj;
}
return true;
}
else
{
}
else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
}
/**
* Laedt alle Organisationseinheiten, sortiert nach den am haeufigsten vom User in der Zeitaufzeichnung verwendeten
*
*
* <p>Optionaler Zeitraum (Tage in die Vergangenheit), in denen die OE verwendet wurde<br>
* Optionale Anzahl an Ereignissen im angegebenen Zeitraum, um die OE zu beruecksichtigen</p>
*
*
* @param string $user uid
* @param integer $zeitraum Anzahl Tage in die Vergangenheit, die fuer das Auftreten der OE beruecksichtigt werden sollen
* @param integer $anzahl_ereignisse default: 3 Wie oft soll diese OE mindestens in $zeitraum vorkommen, um beruecksichtigt zu werden
@@ -701,13 +701,13 @@ class organisationseinheit extends basis_db
$this->errormsg = "anzahl_ereignisse muss eine gueltige Zahl sein";
return false;
}
if (!is_null($zeitraum) && $zeitraum>0 && is_numeric($zeitraum))
$zeit = "AND tbl_zeitaufzeichnung.start>=(now()::date-$zeitraum)";
else
else
$zeit = "";
$qry = "SELECT
$qry = "SELECT
oe_kurzbz,
oe_parent_kurzbz,
bezeichnung,
@@ -720,10 +720,10 @@ class organisationseinheit extends basis_db
WHERE tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
$zeit
GROUP BY tbl_organisationseinheit.oe_kurzbz HAVING COUNT(*) > $anzahl_ereignisse
UNION
SELECT
SELECT
oe_kurzbz,
oe_parent_kurzbz,
bezeichnung,
@@ -738,8 +738,8 @@ class organisationseinheit extends basis_db
$qry .=" ORDER BY count DESC,bezeichnung,oe_kurzbz";
if($this->db_query($qry))
{
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
@@ -755,29 +755,29 @@ class organisationseinheit extends basis_db
$this->result[] = $obj;
}
return true;
}
else
{
}
else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
}
/**
* Gibt alle Standorte zurück
* @param $aktiv
* @param $lehre
* @return boolean|array false im Fehlerfall, ansonsten ein Array
*/
public function getAllStandorte($aktiv=null, $lehre=null)
/**
* Gibt alle Standorte zurück
* @param $aktiv
* @param $lehre
* @return boolean|array false im Fehlerfall, ansonsten ein Array
*/
public function getAllStandorte($aktiv=null, $lehre=null)
{
$result = array();
$qry = "SELECT DISTINCT standort FROM public.tbl_organisationseinheit WHERE standort IS NOT NULL";
$qry = "SELECT DISTINCT standort FROM public.tbl_organisationseinheit WHERE standort IS NOT NULL";
if(!is_null($aktiv))
$qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
if(!is_null($lehre))
if(!is_null($lehre))
$qry.=" AND lehre=".$this->db_add_param($lehre, FHC_BOOLEAN);
if($this->db_query($qry))
@@ -786,10 +786,10 @@ class organisationseinheit extends basis_db
{
$result[] = $row->standort;
}
return $result;
return $result;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Standorte';
return false;
@@ -800,7 +800,7 @@ class organisationseinheit extends basis_db
* Ermittelt die Stundenobergrenze fuer Lektoren
* Dabei wird im OE Baum nach oben nach Stundengrenzen gesucht und die niedrigste Stundengrenze ermittelt
* @param $oe_kurzbz Organisationseinheit
* @param $fixangestellt boolean legt fest ob die Grenze
* @param $fixangestellt boolean legt fest ob die Grenze
* fuer Freie oder Fixangestellte Lektoren ermittelt werden soll
* @return array(oe_kurzbz, numeric Anzahl der Stunden)
*/
@@ -812,16 +812,16 @@ class organisationseinheit extends basis_db
$fixfrei='frei';
$qry = "
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz
)
SELECT oe_kurzbz, warn_semesterstunden_".$fixfrei." as stunden
FROM oes JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
FROM oes JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
ORDER BY warn_semesterstunden_".$fixfrei." asc limit 1";
if($result = $this->db_query($qry))
@@ -832,11 +832,11 @@ 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.
* @return boolean True on success. If true, returns full term of given organisational unit type.
*/
public function getOETypBezeichnung($oetyp_kurzbz)
{
@@ -849,7 +849,7 @@ class organisationseinheit extends basis_db
public.tbl_organisationseinheittyp
WHERE
organisationseinheittyp_kurzbz = '. $this->db_add_param($oetyp_kurzbz). ';';
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
@@ -860,7 +860,7 @@ class organisationseinheit extends basis_db
else
{
return false;
}
}
}
else
{
@@ -868,11 +868,59 @@ class organisationseinheit extends basis_db
return false;
}
}
else
else
{
$this->errormsg = 'OE Typ fehlt bzw. darf nicht leer sein.';
return false;
}
}
/**
* Liefert alle Organisationseinheiten die bei Lehrveranstaltungen als
* Lehrfach verwendet werden.
*
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function getLehrfachOEs()
{
$qry = "
SELECT distinct tbl_organisationseinheit.*
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE
tbl_organisationseinheit.aktiv
AND EXISTS(
SELECT 1 FROM lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
)
AND tbl_organisationseinheit.lehre
ORDER BY organisationseinheittyp_kurzbz, bezeichnung
";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
}
?>
+395 -337
View File
@@ -1,337 +1,395 @@
<?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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse projektbetreuer
* @create 08-02-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projektbetreuer extends basis_db
{
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
public $person_id; // integer
public $projektarbeit_id; // integer
public $note; // integer
public $betreuerart_kurzbz;// varchar
public $faktor; // numeric(3,2)
public $name; // string
public $punkte; // numeric(6,2)
public $stunden; // numeric(8,4)
public $stundensatz; // numeric(6,2)
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $vertrag_id; // bigint
public $person_id_old;
/**
* Konstruktor
* @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null)
*/
public function __construct($person_id=null, $projektarbeit_id=null)
{
parent::__construct();
if($projektarbeit_id != null && $person_id!=null)
$this->load($person_id, $projektarbeit_id);
}
/**
* Laedt die Funktion mit der ID $person_id, $projektarbeit_id
* @param $person_id ID der zu ladenden Funktion
* @param $projektarbeit_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
public function load($person_id, $projektarbeit_id, $betreuerart_kurzbz)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT
*
FROM
lehre.tbl_projektbetreuer
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->person_id = $row->person_id;
$this->projektarbeit_id = $row->projektarbeit_id;
$this->note = $row->note;
$this->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$this->faktor = $row->faktor;
$this->name = $row->name;
$this->punkte = $row->punkte;
$this->stunden = $row->stunden;
$this->stundensatz = $row->stundensatz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->new=false;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->betreuerart_kurzbz=='')
{
$this->errormsg = 'Betreuerart muss eingegeben werden';
return false;
}
if(mb_strlen($this->betreuerart_kurzbz)>16)
{
$this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein';
return false;
}
if(mb_strlen($this->name)>32)
{
$this->errormsg = 'Name darf nicht länger als 32 Zeichen sein';
return false;
}
if($this->note!='' && !is_numeric($this->note))
{
$this->errormsg = 'Note muss ein numerischer Wert sein';
return false;
}
if($this->punkte!='' && !is_numeric($this->punkte))
{
$this->errormsg = 'Punkte muss ein numerischer Wert sein';
}
if($this->faktor!='' && !is_numeric($this->faktor))
{
$this->errormsg = 'Faktor muss ein numerischer Wert sein';
return false;
}
if($this->stundensatz!='' && !is_numeric($this->stundensatz))
{
$this->errormsg = 'Stundensatz muss ein numerischer Wert sein';
return false;
}
//Pruefen ob projektarbeit_id eine gueltige Zahl ist
if(!is_numeric($this->projektarbeit_id))
{
$this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($this->person_id))
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new = $this->new;
//Variablen pruefen
if(!$this->validate())
return false;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name,
punkte, stunden, stundensatz, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('.
$this->db_add_param($this->person_id).', '.
$this->db_add_param($this->projektarbeit_id).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->betreuerart_kurzbz).', '.
$this->db_add_param($this->faktor).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->punkte).', '.
$this->db_add_param($this->stunden).', '.
$this->db_add_param($this->stundensatz).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->vertrag_id).');';
}
else
{
//Updaten des bestehenden Datensatzes
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='')
$this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz;
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.$this->db_add_param($this->person_id).', '.
'note='.$this->db_add_param($this->note).', '.
'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '.
'faktor='.$this->db_add_param($this->faktor).', '.
'name='.$this->db_add_param($this->name).', '.
'punkte='.$this->db_add_param($this->punkte).', '.
'stunden='.$this->db_add_param($this->stunden).', '.
'stundensatz='.$this->db_add_param($this->stundensatz).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id).' '.
"WHERE projektarbeit_id=".$this->db_add_param($this->projektarbeit_id, FHC_INTEGER,false).
" AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false).
" AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";";
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $person_id ID die geloescht werden soll
* @param $projektarbeit_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert alle Betreuer zu einer Projektarbeit
* @param projektarbeit_id
*/
public function getProjektbetreuer($projektarbeit_id)
{
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." ORDER BY name";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projektbetreuer();
$obj->person_id = $row->person_id;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->note = $row->note;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->faktor = $row->faktor;
$obj->name = $row->name;
$obj->punkte = $row->punkte;
$obj->stunden = $row->stunden;
$obj->stundensatz = $row->stundensatz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->vertrag_id = $row->vertrag_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>
<?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: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse projektbetreuer
* @create 08-02-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projektbetreuer extends basis_db
{
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
public $person_id; // integer
public $projektarbeit_id; // integer
public $note; // integer
public $betreuerart_kurzbz;// varchar
public $faktor; // numeric(3,2)
public $name; // string
public $punkte; // numeric(6,2)
public $stunden; // numeric(8,4)
public $stundensatz; // numeric(6,2)
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $vertrag_id; // bigint
public $person_id_old;
/**
* Konstruktor
* @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null)
*/
public function __construct($person_id=null, $projektarbeit_id=null)
{
parent::__construct();
if($projektarbeit_id != null && $person_id!=null)
$this->load($person_id, $projektarbeit_id);
}
/**
* Laedt die Funktion mit der ID $person_id, $projektarbeit_id
* @param $person_id ID der zu ladenden Funktion
* @param $projektarbeit_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
public function load($person_id, $projektarbeit_id, $betreuerart_kurzbz)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT
*
FROM
lehre.tbl_projektbetreuer
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->person_id = $row->person_id;
$this->projektarbeit_id = $row->projektarbeit_id;
$this->note = $row->note;
$this->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$this->faktor = $row->faktor;
$this->name = $row->name;
$this->punkte = $row->punkte;
$this->stunden = $row->stunden;
$this->stundensatz = $row->stundensatz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->new=false;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if($this->betreuerart_kurzbz=='')
{
$this->errormsg = 'Betreuerart muss eingegeben werden';
return false;
}
if(mb_strlen($this->betreuerart_kurzbz)>16)
{
$this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein';
return false;
}
if(mb_strlen($this->name)>32)
{
$this->errormsg = 'Name darf nicht länger als 32 Zeichen sein';
return false;
}
if($this->note!='' && !is_numeric($this->note))
{
$this->errormsg = 'Note muss ein numerischer Wert sein';
return false;
}
if($this->punkte!='' && !is_numeric($this->punkte))
{
$this->errormsg = 'Punkte muss ein numerischer Wert sein';
}
if($this->faktor!='' && !is_numeric($this->faktor))
{
$this->errormsg = 'Faktor muss ein numerischer Wert sein';
return false;
}
if($this->stundensatz!='' && !is_numeric($this->stundensatz))
{
$this->errormsg = 'Stundensatz muss ein numerischer Wert sein';
return false;
}
//Pruefen ob projektarbeit_id eine gueltige Zahl ist
if(!is_numeric($this->projektarbeit_id))
{
$this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($this->person_id))
{
$this->errormsg = 'person_id muss eine gueltige Zahl sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if($new==null)
$new = $this->new;
//Variablen pruefen
if(!$this->validate())
return false;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name,
punkte, stunden, stundensatz, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('.
$this->db_add_param($this->person_id).', '.
$this->db_add_param($this->projektarbeit_id).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->betreuerart_kurzbz).', '.
$this->db_add_param($this->faktor).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->punkte).', '.
$this->db_add_param($this->stunden).', '.
$this->db_add_param($this->stundensatz).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->vertrag_id).');';
}
else
{
//Updaten des bestehenden Datensatzes
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='')
$this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz;
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.$this->db_add_param($this->person_id).', '.
'note='.$this->db_add_param($this->note).', '.
'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '.
'faktor='.$this->db_add_param($this->faktor).', '.
'name='.$this->db_add_param($this->name).', '.
'punkte='.$this->db_add_param($this->punkte).', '.
'stunden='.$this->db_add_param($this->stunden).', '.
'stundensatz='.$this->db_add_param($this->stundensatz).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id).' '.
"WHERE projektarbeit_id=".$this->db_add_param($this->projektarbeit_id, FHC_INTEGER,false).
" AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false).
" AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";";
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $person_id ID die geloescht werden soll
* @param $projektarbeit_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert alle Betreuer zu einer Projektarbeit
* @param projektarbeit_id
*/
public function getProjektbetreuer($projektarbeit_id)
{
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." ORDER BY name";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projektbetreuer();
$obj->person_id = $row->person_id;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->note = $row->note;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->faktor = $row->faktor;
$obj->name = $row->name;
$obj->punkte = $row->punkte;
$obj->stunden = $row->stunden;
$obj->stundensatz = $row->stundensatz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->vertrag_id = $row->vertrag_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
/**
* Retrieves all projektarbeiten by person (only with stundensatz > 0)
* @param $person_id
* @return boolean If succeeded true and result-array with objects of each projektarbeit of the person.
*/
public function getAllProjects($person_id)
{
if (isset($person_id) && is_numeric($person_id))
{
$qry = '
SELECT
*
FROM
lehre.tbl_projektbetreuer
WHERE
(stundensatz IS NOT NULL) AND (stundensatz > 0)
AND
person_id =' . $this->db_add_param($person_id, FHC_INTEGER);
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projektbetreuer();
$obj->person_id = $row->person_id;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->note = $row->note;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->faktor = $row->faktor;
$obj->name = $row->name;
$obj->punkte = $row->punkte;
$obj->stunden = $row->stunden;
$obj->stundensatz = $row->stundensatz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->vertrag_id = $row->vertrag_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
else
{
$this->errormsg = 'Person_id fehlt oder nicht numerisch.';
return false;
}
}
}
?>
-2
View File
@@ -400,8 +400,6 @@ class pruefling extends basis_db
tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
AND
tbl_prestudentstatus.status_kurzbz='Interessent'
AND
(tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL)
ORDER BY
tbl_reihungstest.datum desc LIMIT 1
)
+8 -1
View File
@@ -1231,11 +1231,18 @@ class wochenplan extends basis_db
//Wenn eine Zeitsperre eingetragen ist, dann diese im Tooltiptext anzeigen
$zeitsperre = new zeitsperre();
$zeitsperre->getSperreByDate($this->pers_uid, date('Y-m-d',$datum), $j);
$datum_obj = new datum();
foreach($zeitsperre->result as $sperren)
{
if ($tooltip!='')
$tooltip.=', ';
$tooltip.=$sperren->zeitsperretyp_kurzbz.' - '.$sperren->bezeichnung;
$aenderungsdatum = $sperren->insertamum;
if($sperren->updateamum>$sperren->insertamum)
$aenderungsdatum = $sperren->updateamum;
$updateinfo = '';
if ($aenderungsdatum != '')
$updateinfo = ' (letzte Änderung: '.$datum_obj->formatDatum($aenderungsdatum,'d.m.Y H:i').')';
$tooltip.=$sperren->zeitsperretyp_kurzbz.' - '.$sperren->bezeichnung.$updateinfo;
}
}
}
+34 -15
View File
@@ -17,36 +17,36 @@ var FHC_DialogLib = {
*/
alertSuccess: function(message)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-ok-sign'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault('Success', html);
$(".ui-dialog-titlebar").addClass("alert-success text-center");
$(".glyphicon-ok-sign").css("color", "#3c763d");
FHC_DialogLib._formatShortDialog();
FHC_DialogLib._displayDialog('Success', message, 'ok-sign', 'alert-success');
},
/**
* Show error message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertError: function(message)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-warning-sign'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault('Error occured', html);
$(".ui-dialog-titlebar").addClass("alert-danger text-center");
$(".glyphicon-warning-sign").css("color", "#a94442");
FHC_DialogLib._formatShortDialog();
FHC_DialogLib._displayDialog('Error occured', message, 'warning-sign', 'alert-danger');
},
/**
* Show warning message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertWarning: function(message)
{
FHC_DialogLib._displayDialog('Warning', message, 'warning-sign', 'alert-warning');
},
/**
* Show info message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertInfo: function(message)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-info-sign'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault('Info', html);
$(".ui-dialog-titlebar").addClass("alert-info text-center");
$(".glyphicon-info-sign").css("color", "#245269");
FHC_DialogLib._formatShortDialog();
FHC_DialogLib._displayDialog('Info', message, 'info-sign', 'alert-info');
},
/**
* Default jQueryUI alert
* @param title shown as message box heading
@@ -79,6 +79,24 @@ var FHC_DialogLib = {
}]
});
},
/**
* displays the dialog box
* @param heading
* @param message
* @param icon
* @param colorClass for heading and icon
* @private
*/
_displayDialog: function(heading, message, icon, colorClass)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-"+icon+"'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault(heading, html);
$(".ui-dialog-titlebar").addClass(colorClass+" text-center");
$(".glyphicon-"+icon).addClass(colorClass);
FHC_DialogLib._formatShortDialog();
},
/**
* formats jQueryUI messagebox as "short", i.e. containing only one line of text,
* centers the text
@@ -90,6 +108,7 @@ var FHC_DialogLib = {
$(".ui-dialog-buttonpane.ui-widget-content").css("padding", ".3em .4em .5em .4em");
$(".ui-dialog .ui-dialog-content").css("padding", "0");
$(".ui-dialog-buttonset button").css("margin", "0");
$(".dialogmessage i.glyphicon").css("background-color", "transparent");
}
};
+6
View File
@@ -851,6 +851,12 @@ var FHC_FilterWidget = {
for (var i = 0; i < data.dataset.length; i++)
{
var record = data.dataset[i];
if ($.isEmptyObject(record))
{
continue;
}
var strHtml = "<tr class='" + record.MARK_ROW_CLASS + "'>";
if (data.checkboxes != null && data.checkboxes != "")
+81 -51
View File
@@ -118,9 +118,6 @@ $(document).ready(function ()
var InfocenterDetails = {
genericSaveError: function() {
FHC_DialogLib.alertError("error when saving");
},
openZgvInfoForPrestudent: function(prestudent_id)
{
var screenwidth = screen.width;
@@ -141,15 +138,16 @@ var InfocenterDetails = {
},
{
successCallback: function(data, textStatus, jqXHR) {
if (data !== false)
if (FHC_AjaxClient.hasData(data))
{
if (data === null)
var timestamp = data.retval[0];
if (timestamp === "")
{
$("#formalgeprueftam_" + akteid).text("");
}
else
{
var fgdatum = $.datepicker.parseDate("yy-mm-dd", data);
var fgdatum = $.datepicker.parseDate("yy-mm-dd", timestamp);
var gerfgdatum = $.datepicker.formatDate("dd.mm.yy", fgdatum);
$("#formalgeprueftam_" + akteid).text(gerfgdatum);
}
@@ -159,10 +157,10 @@ var InfocenterDetails = {
}
else
{
InfocenterDetails.genericSaveError();
InfocenterDetails._genericSaveError();
}
},
errorCallback: InfocenterDetails.genericSaveError,
errorCallback: InfocenterDetails._genericSaveError,
veilTimeout: 0
}
);
@@ -174,12 +172,13 @@ var InfocenterDetails = {
data,
{
successCallback: function(data, textStatus, jqXHR) {
if (data !== true)
if (!FHC_AjaxClient.hasData(data) || data.retval[0] !== true)
{
FHC_DialogLib.alertError("error when saving ZGV prio");
InfocenterDetails._genericSaveError();
}
InfocenterDetails._refreshZgv(true);
}
},
errorCallback: InfocenterDetails._genericSaveError
}
);
},
@@ -213,6 +212,10 @@ var InfocenterDetails = {
btn.after("&nbsp;&nbsp;<span id='zgvUebernehmenNotice' class='text-warning'>keine ZGV vorhanden</span>");
}
},
errorCallback: function()
{
FHC_DialogLib.alertError('Error when getting last ZGV');
},
veilTimeout: 0
}
);
@@ -261,9 +264,10 @@ var InfocenterDetails = {
}
else
{
FHC_DialogLib.alertError("error when saving Absage");
InfocenterDetails._genericSaveError();
}
}
},
errorCallback: InfocenterDetails._genericSaveError
}
);
},
@@ -273,27 +277,29 @@ var InfocenterDetails = {
CALLED_PATH + '/saveFreigabe',
{"prestudent_id": freigabeData.prestudent_id, "statusgrund_id": freigabeData.statusgrund_id},
{
successCallback: function(freigabeResponseData, textStatus, jqXHR) {
successCallback: function(data, textStatus, jqXHR) {
if (FHC_AjaxClient.hasData(freigabeResponseData))
if (FHC_AjaxClient.hasData(data))
{
var freigabeResponseData = FHC_AjaxClient.getData(data);
if (freigabeResponseData.nonCriticalErrors && freigabeResponseData.nonCriticalErrors.length > 0
&& typeof freigabeResponseData.nonCriticalErrors == "string")
{
FHC_DialogLib.alertWarning(freigabeResponseData.nonCriticalErrors);
}
FHC_AjaxClient.showVeil();
InfocenterDetails.initFrgMessageSend(freigabeData);
InfocenterDetails._refreshZgv();
FHC_AjaxClient.hideVeil();
InfocenterDetails._refreshLog();
}
else if (freigabeResponseData.error === 2 && parseInt(freigabeResponseData.retval.prestudent_id, 10))
{
FHC_DialogLib.alertError("error when setting accepted documents");
InfocenterDetails._refreshZgv();
InfocenterDetails._refreshLog();
}
else
{
FHC_DialogLib.alertError("error when saving Freigabe");
InfocenterDetails._genericSaveError();
}
}
},
errorCallback: InfocenterDetails._genericSaveError
}
);
},
@@ -388,13 +394,17 @@ var InfocenterDetails = {
null,
{
successCallback: function(data, textStatus, jqXHR) {
if (data)
if (FHC_AjaxClient.hasData(data))
{
var engdate = $.datepicker.parseDate("yy-mm-dd", data);
var engdate = $.datepicker.parseDate("yy-mm-dd", FHC_AjaxClient.getData(data)[0]);
var gerdate = $.datepicker.formatDate("dd.mm.yy", engdate);
$("#parkdate").val(gerdate);
}
},
errorCallback: function()
{
FHC_DialogLib.alertError("error when getting Studienjahr end");
},
veilTimeout: 0
}
);
@@ -406,10 +416,18 @@ var InfocenterDetails = {
null,
{
successCallback: function(data, textStatus, jqXHR) {
InfocenterDetails._refreshParking(data);
InfocenterDetails._refreshLog();
if (data === null)
InfocenterDetails.getStudienjahrEnd();
if (FHC_AjaxClient.hasData(data))
{
var parkedDate = FHC_AjaxClient.getData(data)[0];
InfocenterDetails._refreshParking(parkedDate);
InfocenterDetails._refreshLog();
if (parkedDate === null)
InfocenterDetails.getStudienjahrEnd();
}
},
errorCallback: function()
{
FHC_DialogLib.alertError("error when getting parked status");
},
veilTimeout: 0
}
@@ -450,13 +468,12 @@ var InfocenterDetails = {
},
{
successCallback: function(data, textStatus, jqXHR) {
if (Array.isArray(data))
if (FHC_AjaxClient.hasData(data))
{
if (data.length > 0)
InfocenterDetails.getParkedDate(personid);
else
$("#unparkmsg").removeClass().addClass("text-warning").text(FHC_PhrasesLib.t('infocenter', 'nichtsZumAusparken'));
InfocenterDetails.getParkedDate(personid);
}
else
$("#unparkmsg").removeClass().addClass("text-warning").text(FHC_PhrasesLib.t('infocenter', 'nichtsZumAusparken'));
},
errorCallback: function(){
$("#unparkmsg").removeClass().addClass("text-danger").text(FHC_PhrasesLib.t('infocenter', 'fehlerBeimAusparken'));
@@ -472,32 +489,39 @@ var InfocenterDetails = {
null,
{
successCallback: callback,
errorCallback: function()
{
FHC_DialogLib.alertError("error when getting prestudent data")
},
veilTimeout: 0
}
);
},
initFrgMessageSend: function(freigabedata)
{
var callback = function (data)
var personid = $("#hiddenpersonid").val();
var callback = function (prestudentresponse)
{
if (data == null)
if (!FHC_AjaxClient.hasData(prestudentresponse))
return;
var prestudentdata = prestudentresponse.retval;
var prestudent_id = freigabedata.prestudent_id;
var statusgrund_id = freigabedata.statusgrund_id;
var rtfreigabe = !$.isNumeric(statusgrund_id);
// check if a prestudent in same semester is already freigegeben - then not send message again
var rtFreigegeben = false;
var stgFreigegeben = false;
var receiverPrestudentstatus = null;
//get prestudentstatus of message receiver
for(var i = 0; i < data.length; i++)
for(var i = 0; i < prestudentdata.length; i++)
{
if (data[i].prestudentstatus.prestudent_id === prestudent_id)
if (prestudentdata[i].prestudentstatus.prestudent_id === prestudent_id)
{
receiverPrestudentstatus = data[i].prestudentstatus;
receiverPrestudentstatus = prestudentdata[i].prestudentstatus;
break;
}
}
@@ -506,19 +530,20 @@ var InfocenterDetails = {
return;
//check other prestudentstati wether already freigegeben
for(var j = 0; j < data.length; j++)
for(var j = 0; j < prestudentdata.length; j++)
{
var prestudent = data[j];
var prestudent = prestudentdata[j];
var prestudentstatus = prestudent.prestudentstatus;
var id = prestudentstatus.prestudent_id;
if (id !== prestudent_id)
{
var fitfreigegeben = $.inArray(prestudentstatus.bezeichnung_statusgrund[0], STGFREIGABE_MESSAGESEND_EXCEPTIONS) >= 0;
var fitstg = $.inArray(parseInt(prestudent.studiengang_kz), FIT_PROGRAMM_STUDIENGAENGE) >= 0;
if (receiverPrestudentstatus.studiensemester_kurzbz === prestudentstatus.studiensemester_kurzbz
&& prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent"
&& (prestudent.studiengangtyp === "b"))
&& (prestudent.studiengangtyp === "b" || fitstg))
{
if (prestudentstatus.statusgrund_id === null)
{
@@ -579,7 +604,7 @@ var InfocenterDetails = {
{
var statusgrundbez = freigabedata.statusgrundbezeichnung ? freigabedata.statusgrundbezeichnung : "";
// if Freigabe to Studiengang, send StgFreigabe Message if not already sent
//if Freigabe to Studiengang, send StgFreigabe Message if not already sent
if (!stgFreigegeben && $.inArray(statusgrundbez, STGFREIGABE_MESSAGESEND_EXCEPTIONS) < 0)
{
InfocenterDetails.sendFreigabeMessage(prestudent_id, STGFREIGABE_MESSAGE_VORLAGE, msgvars);
@@ -587,11 +612,9 @@ var InfocenterDetails = {
}
};
var personid = $("#hiddenpersonid").val();
InfocenterDetails.getPrestudentData(
personid, callback
)
);
},
sendFreigabeMessage: function(prestudentid, vorlage_kurzbz, msgvars)
{
@@ -607,6 +630,9 @@ var InfocenterDetails = {
successCallback: function(data, textStatus, jqXHR) {
InfocenterDetails._refreshMessages();
InfocenterDetails._refreshLog();
},
errorCallback: function() {
FHC_DialogLib.alertWarning("Freigabe message could not be sent");
}
}
);
@@ -684,7 +710,8 @@ var InfocenterDetails = {
$(".freigabebtn").click(function()
{
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
InfocenterDetails._toggleFreigabeDialog(prestudentid, true);//true - Reihungstestfreigabe
//true - Reihungstestfreigabe
InfocenterDetails._toggleFreigabeDialog(prestudentid, true);
}
);
@@ -695,14 +722,14 @@ var InfocenterDetails = {
var statusgrund_id = statusgrel.val();
var statusgrund = statusgrel.find("option:selected").text();
if (statusgrund_id === 'null')
if (!$.isNumeric(statusgrund_id))
{
$("#frgstatusgrselect_" + prestudentid).addClass("has-error");
}
else
{
var rtfreigabe = false;//no Reihungstestfreigabe
InfocenterDetails._toggleFreigabeDialog(prestudentid, rtfreigabe, statusgrund);
//false - no Reihungstestfreigabe
InfocenterDetails._toggleFreigabeDialog(prestudentid, false, statusgrund);
}
}
);
@@ -923,5 +950,8 @@ var InfocenterDetails = {
_notizError: function(phrasename)
{
$("#notizmsg").text(FHC_PhrasesLib.t('ui', phrasename));
},
_genericSaveError: function() {
FHC_DialogLib.alertError("error when saving!");
}
};
+27 -1
View File
@@ -147,6 +147,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$sws = $lvrow->semesterstunden/$wochen;
$ects = $lvrow->ects;
$lvbezeichnung = $lvrow->bezeichnung;
$lvbezeichnung_eng = $lvrow->bezeichnung_english;
$lvstg = $lvrow->studiengang_kz;
$sws_lv = $lvrow->sws;
}
@@ -172,6 +173,26 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
}
$lehrinhalte_eng = '';
$lehrziele_eng = '';
$infoqry = "SELECT * FROM campus.tbl_lvinfo WHERE sprache='English' AND lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
if($db->db_query($infoqry))
{
if ($inforow = $db->db_fetch_object())
{
$lehrinhalte_eng_arr = explode("<br>",$inforow->lehrinhalte);
for ($i = 0; $i < sizeof($lehrinhalte_arr); $i++)
{
$lehrinhalte_eng .= $lehrinhalte_eng_arr[$i].'\n';
}
$lehrziele_eng_arr = explode("<br>",$inforow->lehrziele);
for ($i = 0; $i < sizeof($lehrziele_eng_arr); $i++)
{
$lehrziele_eng .= $lehrziele_eng_arr[$i].'\n';
}
}
}
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
$xml .= "<zertifikate>";
@@ -231,6 +252,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
$datum_aktuell = date('d.m.Y');
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
$xml .= "\n <datum_aktuell>".$datum_aktuell."</datum_aktuell>";
$obj = new zeugnisnote();
@@ -259,11 +281,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
else
$stg_art='';
$xml .= " <lv_studiengang_bezeichnung>".$stg->bezeichnung."</lv_studiengang_bezeichnung>";
$xml .= " <lv_studiengang_bezeichnung_eng>".$stg->english."</lv_studiengang_bezeichnung_eng>";
$xml .= " <lv_studiengang_art>".$stg_art."</lv_studiengang_art>";
$xml .= " <lv_studiengang_typ>".$stg->typ."</lv_studiengang_typ>";
$xml .= " <lv_studiengang_kennzahl>".sprintf('%04s',$lvstg)."</lv_studiengang_kennzahl>";
$xml .= " <bezeichnung><![CDATA[".$lvbezeichnung."]]></bezeichnung>";
$xml .= " <bezeichnung_eng><![CDATA[".$lvbezeichnung_eng."]]></bezeichnung_eng>";
$xml .= " <note>".$note."</note>";
$xml .= " <note_bezeichnung>".$note_bezeichnung."</note_bezeichnung>";
$xml .= " <sws>".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."</sws>";
@@ -272,10 +296,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " <lvleiter>".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."</lvleiter>";
$xml .= " <lehrinhalte><![CDATA[".clearHtmlTags($lehrinhalte)."]]></lehrinhalte>";
$xml .= " <lehrziele><![CDATA[".clearHtmlTags($lehrziele)."]]></lehrziele>";
$xml .= " <lehrinhalte_eng><![CDATA[".clearHtmlTags($lehrinhalte_eng)."]]></lehrinhalte_eng>";
$xml .= " <lehrziele_eng><![CDATA[".clearHtmlTags($lehrziele_eng)."]]></lehrziele_eng>";
$xml .= " </zertifikat>";
}
$xml .= "</zertifikate>";
echo $xml;
}
?>
?>
+15
View File
@@ -2849,6 +2849,21 @@ if($result = $db->db_query($qry_column_desc))
}
}
// App 'budget' hinzufügen
if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='budget'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "INSERT INTO system.tbl_app(app) VALUES('budget');";
if(!$db->db_query($qry))
echo '<strong>App: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neue App budget in system.tbl_app hinzugefügt';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+34
View File
@@ -425,6 +425,40 @@ $filters = array(
}
',
'oe_kurzbz' => null,
),
array(
'app' => 'budget',
'dataset_name' => 'budgetoverview',
'filter_kurzbz' => 'BudgetUebersicht',
'description' => '{Budgetanträge Übersicht}',
'sort' => 1,
'default_filter' => true,
'filter' => '
{
"name": "Budgetanträge",
"columns": [
{"name": "Budgetantrag"},
{"name": "Kostenstelle"},
{"name": "Organisationseinheit"},
{"name": "Geschäftsjahr"},
{"name": "Budgetstatus"},
{"name": "Betrag"}
],
"filters": [
{
"name": "Budgetstatus",
"condition": "Freigegeben",
"operation": "ncontains"
},
{
"name": "Geschäftsjahr",
"condition": "GJ2019-2020",
"operation": "contains"
}
]
}
',
'oe_kurzbz' => null,
)
);
+40
View File
@@ -3269,6 +3269,46 @@ $phrases = array(
'insertvon' => 'system'
)
)
),
array(
'app' => 'infocenter',
'category' => 'infocenter',
'phrase' => 'bewerbungMussAbgeschickt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Bewerbung muss erst abgeschickt worden sein.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The application needs to be sent first.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'infocenter',
'category' => 'infocenter',
'phrase' => 'nurBachelorFreigeben',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Nur Bachelorstudiengänge können freigegeben werden.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Only bachelor programmes can be approved.',
'description' => '',
'insertvon' => 'system'
)
)
)
);
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,504 @@
<?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" 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:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
>
<xsl:output method="xml" version="1.0" indent="yes"/>
<xsl:template match="zertifikate">
<office:document-content 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:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible: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:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
<office:scripts/>
<office:font-face-decls>
<style:font-face style:name="Mangal2" svg:font-family="Mangal"/>
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="roman"/>
<style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-adornments="Standard" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans1" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Mangal1" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Microsoft YaHei" svg:font-family="&apos;Microsoft YaHei&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
</office:font-face-decls>
<office:automatic-styles>
<style:style style:name="Tabelle3" style:family="table">
<style:table-properties style:width="16.401cm" fo:margin-top="0cm" fo:margin-bottom="0cm" table:align="margins" style:may-break-between-rows="false"/>
</style:style>
<style:style style:name="Tabelle3.A" style:family="table-column">
<style:table-column-properties style:column-width="5.001cm" style:rel-column-width="19981*"/>
</style:style>
<style:style style:name="Tabelle3.B" style:family="table-column">
<style:table-column-properties style:column-width="3.9cm" style:rel-column-width="15583*"/>
</style:style>
<style:style style:name="Tabelle3.C" style:family="table-column">
<style:table-column-properties style:column-width="7.5cm" style:rel-column-width="29971*"/>
</style:style>
<style:style style:name="Tabelle3.A1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="bottom" fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
</style:style>
<style:style style:name="Tabelle3.B1" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle3.C1" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
</style:style>
<style:style style:name="Tabelle3.A2" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle3.B2" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle3.C2" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle1" style:family="table">
<style:table-properties style:width="16.401cm" fo:margin-top="0.199cm" fo:margin-bottom="0cm" table:align="margins"/>
</style:style>
<style:style style:name="Tabelle1.A" style:family="table-column">
<style:table-column-properties style:column-width="10.437cm" style:rel-column-width="41702*"/>
</style:style>
<style:style style:name="Tabelle1.B" style:family="table-column">
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7944*"/>
</style:style>
<style:style style:name="Tabelle1.D" style:family="table-column">
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7945*"/>
</style:style>
<style:style style:name="Tabelle1.1" style:family="table-row">
<style:table-row-properties style:min-row-height="0.75cm"/>
</style:style>
<style:style style:name="Tabelle1.A1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
<style:background-image/>
</style:table-cell-properties>
</style:style>
<style:style style:name="Tabelle1.D1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
<style:background-image/>
</style:table-cell-properties>
</style:style>
<style:style style:name="Tabelle1.A2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.B2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.C2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.D2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.A7" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="4.498cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="2pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
</style:style>
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="5pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
</style:style>
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:text-properties fo:font-size="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:break-before="page"/>
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="16pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="16pt" style:font-size-complex="16pt"/>
</style:style>
<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="4.498cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="4.498cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="1.499cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="6pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="0024d69b" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
</style:style>
<style:style style:name="P21" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P22" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P23" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:text-properties fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P24" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="00317832" officeooo:paragraph-rsid="00317832" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P25" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" fo:font-size="6pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="T1" style:family="text">
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="T2" style:family="text">
<style:text-properties officeooo:rsid="003032c4"/>
</style:style>
<style:style style:name="T3" style:family="text">
<style:text-properties officeooo:rsid="00317832"/>
</style:style>
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
<style:graphic-properties style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="center" style:horizontal-rel="page-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:shadow-opacity="100%"/>
</style:style>
<style:style style:name="fr2" style:family="graphic" style:parent-style-name="Graphics">
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
</style:style>
<style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
</style:style>
<style:style style:name="T4" style:family="text">
<style:text-properties style:text-position="super 58%"/>
</style:style>
<text:list-style style:name="L1">
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.905cm" fo:text-indent="-0.635cm" fo:margin-left="1.905cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-0.635cm" fo:margin-left="2.54cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.175cm" fo:text-indent="-0.635cm" fo:margin-left="3.175cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.81cm" fo:text-indent="-0.635cm" fo:margin-left="3.81cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.445cm" fo:text-indent="-0.635cm" fo:margin-left="4.445cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.08cm" fo:text-indent="-0.635cm" fo:margin-left="5.08cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.715cm" fo:text-indent="-0.635cm" fo:margin-left="5.715cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.35cm" fo:text-indent="-0.635cm" fo:margin-left="6.35cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.985cm" fo:text-indent="-0.635cm" fo:margin-left="6.985cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
</text:list-style>
</office:automatic-styles>
<office:body>
<xsl:apply-templates select="zertifikat"/>
</office:body>
</office:document-content>
</xsl:template>
<xsl:template match="zertifikat">
<office:text text:use-soft-page-breaks="true" 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:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<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="P15">Transcript of Records</text:p>
<text:p text:style-name="P16"/>
<!-- Beim Campus International wird der Text "Studiengang" nicht angedruckt -->
<xsl:choose>
<xsl:when test="lv_studiengang_kennzahl=10006"></xsl:when>
<xsl:otherwise>
<text:p text:style-name="P16">
<xsl:choose>
<xsl:when test="lv_studiengang_art='Bachelor'">
<xsl:text>Bachelor's</xsl:text>
</xsl:when>
<xsl:when test="lv_studiengang_art='Master'">
<xsl:text>Master's</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="studiengang_art"/>
</xsl:otherwise>
</xsl:choose> Degree Program
</text:p>
</xsl:otherwise>
</xsl:choose>
<text:p text:style-name="P5"><xsl:value-of select="lv_studiengang_bezeichnung_eng"/></text:p>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P2">Student ID: <xsl:value-of select="matrikelnr"/></text:p>
<!-- Beim Campus International wird die Studiengangskennzahl nicht angedruckt -->
<xsl:choose>
<xsl:when test="lv_studiengang_kennzahl=10006">
<text:p text:style-name="P2"/>
</xsl:when>
<xsl:otherwise>
<text:p text:style-name="P2">Program Code: <xsl:value-of select="lv_studiengang_kennzahl"/></text:p>
</xsl:otherwise>
</xsl:choose>
<text:p text:style-name="P3"/>
<text:p text:style-name="P3"/>
<text:p text:style-name="P3"/>
<text:p text:style-name="P7"/>
<text:p text:style-name="P4">First Name/Last Name:<text:tab/>
<text:span text:style-name="T1"><xsl:value-of select="name"/></text:span>
</text:p>
<text:p text:style-name="P7"/>
<text:p text:style-name="P4">Date of Birth:<text:tab/><xsl:value-of select="gebdatum" /></text:p>
<text:p text:style-name="P4"/>
<text:p text:style-name="P19">
<xsl:choose>
<xsl:when test="geschlecht='m'">
<xsl:text>Herr </xsl:text>
</xsl:when>
<xsl:when test="geschlecht='w'">
<xsl:text>Frau </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>Herr/Frau </xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="name"/> hat im <xsl:value-of select="studiensemester" /> als
<xsl:choose>
<xsl:when test="geschlecht='m'">
<xsl:text>ordentlicher Student </xsl:text>
</xsl:when>
<xsl:when test="geschlecht='w'">
<xsl:text>ordentliche Studentin </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>ordentliche/r Student/in </xsl:text>
</xsl:otherwise>
</xsl:choose>
folgende Lehrveranstaltung an der FH Technikum Wien absolviert:</text:p>
<text:p text:style-name="P19"/>
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
<table:table-column table:style-name="Tabelle1.A"/>
<table:table-column table:style-name="Tabelle1.B"/>
<table:table-column table:style-name="Tabelle1.D"/>
<table:table-column table:style-name="Tabelle1.D"/>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P11">Course</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P12">SP/W<text:span text:style-name="T4"> 1</text:span></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P12">ECTS</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
<text:p text:style-name="P12">Grade<text:span text:style-name="T4"> 2</text:span></text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell table:style-name="Tabelle1.A7" office:value-type="string">
<text:p text:style-name="P10"><xsl:value-of select="bezeichnung_eng"/></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
<text:p text:style-name="P9">
<xsl:choose>
<xsl:when test="sws_lv=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="sws_lv"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
<text:p text:style-name="P9">
<xsl:choose>
<xsl:when test="ects=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="ects"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
<text:p text:style-name="P9">
<xsl:choose>
<xsl:when test="note=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="note"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
</table:table-row>
</table:table>
<text:p text:style-name="P6"/>
<text:p text:style-name="P25">¹ 1 Semester period per week = 45 minutes</text:p>
<text:p text:style-name="P25">² Grades:<text:tab/>excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), Participated with success (met), passed (b),</text:p>
<text:p text:style-name="P25"><text:tab/>successfully completed (ea), participated (tg)</text:p>
<text:p text:style-name="P20"/>
<text:p text:style-name="P21"/>
<text:p text:style-name="P22">After passing this course successfully students are able to ...</text:p>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:list xml:id="list4694811147287548861" text:style-name="L1">
<xsl:apply-templates select="lehrziele_eng_arr"/>
</text:list>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22">
<draw:frame draw:style-name="fr1" draw:name="Rahmen1" text:anchor-type="char" draw:z-index="0">
<draw:text-box fo:min-height="0.499cm" fo:min-width="2cm">
<table:table table:name="Tabelle3" table:style-name="Tabelle3">
<table:table-column table:style-name="Tabelle3.A"/>
<table:table-column table:style-name="Tabelle3.B"/>
<table:table-column table:style-name="Tabelle3.C"/>
<table:table-row>
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
<text:p text:style-name="P17">
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr3" draw:name="Bild1" text:anchor-type="char" svg:x="5.2cm" svg:width="3.51cm" svg:height="3.51cm" draw:z-index="1">
<draw:image xlink:href="Pictures/10000201000002290000022939997AEC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
</draw:frame>
<xsl:text>Vienna, </xsl:text><xsl:value-of select="datum_aktuell" /></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.B1" office:value-type="string">
<text:p text:style-name="P16"/>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.C1" office:value-type="string">
<text:p text:style-name="P16"/>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
<text:p text:style-name="P17">Place, Date</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.B2" office:value-type="string">
<text:p text:style-name="P16"/>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.C2" office:value-type="string">
<text:p text:style-name="P14"><xsl:value-of select="studiengangsleiter" /></text:p>
<!-- Beim Campus International wird statt Studiengangsleitung, Head of International Office angedruckt -->
<xsl:choose>
<xsl:when test="lv_studiengang_kennzahl=10006">
<text:p text:style-name="P23">Head of International Office</text:p>
</xsl:when>
<xsl:otherwise>
<text:p text:style-name="P23">Program Director</text:p>
</xsl:otherwise>
</xsl:choose>
</table:table-cell>
</table:table-row>
</table:table>
</draw:text-box>
</draw:frame>
</text:p>
</office:text>
</xsl:template>
<xsl:template match="lehrziele_eng_arr">
<xsl:apply-templates select="lehrziel_eng"/>
</xsl:template>
<xsl:template match="lehrziel_eng">
<text:list-item>
<text:p text:style-name="P21"><xsl:value-of select="."/></text:p>
</text:list-item>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,481 @@
<?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" 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:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
>
<xsl:output method="xml" version="1.0" indent="yes"/>
<xsl:template match="zertifikate">
<office:document-content 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:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible: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:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
<office:scripts/>
<office:font-face-decls>
<style:font-face style:name="Mangal2" svg:font-family="Mangal"/>
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="roman"/>
<style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;" style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-adornments="Standard" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans1" svg:font-family="&apos;Liberation Sans&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Mangal1" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Microsoft YaHei" svg:font-family="&apos;Microsoft YaHei&apos;" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
</office:font-face-decls>
<office:automatic-styles>
<style:style style:name="Tabelle3" style:family="table">
<style:table-properties style:width="16.401cm" fo:margin-top="0cm" fo:margin-bottom="0cm" table:align="margins" style:may-break-between-rows="false"/>
</style:style>
<style:style style:name="Tabelle3.A" style:family="table-column">
<style:table-column-properties style:column-width="5.001cm" style:rel-column-width="19981*"/>
</style:style>
<style:style style:name="Tabelle3.B" style:family="table-column">
<style:table-column-properties style:column-width="3.9cm" style:rel-column-width="15583*"/>
</style:style>
<style:style style:name="Tabelle3.C" style:family="table-column">
<style:table-column-properties style:column-width="7.5cm" style:rel-column-width="29971*"/>
</style:style>
<style:style style:name="Tabelle3.A1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="bottom" fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
</style:style>
<style:style style:name="Tabelle3.B1" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle3.C1" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="1pt dotted #000000"/>
</style:style>
<style:style style:name="Tabelle3.A2" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle3.B2" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle3.C2" style:family="table-cell">
<style:table-cell-properties fo:padding-left="0cm" fo:padding-right="0cm" fo:padding-top="0.101cm" fo:padding-bottom="0.101cm" fo:border="none"/>
</style:style>
<style:style style:name="Tabelle1" style:family="table">
<style:table-properties style:width="16.401cm" fo:margin-top="0.199cm" fo:margin-bottom="0cm" table:align="margins"/>
</style:style>
<style:style style:name="Tabelle1.A" style:family="table-column">
<style:table-column-properties style:column-width="10.437cm" style:rel-column-width="41702*"/>
</style:style>
<style:style style:name="Tabelle1.B" style:family="table-column">
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7944*"/>
</style:style>
<style:style style:name="Tabelle1.D" style:family="table-column">
<style:table-column-properties style:column-width="1.988cm" style:rel-column-width="7945*"/>
</style:style>
<style:style style:name="Tabelle1.1" style:family="table-row">
<style:table-row-properties style:min-row-height="0.75cm"/>
</style:style>
<style:style style:name="Tabelle1.A1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000">
<style:background-image/>
</style:table-cell-properties>
</style:style>
<style:style style:name="Tabelle1.D1" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#999999" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.079cm" fo:padding-bottom="0.079cm" fo:border="0.05pt solid #000000">
<style:background-image/>
</style:table-cell-properties>
</style:style>
<style:style style:name="Tabelle1.A2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.B2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.C2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.D2" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="Tabelle1.A7" style:family="table-cell">
<style:table-cell-properties style:vertical-align="middle" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0.071cm" fo:padding-bottom="0.071cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
</style:style>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="4.498cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="2pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
</style:style>
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="5pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="1.75pt" style:font-size-complex="2pt"/>
</style:style>
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="left" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" fo:font-weight="bold" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-weight-asian="bold" style:font-size-complex="9pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:text-properties fo:font-size="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:text-properties fo:font-size="9pt" officeooo:rsid="0013c612" officeooo:paragraph-rsid="0013c612" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:break-before="page"/>
<style:text-properties fo:font-size="16pt" fo:font-weight="bold" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="16pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="16pt" style:font-size-complex="16pt"/>
</style:style>
<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties fo:font-size="9pt" officeooo:rsid="000de2a1" officeooo:paragraph-rsid="000de2a1" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="4.498cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="9pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="4.498cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties>
<style:tab-stops>
<style:tab-stop style:position="1.499cm"/>
</style:tab-stops>
</style:paragraph-properties>
<style:text-properties fo:font-size="6pt" officeooo:rsid="000f65a0" officeooo:paragraph-rsid="0024d69b" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
</style:style>
<style:style style:name="P21" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="000f65a0" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P22" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P23" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:text-properties fo:font-size="9pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P24" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties fo:font-size="9pt" officeooo:rsid="00317832" officeooo:paragraph-rsid="00317832" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="P25" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:font-name="Arial" fo:font-size="6pt" officeooo:rsid="003032c4" officeooo:paragraph-rsid="003032c4" style:font-size-asian="9pt" style:font-size-complex="9pt"/>
</style:style>
<style:style style:name="T1" style:family="text">
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="T2" style:family="text">
<style:text-properties officeooo:rsid="003032c4"/>
</style:style>
<style:style style:name="T3" style:family="text">
<style:text-properties officeooo:rsid="00317832"/>
</style:style>
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
<style:graphic-properties style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="center" style:horizontal-rel="page-content" fo:padding="0cm" fo:border="none" style:shadow="none" draw:shadow-opacity="100%"/>
</style:style>
<style:style style:name="fr2" style:family="graphic" style:parent-style-name="Graphics">
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
</style:style>
<style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
<style:graphic-properties style:run-through="foreground" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="bottom" style:vertical-rel="page-content" style:horizontal-pos="from-left" style:horizontal-rel="page-content" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
</style:style>
<style:style style:name="T4" style:family="text">
<style:text-properties style:text-position="super 58%"/>
</style:style>
<text:list-style style:name="L1">
<text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="0.4cm" fo:text-indent="-0.4cm" fo:margin-left="0.4cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="1.905cm" fo:text-indent="-0.635cm" fo:margin-left="1.905cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="2.54cm" fo:text-indent="-0.635cm" fo:margin-left="2.54cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.175cm" fo:text-indent="-0.635cm" fo:margin-left="3.175cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="3.81cm" fo:text-indent="-0.635cm" fo:margin-left="3.81cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="4.445cm" fo:text-indent="-0.635cm" fo:margin-left="4.445cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.08cm" fo:text-indent="-0.635cm" fo:margin-left="5.08cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="◦">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="5.715cm" fo:text-indent="-0.635cm" fo:margin-left="5.715cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="▪">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.35cm" fo:text-indent="-0.635cm" fo:margin-left="6.35cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
<text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="•">
<style:list-level-properties text:list-level-position-and-space-mode="label-alignment">
<style:list-level-label-alignment text:label-followed-by="listtab" text:list-tab-stop-position="6.985cm" fo:text-indent="-0.635cm" fo:margin-left="6.985cm"/>
</style:list-level-properties>
</text:list-level-style-bullet>
</text:list-style>
</office:automatic-styles>
<office:body>
<xsl:apply-templates select="zertifikat"/>
</office:body>
</office:document-content>
</xsl:template>
<xsl:template match="zertifikat">
<office:text text:use-soft-page-breaks="true" 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:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<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="P15">Transcript of Records</text:p>
<text:p text:style-name="P16"/>
<text:p text:style-name="P16">
<xsl:choose>
<xsl:when test="lv_studiengang_art='Bachelor'">
<xsl:text>Bachelor's</xsl:text>
</xsl:when>
<xsl:when test="lv_studiengang_art='Master'">
<xsl:text>Master's</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="studiengang_art"/>
</xsl:otherwise>
</xsl:choose> Degree Program
</text:p>
<text:p text:style-name="P5"><xsl:value-of select="lv_studiengang_bezeichnung_eng"/></text:p>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P2">Student ID: <xsl:value-of select="matrikelnr"/></text:p>
<text:p text:style-name="P2">Program Code: <xsl:value-of select="lv_studiengang_kennzahl"/></text:p>
<text:p text:style-name="P3"/>
<text:p text:style-name="P3"/>
<text:p text:style-name="P3"/>
<text:p text:style-name="P7"/>
<text:p text:style-name="P4">First Name/Last Name:<text:tab/>
<text:span text:style-name="T1"><xsl:value-of select="name"/></text:span>
</text:p>
<text:p text:style-name="P7"/>
<text:p text:style-name="P4">Date of Birth:<text:tab/><xsl:value-of select="gebdatum" /></text:p>
<text:p text:style-name="P4"/>
<text:p text:style-name="P19">
<xsl:choose>
<xsl:when test="geschlecht='m'">
<xsl:text>Herr </xsl:text>
</xsl:when>
<xsl:when test="geschlecht='w'">
<xsl:text>Frau </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>Herr/Frau </xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="name"/> hat im <xsl:value-of select="studiensemester" /> als
<xsl:choose>
<xsl:when test="geschlecht='m'">
<xsl:text>außerordentlicher Student </xsl:text>
</xsl:when>
<xsl:when test="geschlecht='w'">
<xsl:text>außerordentliche Studentin </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>außerordentliche/r Student/in </xsl:text>
</xsl:otherwise>
</xsl:choose>
folgende Lehrveranstaltung an der FH Technikum Wien absolviert:</text:p>
<text:p text:style-name="P19"/>
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
<table:table-column table:style-name="Tabelle1.A"/>
<table:table-column table:style-name="Tabelle1.B"/>
<table:table-column table:style-name="Tabelle1.D"/>
<table:table-column table:style-name="Tabelle1.D"/>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P11">Course</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P12">SP/W<text:span text:style-name="T4"> 1</text:span></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P12">ECTS</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.D1" office:value-type="string">
<text:p text:style-name="P12">Grade<text:span text:style-name="T4"> 2</text:span></text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell table:style-name="Tabelle1.A7" office:value-type="string">
<text:p text:style-name="P10"><xsl:value-of select="bezeichnung_eng"/></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
<text:p text:style-name="P9">
<xsl:choose>
<xsl:when test="sws_lv=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="sws_lv"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
<text:p text:style-name="P9">
<xsl:choose>
<xsl:when test="ects=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="ects"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.D2" office:value-type="string">
<text:p text:style-name="P9">
<xsl:choose>
<xsl:when test="note=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="note"/>
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
</table:table-row>
</table:table>
<text:p text:style-name="P6"/>
<text:p text:style-name="P25">¹ 1 Semester period per week = 45 minutes</text:p>
<text:p text:style-name="P25">² Grades:<text:tab/>excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), Participated with success (met), passed (b),</text:p>
<text:p text:style-name="P25"><text:tab/>successfully completed (ea), participated (tg)</text:p>
<text:p text:style-name="P20"/>
<text:p text:style-name="P21"/>
<text:p text:style-name="P22">After passing this course successfully students are able to ...</text:p>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:list xml:id="list4694811147287548861" text:style-name="L1">
<xsl:apply-templates select="lehrziele_eng_arr"/>
</text:list>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22"/>
<text:p text:style-name="P22">
<draw:frame draw:style-name="fr1" draw:name="Rahmen1" text:anchor-type="char" draw:z-index="0">
<draw:text-box fo:min-height="0.499cm" fo:min-width="2cm">
<table:table table:name="Tabelle3" table:style-name="Tabelle3">
<table:table-column table:style-name="Tabelle3.A"/>
<table:table-column table:style-name="Tabelle3.B"/>
<table:table-column table:style-name="Tabelle3.C"/>
<table:table-row>
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
<text:p text:style-name="P17">
<draw:frame xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" draw:style-name="fr3" draw:name="Bild1" text:anchor-type="char" svg:x="5.2cm" svg:width="3.51cm" svg:height="3.51cm" draw:z-index="1">
<draw:image xlink:href="Pictures/10000201000002290000022939997AEC.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
</draw:frame>
<xsl:text>Vienna, </xsl:text><xsl:value-of select="datum_aktuell" /></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.B1" office:value-type="string">
<text:p text:style-name="P16"/>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.C1" office:value-type="string">
<text:p text:style-name="P16"/>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell table:style-name="Tabelle3.A2" office:value-type="string">
<text:p text:style-name="P17">Place, Date</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.B2" office:value-type="string">
<text:p text:style-name="P16"/>
</table:table-cell>
<table:table-cell table:style-name="Tabelle3.C2" office:value-type="string">
<text:p text:style-name="P14"><xsl:value-of select="studiengangsleiter" /></text:p>
<text:p text:style-name="P23">Program Director</text:p>
</table:table-cell>
</table:table-row>
</table:table>
</draw:text-box>
</draw:frame>
</text:p>
</office:text>
</xsl:template>
<xsl:template match="lehrziele_eng_arr">
<xsl:apply-templates select="lehrziel_eng"/>
</xsl:template>
<xsl:template match="lehrziel_eng">
<text:list-item>
<text:p text:style-name="P21"><xsl:value-of select="."/></text:p>
</text:list-item>
</xsl:template>
</xsl:stylesheet>
+229
View File
@@ -0,0 +1,229 @@
<?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"
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: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"
>
<xsl:output method="xml" version="1.0" indent="yes"/>
<xsl:template match="lehrtaetigkeit">
<office:document-content 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:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible: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:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer"
xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events"
xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rpt="http://openoffice.org/2005/report"
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#"
xmlns:officeooo="http://openoffice.org/2009/office"
xmlns:tableooo="http://openoffice.org/2009/table"
xmlns:drawooo="http://openoffice.org/2010/draw"
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0"
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
<office:scripts/>
<office:font-face-decls>
<style:font-face style:name="Mangal1" svg:font-family="Mangal"/>
<style:font-face style:name="Liberation Serif" svg:font-family="&apos;Liberation Serif&apos;"
style:font-family-generic="roman" style:font-pitch="variable"/>
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-adornments="Standard"
style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans" svg:font-family="&apos;Liberation Sans&apos;"
style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system"
style:font-pitch="variable"/>
<style:font-face style:name="Microsoft YaHei" svg:font-family="&apos;Microsoft YaHei&apos;"
style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system"
style:font-pitch="variable"/>
</office:font-face-decls>
<office:automatic-styles>
<style:style style:name="Tabelle1" style:family="table">
<style:table-properties style:width="17cm" table:align="margins"/>
</style:style>
<style:style style:name="Tabelle1.A" style:family="table-column">
<style:table-column-properties style:column-width="8.5cm" style:rel-column-width="32767*"/>
</style:style>
<style:style style:name="Tabelle1.B" style:family="table-column">
<style:table-column-properties style:column-width="8.5cm" style:rel-column-width="32768*"/>
</style:style>
<style:style style:name="Tabelle1.A1" style:family="table-cell">
<style:table-cell-properties fo:padding="0.097cm" fo:border-left="0.05pt solid #cccccc"
fo:border-right="none" fo:border-top="0.05pt solid #cccccc"
fo:border-bottom="0.05pt solid #cccccc"/>
</style:style>
<style:style style:name="Tabelle1.B1" style:family="table-cell">
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #cccccc"/>
</style:style>
<style:style style:name="Tabelle1.A2" style:family="table-cell">
<style:table-cell-properties fo:padding="0.097cm" fo:border-left="0.05pt solid #cccccc"
fo:border-right="none" fo:border-top="none"
fo:border-bottom="0.05pt solid #cccccc"/>
</style:style>
<style:style style:name="Tabelle1.B2" style:family="table-cell">
<style:table-cell-properties fo:padding="0.097cm" fo:border-left="0.05pt solid #cccccc"
fo:border-right="0.05pt solid #cccccc" fo:border-top="none"
fo:border-bottom="0.05pt solid #cccccc"/>
</style:style>
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:line-height="115%"/>
<style:text-properties style:font-name="Arial" fo:font-size="11pt" officeooo:rsid="0019e1ef"
officeooo:paragraph-rsid="0019e1ef" style:font-size-asian="10.5pt"
loext:shadow="none"/>
</style:style>
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:line-height="115%" fo:text-align="end" style:justify-single-word="false"/>
<style:text-properties style:font-name="Arial" fo:font-size="11pt" officeooo:rsid="0019e1ef"
officeooo:paragraph-rsid="0019e1ef" style:font-size-asian="10.5pt"
loext:shadow="none"/>
</style:style>
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:line-height="115%" fo:text-align="justify"
style:justify-single-word="false"/>
<style:text-properties style:font-name="Arial" fo:font-size="11pt" officeooo:rsid="0019e1ef"
officeooo:paragraph-rsid="0019e1ef" style:font-size-asian="10.5pt"
loext:shadow="none"/>
</style:style>
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:line-height="115%"/>
<style:text-properties style:font-name="Arial" fo:font-size="13pt" officeooo:rsid="0019e1ef"
officeooo:paragraph-rsid="0019e1ef" style:font-size-asian="13pt"
style:font-size-complex="13pt" loext:shadow="none"/>
</style:style>
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties style:font-name="Arial" fo:font-size="11pt" officeooo:rsid="0019e1ef"
officeooo:paragraph-rsid="0019e1ef" style:font-size-asian="10.5pt"/>
</style:style>
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Table_20_Contents">
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
<style:text-properties style:font-name="Arial" fo:font-size="11pt" fo:font-weight="bold"
officeooo:rsid="0019e1ef" officeooo:paragraph-rsid="0019e1ef"
style:font-size-asian="10.5pt" style:font-weight-asian="bold"
style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Standard">
<style:paragraph-properties fo:line-height="115%"/>
<style:text-properties style:font-name="Arial" fo:font-size="11pt" officeooo:rsid="0019e1ef"
officeooo:paragraph-rsid="0019e1ef" style:font-size-asian="10.5pt"
loext:shadow="none"/>
</style:style>
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics">
<style:graphic-properties style:vertical-pos="from-top" style:vertical-rel="paragraph"
style:horizontal-pos="from-left" style:horizontal-rel="paragraph"
style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%"
draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%"
draw:color-inversion="false" draw:image-opacity="100%"
draw:color-mode="standard"/>
</style:style>
</office:automatic-styles>
<office:body>
<office:text>
<text:sequence-decls>
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
<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="P4">Bestätigung über Lehrtätigkeit</text:p>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P3">Hiermit wird bestätigt, dass <xsl:value-of select="anrede" /> <xsl:text> </xsl:text><xsl:value-of select="full_name" />,
geboren am <xsl:value-of select="birthday" />,
<xsl:choose>
<xsl:when test="end_date != ''">
in der Zeit von <xsl:value-of select="begin_date" /> bis <xsl:value-of select="end_date" />
für die FH Technikum Wien als Hochschullehrer tätig war.
Seine Tätigkeit umfasste die Konzeption, Organisation und Abhaltung von Lehrveranstaltungen.
</xsl:when>
<xsl:otherwise>
seit <xsl:value-of select="begin_date" />
für die FH Technikum Wien als Hochschullehrer tätig ist.
Seine Tätigkeit umfasst die Konzeption, Organisation und Abhaltung von Lehrveranstaltungen.
</xsl:otherwise>
</xsl:choose>
</text:p>
<text:p text:style-name="P3"/>
<text:p text:style-name="P1">Nachstehend eine detaillierte Aufstellung der Lehraufträge:</text:p>
<text:p text:style-name="P1"/>
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
<table:table-column table:style-name="Tabelle1.A" table:number-columns-repeated="2"/>
<table:table-row>
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
<text:p text:style-name="P6">Semester</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
<text:p text:style-name="P6">Semesterstunden pro Semester</text:p>
</table:table-cell>
</table:table-row>
<!--apply dynamic table rows-->
<xsl:for-each select="total_ss_per_semester">
<xsl:if test="total_semesterstunden > 0">
<table:table-row>
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
<text:p text:style-name="P5"><xsl:value-of select="studiensemester_kurzbz" /></text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
<text:p text:style-name="P5"><xsl:value-of select="total_semesterstunden" /></text:p>
</table:table-cell>
</table:table-row>
</xsl:if>
</xsl:for-each>
</table:table>
<text:p text:style-name="P1"/>
<xsl:if test="total_ss_actual_semester != ''">
<text:p text:style-name="P1"/>
<text:p text:style-name="P1">Für das aktuelle Semester <xsl:value-of select="total_ss_actual_semester/studiensemester_kurzbz" /> sind derzeit <xsl:value-of select="total_ss_actual_semester/total_semesterstunden" /> Semesterstunden beauftragt.
</text:p>
</xsl:if>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1">FACHHOCHSCHULE TECHNIKUM WIEN</text:p>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1">
<draw:frame draw:style-name="fr1" draw:name="Bild1" text:anchor-type="paragraph" svg:x="0.183cm"
svg:y="0.025cm" svg:width="5.226cm" svg:height="2.182cm" draw:z-index="0">
<draw:image xlink:href="Pictures/10000000000001AF000000B49D9770EDA3C5B4C0.jpg" xlink:type="simple"
xlink:show="embed" xlink:actuate="onLoad"/>
</draw:frame>
</text:p>
<text:p text:style-name="P1"/>
<text:p text:style-name="P1"/>
<text:p text:style-name="P2">Wien, 04.04.2019</text:p>
</office:text>
</office:body>
</office:document-content>
</xsl:template>
</xsl:stylesheet>