mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' into feature-17512/Issues_Plausibilitaetspruefungen
This commit is contained in:
@@ -121,6 +121,7 @@ class InfoCenter extends Auth_Controller
|
||||
'unlockPerson' => 'infocenter:rw',
|
||||
'saveFormalGeprueft' => 'infocenter:rw',
|
||||
'saveDocTyp' => 'infocenter:rw',
|
||||
'updateStammdaten' => 'infocenter:rw',
|
||||
'saveNachreichung' => 'infocenter:rw',
|
||||
'getPrestudentData' => 'infocenter:r',
|
||||
'getLastPrestudentWithZgvJson' => 'infocenter:r',
|
||||
@@ -172,11 +173,16 @@ class InfoCenter extends Auth_Controller
|
||||
$this->load->model('codex/Zgv_model', 'ZgvModel');
|
||||
$this->load->model('codex/Zgvmaster_model', 'ZgvmasterModel');
|
||||
$this->load->model('codex/Nation_model', 'NationModel');
|
||||
$this->load->model('person/Kontakt_model', 'KontaktModel');
|
||||
$this->load->model('person/Geschlecht_model', 'GeschlechtModel');
|
||||
$this->load->model('person/adresse_model', 'AdresseModel');
|
||||
|
||||
// Loads libraries
|
||||
$this->load->library('PersonLogLib');
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
$this->load->config('infocenter');
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
@@ -1111,14 +1117,14 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
public function reloadDoks($person_id)
|
||||
{
|
||||
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true);
|
||||
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false);
|
||||
|
||||
$this->load->view('system/infocenter/dokNachzureichend.php', array('dokumente_nachgereicht' => $dokumente_nachgereicht->retval));
|
||||
}
|
||||
|
||||
public function reloadUebersichtDoks($person_id)
|
||||
{
|
||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false);
|
||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false);
|
||||
|
||||
$this->DokumentModel->addOrder('bezeichnung');
|
||||
$dokumentdata = array('dokumententypen' => (getData($this->DokumentModel->load())));
|
||||
@@ -1320,6 +1326,126 @@ class InfoCenter extends Auth_Controller
|
||||
$this->outputJsonSuccess('success');
|
||||
}
|
||||
|
||||
public function updateStammdaten()
|
||||
{
|
||||
if (isEmptyString($this->input->post('nachname')) ||
|
||||
isEmptyString($this->input->post('geschlecht')) ||
|
||||
isEmptyString($this->input->post('gebdatum')))
|
||||
{
|
||||
$this->terminateWithJsonError($this->p->t('infocenter', 'stammdatenFeldFehlt'));
|
||||
}
|
||||
|
||||
$datum = explode('.', $this->input->post('gebdatum'));
|
||||
|
||||
if (!checkdate($datum[1], $datum[0], $datum[2]))
|
||||
{
|
||||
$this->terminateWithJsonError($this->p->t('infocenter', 'datumUngueltig'));
|
||||
}
|
||||
|
||||
$person_id = $this->input->post('personid');
|
||||
|
||||
$update = $this->PersonModel->update(
|
||||
array
|
||||
(
|
||||
'person_id' => $person_id
|
||||
),
|
||||
array
|
||||
(
|
||||
'titelpre' => isEmptyString($this->input->post('titelpre')) ? null : $this->input->post('titelpre'),
|
||||
'vorname' => isEmptyString($this->input->post('vorname')) ? null : $this->input->post('vorname'),
|
||||
'nachname' => $this->input->post('nachname'),
|
||||
'titelpost' => isEmptyString($this->input->post('titelpost')) ? null : $this->input->post('titelpost'),
|
||||
'gebdatum' => isEmptyString($this->input->post('gebdatum')) ? null : date("Y-m-d", strtotime($this->input->post('gebdatum'))),
|
||||
'svnr' => isEmptyString($this->input->post('svnr')) ? null : $this->input->post('svnr'),
|
||||
'staatsbuergerschaft' => isEmptyString($this->input->post('buergerschaft')) ? null : $this->input->post('buergerschaft'),
|
||||
'geschlecht' => $this->input->post('geschlecht'),
|
||||
'geburtsnation' => isEmptyString($this->input->post('gebnation')) ? null : $this->input->post('gebnation'),
|
||||
'gebort' => isEmptyString($this->input->post('gebort')) ? null : $this->input->post('gebort'),
|
||||
'updateamum' => date('Y-m-d H:i:s'),
|
||||
'updatevon' => $this->_uid
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($update))
|
||||
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
|
||||
|
||||
$kontakte = $this->input->post('kontakt');
|
||||
foreach ($kontakte as $kontakt)
|
||||
{
|
||||
$kontaktExists = $this->KontaktModel->loadWhere(array(
|
||||
'kontakt_id' => $kontakt['id'],
|
||||
'person_id' => $person_id,
|
||||
));
|
||||
|
||||
if (hasData($kontaktExists))
|
||||
{
|
||||
$kontaktExists = getData($kontaktExists)[0];
|
||||
|
||||
if ($kontaktExists->kontakt === $kontakt['value'])
|
||||
continue;
|
||||
|
||||
$update = $this->KontaktModel->update(
|
||||
array
|
||||
(
|
||||
'kontakt_id' => $kontakt['id']
|
||||
),
|
||||
array
|
||||
(
|
||||
'kontakt' => isEmptyString($kontakt['value']) ? null : $kontakt['value'],
|
||||
'updateamum' => date('Y-m-d H:i:s'),
|
||||
'updatevon' => $this->_uid
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($update))
|
||||
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
|
||||
}
|
||||
}
|
||||
|
||||
$adressen = $this->input->post('adresse');
|
||||
|
||||
foreach ($adressen as $adresse)
|
||||
{
|
||||
$adresseExists = $this->AdresseModel->loadWhere(array(
|
||||
'adresse_id' => $adresse['id'],
|
||||
'person_id' => $person_id,
|
||||
));
|
||||
|
||||
if (hasData($adresseExists))
|
||||
{
|
||||
$adresse = $adresse['value'];
|
||||
$adresseExists = getData($adresseExists)[0];
|
||||
if ($adresseExists->strasse !== $adresse['strasse'] ||
|
||||
$adresseExists->plz !== $adresse['plz'] ||
|
||||
$adresseExists->ort !== $adresse['ort'] ||
|
||||
$adresseExists->nation !== $adresse['nation'])
|
||||
{
|
||||
$update = $this->AdresseModel->update(
|
||||
array
|
||||
(
|
||||
'adresse_id' => $adresseExists->adresse_id
|
||||
),
|
||||
array
|
||||
(
|
||||
'strasse' => isEmptyString($adresse['strasse']) ? null : $adresse['strasse'],
|
||||
'plz' => isEmptyString($adresse['plz']) ? null : $adresse['plz'],
|
||||
'ort' => isEmptyString($adresse['ort']) ? null : $adresse['ort'],
|
||||
'nation' => isEmptyString($adresse['nation']) ? null : $adresse['nation'],
|
||||
'updateamum' => date('Y-m-d H:i:s'),
|
||||
'updatevon' => $this->_uid
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($update))
|
||||
$this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern'));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$this->outputJsonSuccess('Success');
|
||||
}
|
||||
|
||||
public function saveNachreichung($person_id)
|
||||
{
|
||||
$nachreichungAm = $this->input->post('nachreichungAm');
|
||||
@@ -1794,14 +1920,14 @@ class InfoCenter extends Auth_Controller
|
||||
if (!isset($stammdaten->retval))
|
||||
return null;
|
||||
|
||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false);
|
||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false);
|
||||
|
||||
if (isError($dokumente))
|
||||
{
|
||||
show_error(getError($dokumente));
|
||||
}
|
||||
|
||||
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true);
|
||||
$dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false);
|
||||
|
||||
if (isError($dokumente_nachgereicht))
|
||||
{
|
||||
@@ -1996,6 +2122,12 @@ class InfoCenter extends Auth_Controller
|
||||
$this->NationModel->addOrder('langtext');
|
||||
$allNations = getData($this->NationModel->load());
|
||||
|
||||
|
||||
$additional_stg = explode(',', ($this->config->item('infocenter_studiengang_kz')));
|
||||
|
||||
$this->GeschlechtModel->addOrder('sort');
|
||||
$allGenders = getData($this->GeschlechtModel->load());
|
||||
|
||||
$data = array (
|
||||
'zgvpruefungen' => $zgvpruefungen,
|
||||
'abwstatusgruende' => $abwstatusgruende,
|
||||
@@ -2004,6 +2136,8 @@ class InfoCenter extends Auth_Controller
|
||||
'all_zgvs' => $allZGVs,
|
||||
'all_zgvs_master' => $allZGVsMaster,
|
||||
'all_nations' => $allNations,
|
||||
'additional_stg' => $additional_stg,
|
||||
'all_genders' => $allGenders
|
||||
);
|
||||
|
||||
return $data;
|
||||
@@ -2164,8 +2298,8 @@ class InfoCenter extends Auth_Controller
|
||||
$prestudentstatus = $prestudent->prestudentstatus;
|
||||
$person_id = $prestudent->person_id;
|
||||
$person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval;
|
||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false)->retval;
|
||||
$dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true)->retval;
|
||||
$dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false)->retval;
|
||||
$dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false)->retval;
|
||||
|
||||
//fill mail variables
|
||||
$interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin';
|
||||
@@ -2262,12 +2396,10 @@ class InfoCenter extends Auth_Controller
|
||||
|
||||
public function getAbsageData()
|
||||
{
|
||||
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
||||
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, ['b', 'm']);
|
||||
$stg_typ = $this->getStudienArtBerechtigung(['b', 'm']);
|
||||
|
||||
if (hasData($stg_typ))
|
||||
if (!is_null($stg_typ))
|
||||
{
|
||||
$stg_typ = getData($stg_typ);
|
||||
$statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval;
|
||||
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
|
||||
$studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(array_column($stg_typ, 'typ'), $studienSemester);
|
||||
@@ -2283,15 +2415,16 @@ class InfoCenter extends Auth_Controller
|
||||
$this->outputJsonSuccess(null);
|
||||
}
|
||||
|
||||
public function getStudienArtBerechtigung()
|
||||
public function getStudienArtBerechtigung($typ = null)
|
||||
{
|
||||
$studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter');
|
||||
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, ['b', 'm', 'l']);
|
||||
$stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, $typ);
|
||||
return getData($stg_typ);
|
||||
}
|
||||
|
||||
public function getStudienartData()
|
||||
{
|
||||
$this->outputJsonSuccess($this->getStudienArtBerechtigung());
|
||||
$this->outputJsonSuccess($this->getStudienArtBerechtigung(['b', 'm', 'l']));
|
||||
}
|
||||
|
||||
public function saveAbsageForAll()
|
||||
|
||||
@@ -171,7 +171,7 @@ class Akte_model extends DB_Model
|
||||
* @param bool $nachgereicht if true, retrieves only nachgereichte Dokumente. if false, only not nachgereichte. default: null, all Dokumente
|
||||
* @return array
|
||||
*/
|
||||
public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null)
|
||||
public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null, $archiv = null)
|
||||
{
|
||||
$this->addSelect('public.tbl_akte.*, bezeichnung_mehrsprachig, dokumentbeschreibung_mehrsprachig, public.tbl_dokument.bezeichnung as dokument_bezeichnung, bis.tbl_nation.*, ausstellungsdetails');
|
||||
$this->addJoin('public.tbl_dokument', 'dokument_kurzbz');
|
||||
@@ -184,6 +184,9 @@ class Akte_model extends DB_Model
|
||||
if(is_bool($nachgereicht))
|
||||
$where['nachgereicht'] = $nachgereicht;
|
||||
|
||||
if (is_bool($archiv))
|
||||
$where['archiv'] = $archiv;
|
||||
|
||||
$dokumente = $this->loadWhere($where);
|
||||
|
||||
if($dokumente->error) return $dokumente;
|
||||
|
||||
@@ -309,13 +309,39 @@ class Prestudent_model extends DB_Model
|
||||
*/
|
||||
public function getLastPrestudent($person_id, $withzgv = false)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_prestudent
|
||||
WHERE person_id = ?
|
||||
$qry = 'SELECT * FROM public.tbl_prestudent ps
|
||||
%s
|
||||
WHERE ps.person_id = ?
|
||||
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
||||
LIMIT 1';
|
||||
|
||||
$zgvwhere = $withzgv === true ? 'AND zgv_code IS NOT NULL' : '';
|
||||
$zgvwhere = '';
|
||||
if ($withzgv === true)
|
||||
{
|
||||
$zgvwhere = '
|
||||
LEFT JOIN (
|
||||
SELECT ps2.zgvmas_code,
|
||||
ps2.zgvmanation,
|
||||
ps2.zgvmadatum,
|
||||
ps2.zgvmaort,
|
||||
ps2.zgvmas_erfuellt,
|
||||
ps2.person_id
|
||||
FROM tbl_prestudent ps2
|
||||
WHERE zgvmas_code IS NOT NULL
|
||||
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
||||
) zgvmas ON zgvmas.person_id = ps.person_id
|
||||
LEFT JOIN (
|
||||
SELECT ps2.zgv_code,
|
||||
ps2.zgvnation,
|
||||
ps2.zgvdatum,
|
||||
ps2.zgvort,
|
||||
ps2.zgv_erfuellt,
|
||||
ps2.person_id
|
||||
FROM tbl_prestudent ps2
|
||||
WHERE zgv_code IS NOT NULL
|
||||
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
|
||||
)zgv ON zgv.person_id = ps.person_id';
|
||||
}
|
||||
|
||||
$qry = sprintf($qry, $zgvwhere);
|
||||
|
||||
|
||||
@@ -508,13 +508,20 @@ class Studiengang_model extends DB_Model
|
||||
return $this->execQuery($query, array($typ, $semester));
|
||||
}
|
||||
|
||||
public function getStudiengangTyp($studiengang_kz, $typ)
|
||||
public function getStudiengangTyp($studiengang_kz, $typ = null)
|
||||
{
|
||||
$query = "SELECT DISTINCT(sgt.*)
|
||||
FROM tbl_studiengangstyp sgt JOIN tbl_studiengang sg on sgt.typ = sg.typ
|
||||
WHERE studiengang_kz IN ? and sgt.typ IN ?";
|
||||
WHERE studiengang_kz IN ?";
|
||||
|
||||
return $this->execQuery($query, array($studiengang_kz, $typ));
|
||||
$params[] = $studiengang_kz;
|
||||
|
||||
if (!is_null($typ))
|
||||
{
|
||||
$query .= " AND sgt.typ IN ?";
|
||||
$params[] = $typ;
|
||||
}
|
||||
|
||||
return $this->execQuery($query, $params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
class Geschlecht_model extends DB_Model
|
||||
{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'public.tbl_geschlecht';
|
||||
$this->pk = 'geschlecht';
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,8 @@
|
||||
'public/js/infocenter/messageList.js',
|
||||
'public/js/infocenter/infocenterDetails.js',
|
||||
'public/js/infocenter/zgvUeberpruefung.js',
|
||||
'public/js/infocenter/docUeberpruefung.js'
|
||||
'public/js/infocenter/docUeberpruefung.js',
|
||||
'public/js/infocenter/stammdaten.js'
|
||||
),
|
||||
'phrases' => array(
|
||||
'infocenter' => array(
|
||||
|
||||
@@ -1,60 +1,104 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-6 table-responsive">
|
||||
<div class="col-lg-6 table-responsive stammdaten_form">
|
||||
<table class="table">
|
||||
<?php if (!empty($stammdaten->titelpre)): ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpre')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->titelpre ?></td>
|
||||
<td>
|
||||
<div class='stammdaten' id="titelpre"><?php echo $stammdaten->titelpre ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','vorname')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->vorname ?></td>
|
||||
<td>
|
||||
<div class='stammdaten' id="vorname"><?php echo $stammdaten->vorname ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','nachname')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->nachname ?></td>
|
||||
<div class='stammdaten' id="nachname"><?php echo $stammdaten->nachname ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpost')) ?></strong></td>
|
||||
<td>
|
||||
<div class='stammdaten' id="titelpost"><?php echo $stammdaten->titelpost ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if (!empty($stammdaten->titelpost)): ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','titelpost')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->titelpost ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsdatum')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></td>
|
||||
<div class='stammdaten' id="gebdatum"><?php echo date_format(date_create($stammdaten->gebdatum), 'd.m.Y') ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','svnr')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->svnr ?></td>
|
||||
<div class='stammdaten' id="svnr"><?php echo $stammdaten->svnr ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','staatsbuergerschaft')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->staatsbuergerschaft ?></td>
|
||||
<select id="buergerschaft" disabled>
|
||||
<?php
|
||||
foreach ($all_nations as $nation)
|
||||
{
|
||||
$selected = '';
|
||||
if ($nation->nation_code === $stammdaten->staatsbuergerschaft_code)
|
||||
$selected = 'selected';
|
||||
echo "<option value='". $nation->nation_code ."' " . $selected . ">". $nation->langtext . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geschlecht')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->geschlecht ?></td>
|
||||
<?php
|
||||
$language = getUserLanguage() == 'German' ? 0 : 1;
|
||||
?>
|
||||
<select id="geschlecht" disabled>
|
||||
<?php
|
||||
foreach ($all_genders as $gender)
|
||||
{
|
||||
$selected = '';
|
||||
if ($gender->geschlecht === $stammdaten->geschlecht)
|
||||
$selected = 'selected';
|
||||
echo "<option value='". $gender->geschlecht ."' " . $selected . ">". ucfirst($gender->bezeichnung_mehrsprachig[$language]) . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsnation')) ?></strong></td>
|
||||
<td>
|
||||
<?php echo $stammdaten->geburtsnation ?></td>
|
||||
<select id="gebnation" disabled>
|
||||
|
||||
<?php
|
||||
foreach ($all_nations as $nation)
|
||||
{
|
||||
$selected = '';
|
||||
if ($nation->nation_code === $stammdaten->geburtsnation_code)
|
||||
$selected = 'selected';
|
||||
echo "<option value='". $nation->nation_code ."' " . $selected . ">". $nation->langtext . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><?php echo ucfirst($this->p->t('person','geburtsort')) ?></strong></td>
|
||||
<td><?php echo $stammdaten->gebort ?></td>
|
||||
<td>
|
||||
<div class='stammdaten' id="gebort"><?php echo $stammdaten->gebort ?></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-6 table-responsive">
|
||||
<table class="table table-bordered">
|
||||
<table class="table table-bordered stammdaten_form">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4" class="text-center"><?php echo ucfirst($this->p->t('global','kontakt')) ?></th>
|
||||
@@ -78,7 +122,7 @@
|
||||
<td><?php echo ucfirst($kontakt->kontakttyp) ?></td>
|
||||
<?php endif; ?>
|
||||
<td>
|
||||
<?php echo '<span class="'.$kontakt->kontakttyp.'">';?>
|
||||
<?php echo '<span class="kontakt '.$kontakt->kontakttyp.'" data-id="'. $kontakt->kontakt_id .'" data-value="' . $kontakt->kontakt .'">';?>
|
||||
<?php if ($kontakt->kontakttyp === 'email'): ?>
|
||||
<a href="mailto:<?php echo $kontakt->kontakt; ?>" target="_top">
|
||||
<?php $lastMailAdress = $kontakt->kontakt;
|
||||
@@ -99,8 +143,30 @@
|
||||
<?php echo ucfirst($this->p->t('person','adresse')) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo isset($adresse) ? $adresse->strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?>
|
||||
<?php echo isset($adresse->nationkurztext) ? '<br />'.$adresse->nationkurztext : '' ?>
|
||||
<?php if (isset($adresse)): ?>
|
||||
<div class="row adresse col-sm-12" data-id="<?php echo $adresse->adresse_id ?>">
|
||||
<div class="float-left" data-value="<?php echo $adresse->strasse ?>" data-type="strasse"><?php echo $adresse->strasse ?></div>
|
||||
|
||||
<div class="float-left" data-value="<?php echo $adresse->plz ?>" data-type="plz"><?php echo $adresse->plz ?></div>
|
||||
|
||||
<div class="float-left" data-value="<?php echo $adresse->ort ?>" data-type="ort"><?php echo $adresse->ort ?></div>
|
||||
|
||||
<?php if (isset($adresse->nationkurztext)): ?>
|
||||
<select id="nation_<?php echo $adresse->adresse_id ?>" disabled>
|
||||
<?php
|
||||
foreach ($all_nations as $nation)
|
||||
{
|
||||
$selected = '';
|
||||
if ($nation->nation_code === $adresse->nation)
|
||||
$selected = 'selected';
|
||||
echo "<option value='". $nation->nation_code ."' " . $selected . ">". $nation->langtext . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<br />
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo ($adresse->heimatadresse === true ? 'Heimatadresse' : '').
|
||||
@@ -126,6 +192,16 @@
|
||||
target='_blank'><i class="glyphicon glyphicon-new-window"></i> <?php echo $this->p->t('infocenter','zugangBewerbung') ?></a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="col-xs-6">
|
||||
<a class="editStammdaten">
|
||||
<i class="fa fa-edit"></i> <?php echo $this->p->t('ui','bearbeiten'); ?></a>
|
||||
<div class="editActionStammdaten" style="display:none">
|
||||
<a class="cancelStammdaten">
|
||||
<i class="fa fa-trash"></i> <?php echo $this->p->t('ui','abbrechen');?></a>
|
||||
<a class="saveStammdaten">
|
||||
<i class="fa fa-save"></i> <?php echo $this->p->t('ui','speichern'); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<?php
|
||||
$unique_studsemester = array();
|
||||
$first = true;
|
||||
$fit_programme_studiengaenge = array(10021, 10027);
|
||||
$fit_programme_studiengaenge = $additional_stg;
|
||||
foreach ($zgvpruefungen as $zgvpruefung):
|
||||
$infoonly = $zgvpruefung->infoonly;
|
||||
$studiengangkurzbz = $studiengangbezeichnung = $studiengangtyp = '';
|
||||
|
||||
@@ -56,7 +56,7 @@ $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern
|
||||
WHERE person_id = pers.person_id
|
||||
ORDER BY prestudent_id DESC
|
||||
) prestudents
|
||||
WHERE last_status IN ('Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent')
|
||||
WHERE last_status IN ('Abgewiesener','Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent')
|
||||
GROUP BY person_id
|
||||
LIMIT 1;
|
||||
) AS \"Zugehörigkeit\",
|
||||
@@ -89,7 +89,9 @@ $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern
|
||||
LEFT JOIN public.tbl_funktion fu USING (funktion_kurzbz)
|
||||
WHERE fehlercode = fr.fehlercode
|
||||
GROUP BY fehlercode
|
||||
) AS \"Organisationseinheit Zuständigkeiten\"
|
||||
) AS \"Organisationseinheit Zuständigkeiten\",
|
||||
pers.bpk AS \"BPK\",
|
||||
pers.matr_nr AS \"Matrikelnummer\"
|
||||
FROM system.tbl_issue iss
|
||||
JOIN system.tbl_fehler fr USING (fehlercode)
|
||||
JOIN system.tbl_fehlertyp ftyp USING (fehlertyp_kurzbz)
|
||||
@@ -173,7 +175,9 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zugehoerigkeit')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'hauptzustaendig')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zustaendigePersonen')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zustaendigeOrganisationseinheiten'))
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zustaendigeOrganisationseinheiten')),
|
||||
'BPK',
|
||||
'Matrikelnummer'
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
|
||||
@@ -222,6 +226,16 @@ $filterWidgetArray = array(
|
||||
$datasetRaw->{'Organisationseinheit Zuständigkeiten'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'BPK'} == null)
|
||||
{
|
||||
$datasetRaw->{'BPK'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'Matrikelnummer'} == null)
|
||||
{
|
||||
$datasetRaw->{'Matrikelnummer'} = '-';
|
||||
}
|
||||
|
||||
return $datasetRaw;
|
||||
},
|
||||
'markRow' => function($datasetRaw) {
|
||||
|
||||
@@ -180,7 +180,8 @@ $qry = 'SELECT DISTINCT ON
|
||||
tbl_person.matr_nr,
|
||||
tbl_person.geschlecht,
|
||||
tbl_person.foto,
|
||||
tbl_person.foto_sperre
|
||||
tbl_person.foto_sperre,
|
||||
(tbl_bisio.bis::timestamp - tbl_bisio.von::timestamp) as daysout
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN public.tbl_benutzer USING(uid)
|
||||
@@ -200,7 +201,7 @@ $qry = 'SELECT DISTINCT ON
|
||||
if ($lehreinheit != '')
|
||||
$qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
$qry .= ' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
$qry .= ' ORDER BY nachname, vorname, person_id, daysout DESC';
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($studiensemester);
|
||||
|
||||
@@ -353,10 +353,9 @@ function writePruefungsTable(e, data, anmeldung)
|
||||
var time = termin[1].substring(0,5);
|
||||
termin = termin[0].split("-");
|
||||
|
||||
// Wie viele Monate vor Prüfungen dürfen sich Studierende anmelden?
|
||||
// Sperre "deaktiviert" indem man sich 24 Monate vorher anmelden darf
|
||||
// Studierende dürfen sich 2 Monate vor Prüfungen anmelden
|
||||
var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
minimumFrist.setMonth(minimumFrist.getMonth() - 24);
|
||||
minimumFrist.setMonth(minimumFrist.getMonth() - 2);
|
||||
|
||||
termin = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
var frist = termin;
|
||||
|
||||
+248
-206
@@ -16,8 +16,9 @@
|
||||
* 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>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Seite zum Eintragen von Urlaubstagen
|
||||
@@ -30,11 +31,13 @@ require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/sancho.inc.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/sprache.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
|
||||
$datum_obj = new datum();
|
||||
$sprache = getSprache();
|
||||
$lang = new sprache();
|
||||
$lang->load($sprache);
|
||||
@@ -49,8 +52,8 @@ $mehrarbeitsstunden = '0';
|
||||
$anspruch = '25';
|
||||
$zaehl=1;
|
||||
$tage=array(); //Array Tage für Kalenderanzeige
|
||||
$hgfarbe=array_fill(0,44,'#E9ECEE'); //Array mit Hintegrundfarben der Kalenderfelder
|
||||
$datensatz=array_fill(0,44,0);
|
||||
$hgfarbe=array_fill(0, 44, '#E9ECEE'); //Array mit Hintegrundfarben der Kalenderfelder
|
||||
$datensatz=array_fill(0, 44, 0);
|
||||
$freigabevon=array();
|
||||
$freigabeamum=array();
|
||||
$vertretung_uid=array();
|
||||
@@ -60,26 +63,26 @@ $erreichbarkeit_kurzbz=array();
|
||||
//$monatsname = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
|
||||
|
||||
$jahre = array(); //Array Jahreszahlen für Auswahl (immer aktuelles Jahr und die 4 nächsten Jahre)
|
||||
$akette=array_fill(0,1,0);
|
||||
$ekette=array_fill(0,1,0);
|
||||
$links='';
|
||||
$rechts='';
|
||||
$tag=array();
|
||||
$vertretung='';
|
||||
$erreichbar='';
|
||||
$vgmail='';
|
||||
$vtmail='';
|
||||
$spmonat=array();
|
||||
$hgchange=false;
|
||||
$wvon='';
|
||||
$wbis='';
|
||||
$datensatz='';
|
||||
$t=getdate();
|
||||
$akette = array_fill(0, 1, 0);
|
||||
$ekette = array_fill(0, 1, 0);
|
||||
$links = '';
|
||||
$rechts = '';
|
||||
$tag = array();
|
||||
$vertretung = '';
|
||||
$erreichbar = '';
|
||||
$vgmail = '';
|
||||
$vtmail = '';
|
||||
$spmonat = array();
|
||||
$hgchange = false;
|
||||
$wvon = '';
|
||||
$wbis = '';
|
||||
$datensatz = '';
|
||||
$t = getdate();
|
||||
$uid = get_uid();
|
||||
$taste=0;
|
||||
$taste = 0;
|
||||
|
||||
$ma= new mitarbeiter();
|
||||
for($i=0;$i<6;$i++)
|
||||
$ma = new mitarbeiter();
|
||||
for($i = 0; $i<6; $i++)
|
||||
{
|
||||
$jahre[$i]="$t[year]"+($i-1);
|
||||
}
|
||||
@@ -118,14 +121,13 @@ else
|
||||
}
|
||||
if (isset($_GET['hgfarbe']))
|
||||
{
|
||||
$hgfarbe=explode(",",$_GET['hgfarbe']);
|
||||
$hgfarbe=explode(",", $_GET['hgfarbe']);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (!isset($_GET['spmonat']))
|
||||
{
|
||||
for($i=0;$i<44;$i++)
|
||||
for($i=0; $i<44; $i++)
|
||||
{
|
||||
if(!isset($hgfarbe[$i]) || $hgfarbe[$i]!='#FFFC7F')
|
||||
$hgfarbe[$i]='#E9ECEE';
|
||||
@@ -167,71 +169,76 @@ if (isset($_GET['rechts_x']) || isset($_POST['rechts_x']))
|
||||
|
||||
//Bereits freigegebenen Eintrag löschen
|
||||
//Eintragung löschen
|
||||
if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POST['delete']) && isset($_POST['informSupervisor'])))
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['delete']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
|
||||
if(!$zeitsperre->delete($_GET['delete']))
|
||||
echo $zeitsperre->errormsg;
|
||||
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
||||
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
||||
if($mail->send())
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Eintragung löschen
|
||||
if((isset($_GET['delete']) || isset($_POST['delete'])))
|
||||
if(isset($_GET['delete']))
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['delete']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
$vondatum = $datum_obj->formatDatum($vondatum, 'd.m.Y');
|
||||
$bisdatum = $datum_obj->formatDatum($bisdatum, 'd.m.Y');
|
||||
|
||||
if(!$zeitsperre->delete($_GET['delete']))
|
||||
{
|
||||
echo $zeitsperre->errormsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
|
||||
//new sanchomail
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = $zeitsperre->bezeichnung;
|
||||
$subject = "Urlaub wurde gelöscht";
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
|
||||
|
||||
$from='vilesci@'.DOMAIN;
|
||||
|
||||
//Sanchomail mit Vorlage Sancho Mail Urlaub
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $vondatum,
|
||||
'bisDatum' => $bisdatum
|
||||
);
|
||||
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert', array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Eintragung speichern
|
||||
@@ -255,10 +262,10 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$wtag=$_GET['wtag'];
|
||||
$akette[0]=$wtag[0];
|
||||
$ekette[0]=$wtag[0];
|
||||
for($i=1,$j=0;$i<count($wtag);$i++)
|
||||
for($i=1, $j=0; $i<count($wtag); $i++)
|
||||
{
|
||||
//ketten bilden
|
||||
if($wtag[$i]==date("Y-m-d",strtotime("+1 Day",strtotime($wtag[$i-1]))))
|
||||
if($wtag[$i]==date("Y-m-d", strtotime("+1 Day", strtotime($wtag[$i-1]))))
|
||||
{
|
||||
$ekette[$j]=$wtag[$i];
|
||||
}
|
||||
@@ -268,7 +275,6 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$akette[$j]=$wtag[$i];
|
||||
$ekette[$j]=$wtag[$i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Prüfen, ob eine Zeitaufzeichnung vorhanden ist und ggf Abbrechen
|
||||
@@ -293,7 +299,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
for ($i = 0; $i < count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$bisDatum = new DateTime($ekette[$i]);
|
||||
|
||||
//add here to array, weil in der foreach-Schleife, das bisdatum nicht inkludiert ist
|
||||
@@ -301,34 +307,34 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
|
||||
$daterange = new DatePeriod($vonDatum, new DateInterval('P1D'), $bisDatum);
|
||||
foreach($daterange as $date)
|
||||
{
|
||||
$daysToCheck[] = $date->format("Y-m-d");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($daysToCheck AS $date)
|
||||
{
|
||||
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
||||
$daysToCheck[] = $date->format("Y-m-d");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($zeitsperre->result as $z)
|
||||
foreach ($daysToCheck as $date)
|
||||
{
|
||||
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
||||
|
||||
foreach ($zeitsperre->result as $z)
|
||||
{
|
||||
if ($z->zeitsperretyp_kurzbz)
|
||||
{
|
||||
if ($z->zeitsperretyp_kurzbz)
|
||||
{
|
||||
$error = true;
|
||||
$error = true;
|
||||
|
||||
$z->zeitsperretyp_kurzbz == 'Urlaub' ?
|
||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>' :
|
||||
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitsperreEingetragen',[$date, $z->zeitsperretyp_kurzbz]). '</span>';
|
||||
$z->zeitsperretyp_kurzbz == 'Urlaub' ?
|
||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>' :
|
||||
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitsperreEingetragen', [$date, $z->zeitsperretyp_kurzbz]). '</span>';
|
||||
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
for($i=0;$i<count($akette);$i++)
|
||||
for($i=0; $i<count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
|
||||
@@ -354,12 +360,11 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$error = true;
|
||||
echo $zeitsperre->errormsg;
|
||||
}
|
||||
|
||||
}
|
||||
if(!$error)
|
||||
{
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
@@ -384,31 +389,67 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
$p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
|
||||
for($i=0;$i<count($akette);$i++)
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||
|
||||
// $message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
// $p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
|
||||
for($i=0; $i<count($akette); $i++)
|
||||
{
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($akette[$i]))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($ekette[$i]))."\n";
|
||||
$von = date("d.m.Y", strtotime($akette[$i]));
|
||||
$bis = date("d.m.Y", strtotime($ekette[$i]));
|
||||
}
|
||||
|
||||
|
||||
//Ab September wird das neue Jahr uebergeben
|
||||
if(date("m",strtotime($akette[0]))>=9)
|
||||
$jahr = date("Y", strtotime($akette[0]))+1;
|
||||
else
|
||||
$jahr = date("Y", strtotime($akette[0]));
|
||||
if(date("m", strtotime($akette[0]))>=9)
|
||||
$jahr = date("Y", strtotime($akette[0]))+1;
|
||||
else
|
||||
$jahr = date("Y", strtotime($akette[0]));
|
||||
|
||||
$message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n".
|
||||
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
|
||||
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
||||
if($mail->send())
|
||||
$subject = "Freigabeansuchen Urlaub";
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
|
||||
|
||||
$from='vilesci@'.DOMAIN;
|
||||
|
||||
// Überprüfen, ob addon casetime aktiv ist
|
||||
$addon_obj = new addon();
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
$urlaubssaldo = "";
|
||||
if($addoncasetime)
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</span>";
|
||||
require_once('../../../addons/casetime/config.inc.php');
|
||||
require_once('../../../addons/casetime/include/functions.inc.php');
|
||||
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
|
||||
$urlaubssaldo = $urlaubssaldo->{'AktuellerStand'};
|
||||
}
|
||||
|
||||
//Sanchomail mit Vorlage Sancho Mail Urlaub Neu
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $von,
|
||||
'bisDatum' => $bis,
|
||||
'Link'=> $link,
|
||||
'urlaubssaldo' => $urlaubssaldo
|
||||
);
|
||||
|
||||
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
|
||||
// $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
||||
//if($mail->send())
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."!</span>";
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($to))."!</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -422,14 +463,13 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Eintragungen laden
|
||||
if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
if ((isset($wmonat) || isset($wmonat)) && (isset($wjahr) || isset($wjahr)))
|
||||
{
|
||||
//Urlaubstageage markieren
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]);
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]);
|
||||
$ttt=getdate($mbeginn);
|
||||
$wotag="$ttt[wday]";
|
||||
if ($wotag==0)
|
||||
@@ -447,22 +487,22 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
}
|
||||
//$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]));
|
||||
//$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr]));
|
||||
if($wmonat==0)
|
||||
{
|
||||
$wvon=date("Y-m-d",mktime(0, 0, 0, 12 , $mendev-($wotag-1), ($jahre[$wjahr])-1));
|
||||
$wvon=date("Y-m-d", mktime(0, 0, 0, 12, $mendev-($wotag-1), ($jahre[$wjahr])-1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat) , $mendev-($wotag-1), ($jahre[$wjahr])));
|
||||
$wvon=date("Y-m-d", mktime(0, 0, 0, ($wmonat), $mendev-($wotag-1), ($jahre[$wjahr])));
|
||||
}
|
||||
if($wmonat==11)
|
||||
{
|
||||
$wbis=date("Y-m-d",mktime(0, 0, 0, 1 , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1));
|
||||
$wbis=date("Y-m-d", mktime(0, 0, 0, 1, (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+2) , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]));
|
||||
$wbis=date("Y-m-d", mktime(0, 0, 0, ($wmonat+2), (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]));
|
||||
}
|
||||
$qry="SELECT * FROM campus.tbl_zeitsperre
|
||||
WHERE zeitsperretyp_kurzbz='Urlaub'
|
||||
@@ -477,19 +517,19 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
{
|
||||
//echo " ".$row->vondatum;
|
||||
//echo "-".$row->bisdatum;
|
||||
for($i=1;$i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday']));$i++)
|
||||
for($i=1; $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])); $i++)
|
||||
{
|
||||
if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
||||
&& date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
||||
if(date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
||||
&& date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
||||
{
|
||||
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d",time()))
|
||||
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d", time()))
|
||||
{
|
||||
$hgfarbe[$i]='#bbb';
|
||||
}
|
||||
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d",time()))
|
||||
{
|
||||
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d", time()))
|
||||
{
|
||||
$hgfarbe[$i]='#CDDDEE';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$hgfarbe[$i]='#FFFC7F';
|
||||
@@ -513,7 +553,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
}
|
||||
}
|
||||
}
|
||||
for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday']));$i<44;$i++)
|
||||
for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday'])); $i<44; $i++)
|
||||
{
|
||||
$hgfarbe[$i]='#E9ECEE';
|
||||
$datensatz[$i]=0;
|
||||
@@ -567,58 +607,60 @@ echo '
|
||||
}
|
||||
});
|
||||
</script>';
|
||||
?>
|
||||
<script language="Javascript">
|
||||
function conf_del()
|
||||
{
|
||||
return confirm('<?php echo $p->t('urlaubstool/eintragWirklichLoeschen');?>');
|
||||
}
|
||||
|
||||
function checkval()
|
||||
?>
|
||||
<script language="Javascript">
|
||||
function conf_del()
|
||||
{
|
||||
return confirm('<?php echo $p->t('urlaubstool/eintragWirklichLoeschen');?>');
|
||||
}
|
||||
|
||||
function checkval()
|
||||
{
|
||||
if(document.getElementById('vertretung_uid').value=='')
|
||||
{
|
||||
alert('<?php echo $p->t('urlaubstool/zuerstVertretungAuswaehlen');?>');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#vertretung").autocomplete({
|
||||
source: "urlaubstool_autocomplete.php?autocomplete=mitarbeiter",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
if(document.getElementById('vertretung_uid').value=='')
|
||||
{
|
||||
alert('<?php echo $p->t('urlaubstool/zuerstVertretungAuswaehlen');?>');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
ui.content[i].value=ui.content[i].uid;
|
||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#vertretung").autocomplete({
|
||||
source: "urlaubstool_autocomplete.php?autocomplete=mitarbeiter",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
ui.content[i].value=ui.content[i].uid;
|
||||
ui.content[i].label=ui.content[i].vorname+" "+ui.content[i].nachname+" ("+ui.content[i].uid+")";
|
||||
}
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
$("#vertretung").val(ui.item.uid);
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.urlaube th, .urlaube td, .urlaube
|
||||
{
|
||||
-moz-border-radius:10px;
|
||||
-khtml-border-radius:10px;
|
||||
}
|
||||
</style>
|
||||
<title><?php echo $p->t('urlaubstool/urlaubstool');?></title>
|
||||
</head>
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
$("#vertretung").val(ui.item.uid);
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.urlaube th, .urlaube td, .urlaube
|
||||
{
|
||||
-moz-border-radius:10px;
|
||||
-khtml-border-radius:10px;
|
||||
}
|
||||
</style>
|
||||
<title><?php echo $p->t('urlaubstool/urlaubstool');?></title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
echo "<H1>".$p->t('urlaubstool/urlaubstool')." (".$uid.")</H1>";
|
||||
|
||||
|
||||
//Anzeige Resturlaubsberechnung
|
||||
echo '<table width="100%">';
|
||||
echo '<tr><td colspan=2>';
|
||||
@@ -664,7 +706,7 @@ echo '
|
||||
style="vertical-align: middle;" alt="links">
|
||||
<SELECT name="wmonat">';
|
||||
|
||||
for($i=0;$i<12;$i++)
|
||||
for($i=0; $i<12; $i++)
|
||||
{
|
||||
if($wmonat==$i)
|
||||
{
|
||||
@@ -680,7 +722,7 @@ echo "</SELECT>\n";
|
||||
|
||||
echo ' <INPUT name="rechts" type="image" src="../../../skin/images/right_lvplan.png" style="vertical-align: middle;" alt="rechts">';
|
||||
echo ' <SELECT name="wjahr">';
|
||||
for($i=0;$i<5;$i++)
|
||||
for($i=0; $i<5; $i++)
|
||||
{
|
||||
if($wjahr==$i)
|
||||
{
|
||||
@@ -725,7 +767,7 @@ if($result = $db->db_query($qry))
|
||||
echo '</SELECT>';
|
||||
|
||||
//Tage
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]);
|
||||
$mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]);
|
||||
$ttt=getdate($mbeginn);
|
||||
$wotag="$ttt[wday]";
|
||||
if ($wotag==0)
|
||||
@@ -742,9 +784,9 @@ else
|
||||
{
|
||||
$mendev = cal_days_in_month(CAL_GREGORIAN, ($wmonat), $jahre[$wjahr]);
|
||||
}
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr]));
|
||||
$ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr]));
|
||||
//echo "monatsende:".$mende;
|
||||
for($i=1;$i<43;$i++)
|
||||
for($i=1; $i<43; $i++)
|
||||
{
|
||||
if($i>=$wotag && $zaehl<=$mende)
|
||||
{
|
||||
@@ -755,22 +797,22 @@ for($i=1;$i<43;$i++)
|
||||
{
|
||||
if($wmonat==0)
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 12 , $mendev+$i-($wotag-1), $jahre[$wjahr]-1));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 12, $mendev+$i-($wotag-1), $jahre[$wjahr]-1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat) , $mendev+$i-($wotag-1), $jahre[$wjahr]));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat), $mendev+$i-($wotag-1), $jahre[$wjahr]));
|
||||
}
|
||||
}
|
||||
elseif ($i>$mende && $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])))
|
||||
{
|
||||
if($wmonat==11)
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 1 , $i-$mende-$wotag+1, $jahre[$wjahr+1]));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, 1, $i-$mende-$wotag+1, $jahre[$wjahr+1]));
|
||||
}
|
||||
else
|
||||
{
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat+2) , $i-$mende-$wotag+1, $jahre[$wjahr]));
|
||||
$tage[$i]=date("d.m.Y", mktime(0, 0, 0, ($wmonat+2), $i-$mende-$wotag+1, $jahre[$wjahr]));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -788,17 +830,17 @@ echo ' <input type="submit" name="speichern" value="'.$p->t('urlaubstool/eintrag
|
||||
<table border=0 width="95%" align="left" class="urlaube">
|
||||
<tr>';
|
||||
|
||||
for($i=1;$i<=7;$i++)
|
||||
for($i=1; $i<=7; $i++)
|
||||
echo "\n".'<th style="width:14%; background-color: #A5AFB6">'.$tagbez[$lang->index][$i].'</th>';
|
||||
|
||||
echo '</tr>';
|
||||
for ($i=0;$i<6;$i++)
|
||||
for ($i=0; $i<6; $i++)
|
||||
{
|
||||
echo "\n".'<tr height="50" style="font-family:Arial,sans-serif; font-size:30px; color:black">';
|
||||
for ($j=1;$j<8;$j++)
|
||||
for ($j=1; $j<8; $j++)
|
||||
{
|
||||
echo "\n";
|
||||
if(strlen(stristr($tage[$j+7*$i],"."))>0)
|
||||
if(strlen(stristr($tage[$j+7*$i], "."))>0)
|
||||
{
|
||||
if($j%6==0 || $j==7)
|
||||
{
|
||||
@@ -822,7 +864,7 @@ for ($i=0;$i<6;$i++)
|
||||
}
|
||||
if($tage[$j+7*$i]!='')
|
||||
{
|
||||
if($hgfarbe[$j+7*$i]=='#FFFC7F' )//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
if($hgfarbe[$j+7*$i]=='#FFFC7F')//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
{
|
||||
echo '<b title='.$p->t('urlaubstool/vertretung').': '.$vertretung_uid[$j+7*$i].' - '.$p->t('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'</b><br>';;
|
||||
$k=$j+7*$i;
|
||||
@@ -832,16 +874,16 @@ for ($i=0;$i<6;$i++)
|
||||
elseif($hgfarbe[$j+7*$i]=='#E9ECEE')
|
||||
{
|
||||
echo '<b>'.$tage[$j+7*$i].'</b><br>';
|
||||
if(strlen(stristr($tage[$j+7*$i],"."))>0)
|
||||
if(strlen(stristr($tage[$j+7*$i], "."))>0)
|
||||
{
|
||||
echo '<input type="checkbox" name="wtag[]"
|
||||
value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"
|
||||
id="'.date("d.m.Y",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"></td>';
|
||||
value="'.date("Y-m-d", mktime(0, 0, 0, substr($tage[$j+7*$i], 3, 2), substr($tage[$j+7*$i], 0, 2), substr($tage[$j+7*$i], 6, 4))).'"
|
||||
id="'.date("d.m.Y", mktime(0, 0, 0, substr($tage[$j+7*$i], 3, 2), substr($tage[$j+7*$i], 0, 2), substr($tage[$j+7*$i], 6, 4))).'"></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"
|
||||
id="'.date("d.m.Y",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
|
||||
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $tage[$j+7*$i], $jahre[$wjahr])).'"
|
||||
id="'.date("d.m.Y", mktime(0, 0, 0, ($wmonat+1), $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -853,12 +895,12 @@ for ($i=0;$i<6;$i++)
|
||||
}
|
||||
elseif(isset($freigabeamum[$j+7*$i]))
|
||||
{
|
||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
||||
if($hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
{
|
||||
$k=$j+7*$i;
|
||||
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]&informSupervisor=True' onclick='return conf_del()'>";
|
||||
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
||||
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]' onclick='return conf_del()'>";
|
||||
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -31,6 +31,7 @@ require_once('../../../include/person.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/sancho.inc.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
@@ -65,6 +66,7 @@ if(isset($_GET['uid']))
|
||||
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
|
||||
}
|
||||
}
|
||||
|
||||
$datum_obj = new datum();
|
||||
$ma= new mitarbeiter();
|
||||
|
||||
@@ -100,6 +102,7 @@ $num_rows_stunde=$db->db_num_rows($result_stunde);
|
||||
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<?php
|
||||
|
||||
// ADDONS laden
|
||||
$addon_obj = new addon();
|
||||
$addon_obj->loadAddons();
|
||||
@@ -109,6 +112,9 @@ foreach($addon_obj->result as $addon)
|
||||
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
|
||||
}
|
||||
|
||||
// Überprüfen, ob addon casetime aktiv ist
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
|
||||
// Wenn Seite fertig geladen ist Addons aufrufen
|
||||
echo '
|
||||
<script>
|
||||
@@ -119,7 +125,8 @@ $( document ).ready(function()
|
||||
{
|
||||
for(i in addon)
|
||||
{
|
||||
addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
|
||||
|
||||
addon[i].init("cis/private/profile/zeitsperre_resturlaub.php", {uid:\''.$uid.'\', holiDays: holiDays});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +165,7 @@ $( document ).ready(function()
|
||||
}
|
||||
return [true, ""];
|
||||
}
|
||||
|
||||
</script>';
|
||||
|
||||
?>
|
||||
@@ -316,6 +324,10 @@ function showHideStudeDropDown()
|
||||
{
|
||||
document.getElementById('vonStd').style.visibility = 'hidden';
|
||||
document.getElementById('bisStd').style.visibility = 'hidden';
|
||||
|
||||
// Stunde entfernen
|
||||
document.getElementById('vonstunde').selectedIndex = 0;
|
||||
document.getElementById('bisstunde').selectedIndex = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -339,6 +351,17 @@ function showHideStudeDropDown()
|
||||
|
||||
<?php
|
||||
|
||||
$zeitsaldo = "";
|
||||
$urlaubssaldo = "";
|
||||
if($addoncasetime)
|
||||
{
|
||||
require_once('../../../addons/casetime/config.inc.php');
|
||||
require_once('../../../addons/casetime/include/functions.inc.php');
|
||||
$zeitsaldo = getCaseTimeZeitsaldo($uid);
|
||||
$zeitsaldo = formatZeitsaldo($zeitsaldo);
|
||||
$urlaubssaldo = getCastTimeUrlaubssaldo($uid);
|
||||
$urlaubssaldo = $urlaubssaldo->{'AktuellerStand'};
|
||||
}
|
||||
|
||||
//Zeitsperre Speichern
|
||||
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
|
||||
@@ -502,17 +525,24 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$zeitsperre->updateamum = date('Y-m-d H:i:s');
|
||||
$zeitsperre->updatevon = $uid;
|
||||
|
||||
// Zeitsperretyp Beschreibung
|
||||
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
|
||||
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
|
||||
|
||||
if($zeitsperre->save())
|
||||
{
|
||||
echo "<h3>".$p->t('global/erfolgreichgespeichert')."</h3>";
|
||||
if(URLAUB_TOOLS)
|
||||
{
|
||||
if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
//Beim Anlegen von neuen Urlauben oder neuem Zeitausgleich wird ein Mail an den Vorgesetzten versendet
|
||||
if($zeitsperre->new && ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub' || $zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
|| !$zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
@@ -531,21 +561,75 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||
|
||||
if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
|
||||
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
|
||||
else
|
||||
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
|
||||
|
||||
$message = "Dies ist eine automatische Mail! \n".
|
||||
"$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
|
||||
"$zeitsperre->bezeichnung von ".$datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y')." bis ".$datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y')."\n\n".
|
||||
"Sie können diesen unter folgender Adresse freigeben:\n".
|
||||
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
|
||||
$from='vilesci@'.DOMAIN;
|
||||
$mail = new mail($to, $from, 'Freigabeansuchen', $message);
|
||||
if($mail->send())
|
||||
$von = $datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y');
|
||||
$bis = $datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y');
|
||||
|
||||
// Wenn ein neuer Urlaub eingetragen wurde, Freigabemail-Text
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
{
|
||||
echo "<br><b>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</b>";
|
||||
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
|
||||
|
||||
$subject = "Freigabeansuchen Urlaub";
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
|
||||
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $von,
|
||||
'bisDatum' => $bis,
|
||||
'Link'=> $link,
|
||||
'urlaubssaldo' => $urlaubssaldo
|
||||
);
|
||||
}
|
||||
|
||||
// Wenn ein Zeitausgleich eingetragen wurde...
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
// ...Mail-Text für neuen Zeitausgleich
|
||||
if ($zeitsperre->new)
|
||||
{
|
||||
$subject = $p->t('urlaubstool/zeitausgleichNeu');
|
||||
$mailvorlage = 'Sancho_Content_Zeitausgleich';
|
||||
}
|
||||
// ...Mail-Text für geaenderten Zeitausgleich
|
||||
else
|
||||
{
|
||||
$subject = $subject = $p->t('urlaubstool/zeitausgleichGeaendert');
|
||||
$mailvorlage = 'Sancho_Content_ZA_Aendern';
|
||||
}
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $von,
|
||||
'bisDatum' => $bis,
|
||||
'Saldo'=> $zeitsaldo
|
||||
);
|
||||
}
|
||||
|
||||
$from='vilesci@'.DOMAIN;
|
||||
|
||||
//Sanchomail mit Vorlage Sancho Mail Zeitausgleich
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
{
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
{
|
||||
echo "<br><b>". $p->t('urlaubstool/freigabemailWurdeVersandt', array($fullName)). "</b>";
|
||||
}
|
||||
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
echo "<br><b>". $p->t('urlaubstool/VorgesetzteInformiert', array($fullName)). "</b>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -572,8 +656,15 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['id']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
$zeitsperre->loadZeitsperretyp($zeitsperre->zeitsperretyp_kurzbz);
|
||||
$zeitsperre->beschreibung = $zeitsperre->result[0]->beschreibung;
|
||||
|
||||
$vonDatum = $zeitsperre->getVonDatum();
|
||||
$bisDatum = $zeitsperre->getBisDatum();
|
||||
|
||||
$vonDatum = $datum_obj->formatDatum($vonDatum ,'d.m.Y');
|
||||
$bisDatum = $datum_obj->formatDatum($bisDatum,'d.m.Y');
|
||||
|
||||
|
||||
if(!$zeitsperre->delete($_GET['id']))
|
||||
echo $zeitsperre->errormsg;
|
||||
@@ -604,16 +695,32 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
|
||||
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
|
||||
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'Urlaub')
|
||||
{
|
||||
$subject = $p->t('urlaubstool/UrlaubGeloescht');
|
||||
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
|
||||
}
|
||||
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
||||
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
|
||||
{
|
||||
$subject = $p->t('urlaubstool/zeitausgleichGeloescht');
|
||||
$mailvorlage = 'Sancho_Mail_ZA_loeschen';
|
||||
}
|
||||
|
||||
$template_data = array(
|
||||
'vorgesetzter' => $fullName,
|
||||
'nameMitarbeiter' => $nameMitarbeiter,
|
||||
'beschreibung' =>$beschreibung,
|
||||
'vonDatum' => $vonDatum,
|
||||
'bisDatum' => $bisDatum
|
||||
);
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
||||
if($mail->send())
|
||||
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
|
||||
{
|
||||
echo "<b>" . $p->t('global/erfolgreichgelöscht') . '</b><br>';
|
||||
echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>";
|
||||
}
|
||||
else
|
||||
@@ -621,6 +728,7 @@ if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['infor
|
||||
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||
@@ -632,6 +740,7 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['infor
|
||||
{
|
||||
$zeit = new zeitsperre();
|
||||
$zeit->load($_GET['id']);
|
||||
|
||||
//pruefen ob die person die den datensatz loeschen will auch der
|
||||
//besitzer dieses datensatzes ist
|
||||
if($zeit->mitarbeiter_uid==$uid)
|
||||
@@ -698,7 +807,7 @@ if(count($zeit->result)>0)
|
||||
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
|
||||
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </td>';
|
||||
else if($row->vondatum>=date("Y-m-d",time()) && $row->zeitsperretyp_kurzbz=='Urlaub')
|
||||
else if($row->vondatum>=date("Y-m-d",time()) && ($row->zeitsperretyp_kurzbz=='Urlaub' || $row->zeitsperretyp_kurzbz == 'ZA'))
|
||||
{
|
||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id&informSupervisor=True' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||
}
|
||||
@@ -779,7 +888,7 @@ $content_form.= '<tr><td>'.$p->t('global/von').'</td><td><input'.$style.' type="
|
||||
//dropdown fuer vonstunde
|
||||
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
||||
|
||||
$content_form.= " <SELECT name='vonstunde'$style>\n";
|
||||
$content_form.= " <SELECT id='vonstunde' name='vonstunde'$style>\n";
|
||||
if($zeitsperre->vonstunde=='')
|
||||
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
||||
else
|
||||
@@ -800,7 +909,7 @@ $content_form.= "</SELECT></td></tr>";
|
||||
$content_form.= '<tr><td>'.$p->t('global/bis').'</td><td><input'.$style.' type="text" '.$class.' size="10" maxlength="10" name="bisdatum" id="bisdatum" value="'.($zeitsperre->bisdatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->bisdatum)):(!isset($_POST['bisdatum'])?date('d.m.Y'):$_POST['bisdatum'])).'"'.$readonly.'></td><td id="bisStd" style="text-align:right;"> ';
|
||||
//dropdown fuer bisstunde
|
||||
$content_form.= $p->t('zeitsperre/stundeInklusive');
|
||||
$content_form.= " <SELECT name='bisstunde'$style>\n";
|
||||
$content_form.= " <SELECT id='bisstunde' name='bisstunde'$style>\n";
|
||||
|
||||
if($zeitsperre->bisstunde=='')
|
||||
$content_form.= "<OPTION value='' selectd>*</OPTION>\n";
|
||||
@@ -836,6 +945,10 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
$content_form.= '</SELECT></td></tr>';
|
||||
|
||||
//$content_form.= '<tr><td>'.$p->t('global/bezeichnung').'</td>
|
||||
//<td colspan="2"><span id="dienstv_span"><input'.$style.' type="text" size="32" name="bezeichnung" maxlength="32" value="'.$zeitsperre->bezeichnung.'"'.$readonly.'></span></td></tr>';
|
||||
|
||||
|
||||
$content_form.= "<tr><td>".$p->t('urlaubstool/erreichbarkeit')."</td><td><SELECT name='erreichbarkeit'>";
|
||||
foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibung)
|
||||
{
|
||||
@@ -847,8 +960,12 @@ foreach ($erreichbarkeit_arr as $erreichbarkeit_key=>$erreichbarkeit_beschreibun
|
||||
|
||||
$content_form.= '</SELECT></td>';
|
||||
|
||||
|
||||
|
||||
$content_form.= '<td style="text-align:right;">';
|
||||
|
||||
|
||||
|
||||
if(isset($_GET['type']) && $_GET['type']=='edit')
|
||||
$content_form.= "<input type='submit' name='submit_zeitsperre' value='".$p->t('global/speichern')."'>";
|
||||
|
||||
@@ -875,6 +992,7 @@ echo '</table>';
|
||||
?>
|
||||
</td></tr></table>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
</html>
|
||||
<?php echo '<script>showHideStudeDropDown();</script>'; ?>
|
||||
|
||||
@@ -605,9 +605,14 @@ echo '
|
||||
{
|
||||
projphasenhtml += "<option value = \'" + json[i].projektphase_id + "\'>";
|
||||
projphasenhtml += json[i].bezeichnung;
|
||||
|
||||
if(json[i].start != \'\' && json[i].ende !=\'\')
|
||||
{
|
||||
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+" )";
|
||||
projphasenhtml += " ( "+json[i].start+" - "+json[i].ende+ " )";
|
||||
}
|
||||
if (!json[i].zeitaufzeichnung_erlaubt)
|
||||
{
|
||||
projphasenhtml += " ---AP NICHT bebuchbar---";
|
||||
}
|
||||
projphasenhtml += "<\/option>";
|
||||
}
|
||||
@@ -665,6 +670,7 @@ echo '
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Pausenblock
|
||||
|
||||
function checkPausenblock()
|
||||
@@ -840,6 +846,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
$projektph_of_user = new projektphase();
|
||||
$projektphasen = $projektph_of_user->getProjectphaseForMitarbeiter($user);
|
||||
|
||||
$phaseBebuchbar = $projektph_of_user->getPhasenZA($projektphase_id);
|
||||
$projekt = new projekt();
|
||||
$projekt->load($projekt_kurzbz);
|
||||
|
||||
if ($_FILES['csv']['error'] == 0 && isset($_POST['import']))
|
||||
{
|
||||
$zeit_csv_import = new zeitaufzeichnung_import_csv($p, $user, $sperrdatum, $_FILES['csv']['tmp_name']);
|
||||
@@ -848,9 +858,11 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
}
|
||||
else if ($datum->formatDatum($von, $format='Y-m-d H:i:s') < $sperrdatum)
|
||||
echo '<span id="triggerPhasenReset" style="color:#ff0000"><b>' .$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum</b></span>';
|
||||
|
||||
// NOTE(chris): Save
|
||||
else if (isset($_POST['save']) || isset($_POST['edit']))
|
||||
{
|
||||
|
||||
$zeit_post_import = new zeitaufzeichnung_import_post($p, $user, isset($_POST['edit']), [
|
||||
'aktivitaet_kurzbz' => $aktivitaet_kurzbz,
|
||||
'beschreibung' => $beschreibung,
|
||||
@@ -867,6 +879,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
'von_pause' => $von_pause,
|
||||
'zeitaufzeichnung_id' => $zeitaufzeichnung_id,
|
||||
]);
|
||||
|
||||
$zeit_post_import->import();
|
||||
echo $zeit_post_import->OutputToHTML();
|
||||
if (!$zeit_post_import->hasErrors() && !$zeit_post_import->hasWarnings())
|
||||
@@ -1239,7 +1252,8 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung). $phasentext.'</option>';
|
||||
echo '<option value="'.$db->convert_html_chars($projektphase->projektphase_id).'" '.$selected.'>'.$db->convert_html_chars($projektphase->bezeichnung).
|
||||
$phasentext. '</option>';
|
||||
}
|
||||
echo '</SELECT></span>';
|
||||
}
|
||||
@@ -1379,7 +1393,27 @@ if ($projekt->getProjekteMitarbeiter($user, true))
|
||||
}
|
||||
}
|
||||
echo '</table>';
|
||||
echo '</td><td valign="top"><span id="zeitsaldo"></span><br><br>';
|
||||
echo '</td><td valign="top"><span id="zeitsaldo"></span><br>';
|
||||
|
||||
if (defined('DEFAULT_ALLIN_DIENSTVERTRAG') && DEFAULT_ALLIN_DIENSTVERTRAG != '')
|
||||
{
|
||||
$bisver = new bisverwendung();
|
||||
$bisver->getLastVerwendung($user);
|
||||
// $ba1code = $bisver->ba1code;
|
||||
$ba1code = null;
|
||||
|
||||
if (in_array($bisver->ba1code, DEFAULT_ALLIN_DIENSTVERTRAG))
|
||||
{
|
||||
echo '<span id="saldoAllin"></span><br><br>';
|
||||
}
|
||||
else
|
||||
echo '<br>';
|
||||
}
|
||||
else
|
||||
echo '<br>';
|
||||
|
||||
|
||||
|
||||
|
||||
if (!$adminView)
|
||||
{
|
||||
|
||||
@@ -86,6 +86,7 @@ if (isset($_GET['projekt_kurzbz']))
|
||||
$item['bezeichnung'] = $row->bezeichnung;
|
||||
$item['start'] = $datum_obj->formatDatum($row->start, 'd.m.Y');
|
||||
$item['ende'] = $datum_obj->formatDatum($row->ende, 'd.m.Y');
|
||||
$item['zeitaufzeichnung_erlaubt'] = $row->zeitaufzeichnung;
|
||||
$result_obj[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,263 +1,339 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 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: Karl Burkhart <burkhart@technikum-wien.at>,
|
||||
*/
|
||||
require_once("../../../config/cis.config.inc.php");
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
require_once("../../../include/gebiet.class.php");
|
||||
require_once("../../../include/frage.class.php");
|
||||
require_once("../../../include/vorschlag.class.php");
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once("../../../include/benutzerberechtigung.class.php");
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Testool Fragen Übersicht</title>
|
||||
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body style="padding: 10px">
|
||||
<?php
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 's'))
|
||||
die('<span class="error">Sie haben keine Berechtigung für diese Seite</span>');
|
||||
|
||||
$gebiet = new gebiet();
|
||||
$gebiet->getAll();
|
||||
$sprache = (isset($_REQUEST['Sprache'])?$_REQUEST['Sprache']:'German');
|
||||
$Auswahlgebiet = (isset($_REQUEST['AuswahlGebiet'])?$_REQUEST['AuswahlGebiet']:'');
|
||||
$loesungen = (isset($_REQUEST['loesungen']) && $_REQUEST['loesungen'] != '' ? true:false);
|
||||
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" name="TesttoolUebersicht">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Gebiet:</td>
|
||||
<td><select name="AuswahlGebiet"><option value="auswahl"> - Bitte Auswählen - </option>';
|
||||
foreach ($gebiet->result as $gebietResult)
|
||||
{
|
||||
$selected ='';
|
||||
if($Auswahlgebiet == $gebietResult->gebiet_id)
|
||||
$selected = 'selected';
|
||||
echo '<option value="'.$gebietResult->gebiet_id.'" '.$selected.'>'.$gebietResult->gebiet_id.' - '.$gebietResult->bezeichnung.' - '.$gebietResult->kurzbz.'</option>';
|
||||
}
|
||||
echo '</select></td></tr>
|
||||
<tr>
|
||||
<td>Sprache: </td>
|
||||
<td><select name="Sprache">';
|
||||
if($sprache == 'German')
|
||||
echo '<option selected value="German">Deutsch</option>';
|
||||
else
|
||||
echo '<option value="German">Deutsch</option>';
|
||||
if($sprache == 'English')
|
||||
echo '<option selected value="English">Englisch</option>';
|
||||
else
|
||||
echo '<option value="English">Englisch</option>';
|
||||
|
||||
echo'</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Mit Lösungen
|
||||
</td>
|
||||
<td><input type="checkbox" name="loesungen" '.($loesungen ? 'checked':'').'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><input type="submit" value="Anzeigen"></td></tr>
|
||||
</table><br>';
|
||||
|
||||
|
||||
if(isset($_REQUEST['AuswahlGebiet']))
|
||||
{
|
||||
$gebiet_id = $_REQUEST['AuswahlGebiet'];
|
||||
|
||||
$gebietdetails = new gebiet();
|
||||
$gebietdetails->load($gebiet_id);
|
||||
|
||||
$qry = "SELECT DISTINCT UPPER(typ||kurzbz) AS studiengang
|
||||
FROM testtool.tbl_ablauf JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id)."
|
||||
ORDER BY studiengang";
|
||||
$result = $db->db_query($qry);
|
||||
|
||||
if ($gebietdetails)
|
||||
{
|
||||
echo '
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">Gebiet:</td>
|
||||
<td>'.$gebietdetails->bezeichnung.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Verwendet in den Studiengängen:</td>
|
||||
<td>';
|
||||
$i=1;
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo $row->studiengang.($db->db_num_rows($result)>1 && $db->db_num_rows($result)>$i?', ':'');
|
||||
$i++;
|
||||
if ($i % 10 == 0)
|
||||
echo '<br>';
|
||||
}
|
||||
echo '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Beschreibung:</td>
|
||||
<td>'.($gebietdetails->beschreibung!=''?$gebietdetails->beschreibung:'-').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Zeit:</td>
|
||||
<td>'.$gebietdetails->zeit.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Multipleresponse:</td>
|
||||
<td>'.($gebietdetails->multipleresponse==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Gestellte Fragen:</td>
|
||||
<td>'.$gebietdetails->maxfragen.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Zufallsfrage:</td>
|
||||
<td>'.($gebietdetails->zufallfrage==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Zufallsvorschlag:</td>
|
||||
<td>'.($gebietdetails->zufallvorschlag==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Startlevel:</td>
|
||||
<td>'.($gebietdetails->level_start!=''?$gebietdetails->level_start:'Keines').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Höheres Level nach:</td>
|
||||
<td>'.($gebietdetails->level_sprung_auf!=''?$gebietdetails->level_sprung_auf.' richtigen Antwort(en)':'-').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Niedrigeres Level nach:</td>
|
||||
<td>'.($gebietdetails->level_sprung_ab!=''?$gebietdetails->level_sprung_ab.' falschen Antwort(en)':'-').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Levelgleichverteilung:</td>
|
||||
<td>'.($gebietdetails->levelgleichverteilung==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Maximalpunkte:</td>
|
||||
<td>'.$gebietdetails->maxpunkte.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Antworten pro Zeile:</td>
|
||||
<td>'.$gebietdetails->antwortenprozeile.'</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table><br><hr>';
|
||||
}
|
||||
|
||||
$frage = new frage();
|
||||
$frage->getFragenGebiet($gebiet_id);
|
||||
|
||||
foreach($frage->result as $fragen)
|
||||
{
|
||||
$sprachevorschlag = new vorschlag();
|
||||
$spracheFrage = new frage();
|
||||
$spracheFrage->getFrageSprache($fragen->frage_id, $sprache);
|
||||
|
||||
echo "<b><NR:".$fragen->nummer.($fragen->level!=""?" Level: ".$fragen->level."":"").($fragen->demo=="t"?" Demo":"")."></b><br> ";
|
||||
//Sound einbinden
|
||||
if($spracheFrage->audio!='')
|
||||
{
|
||||
echo ' <audio src="../sound.php?src=frage&frage_id='.$spracheFrage->frage_id.'&sprache='.$sprache.'" controls="controls">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>';
|
||||
}
|
||||
// FRAGE anzeigen
|
||||
echo "$spracheFrage->text<br/><br/>\n";
|
||||
|
||||
// Bild einbinden wenn vorhanden
|
||||
if($spracheFrage->bild!='')
|
||||
echo "<img class='testtoolfrage' src='../bild.php?src=frage&frage_id=$spracheFrage->frage_id&sprache=".$sprache."' /><br/><br/>\n";
|
||||
|
||||
echo"<br><table>";
|
||||
|
||||
// ANTWORTEN anzeigen
|
||||
$sprachevorschlag->getVorschlag($fragen->frage_id, $sprache, $random=false);
|
||||
$anzahlBild = 0;
|
||||
foreach($sprachevorschlag->result as $vor)
|
||||
{
|
||||
$vorschlag = new vorschlag();
|
||||
$vorschlag->loadVorschlagSprache($vor->vorschlag_id, $sprache);
|
||||
|
||||
if($vorschlag->bild == '')
|
||||
{
|
||||
if ($loesungen)
|
||||
{
|
||||
echo '<tr><td style="border-right:1px solid;">'.$vor->nummer.'</td></td><td align="right"><b>'.$vor->punkte.'</b></td><td style="border-left:1px solid;"> '.$vorschlag->text.'</td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<tr><td style="border-right:1px solid;">'.$vor->nummer.'</td><td> '.$vorschlag->text.'</td></tr>';
|
||||
}
|
||||
}
|
||||
if($vorschlag->bild!='')
|
||||
{
|
||||
// zeilenumbruch nach 4 bilder
|
||||
if($anzahlBild%4==0)
|
||||
echo "</tr>";
|
||||
echo "<td>";
|
||||
echo "<img class='testtoolvorschlag' src='../bild.php?src=vorschlag&vorschlag_id=$vor->vorschlag_id&sprache=".$sprache."' /><br/>";
|
||||
if ($loesungen)
|
||||
{
|
||||
echo "<br>".$vor->punkte."</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "</td>";
|
||||
}
|
||||
|
||||
$anzahlBild++;
|
||||
}
|
||||
if($vorschlag->audio!='')
|
||||
{
|
||||
echo ' <audio src="../sound.php?src=vorschlag&vorschlag_id='.$vorschlag->vorschlag_id.'&sprache='.$sprache.'" controls="controls">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>';
|
||||
}
|
||||
|
||||
}
|
||||
echo "</table><br><hr>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
/* Copyright (C) 2009 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: Karl Burkhart <burkhart@technikum-wien.at>,
|
||||
*/
|
||||
require_once("../../../config/cis.config.inc.php");
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
require_once("../../../include/gebiet.class.php");
|
||||
require_once("../../../include/frage.class.php");
|
||||
require_once("../../../include/vorschlag.class.php");
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once("../../../include/benutzerberechtigung.class.php");
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/ablauf.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Testool Fragen Übersicht</title>
|
||||
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body style="padding: 10px">
|
||||
<?php
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 's'))
|
||||
die('<span class="error">Sie haben keine Berechtigung für diese Seite</span>');
|
||||
|
||||
$gebiet = new gebiet();
|
||||
$gebiet->getAll();
|
||||
$sprache = (isset($_REQUEST['Sprache'])?$_REQUEST['Sprache']:'German');
|
||||
$Auswahlgebiet = (isset($_REQUEST['AuswahlGebiet'])?$_REQUEST['AuswahlGebiet']:'');
|
||||
$loesungen = (isset($_REQUEST['loesungen']) && $_REQUEST['loesungen'] != '' ? true:false);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll('typ, kurzbz', false);
|
||||
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
|
||||
$gebiet_id = (isset($_GET['gebiet_id'])?$_GET['gebiet_id']:'');
|
||||
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'" method="post" name="TesttoolUebersicht">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Studiengang:</td><td>';
|
||||
//Liste der Studiengänge
|
||||
echo '<select onchange="window.location.href=this.value">';
|
||||
echo '<option value="'.$_SERVER['PHP_SELF'].'?" >Alle Studiengänge</option>';
|
||||
foreach ($studiengang->result as $row)
|
||||
{
|
||||
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
|
||||
if ($stg_kz == '')
|
||||
$stg_kz = $row->studiengang_kz;
|
||||
if ($row->studiengang_kz == $stg_kz)
|
||||
$selected = 'selected="selected"';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<option value="'.$_SERVER['PHP_SELF'].'?stg_kz='.$row->studiengang_kz.'" '.$selected.'>'.$db->convert_html_chars($row->kuerzel).' - '.$db->convert_html_chars($row->bezeichnung).'</option>'."\n";
|
||||
}
|
||||
echo '</select>';
|
||||
echo '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gebiet:</td><td>';
|
||||
//Liste der Gebiete
|
||||
$qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$db->db_add_param($stg_kz);
|
||||
$anzahl = $db->db_num_rows($db->db_query($qry));
|
||||
|
||||
if ($stg_kz !== "-1" && $anzahl !== 0)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id)
|
||||
WHERE studiengang_kz=".$db->db_add_param($stg_kz)." ORDER BY semester,reihung";
|
||||
}
|
||||
else
|
||||
$qry = "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung";
|
||||
|
||||
if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== ''))
|
||||
{
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
echo ' <select name="AuswahlGebiet">';
|
||||
echo '<option value="auswahl"> - Bitte Auswählen - </option>';
|
||||
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if ($Auswahlgebiet == $row->gebiet_id)
|
||||
{
|
||||
$selected = 'selected="selected"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$selected = '';
|
||||
}
|
||||
|
||||
if ($stg_kz == "-1")
|
||||
{
|
||||
echo '<option value="'.$row->gebiet_id.'" '.$selected.'>'.$row->bezeichnung.' - '.$row->kurzbz.' - ID:'.$row->gebiet_id.'</option>'."\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<option value="'.$row->gebiet_id.'" '.$selected.'>('.$row->semester.') - '.$row->bezeichnung.' - '.$row->kurzbz.' - ID:'.$row->gebiet_id.'</option>'."\n";
|
||||
}
|
||||
|
||||
}
|
||||
echo '</select>';
|
||||
}
|
||||
}
|
||||
elseif (($anzahl == 0))
|
||||
{
|
||||
echo 'Keine Gebiete für diesen Studiengang';
|
||||
}
|
||||
echo '</td>';
|
||||
/*echo '<td><select name="AuswahlGebiet"><option value="auswahl"> - Bitte Auswählen - </option>';
|
||||
foreach ($gebiet->result as $gebietResult)
|
||||
{
|
||||
$selected ='';
|
||||
if($Auswahlgebiet == $gebietResult->gebiet_id)
|
||||
$selected = 'selected';
|
||||
echo '<option value="'.$gebietResult->gebiet_id.'" '.$selected.'>'.$gebietResult->gebiet_id.' - '.$gebietResult->bezeichnung.' - '.$gebietResult->kurzbz.'</option>';
|
||||
}
|
||||
echo '</select></td>';*/
|
||||
echo '</tr>
|
||||
<tr>
|
||||
<td>Sprache: </td>
|
||||
<td><select name="Sprache">';
|
||||
if($sprache == 'German')
|
||||
echo '<option selected value="German">Deutsch</option>';
|
||||
else
|
||||
echo '<option value="German">Deutsch</option>';
|
||||
if($sprache == 'English')
|
||||
echo '<option selected value="English">Englisch</option>';
|
||||
else
|
||||
echo '<option value="English">Englisch</option>';
|
||||
|
||||
echo'</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Mit Lösungen
|
||||
</td>
|
||||
<td><input type="checkbox" name="loesungen" '.($loesungen ? 'checked':'').'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><input type="submit" value="Anzeigen"></td></tr>
|
||||
</table><br>';
|
||||
|
||||
|
||||
if(isset($_REQUEST['AuswahlGebiet']))
|
||||
{
|
||||
$gebiet_id = $_REQUEST['AuswahlGebiet'];
|
||||
|
||||
$gebietdetails = new gebiet();
|
||||
$gebietdetails->load($gebiet_id);
|
||||
|
||||
$qry = "SELECT DISTINCT UPPER(typ||kurzbz) AS studiengang
|
||||
FROM testtool.tbl_ablauf JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id)."
|
||||
ORDER BY studiengang";
|
||||
$result = $db->db_query($qry);
|
||||
|
||||
if ($gebietdetails)
|
||||
{
|
||||
echo '
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">Gebiet:</td>
|
||||
<td>'.$gebietdetails->bezeichnung.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">Verwendet in den Studiengängen:</td>
|
||||
<td>';
|
||||
$i=1;
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo $row->studiengang.($db->db_num_rows($result)>1 && $db->db_num_rows($result)>$i?', ':'');
|
||||
$i++;
|
||||
if ($i % 10 == 0)
|
||||
echo '<br>';
|
||||
}
|
||||
echo '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Beschreibung:</td>
|
||||
<td>'.($gebietdetails->beschreibung!=''?$gebietdetails->beschreibung:'-').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Zeit:</td>
|
||||
<td>'.$gebietdetails->zeit.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Multipleresponse:</td>
|
||||
<td>'.($gebietdetails->multipleresponse==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Gestellte Fragen:</td>
|
||||
<td>'.$gebietdetails->maxfragen.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Zufallsfrage:</td>
|
||||
<td>'.($gebietdetails->zufallfrage==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Zufallsvorschlag:</td>
|
||||
<td>'.($gebietdetails->zufallvorschlag==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Startlevel:</td>
|
||||
<td>'.($gebietdetails->level_start!=''?$gebietdetails->level_start:'Keines').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Höheres Level nach:</td>
|
||||
<td>'.($gebietdetails->level_sprung_auf!=''?$gebietdetails->level_sprung_auf.' richtigen Antwort(en)':'-').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Niedrigeres Level nach:</td>
|
||||
<td>'.($gebietdetails->level_sprung_ab!=''?$gebietdetails->level_sprung_ab.' falschen Antwort(en)':'-').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Levelgleichverteilung:</td>
|
||||
<td>'.($gebietdetails->levelgleichverteilung==true?'Ja':'Nein').'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Maximalpunkte:</td>
|
||||
<td>'.$gebietdetails->maxpunkte.'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">Antworten pro Zeile:</td>
|
||||
<td>'.$gebietdetails->antwortenprozeile.'</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table><br><hr>';
|
||||
}
|
||||
|
||||
$frage = new frage();
|
||||
$frage->getFragenGebiet($gebiet_id);
|
||||
|
||||
foreach($frage->result as $fragen)
|
||||
{
|
||||
$sprachevorschlag = new vorschlag();
|
||||
$spracheFrage = new frage();
|
||||
$spracheFrage->getFrageSprache($fragen->frage_id, $sprache);
|
||||
|
||||
echo "<b><NR:".$fragen->nummer.($fragen->level!=""?" Level: ".$fragen->level."":"").($fragen->demo=="t"?" Demo":"")."></b><br> ";
|
||||
//Sound einbinden
|
||||
if($spracheFrage->audio!='')
|
||||
{
|
||||
echo ' <audio src="../sound.php?src=frage&frage_id='.$spracheFrage->frage_id.'&sprache='.$sprache.'" controls="controls">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>';
|
||||
}
|
||||
// FRAGE anzeigen
|
||||
echo "$spracheFrage->text<br/><br/>\n";
|
||||
|
||||
// Bild einbinden wenn vorhanden
|
||||
if($spracheFrage->bild!='')
|
||||
echo "<img class='testtoolfrage' src='../bild.php?src=frage&frage_id=$spracheFrage->frage_id&sprache=".$sprache."' /><br/><br/>\n";
|
||||
|
||||
echo"<br><table>";
|
||||
|
||||
// ANTWORTEN anzeigen
|
||||
$sprachevorschlag->getVorschlag($fragen->frage_id, $sprache, $random=false);
|
||||
$anzahlBild = 0;
|
||||
foreach($sprachevorschlag->result as $vor)
|
||||
{
|
||||
$vorschlag = new vorschlag();
|
||||
$vorschlag->loadVorschlagSprache($vor->vorschlag_id, $sprache);
|
||||
|
||||
if($vorschlag->bild == '')
|
||||
{
|
||||
if ($loesungen)
|
||||
{
|
||||
echo '<tr><td style="border-right:1px solid;">'.$vor->nummer.'</td></td><td align="right"><b>'.$vor->punkte.'</b></td><td style="border-left:1px solid;"> '.$vorschlag->text.'</td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<tr><td style="border-right:1px solid;">'.$vor->nummer.'</td><td> '.$vorschlag->text.'</td></tr>';
|
||||
}
|
||||
}
|
||||
if($vorschlag->bild!='')
|
||||
{
|
||||
// zeilenumbruch nach 4 bilder
|
||||
if($anzahlBild%4==0)
|
||||
echo "</tr>";
|
||||
echo "<td>";
|
||||
echo "<img class='testtoolvorschlag' src='../bild.php?src=vorschlag&vorschlag_id=$vor->vorschlag_id&sprache=".$sprache."' /><br/>";
|
||||
if ($loesungen)
|
||||
{
|
||||
echo "<br>".$vor->punkte."</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "</td>";
|
||||
}
|
||||
|
||||
$anzahlBild++;
|
||||
}
|
||||
if($vorschlag->audio!='')
|
||||
{
|
||||
echo ' <audio src="../sound.php?src=vorschlag&vorschlag_id='.$vorschlag->vorschlag_id.'&sprache='.$sprache.'" controls="controls">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>';
|
||||
}
|
||||
|
||||
}
|
||||
echo "</table><br><hr>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
@@ -164,6 +164,9 @@ $pruefling->load($_SESSION['pruefling_id']);
|
||||
if ($pruefling->gesperrt === 't')
|
||||
die("<script>document.location.href='prueflinggesperrt.php';</script>");
|
||||
|
||||
if (!in_array($gebiet_id, $_SESSION['alleGebiete']))
|
||||
die($p->t('testtool/dasGebietIstNichtFuerSieBestimmt'));
|
||||
|
||||
$gebiet = new gebiet($gebiet_id);
|
||||
|
||||
if($gebiet->level_start!='')
|
||||
|
||||
+59
-4
@@ -82,7 +82,8 @@ if (isset($_REQUEST['prestudent']))
|
||||
$ps = new prestudent($_REQUEST['prestudent']);
|
||||
|
||||
$login_ok = false;
|
||||
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL && isset($_GET['confirmation']))
|
||||
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL &&
|
||||
(isset($_GET['confirmation']) || isset($_GET['confirmed_code'])))
|
||||
{
|
||||
if (isset($_SESSION['bewerbung/personId']) && $ps->person_id == $_SESSION['bewerbung/personId'])
|
||||
{
|
||||
@@ -153,6 +154,33 @@ if (isset($_REQUEST['prestudent']))
|
||||
{
|
||||
// regenerate Session ID after Login
|
||||
session_regenerate_id();
|
||||
if (defined('TESTTOOL_LOGIN_BEWERBUNGSTOOL') && TESTTOOL_LOGIN_BEWERBUNGSTOOL)
|
||||
{
|
||||
if ($rt->zugangs_ueberpruefung && !is_null($rt->zugangscode))
|
||||
{
|
||||
$_SESSION['confirmed_code'] = false;
|
||||
if (isset($_SESSION['confirmation_needed']) && $_SESSION['confirmation_needed'] === true)
|
||||
{
|
||||
if (isset($_GET['confirmed_code']))
|
||||
{
|
||||
if ($_GET['confirmed_code'] === $_SESSION['reihungstest_code'])
|
||||
{
|
||||
$_SESSION['confirmed_code'] = true;
|
||||
}
|
||||
else
|
||||
$alertmsg .= '<div class="alert alert-danger">Code ist nicht korrekt.</div>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($_SESSION['confirmed_code'] === false)
|
||||
{
|
||||
$_SESSION['reihungstest_code'] = $rt->zugangscode;
|
||||
$_SESSION['confirmation_needed'] = true;
|
||||
}
|
||||
else
|
||||
$reload_menu = true;
|
||||
}
|
||||
}
|
||||
|
||||
$pruefling = new pruefling();
|
||||
if ($pruefling->getPruefling($ps->prestudent_id))
|
||||
@@ -314,8 +342,11 @@ else
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']))
|
||||
if ((isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id']) &&
|
||||
!isset($_SESSION['confirmation_needed']) && !isset($_SESSION['confirmed_code'])) ||
|
||||
(isset($_SESSION['confirmation_needed']) && $_SESSION['confirmation_needed'] === true &&
|
||||
isset($_SESSION['confirmed_code']) && $_SESSION['confirmed_code'] === true &&
|
||||
isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])))
|
||||
{
|
||||
$pruefling = new pruefling();
|
||||
|
||||
@@ -421,8 +452,32 @@ if (isset($_POST['save']) && isset($_SESSION['prestudent_id']))
|
||||
|
||||
<?php
|
||||
|
||||
if (isset($_SESSION['confirmation_needed']) && $_SESSION['confirmation_needed'] === true &&
|
||||
isset($_SESSION['confirmed_code']) && $_SESSION['confirmed_code'] === false)
|
||||
{
|
||||
echo '
|
||||
<div class="col-xs-11">
|
||||
<div id="alertmsgdiv"></div>
|
||||
<div id="alert">'.$alertmsg.'</div>
|
||||
<div class="row text-center">
|
||||
'.$p->t('testtool/freischalttext').'
|
||||
<br />
|
||||
<br />
|
||||
<b>'.$p->t('testtool/freischaltcode').':</b>
|
||||
<form action="login.php">
|
||||
<input type="hidden" name="prestudent" value="'.$_REQUEST['prestudent'].'" />
|
||||
<input id="confirmed_code" type="number" name="confirmed_code"/>
|
||||
<br />
|
||||
<br />
|
||||
<button id="confirmation_access_submit" type="submit" class="btn btn-primary"/>
|
||||
'.$p->t('testtool/start').'
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
//REIHUNGSTEST STARTSEITE (nach Login)
|
||||
if (isset($prestudent_id))
|
||||
elseif (isset($prestudent_id))
|
||||
{
|
||||
$prestudent = new prestudent($prestudent_id);
|
||||
$stg_obj = new studiengang($prestudent->studiengang_kz);
|
||||
|
||||
@@ -277,6 +277,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
$anzahlGebiete = $db->db_num_rows($result);
|
||||
$lastsemester = '';
|
||||
$quereinsteiger_stg = '';
|
||||
$_SESSION['alleGebiete']= [];
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
//Jedes Semester in einer eigenen Tabelle anzeigen
|
||||
@@ -385,6 +386,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
</td>
|
||||
<!--<td width="10" class="ItemTesttoolRight" nowrap> </td>-->
|
||||
</tr>';
|
||||
$_SESSION['alleGebiete'][] = $row->gebiet_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -259,4 +259,11 @@ define('CIS_ZEITWUNSCH_GD', false);
|
||||
|
||||
// Covid-Status anzeigen
|
||||
define('CIS_SHOW_COVID_STATUS', false);
|
||||
|
||||
//Vertrag Allin
|
||||
define ('DEFAULT_ALLIN_DIENSTVERTRAG',[111]);
|
||||
|
||||
//Echter Dienstvertrag
|
||||
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,111]);
|
||||
|
||||
?>
|
||||
|
||||
@@ -268,4 +268,7 @@ define('ZEUGNISNOTE_NICHT_ANZEIGEN',serialize(array('iar', 'nz')));
|
||||
|
||||
//Default Lehrmodus
|
||||
define ('DEFAULT_LEHRMODUS','regulaer');
|
||||
|
||||
//Echter Dienstvertrag
|
||||
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,110]);
|
||||
?>
|
||||
|
||||
@@ -65,6 +65,13 @@ $data = '';
|
||||
$error = false;
|
||||
$warnung = false;
|
||||
|
||||
//Default BA1Codes für echte Dienstverträge aus Config Laden
|
||||
$arrEchterDV = [103];
|
||||
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||
{
|
||||
$arrEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||
}
|
||||
|
||||
loadVariables($user);
|
||||
|
||||
//Berechtigungen laden
|
||||
@@ -560,10 +567,12 @@ if(!$error)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
|
||||
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$fixangestellt = true;
|
||||
$lem->stundensatz = '';
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1567,9 +1576,10 @@ if(!$error)
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$data = '';
|
||||
break;
|
||||
|
||||
@@ -469,12 +469,24 @@ $p = new phrasen($sprache);
|
||||
<label align="end" control="lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor" value="LektorIn:"/>
|
||||
<menulist id="lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor" disabled="true" oncommand="LeMitarbeiterLektorChange(); LeMitarbeiterValueChanged();"
|
||||
datasources="<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php"
|
||||
xmlns:MITARBEITER="http://www.technikum-wien.at/mitarbeiter/rdf#"
|
||||
ref="http://www.technikum-wien.at/mitarbeiter/_alle" flex="1">
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"
|
||||
value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
|
||||
</menupopup>
|
||||
<rule MITARBEITER:aktiv='inaktiv'>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"
|
||||
value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
|
||||
style="text-decoration:line-through;"
|
||||
/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"
|
||||
value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
</template>
|
||||
</menulist>
|
||||
<label control="lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung" value="<?php echo $p->t('lehrveranstaltung/LehreinheitmitarbeiterAnmerkung'); ?>"/>
|
||||
|
||||
@@ -43,6 +43,7 @@ var lehrveranstaltungLvGesamtNotenSelectUID=null; //LehreinheitID des Noten Eint
|
||||
var lehrveranstaltungNotenTreeloaded=false;
|
||||
var lehrveranstaltungGesamtNotenTreeloaded=false;
|
||||
var LehrveranstaltungAusbildungssemesterFilter='';
|
||||
var LeDetailsDisabled = false; //Damit die Details von der Lehreinheit disabled bleiben soland der Rebuild nicht fertig ist
|
||||
|
||||
// Config-Eintrag, ob Vertragsdetails angezeigt werden sollen
|
||||
var lehrveranstaltung_vertragsdetails_anzeigen = Boolean(<?php echo (defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN) ? true : false ?>);
|
||||
@@ -80,6 +81,7 @@ var LvTreeListener =
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
//debug('didrebuild');
|
||||
LeDetailsDisabled = false;
|
||||
//timeout nur bei Mozilla notwendig da sonst die rows
|
||||
//noch keine values haben. Ab Seamonkey funktionierts auch
|
||||
//ohne dem setTimeout
|
||||
@@ -452,7 +454,7 @@ function LvTreeSelectLehreinheit()
|
||||
return false;
|
||||
|
||||
//In der globalen Variable ist die zu selektierende Lehreinheit gespeichert
|
||||
if(LvSelectLehreinheit_id!=null)
|
||||
if(LvSelectLehreinheit_id!=null && LeDetailsDisabled === false)
|
||||
{
|
||||
//Den Subtree der Lehrveranstaltung oeffnen zu der zuletzt die Lehreinheit gespeichert/angelegt wurde
|
||||
//da diese sonst nicht markiert werden kann
|
||||
@@ -754,6 +756,7 @@ function LeDetailSave()
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
|
||||
LeDetailDisableFields(true);
|
||||
LeDetailsDisabled = true;
|
||||
//LvTreeRefresh();
|
||||
LvSelectLehreinheit_id=val.dbdml_data;
|
||||
LvOpenLehrveranstaltung_id=lehrveranstaltung;
|
||||
@@ -820,7 +823,12 @@ function LeAuswahl()
|
||||
LehrveranstaltungNotenLoad(lehrveranstaltung_id);
|
||||
|
||||
//Notizen Tab ausblenden
|
||||
//document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true;
|
||||
document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true;
|
||||
|
||||
if(document.getElementById('lehrveranstaltung-tabs').selectedItem === document.getElementById('lehrveranstaltung-tab-notizen'))
|
||||
{
|
||||
document.getElementById('lehrveranstaltung-tabs').selectedItem = document.getElementById('lehrveranstaltung-tab-detail');
|
||||
}
|
||||
|
||||
//LV-Angebot Tab einblenden und Gruppen laden
|
||||
document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=false;
|
||||
@@ -845,7 +853,8 @@ function LeAuswahl()
|
||||
}
|
||||
else
|
||||
{
|
||||
LeDetailDisableFields(false);
|
||||
if (LeDetailsDisabled === false)
|
||||
LeDetailDisableFields(false);
|
||||
LehrveranstaltungNotenDisableFields(true);
|
||||
LehrveranstaltungNotenTreeUnload();
|
||||
|
||||
@@ -853,7 +862,7 @@ function LeAuswahl()
|
||||
//document.getElementById('lehrveranstaltung-tab-noten').collapsed=true;
|
||||
|
||||
//Notizen Tab einblenden
|
||||
//document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false;
|
||||
document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false;
|
||||
|
||||
//LV-Angebot Tab ausblenden
|
||||
document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=true;
|
||||
|
||||
@@ -216,6 +216,10 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-treecol-unr" label="UNR" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#unr"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -249,6 +253,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studienplan_bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrtyp_kurzbz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#unr"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -255,13 +255,22 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
|
||||
<vbox>
|
||||
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
|
||||
xmlns:STANDORT="http://www.technikum-wien.at/standort/rdf#"
|
||||
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&firmentyp_kurzbz=Intern"
|
||||
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
|
||||
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
|
||||
</menupopup>
|
||||
<rule STANDORT:bezeichnung_null="t">
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#kurzbz"
|
||||
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
|
||||
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
</menulist>
|
||||
<spacer flex="1"/>
|
||||
|
||||
@@ -179,6 +179,8 @@ $worksheet->write($zeile, ++$i, "RT_PUNKTE2", $format_bold);
|
||||
$maxlength[$i] = 10;
|
||||
$worksheet->write($zeile, ++$i, "RT_GESAMTPUNKTE", $format_bold);
|
||||
$maxlength[$i] = 18;
|
||||
$worksheet->write($zeile,++$i,"ANMERKUNG", $format_bold);
|
||||
$maxlength[$i]=30;
|
||||
$worksheet->write($zeile, ++$i, "PRIORITÄT", $format_bold);
|
||||
$maxlength[$i] = 8;
|
||||
|
||||
@@ -659,7 +661,21 @@ function draw_content($row)
|
||||
$maxlength[$i] = mb_strlen($row->rt_gesamtpunkte);
|
||||
$worksheet->write($zeile, $i, $row->rt_gesamtpunkte);
|
||||
$i++;
|
||||
|
||||
|
||||
//Anmerkung
|
||||
$qry_1 = "SELECT anmerkung FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." LIMIT 1";
|
||||
|
||||
if($db->db_query($qry_1))
|
||||
{
|
||||
if($row_1 = $db->db_fetch_object())
|
||||
{
|
||||
if(mb_strlen($row_1->anmerkung)>$maxlength[$i])
|
||||
$maxlength[$i]=mb_strlen($row_1->anmerkung);
|
||||
|
||||
$worksheet->write($zeile,$i, $row_1->anmerkung);
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
//Priorisierung
|
||||
$prio = $prio_relativ.' ('.$row->priorisierung.')';
|
||||
if (mb_strlen($prio) > $maxlength[$i])
|
||||
|
||||
@@ -821,7 +821,16 @@ if(!$error)
|
||||
$prestudent->zgvdatum = $_POST['zgvdatum'];
|
||||
$prestudent->zgvnation = $_POST['zgvnation'];
|
||||
$prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
|
||||
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
|
||||
// Die Master-ZGV darf nur mit einem eigenen Recht geändert werden
|
||||
if($rechte->isBerechtigt('student/editMakkZgv',$_POST['studiengang_kz'],'suid'))
|
||||
{
|
||||
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
|
||||
}
|
||||
elseif ($prestudent->zgvmas_code != $_POST['zgvmas_code'])
|
||||
{
|
||||
$errormsg = 'Keine Berechtigung zum Ändern der ZGV';
|
||||
$error = true;
|
||||
}
|
||||
$prestudent->zgvmaort = $_POST['zgvmaort'];
|
||||
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
|
||||
$prestudent->zgvmanation = $_POST['zgvmanation'];
|
||||
@@ -2499,7 +2508,23 @@ if(!$error)
|
||||
}
|
||||
|
||||
if($exists)
|
||||
{
|
||||
$return = true;
|
||||
$zusatz = "\n";
|
||||
if (count($exists) > 10)
|
||||
{
|
||||
$zusatz .= "und ";
|
||||
$persons = implode("\n- ", array_slice($exists, 0, 10));
|
||||
if (count($exists) === 11)
|
||||
$zusatz .= "einer weiteren Person.";
|
||||
else
|
||||
$zusatz .= (count($exists) - 10) . " weiteren Personen.";
|
||||
}
|
||||
else
|
||||
$persons = implode("\n- ", $exists);
|
||||
|
||||
$data = "Es ist bereits eine Buchung vorhanden:\n- ". $persons . $zusatz ." Trotzdem fortfahren?";
|
||||
}
|
||||
else
|
||||
$return = false;
|
||||
}
|
||||
|
||||
@@ -355,7 +355,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule ZGV:aktiv='f'>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zgv/rdf#code"
|
||||
label="rdf:http://www.technikum-wien.at/zgv/rdf#kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/zgv/rdf#bezeichnung"
|
||||
uri="rdf:*"
|
||||
style="text-decoration:line-through;"
|
||||
/>
|
||||
@@ -364,7 +364,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zgv/rdf#code"
|
||||
label="rdf:http://www.technikum-wien.at/zgv/rdf#kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/zgv/rdf#bezeichnung"
|
||||
uri="rdf:*"
|
||||
/>
|
||||
</menupopup>
|
||||
@@ -425,7 +425,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule ZGVMASTER:aktiv='f'>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zgvmaster/rdf#code"
|
||||
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#bezeichnung"
|
||||
uri="rdf:*"
|
||||
style="text-decoration:line-through;"
|
||||
/>
|
||||
@@ -434,7 +434,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zgvmaster/rdf#code"
|
||||
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#bezeichnung"
|
||||
uri="rdf:*"
|
||||
/>
|
||||
</menupopup>
|
||||
@@ -497,7 +497,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule ZGVDOKTOR:aktiv='f'>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#code"
|
||||
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#bezeichnung"
|
||||
uri="rdf:*"
|
||||
style="text-decoration:line-through;"
|
||||
/>
|
||||
@@ -506,7 +506,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#code"
|
||||
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#bezeichnung"
|
||||
uri="rdf:*"
|
||||
/>
|
||||
</menupopup>
|
||||
|
||||
@@ -184,12 +184,13 @@ function StudentMobilitaetDisableFields(val)
|
||||
document.getElementById('student-mobilitaet-menulist-status').disabled=val;
|
||||
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').disabled=val;
|
||||
document.getElementById('student-mobilitaet-button-speichern').disabled=val;
|
||||
document.getElementById('student-mobilitaet-button-kopie-speichern').disabled=val;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichert den Mobilitaet Datensatz
|
||||
// ****
|
||||
function StudentMobilitaetSpeichern()
|
||||
function StudentMobilitaetSpeichern(newval)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
@@ -200,7 +201,14 @@ function StudentMobilitaetSpeichern()
|
||||
var gsprogramm = document.getElementById('student-mobilitaet-menulist-gsprogramm').value;
|
||||
var mobilitaetsprogramm = document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value;
|
||||
var studiensemester = document.getElementById('student-mobilitaet-menulist-studiensemester').value;
|
||||
var neu = document.getElementById('student-mobilitaet-detail-checkbox-neu').checked;
|
||||
if (newval == true)
|
||||
{
|
||||
var neu = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
var neu = document.getElementById('student-mobilitaet-detail-checkbox-neu').checked;
|
||||
}
|
||||
var prestudent_id = document.getElementById('student-mobilitaet-detail-textbox-prestudent_id').value;
|
||||
var mobilitaet_id = document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value;
|
||||
|
||||
|
||||
@@ -215,6 +215,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</groupbox>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="student-mobilitaet-button-kopie-speichern" oncommand="StudentMobilitaetSpeichern(true)" label="Als Kopie speichern" disabled="true"/>
|
||||
<button id="student-mobilitaet-button-speichern" oncommand="StudentMobilitaetSpeichern()" label="Speichern" disabled="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
@@ -1829,6 +1829,20 @@ function StudentPrestudentDisableFields(val)
|
||||
document.getElementById('student-prestudent-menulist-zgvcode').disabled=true;
|
||||
}
|
||||
|
||||
<?php
|
||||
$studiengaengeMaster = $rechte->getStgKz('student/editMakkZgv');
|
||||
// Anlegen eines Arrays mit allen berechtigten Stg-Kz
|
||||
echo ' var berechtigte_master_studiengaenge = ['.implode(',',$studiengaengeMaster).'];';
|
||||
?>
|
||||
if (berechtigte_master_studiengaenge.indexOf(studiengang_kz) >= 0)
|
||||
{
|
||||
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=true;
|
||||
}
|
||||
|
||||
//Status Tree leeren
|
||||
rollentree = document.getElementById('student-prestudent-tree-rolle');
|
||||
|
||||
@@ -3102,9 +3116,9 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
|
||||
{
|
||||
exists = StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kurzbz, studiengang_kz);
|
||||
}
|
||||
if (exists)
|
||||
if (exists.dbdml_return)
|
||||
{
|
||||
if(!confirm('Die Buchung ist bereits vorhanden. Trotzdem fortfahren?'))
|
||||
if(!confirm(exists.dbdml_data))
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3159,7 +3173,7 @@ function StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kur
|
||||
|
||||
var val = new ParseReturnValue(response);
|
||||
|
||||
return(val.dbdml_return);
|
||||
return val;
|
||||
}
|
||||
|
||||
// *****
|
||||
|
||||
+21
-5
@@ -30,7 +30,7 @@ class addon extends basis_db
|
||||
public $fhcomplete_target_version;
|
||||
|
||||
public $aktive_addons=array();
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
@@ -38,12 +38,12 @@ class addon extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
$this->aktive_addons = array_filter(array_map('trim', explode(";", ACTIVE_ADDONS)));
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle aktivierten Addons
|
||||
*/
|
||||
*/
|
||||
public function loadAddons()
|
||||
{
|
||||
|
||||
@@ -55,7 +55,7 @@ class addon extends basis_db
|
||||
$fhcomplete_target_version='';
|
||||
|
||||
include(dirname(__FILE__).'/../addons/'.$addon.'/version.php');
|
||||
|
||||
|
||||
$obj = new stdClass();
|
||||
$obj->kurzbz = $addon;
|
||||
$obj->addon_name = $addon_name;
|
||||
@@ -63,7 +63,7 @@ class addon extends basis_db
|
||||
$obj->addon_description = $addon_description;
|
||||
$obj->fhcomplete_target_version = $fhcomplete_target_version;
|
||||
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -87,5 +87,21 @@ class addon extends basis_db
|
||||
$this->fhcomplete_target_version = $fhcomplete_target_version;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüfen, ob ein bestimmtes Addon aktivierten ist
|
||||
* @param $addon_kurzbz (fhtw,casetime, wawi..)
|
||||
* @return true wenn addon aktiv, sonst false
|
||||
*/
|
||||
public function checkActiveAddon($addon_kurzbz)
|
||||
{
|
||||
$addonIsActive = false;
|
||||
foreach($this->aktive_addons as $addon)
|
||||
{
|
||||
if ($addon == $addon_kurzbz)
|
||||
$addonIsActive = true;
|
||||
}
|
||||
return $addonIsActive;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -479,9 +479,9 @@ class anwesenheit extends basis_db
|
||||
*/
|
||||
public function loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid=null, $lehrveranstaltung_id=null)
|
||||
{
|
||||
$qry = "SELECT lehrveranstaltung_id, bezeichnung, vorname, nachname, uid, sum(anwesend) as anwesend, sum(nichtanwesend) as nichtanwesend, sum(gesamtstunden) as gesamtstunden FROM (
|
||||
$qry = "SELECT lehrveranstaltung_id, bezeichnung, vorname, wahlname, nachname,uid, sum(anwesend) as anwesend, sum(nichtanwesend) as nichtanwesend, sum(gesamtstunden) as gesamtstunden FROM (
|
||||
SELECT
|
||||
lehrveranstaltung_id, bezeichnung, vorname, nachname, uid,
|
||||
lehrveranstaltung_id, bezeichnung, vorname, wahlname, nachname, uid,
|
||||
(
|
||||
SELECT
|
||||
sum(einheiten)
|
||||
@@ -520,7 +520,7 @@ class anwesenheit extends basis_db
|
||||
if(!is_null($student_uid))
|
||||
$qry.=" AND uid=".$this->db_add_param($student_uid);
|
||||
|
||||
$qry.=") as b GROUP BY lehrveranstaltung_id, bezeichnung, vorname, nachname, uid";
|
||||
$qry.=") as b GROUP BY lehrveranstaltung_id, bezeichnung, vorname, wahlname, nachname, uid";
|
||||
|
||||
if($lehrveranstaltung_id!='')
|
||||
$qry.=" order by nachname, vorname ";
|
||||
@@ -543,6 +543,7 @@ class anwesenheit extends basis_db
|
||||
else
|
||||
$obj->prozent = number_format(100-(100/$obj->gesamtstunden*$row->nichtanwesend),2);
|
||||
$obj->vorname = $row->vorname;
|
||||
$obj->wahlname = $row->wahlname;
|
||||
$obj->nachname = $row->nachname;
|
||||
$obj->uid = $row->uid;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
|
||||
@@ -865,5 +865,64 @@ class bisverwendung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt die letzte zeitaufzeichnungspflichtige Bisverwendung
|
||||
* @param $uid UID des Mitarbeiters
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getLastBisZAPflicht($uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_bisverwendung
|
||||
WHERE
|
||||
mitarbeiter_uid = '. $this->db_add_param($uid).'
|
||||
AND
|
||||
zeitaufzeichnungspflichtig = true
|
||||
ORDER BY ende DESC NULLS FIRST LIMIT 1
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
|
||||
$obj = new bisverwendung();
|
||||
|
||||
$obj->bisverwendung_id = $row->bisverwendung_id;
|
||||
$obj->ba1code = $row->ba1code;
|
||||
$obj->ba2code = $row->ba2code;
|
||||
$obj->beschausmasscode = $row->beschausmasscode;
|
||||
$obj->verwendung_code = $row->verwendung_code;
|
||||
$obj->hauptberufcode = $row->hauptberufcode;
|
||||
$obj->hauptberuflich = $row->hauptberuflich;
|
||||
$obj->habilitation = $row->habilitation;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->dv_art = $row->dv_art;
|
||||
$obj->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
$obj->azgrelevant = $row->azgrelevant;
|
||||
$obj->homeoffice = $row->homeoffice;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
+14
-10
@@ -967,19 +967,23 @@ class konto extends basis_db
|
||||
|
||||
public function checkDoppelteBuchung($person_ids, $stsem, $typ)
|
||||
{
|
||||
$qry = "SELECT betrag
|
||||
FROM public.tbl_konto
|
||||
WHERE person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
|
||||
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
|
||||
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
|
||||
GROUP BY buchungsnr";
|
||||
$qry = "SELECT person.vorname, person.nachname
|
||||
FROM public.tbl_konto konto
|
||||
JOIN public.tbl_person person USING(person_id)
|
||||
WHERE konto.person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
|
||||
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
|
||||
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
|
||||
GROUP BY person.vorname, person.nachname
|
||||
ORDER BY person.nachname, person.vorname";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result) > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
$persons = array();
|
||||
while ($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$persons[] = $row->nachname . ' ' . $row->vorname;
|
||||
}
|
||||
return $persons;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -206,9 +206,10 @@ class LehreListHelper
|
||||
WHERE prestudent_id=tbl_student.prestudent_id
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
|
||||
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang,
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_person.geschlecht, tbl_studiengang.kurzbzlang,
|
||||
tbl_mobilitaet.mobilitaetstyp_kurzbz, tbl_zeugnisnote.note,
|
||||
(CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN 1 ELSE 0 END) as doubledegree
|
||||
(CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN 1 ELSE 0 END) as doubledegree,
|
||||
(tbl_bisio.bis::timestamp - tbl_bisio.von::timestamp) as daysout
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN public.tbl_benutzer USING(uid)
|
||||
@@ -230,10 +231,11 @@ class LehreListHelper
|
||||
if($this->lehreinheit!='')
|
||||
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$this->db->db_add_param($this->lehreinheit, FHC_INTEGER);
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis, doubledegree DESC';
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, daysout DESC, doubledegree DESC';
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($this->studiensemester);
|
||||
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
@@ -295,6 +297,7 @@ class LehreListHelper
|
||||
'uid' => $row->student_uid,
|
||||
'vorname'=>$vorname,
|
||||
'nachname'=>$row->nachname,
|
||||
'geschlecht'=>$row->geschlecht,
|
||||
'personenkennzeichen'=>trim($row->matrikelnr),
|
||||
'matr_nr'=>$row->matr_nr,
|
||||
'semester'=>$row->semester,
|
||||
|
||||
@@ -2776,5 +2776,90 @@ class lehrveranstaltung extends basis_db
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Lehrveranstaltungen in dem Studiensemestern angeboten wird.
|
||||
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist und ob ein Lehrauftrag vorhanden ist.
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getOfferedSemester($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
DISTINCT(studiensemester_kurzbz)
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."
|
||||
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
|
||||
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
)";
|
||||
|
||||
$studiensemester = [];
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$studiensemester[] = $row;
|
||||
}
|
||||
return $studiensemester;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Lehrveranstaltungen in den gewaehlten Studiensemestern angeboten wird.
|
||||
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist.
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getOfferedLVs($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
DISTINCT(tbl_lehreinheit.lehrveranstaltung_id)
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
WHERE tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
|
||||
)";
|
||||
|
||||
$lehrveranstaltungen = [];
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$lehrveranstaltungen[] = $row;
|
||||
}
|
||||
return $lehrveranstaltungen;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1113,6 +1113,50 @@ class mitarbeiter extends benutzer
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt ein Array mit den UIDs der Vorgesetzten zum Zeitpunkt des korrespondierenden Timesheets zurück
|
||||
* @return uid
|
||||
*/
|
||||
public function getVorgesetzteMonatTimesheet($uid, $timesheetDate)
|
||||
{
|
||||
$return=false;
|
||||
|
||||
$qry = "SELECT
|
||||
uid as vorgesetzter
|
||||
FROM
|
||||
public.tbl_benutzerfunktion
|
||||
WHERE
|
||||
funktion_kurzbz='Leitung' AND
|
||||
(datum_von is null OR datum_von<=".$this->db_add_param($timesheetDate).") AND
|
||||
(datum_bis is null OR datum_bis>=".$this->db_add_param($timesheetDate).") AND
|
||||
oe_kurzbz in (SELECT oe_kurzbz
|
||||
FROM public.tbl_benutzerfunktion
|
||||
WHERE
|
||||
funktion_kurzbz='oezuordnung' AND uid=".$this->db_add_param($uid)." AND
|
||||
(datum_von is null OR (datum_von<= ".$this->db_add_param($timesheetDate).")) AND
|
||||
(datum_bis is null OR (datum_bis>=".$this->db_add_param($timesheetDate)."))
|
||||
);";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->vorgesetzter!='')
|
||||
{
|
||||
$this->vorgesetzte[]=$row->vorgesetzter;
|
||||
$return=true;
|
||||
}
|
||||
}
|
||||
|
||||
$this->vorgesetzte = array_unique($this->vorgesetzte);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage!';
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt UID des letzten Vorgesetzten zurück
|
||||
* @param string $uid Mitarbeiter.
|
||||
@@ -1705,5 +1749,33 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
}
|
||||
|
||||
public function getMitarbeiterKostenstelle($von, $bis, $uid = null)
|
||||
{
|
||||
if (is_null($uid))
|
||||
$uid = $this->uid;
|
||||
|
||||
$qry = "
|
||||
SELECT o.oe_kurzbz AS standardkostenstelle, o.bezeichnung
|
||||
FROM public.tbl_benutzerfunktion bf
|
||||
JOIN public.tbl_organisationseinheit o USING(oe_kurzbz)
|
||||
WHERE bf.funktion_kurzbz = 'kstzuordnung'
|
||||
AND (bf.datum_bis IS NULL OR datum_bis >= ". $this->db_add_param($von). ")
|
||||
AND (bf.datum_von IS NULL OR datum_von <= ". $this->db_add_param($bis). ")
|
||||
AND bf.uid = ". $this->db_add_param($uid);
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new StdClass();
|
||||
$obj->oekurzbz = $row->standardkostenstelle;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
|
||||
$this->result []= $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -938,5 +938,42 @@ class organisationseinheit extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function getOERoot($oe_kurzbz)
|
||||
{
|
||||
$qry = '
|
||||
WITH RECURSIVE organizations(rid, oe_kurzbz, oe_parent_kurzbz) AS
|
||||
(
|
||||
SELECT 1 AS rid, o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_kurzbz = '. $this->db_add_param($oe_kurzbz). '
|
||||
UNION ALL
|
||||
SELECT rid + 1 AS rid, oe.oe_kurzbz, oe.oe_parent_kurzbz
|
||||
FROM organizations org, public.tbl_organisationseinheit oe
|
||||
WHERE oe.oe_kurzbz = org.oe_parent_kurzbz
|
||||
AND oe.aktiv = TRUE
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
FROM organizations orgs
|
||||
ORDER BY rid DESC
|
||||
LIMIT 1
|
||||
';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -588,7 +588,7 @@ class prestudent extends person
|
||||
|
||||
AND
|
||||
status_kurzbz = 'Interessent'
|
||||
AND
|
||||
AND
|
||||
NOT EXISTS (
|
||||
SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz='Abgewiesener'
|
||||
)";
|
||||
@@ -2327,51 +2327,51 @@ class prestudent extends person
|
||||
* false wenn nicht vorhanden
|
||||
* false und errormsg wenn Fehler aufgetreten ist
|
||||
*/
|
||||
public function existsZGVIntern($person_id)
|
||||
{
|
||||
if (!is_numeric($person_id))
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
public function existsZGVIntern($person_id)
|
||||
{
|
||||
if (!is_numeric($person_id))
|
||||
{
|
||||
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ = 'b'
|
||||
AND get_rolle_prestudent(prestudent_id, null) != 'Abbrecher';";
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
|
||||
AND typ in ('b','m','d')";
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->anzahl > 0)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->anzahl > 0)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = '';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I)
|
||||
* @param int $person_id Personenkennzeichen.
|
||||
|
||||
@@ -829,5 +829,39 @@ class projektphase extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt zurück, ob für eine Projektphase Zeitaufzeichnungsbuchung erlaubt ist
|
||||
* @param $projektphase_id die zu überprüfende Projektphase
|
||||
* @return boolean true, wenn Buchung erlaubt
|
||||
*/
|
||||
public function getPhasenZA($projektphase_id)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
fue.tbl_projektphase.zeitaufzeichnung
|
||||
FROM
|
||||
fue.tbl_projektphase
|
||||
WHERE
|
||||
tbl_projektphase.projektphase_id = ".$this->db_add_param($projektphase_id);
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
return $row->zeitaufzeichnung;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -60,6 +60,9 @@ class reihungstest extends basis_db
|
||||
public $anmeldedatum; // date
|
||||
public $teilgenommen; // boolean
|
||||
public $punkte; // numeric
|
||||
|
||||
public $zugangs_ueberpruefung = false; //boolean
|
||||
public $zugangscode; //smallint
|
||||
|
||||
|
||||
/**
|
||||
@@ -114,6 +117,8 @@ class reihungstest extends basis_db
|
||||
$this->stufe = $row->stufe;
|
||||
$this->anmeldefrist = $row->anmeldefrist;
|
||||
$this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
|
||||
$this->zugangs_ueberpruefung = $this->db_parse_bool($row->zugangs_ueberpruefung);
|
||||
$this->zugangscode = $row->zugangscode;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -229,7 +234,7 @@ class reihungstest extends basis_db
|
||||
|
||||
$qry = 'BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
|
||||
insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet,
|
||||
studiensemester_kurzbz, stufe, anmeldefrist, aufnahmegruppe_kurzbz) VALUES('.
|
||||
studiensemester_kurzbz, stufe, anmeldefrist, aufnahmegruppe_kurzbz, zugangs_ueberpruefung, zugangscode) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->ort_kurzbz).', '.
|
||||
$this->db_add_param($this->anmerkung).', '.
|
||||
@@ -243,7 +248,9 @@ class reihungstest extends basis_db
|
||||
$this->db_add_param($this->studiensemester_kurzbz).','.
|
||||
$this->db_add_param($this->stufe, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->anmeldefrist).','.
|
||||
$this->db_add_param($this->aufnahmegruppe_kurzbz).');';
|
||||
$this->db_add_param($this->aufnahmegruppe_kurzbz). ',' .
|
||||
$this->db_add_param($this->zugangs_ueberpruefung, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->zugangscode) . ');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -261,7 +268,9 @@ class reihungstest extends basis_db
|
||||
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
'stufe='.$this->db_add_param($this->stufe, FHC_INTEGER).', '.
|
||||
'anmeldefrist='.$this->db_add_param($this->anmeldefrist).', '.
|
||||
'aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).' '.
|
||||
'aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).', '.
|
||||
'zugangs_ueberpruefung='.$this->db_add_param($this->zugangs_ueberpruefung, FHC_BOOLEAN).', '.
|
||||
'zugangscode='.$this->db_add_param($this->zugangscode).' '.
|
||||
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ class statistik extends basis_db
|
||||
foreach($_REQUEST as $name=>$value)
|
||||
{
|
||||
// Inputs, die in eckigen Klammern stehen, werden als Array interpretiert
|
||||
if (substr($value, 0, 1) == '[' && substr($value, -1) == ']')
|
||||
if (is_string($value) && substr($value, 0, 1) == '[' && substr($value, -1) == ']')
|
||||
{
|
||||
//Eckige Klammern entfernen und String aufsplitten
|
||||
$value = substr($value, 1);
|
||||
|
||||
@@ -897,6 +897,8 @@ or not exists
|
||||
|
||||
foreach ($this->result as $row)
|
||||
{
|
||||
if($row->aktivitaet_kurzbz == 'DienstreiseMT' ) continue;
|
||||
|
||||
$datumtag = $datum->formatDatum($row->datum, 'Y-m-d');
|
||||
|
||||
if (($tagesbeginn == '' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format = 'Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format = 'Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe')
|
||||
|
||||
@@ -21,7 +21,7 @@ class zeitaufzeichnung_import {
|
||||
protected $project;
|
||||
protected $phase;
|
||||
protected $limitdate;
|
||||
|
||||
|
||||
protected $zeit;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ class zeitaufzeichnung_import {
|
||||
|
||||
$this->zeit = new zeitaufzeichnung();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
@@ -64,7 +64,7 @@ class zeitaufzeichnung_import {
|
||||
public function hasInfos() {
|
||||
return !empty($this->infos);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -96,15 +96,15 @@ class zeitaufzeichnung_import {
|
||||
$html .= '<span style="color:green;"><b>' . $msg . '</b></span><br>' . "\n";
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function OutputToHTML() {
|
||||
return $this->InfosToHTML() . $this->WarningsToHTML() . $this->ErrorsToHTML();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -112,7 +112,7 @@ class zeitaufzeichnung_import {
|
||||
protected function addError($msg) {
|
||||
$this->errors[] = $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -120,7 +120,7 @@ class zeitaufzeichnung_import {
|
||||
protected function addWarning($msg) {
|
||||
$this->warnings[] = $msg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $msg
|
||||
* @return void
|
||||
@@ -134,7 +134,7 @@ class zeitaufzeichnung_import {
|
||||
* @param string $uid The user id
|
||||
* @param string $day "Y-m-d" formatted datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkZeitsperren($uid, $day) {
|
||||
@@ -150,25 +150,25 @@ class zeitaufzeichnung_import {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ": " . $this->p->t("zeitaufzeichnung/zeitsperreVorhanden", [$zsdate, $zs->result[0]->zeitsperretyp_kurzbz]));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $date datetimestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkLimitdatum($date) {
|
||||
if ($this->datum->formatDatum($date, 'Y-m-d H:i:s') > $this->limitdate) {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Eingabe nicht möglich da (' . $date . ') zu weit in der Zukunft liegt.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @param string $aktivitaet_kurzbz
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkDienstreise($start, $end, $aktivitaet_kurzbz) {
|
||||
@@ -179,11 +179,11 @@ class zeitaufzeichnung_import {
|
||||
.': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $end timestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkTagesgenau($end) {
|
||||
@@ -193,13 +193,13 @@ class zeitaufzeichnung_import {
|
||||
.': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $projekt_kurzbz
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkProjectInterval($projekt_kurzbz, $start, $end) {
|
||||
@@ -207,13 +207,13 @@ class zeitaufzeichnung_import {
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt: (' . $start . ') (' . $end . ')');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @param string $start datestring
|
||||
* @param string $end datestring
|
||||
* @return void
|
||||
*
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPhaseInterval($phase, $start, $end) {
|
||||
@@ -222,4 +222,36 @@ class zeitaufzeichnung_import {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkPhaseBebuchbar($phase)
|
||||
{
|
||||
if ($this->phase->getPhasenZA($phase) == 'f')
|
||||
{
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Dieses Arbeitspaket darf nicht bebucht werden!');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phase The Projektphase ID
|
||||
* @return void
|
||||
*
|
||||
* @throws Exception
|
||||
*/
|
||||
protected function checkIfArbeitspaketZuWaehlen($projekt_kurzbz, $phase)
|
||||
{
|
||||
if ($projekt_kurzbz != '')
|
||||
{
|
||||
$this->project->load($projekt_kurzbz);
|
||||
if (!$this->project->zeitaufzeichnung && !$phase)
|
||||
{
|
||||
throw new Exception($this->p->t("global/fehlerBeimSpeichernDerDaten") . ': Bitte ein Arbeitspaket wählen!');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -163,7 +163,8 @@ class zeitaufzeichnung_import_csv extends zeitaufzeichnung_import {
|
||||
$this->initData($data);
|
||||
$this->checkProject($data[self::PROJEKT], $data[self::PHASE]);
|
||||
$this->checkPhase($data[self::PHASE]);
|
||||
|
||||
$this->checkPhaseBebuchbar($data[self::PHASE]);
|
||||
$this->checkIfArbeitspaketZuWaehlen($data[self::PROJEKT], $data[self::PHASE]);
|
||||
$this->checkZeitsperren($this->user, $this->datum->formatDatum($data[self::STARTDT], 'Y-m-d'));
|
||||
$this->checkSperrdatum($data[self::STARTDT]);
|
||||
$this->checkLimitdatum($data[self::STARTDT]);
|
||||
|
||||
@@ -72,6 +72,8 @@ class zeitaufzeichnung_import_post extends zeitaufzeichnung_import {
|
||||
$this->checkDienstreise($this->data['von'], $this->data['bis'], $this->data['aktivitaet_kurzbz']);
|
||||
$this->checkTagesgenau($this->data['bis']);
|
||||
$this->processPause($this->data['von_pause'], $this->data['bis_pause']);
|
||||
$this->checkPhaseBebuchbar($this->data['projektphase_id']);
|
||||
$this->checkIfArbeitspaketZuWaehlen($this->data['projekt_kurzbz'], $this->data['projektphase_id']);
|
||||
$this->saveZeit();
|
||||
} catch (Exception $ex) {
|
||||
$this->addError($ex->getMessage());
|
||||
|
||||
@@ -551,13 +551,13 @@ class zeitsperre extends basis_db
|
||||
public function getVonBis($uid, $von, $bis, $zeitsperretyp_kurzbz = null)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
SELECT
|
||||
zeitsperre_id, zeitsperretyp_kurzbz, vondatum, vonstunde, bisdatum, bisstunde
|
||||
FROM
|
||||
FROM
|
||||
campus.tbl_zeitsperre
|
||||
LEFT JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz)
|
||||
WHERE
|
||||
mitarbeiter_uid = '. $this->db_add_param($uid). '
|
||||
WHERE
|
||||
mitarbeiter_uid = '. $this->db_add_param($uid). '
|
||||
AND (
|
||||
(vondatum BETWEEN '.$this->db_add_param($von).' AND '.$this->db_add_param($bis).')
|
||||
OR
|
||||
@@ -592,5 +592,46 @@ class zeitsperre extends basis_db
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Zeitsperretyp.
|
||||
*
|
||||
* @param $zeitsperretyp_kurzbz
|
||||
* @return Gibt Zeitsperretyp als Objekt zurück. True wenn ok, false im Fehlerfall.
|
||||
*/
|
||||
public function loadZeitsperretyp($zeitsperretyp_kurzbz)
|
||||
{
|
||||
if(!is_string($zeitsperretyp_kurzbz))
|
||||
{
|
||||
$this->errormsg = 'zeitsperretyp muß ein String sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperretyp WHERE zeitsperretyp_kurzbz = ". $this->db_add_param($zeitsperretyp_kurzbz);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new StdClass();
|
||||
$obj->zeitsperretyp_kurzbz = $row->zeitsperretyp_kurzbz;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->farbe = $row->farbe;
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Zeitsperretyp konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -45,6 +45,7 @@ $this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei di
|
||||
$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit';
|
||||
$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!<br /> Bitte aktivieren Sie Javascript in Ihrem Browser!';
|
||||
$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt';
|
||||
$this->phrasen['testtool/dasGebietIstNichtFuerSieBestimmt']='Das Gebiet ist nicht für Sie bestimmt';
|
||||
$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht';
|
||||
$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf <b>Gebiet starten</b>.';
|
||||
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
|
||||
@@ -71,7 +72,6 @@ $this->phrasen['testtool/einfuehrungsText']='
|
||||
<h1 style="white-space: normal">Welcome to the placement test</h1>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=145596" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142977" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
|
||||
<br><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=207696" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Bachelor</b>-Guideline for placement test</a><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=143930" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Master</b>-Guideline for placement test</a>
|
||||
<br><br>
|
||||
Under the following link you can test the correct display of the placement test:<br><br>
|
||||
@@ -79,5 +79,8 @@ $this->phrasen['testtool/einfuehrungsText']='
|
||||
</div>
|
||||
</div>';
|
||||
$this->phrasen['testtool/prueflingGesperrt']='Bitte kontaktieren Sie die Reihungstestaufsicht!';
|
||||
$this->phrasen['testtool/freischaltcode']='Freischaltcode';
|
||||
$this->phrasen['testtool/freischalttext']='Ihren Freischaltcode erhalten Sie am Tag des Reihungstests nach erfolgter Einführung im ZOOM-Meeting (siehe Leitfaden) von der Aufsicht. <br /> Wir wünschen Ihnen viel Erfolg.';
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -37,9 +37,14 @@ $this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Si
|
||||
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub';
|
||||
$this->phrasen['urlaubstool/freigabeFehlt']='Urlaub wurde noch nicht freigegeben';
|
||||
$this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Bereits Freigegebener Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/UrlaubGeloescht']='Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/zeitausgleichNeu']='Zeitausgleich wurde neu eingetragen';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeaendert']='Zeitausgleich wurde geändert';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeloescht']='Zeitausgleich wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/xHatZeitausgleichGeloescht']='%s %s hat einen eingetragenen Zeitausgleich gelöscht';
|
||||
$this->phrasen['urlaubstool/VorgesetzteInformiert']='Email wurde an %s versandt';
|
||||
$this->phrasen['urlaubstool/konnteKeinInformationsemailVersendetWerden']='Es konnte kein Email versendet werden, da kein Vorgesetzter eingetragen ist!';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='%s %s hat bereits freigegebenen Urlaub gelöscht';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='%s %s hat Urlaub gelöscht';
|
||||
$this->phrasen['urlaubstool/urlaubsfreigabe']='Freigabe Urlaub: ';
|
||||
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Bestätigungsmail an %s versandt';
|
||||
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von';
|
||||
|
||||
@@ -45,10 +45,13 @@ $this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='In thi
|
||||
$this->phrasen['testtool/bearbeitungszeit']='Time';
|
||||
$this->phrasen['testtool/dieZeitIstAbgelaufen']='The time has run out!<br />Please enable JavaScript in your browser!';
|
||||
$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='This question is not intended for you';
|
||||
$this->phrasen['testtool/dasGebietIstNichtFuerSieBestimmt']='This section is not intended for you';
|
||||
$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Error in saving the initial view';
|
||||
$this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, please click on <b>Start section</b> in the top left corner.';
|
||||
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.';
|
||||
$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='You have applied for the following degree programs:';
|
||||
$this->phrasen['testtool/invalideGebiete']='One or more question areas incorrect!<br>Please inform an assisting person.';
|
||||
$this->phrasen['testtool/prueflingGesperrt']='Please contact the placement test supervisor!';
|
||||
$this->phrasen['testtool/freischaltcode']='Activation code';
|
||||
$this->phrasen['testtool/freischalttext']='You will receive your activation code on the day of the placement test after the introduction in the ZOOM meeting (see guideline) from the supervisor.<br /> We wish you good luck.'
|
||||
?>
|
||||
@@ -36,6 +36,13 @@ $this->phrasen['urlaubstool/meineZeitsperren']='My Planned Absences';
|
||||
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
$this->phrasen['urlaubstool/freigabeFehlt']='Vacation has not been approved yet';
|
||||
$this->phrasen['urlaubstool/zeitausgleichNeu']='Compensatory time was entered';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeaendert']='Compensatory time was changed';
|
||||
$this->phrasen['urlaubstool/zeitausgleichGeloescht']='Compensatory time was deleted';
|
||||
$this->phrasen['urlaubstool/xHatZeitausgleichGeloescht']='Compensatory time was deleted by %s %s';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='Vacation was deleted by %s %s';
|
||||
$this->phrasen['urlaubstool/UrlaubGeloescht']='Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Approved Vacation was deleted by %s %s';
|
||||
$this->phrasen['urlaubstool/urlaubsfreigabe']='Vacation approval: ';
|
||||
$this->phrasen['urlaubstool/bestaetigungsmailWurdeVersandt']='Confirmation mail to %s sent';
|
||||
$this->phrasen['urlaubstool/urlaubVon']='Ihr angefragter Urlaub von'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
|
||||
|
||||
@@ -7,6 +7,7 @@ $this->phrasen['testtool/bitteZuerstAnmelden']='';
|
||||
$this->phrasen['testtool/blaettern']='';
|
||||
$this->phrasen['testtool/demo']='';
|
||||
$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='';
|
||||
$this->phrasen['testtool/dasGebietIstNichtFuerSieBestimmt']='';
|
||||
$this->phrasen['testtool/dieZeitIstAbgelaufen']='';
|
||||
$this->phrasen['testtool/einleitung']='';
|
||||
$this->phrasen['testtool/esWurdeKeineFrageGefunden']='';
|
||||
|
||||
@@ -19,17 +19,37 @@
|
||||
*
|
||||
*/
|
||||
export const LogsViewerTabulatorOptions = {
|
||||
height: 500,
|
||||
height: 700,
|
||||
layout: 'fitColumns',
|
||||
columns: [
|
||||
{title: 'Log ID', field: 'LogId'},
|
||||
{title: 'Request ID', field: 'RequestId'},
|
||||
{title: 'Execution time', field: 'ExecutionTime'},
|
||||
{title: 'Executed by', field: 'ExecutedBy'},
|
||||
{title: 'Description', field: 'Description'},
|
||||
{title: 'Data', field: 'Data'},
|
||||
{title: 'Web service type', field: 'WebserviceType'}
|
||||
]
|
||||
{title: 'Log ID', field: 'LogId', headerFilter: true},
|
||||
{title: 'Request ID', field: 'RequestId', headerFilter: true},
|
||||
{title: 'Execution time', field: 'ExecutionTime', headerFilter: true},
|
||||
{title: 'Executed by', field: 'ExecutedBy', headerFilter: true},
|
||||
{title: 'Description', field: 'Description', headerFilter: true},
|
||||
{title: 'Data', field: 'Data', headerFilter: true},
|
||||
{title: 'Web service type', field: 'WebserviceType', headerFilter: true}
|
||||
],
|
||||
rowFormatter: function(row) {
|
||||
|
||||
let data = row.getData(); // get data for this row
|
||||
|
||||
// If data is not null and provides the property RequestId and it is not null
|
||||
if (data != null && data.hasOwnProperty('RequestId') && data.RequestId != null)
|
||||
{
|
||||
let requestId = data.RequestId;
|
||||
|
||||
if (requestId.includes("error"))
|
||||
{
|
||||
row.getElement().style.color = "red";
|
||||
}
|
||||
else if (requestId.includes("warning"))
|
||||
{
|
||||
row.getElement().style.color = "orange";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -533,7 +533,7 @@ export const CoreFilterCmpt = {
|
||||
@data-fetched="fetchCmptDataFetched">
|
||||
</core-fetch-cmpt>
|
||||
|
||||
<div class="row">
|
||||
<div class="row" v-if="title != null && title != ''">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
{{ title }}
|
||||
|
||||
@@ -150,6 +150,12 @@ var InfocenterDetails = {
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
var prestudent = data.retval[0];
|
||||
|
||||
if (prestudent.zgv_code === null && prestudent.zgvmas_code === null)
|
||||
{
|
||||
btn.after("<span id='zgvUebernehmenNotice' class='text-warning'> keine ZGV vorhanden</span>");
|
||||
}
|
||||
|
||||
var zgvcode = prestudent.zgv_code !== null ? prestudent.zgv_code : "null";
|
||||
var zgvort = prestudent.zgvort !== null ? prestudent.zgvort : "";
|
||||
var zgvdatum = prestudent.zgvdatum;
|
||||
@@ -183,7 +189,7 @@ var InfocenterDetails = {
|
||||
}
|
||||
else
|
||||
{
|
||||
btn.after(" <span id='zgvUebernehmenNotice' class='text-warning'>keine ZGV vorhanden</span>");
|
||||
btn.after("<span id='zgvUebernehmenNotice' class='text-warning'> Fehler beim Laden der Daten</span>");
|
||||
}
|
||||
},
|
||||
errorCallback: function()
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
$(document).ready(function ()
|
||||
{
|
||||
var personid = $("#hiddenpersonid").val();
|
||||
|
||||
$('.editStammdaten').click(function()
|
||||
{
|
||||
Stammdaten._show();
|
||||
});
|
||||
|
||||
$('.cancelStammdaten').click(function()
|
||||
{
|
||||
Stammdaten._hide();
|
||||
});
|
||||
|
||||
$('.saveStammdaten').click(function()
|
||||
{
|
||||
var kontakt = [];
|
||||
$('.kontakt_input').each(function(){
|
||||
kontakt.push({
|
||||
id: $(this).data('id'),
|
||||
value: $(this).val()
|
||||
});
|
||||
});
|
||||
|
||||
var adresse = [];
|
||||
$('.adresse').each(function(){
|
||||
var id = $(this).data('id');
|
||||
adresse.push({
|
||||
id: id,
|
||||
value: {
|
||||
'strasse': $('#strasse_' + id).val(),
|
||||
'plz': $('#plz_' + id).val(),
|
||||
'ort': $('#ort_' + id).val(),
|
||||
'nation': $('#nation_' + id).val(),
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var data = {
|
||||
"personid" : personid,
|
||||
"titelpre" : $('#titelpre_input').val(),
|
||||
"vorname" : $('#vorname_input').val(),
|
||||
"nachname" : $('#nachname_input').val(),
|
||||
"titelpost" : $('#titelpost_input').val(),
|
||||
"gebdatum" : $('#gebdatum_input').val(),
|
||||
"svnr" : $('#svnr_input').val(),
|
||||
"buergerschaft" : $('#buergerschaft').val(),
|
||||
"geschlecht" : $('#geschlecht').val(),
|
||||
"gebnation" : $('#gebnation').val(),
|
||||
"gebort" : $('#gebort_input').val(),
|
||||
"kontakt" : kontakt,
|
||||
"adresse" : adresse,
|
||||
};
|
||||
Stammdaten.update(personid, data);
|
||||
});
|
||||
});
|
||||
|
||||
var Stammdaten = {
|
||||
update: function(personid, data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + "/updateStammdaten/",
|
||||
data,
|
||||
{
|
||||
successCallback: function(data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isSuccess(data))
|
||||
{
|
||||
FHC_DialogLib.alertSuccess("Done!");
|
||||
Stammdaten._updated();
|
||||
}
|
||||
else
|
||||
{
|
||||
FHC_DialogLib.alertError(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
},
|
||||
errorCallback: function() {
|
||||
FHC_DialogLib.alertWarning("Fehler beim Speichern!");
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
_hide: function()
|
||||
{
|
||||
$('.stammdaten_input').each(function(){
|
||||
$(this).parent('td').children('div').show();
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('.kontakt_input').each(function(){
|
||||
$(this).parent('td').children('span').show();
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('.adresse_input').each(function(){
|
||||
$(this).parent('div').children('div').show();
|
||||
$(this).remove();
|
||||
});
|
||||
},
|
||||
|
||||
_show: function()
|
||||
{
|
||||
$('.stammdaten').each(function() {
|
||||
var id = $(this).attr('id');
|
||||
var input = $('<input />');
|
||||
input.attr('id', id + '_input');
|
||||
input.addClass('form-control stammdaten_input');
|
||||
input.val($(this).html());
|
||||
$(this).hide();
|
||||
$(this).parent('td').append(input);
|
||||
});
|
||||
|
||||
$('.kontakt').each(function() {
|
||||
var id = $(this).data('id');
|
||||
var value = $(this).data('value');
|
||||
|
||||
$(this).hide();
|
||||
|
||||
var input = $('<input />');
|
||||
input.attr('data-id', id);
|
||||
input.attr('value', value);
|
||||
input.addClass('form-control kontakt_input');
|
||||
input.val(value);
|
||||
$(this).parent('td').append(input);
|
||||
});
|
||||
|
||||
$('.adresse').each(function() {
|
||||
var adressenID = $(this).data('id');
|
||||
$($(this).children('div').get().reverse()).each(function() {
|
||||
$(this).hide();
|
||||
var type = $(this).data('type');
|
||||
var value = $(this).data('value');
|
||||
var input = $('<input />');
|
||||
|
||||
input.attr('data-type', type);
|
||||
input.attr('id', type + '_' + adressenID);
|
||||
input.attr('value', value);
|
||||
input.attr('placeholder', type.toUpperCase());
|
||||
input.addClass('form-control adresse_input');
|
||||
input.val(value);
|
||||
$(this).parent().prepend(input);
|
||||
});
|
||||
});
|
||||
|
||||
var stammdatenform = $('.stammdaten_form');
|
||||
|
||||
stammdatenform.find('select').attr('disabled', false);
|
||||
$('.editActionStammdaten').show();
|
||||
$('.editStammdaten').hide();
|
||||
},
|
||||
|
||||
_updated: function()
|
||||
{
|
||||
$('.kontakt_input').each(function() {
|
||||
var span = $(this).parent('td').children('span');
|
||||
var value = $(this).val();
|
||||
|
||||
var oldSpanValue = span.data('value');
|
||||
span.data('value', value);
|
||||
var newhtml = span.html().replace(oldSpanValue, value);
|
||||
span.html(newhtml);
|
||||
if (span.hasClass('email'))
|
||||
span.find('a').attr('href', 'mailto:' + value);
|
||||
|
||||
span.show();
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
$('.adresse').each(function() {
|
||||
$(this).children('input').each(function() {
|
||||
var value = $(this).val();
|
||||
var type = $(this).data('type');
|
||||
var div = $('div[data-type="' + type + '"]');
|
||||
div.data('value', value);
|
||||
div.html(value);
|
||||
div.show();
|
||||
$(this).remove();
|
||||
});
|
||||
});
|
||||
|
||||
$('.stammdaten_input').each(function() {
|
||||
var div = $(this).parent('td').children('div');
|
||||
var value = $(this).val();
|
||||
div.html(value);
|
||||
div.show();
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
var stammdatenform = $('.stammdaten_form');
|
||||
stammdatenform.find('select').attr('disabled', true);
|
||||
|
||||
$('.editActionStammdaten').hide();
|
||||
$('.editStammdaten').show();
|
||||
},
|
||||
}
|
||||
@@ -106,6 +106,7 @@ function draw_content($row)
|
||||
<STANDORT:standort_id><![CDATA['.$row->standort_id.']]></STANDORT:standort_id>
|
||||
<STANDORT:adresse_id><![CDATA['.$row->adresse_id.']]></STANDORT:adresse_id>
|
||||
<STANDORT:bezeichnung><![CDATA['.$row->bezeichnung.']]></STANDORT:bezeichnung>
|
||||
<STANDORT:bezeichnung_null><![CDATA['.(is_null($row->bezeichnung)?'t':'').']]></STANDORT:bezeichnung_null>
|
||||
<STANDORT:kurzbz><![CDATA['.$row->kurzbz.']]></STANDORT:kurzbz>
|
||||
<STANDORT:firma_id><![CDATA['.$row->firma_id.']]></STANDORT:firma_id>
|
||||
</RDF:Description>
|
||||
@@ -113,4 +114,4 @@ function draw_content($row)
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
|
||||
</RDF:li>
|
||||
';
|
||||
}
|
||||
$qry = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz';
|
||||
$qry = 'SELECT * FROM bis.tbl_zgv ORDER BY zgv_bez';
|
||||
$db = new basis_db();
|
||||
|
||||
if($db->db_query($qry))
|
||||
|
||||
@@ -57,7 +57,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
|
||||
</RDF:li>
|
||||
';
|
||||
}
|
||||
$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_code';
|
||||
$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_bez';
|
||||
$db = new basis_db();
|
||||
|
||||
if($db->db_query($qry))
|
||||
|
||||
@@ -57,7 +57,7 @@ if(isset($_GET['optional']) && $_GET['optional']=='true')
|
||||
</RDF:li>
|
||||
';
|
||||
}
|
||||
$qry = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_code';
|
||||
$qry = 'SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_bez';
|
||||
$db = new basis_db();
|
||||
|
||||
if($db->db_query($qry))
|
||||
|
||||
@@ -205,6 +205,7 @@ $berechtigungen = array(
|
||||
array('student/anwesenheit','Anwesenheiten im FAS'),
|
||||
array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'),
|
||||
array('student/editBakkZgv','Bearbeiten der Bachelor ZGV eines PreStudenten'),
|
||||
array('student/editMakkZgv','Bearbeiten der Master ZGV eines PreStudenten'),
|
||||
array('student/noten','Notenverwaltung'),
|
||||
array('student/stammdaten','Stammdaten der Studenten'),
|
||||
array('student/vorrueckung','Studentenvorrückung'),
|
||||
|
||||
@@ -28,6 +28,9 @@ require_once('dbupdate_3.4/example2.php');
|
||||
...
|
||||
*/
|
||||
|
||||
require_once('dbupdate_3.4/26173_index_webservicelog.php');
|
||||
require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php');
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
|
||||
if(!$result = @$db->db_query("SELECT zugangs_ueberpruefung FROM public.tbl_reihungstest LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN zugangs_ueberpruefung boolean NOT NULL DEFAULT false;
|
||||
ALTER TABLE public.tbl_reihungstest ADD COLUMN zugangscode smallint DEFAULT NULL;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_reihungstest: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_reihungstest: Spalte zugangs_ueberpruefung und zugangscode hinzugefuegt';
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add index to system.tbl_log
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_webserivcelog_executetime'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_webserivcelog_executetime ON system.tbl_webservicelog USING btree (execute_time)";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Index fuer system.tbl_webservicelog.execute_time hinzugefuegt';
|
||||
}
|
||||
}
|
||||
@@ -15708,6 +15708,46 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'kvp',
|
||||
'phrase' => 'new.error.nostandardcourse.title',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => "Fehler",
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => "Error",
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'kvp',
|
||||
'phrase' => 'new.error.nostandardcourse.msg',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => "Dieser Moodle Kurs ist keinem standardisierten Quellkurs zugeordnet",
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => "This Moodle Course is not derived from a standardized Source Course",
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'kvp',
|
||||
@@ -16241,7 +16281,9 @@ array(
|
||||
In Summe müssen 5 ECTS erworben werden, die im 6. Semester wirksam werden. <br/>
|
||||
Das Modul „International skills“ wird mit der Beurteilung „Mit Erfolg teilgenommen“ abgeschlossen. <br />
|
||||
Bitte wählen Sie die für Sie in Frage kommenden Maßnahmen aus und planen Sie das entsprechende Semester. <br />
|
||||
Sobald die 5 ECTS erreicht wurden, überprüft der Studiengang die von Ihnen hochgeladenen Dokumente.',
|
||||
Sobald die 5 ECTS erreicht wurden, überprüft der Studiengang die von Ihnen hochgeladenen Dokumente. <br /><br />
|
||||
Fragen zum Status Ihrer Maßnahme u.ä. richten Sie bitte an den Studiengang. <br />
|
||||
Bei allen weiteren Fragen zum Thema Organisation und Finanzierung des Auslandsaufenthalts und/oder Sprachkurs gibt Ihnen das International Office der FH Technikum Wien unter <a href="mailto:international.office@technikum-wien.at">international.office@technikum-wien.at</a> gerne Auskunft.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
@@ -16252,7 +16294,10 @@ array(
|
||||
In total, 5 ECTS must be acquired, which become effective in the 6th semester.<br />
|
||||
The module “International skills” is completed with the assessment "Successfully participated". <br />
|
||||
Please select the measures that apply to you and schedule the appropriate semester. <br />
|
||||
Once the 5 ECTS have been achieved, the degree program will review the documents you have uploaded.',
|
||||
Once the 5 ECTS have been achieved, the degree program will review the documents you have uploaded. <br /><br />
|
||||
Please direct questions regarding the status of your measure and the like should be directed to the study program. <br />
|
||||
For all further questions regarding the organization and financing of your stay abroad and/or language course, please contact the International Office of the UAS Technikum Wien at <a href="mailto:international.office@technikum-wien.at">international.office@technikum-wien.at</a>.
|
||||
',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -17137,7 +17182,27 @@ array(
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'infocenter',
|
||||
'category' => 'infocenter',
|
||||
'phrase' => 'stammdatenFeldFehlt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bitte Nachname, Geschlecht und Geburtsdatum ausfüllen.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Please fill out the last name, gender and date of birth.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
+471
-432
@@ -1,432 +1,471 @@
|
||||
<?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="anwesenheitsliste">
|
||||
|
||||
<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="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" 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="'Microsoft YaHei'" 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="18.002cm" table:align="margins" style:shadow="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="0.706cm" style:rel-column-width="400*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.882cm" style:rel-column-width="2767*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.981cm" style:rel-column-width="1123*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.3cm" style:rel-column-width="737*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.E" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.826cm" style:rel-column-width="1035*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.1" style:family="table-row">
|
||||
<style:table-row-properties style:row-height="0.6cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" 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="0cm" fo:padding-bottom="0cm" 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:style>
|
||||
<style:style style:name="Tabelle1.I1" 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="0cm" fo:padding-bottom="0cm" fo:border="0.05pt solid #000000"/>
|
||||
</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="0cm" fo:padding-bottom="0cm" 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.I2" 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="0cm" fo:padding-bottom="0cm" 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.A3" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#cccccc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0cm" fo:padding-bottom="0cm" 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:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A8" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#cccccc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0cm" fo:padding-bottom="0cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Footer">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" officeooo:rsid="000e4736" officeooo:paragraph-rsid="000e4736" style:font-size-asian="8.75pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="14pt" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="12.25pt" style:font-size-complex="14pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="10pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</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 style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P11" 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="8pt" fo:font-weight="bold" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" 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="end" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" 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 style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="0015a8b4" officeooo:paragraph-rsid="0015a8b4" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</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="0015a8b4"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" style:wrap="left" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="from-top" style:vertical-rel="page" style:horizontal-pos="from-left" style:horizontal-rel="page" 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: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>
|
||||
<draw:frame draw:style-name="fr1" draw:name="Bild1" text:anchor-type="page" text:anchor-page-number="1" svg:x="15.649cm" svg:y="0.9cm" svg:width="4.23cm" svg:height="2.17cm" draw:z-index="0">
|
||||
<draw:image xlink:href="Pictures/10000201000000FD0000008209020D9B.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>
|
||||
<text:p text:style-name="P2">Anwesenheitsliste <xsl:value-of select="bezeichnung" /></text:p>
|
||||
<text:p text:style-name="P3">Gruppen: <xsl:value-of select="gruppen" /> Studiensemester: <xsl:value-of select="studiensemester" /></text:p>
|
||||
<text:p text:style-name="P2"/>
|
||||
<text:p text:style-name="P2">Monat ___________</text:p>
|
||||
<text:p text:style-name="P2"/>
|
||||
<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.C"/>
|
||||
<table:table-column table:style-name="Tabelle1.D"/>
|
||||
<table:table-column table:style-name="Tabelle1.E" table:number-columns-repeated="5"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="4" office:value-type="string">
|
||||
<text:p text:style-name="P7">Datum</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="4" office:value-type="string">
|
||||
<text:p text:style-name="P7">Anzahl der abgehaltenen Einheiten</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A3" table:number-columns-spanned="9" office:value-type="string">
|
||||
<text:p text:style-name="P13">LektorInnen</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
</table:table-row>
|
||||
|
||||
<xsl:apply-templates select="lehrende"/>
|
||||
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A3" table:number-columns-spanned="9" office:value-type="string">
|
||||
<text:p text:style-name="P13"><xsl:value-of select="anzahl_studierende" /> Studierende</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P12"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P10">Name</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P11">Kennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P11">Gruppe</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
|
||||
<xsl:apply-templates select="student"/>
|
||||
|
||||
</table:table>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P4"></text:p>
|
||||
<text:p text:style-name="P4"></text:p>
|
||||
<text:p text:style-name="P4"></text:p>
|
||||
<text:p text:style-name="P4"></text:p>
|
||||
<text:p text:style-name="P4"></text:p>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P5">
|
||||
<xsl:choose>
|
||||
<xsl:when test="studiengang_kz=0">
|
||||
Freifach <xsl:value-of select="typ" /><xsl:text> </xsl:text><xsl:value-of select="studiengang" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
Fachhochschulstudiengang <xsl:value-of select="typ" /><xsl:text> </xsl:text><xsl:value-of select="studiengang" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
<text:p text:style-name="P4">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,</text:p>
|
||||
</office:text>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
<xsl:template match="lehrende">
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="4" office:value-type="string">
|
||||
<text:p text:style-name="P7"><xsl:value-of select="name" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
<xsl:template match="student">
|
||||
<xsl:variable select="position()" name="number"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$number mod 2 != 0">
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P9"><xsl:value-of select="position()" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<text:span text:style-name="T1"><xsl:value-of select="nachname" /></text:span><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="zusatz" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:choose>
|
||||
<xsl:when test="personenkennzeichen!=''">
|
||||
<xsl:value-of select="personenkennzeichen" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
-
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:choose>
|
||||
<xsl:when test="semester!=''">
|
||||
<xsl:value-of select="semester" /><xsl:value-of select="verband" /><xsl:value-of select="gruppe" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
-
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A3" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P9"><xsl:value-of select="position()" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<text:span text:style-name="T1"><xsl:value-of select="nachname" /></text:span><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="zusatz" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8"><xsl:value-of select="personenkennzeichen" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8"><xsl:value-of select="semester" /><xsl:value-of select="verband" /><xsl:value-of select="gruppe" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
<?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="anwesenheitsliste">
|
||||
|
||||
<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="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" 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="'Microsoft YaHei'" 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="18.002cm" table:align="margins" style:shadow="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="0.706cm" style:rel-column-width="400*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.882cm" style:rel-column-width="2767*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.C" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.981cm" style:rel-column-width="1123*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.D" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.3cm" style:rel-column-width="737*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.E" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="1.826cm" style:rel-column-width="1035*"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.1" style:family="table-row">
|
||||
<style:table-row-properties style:row-height="0.6cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" 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="0cm" fo:padding-bottom="0cm" 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:style>
|
||||
<style:style style:name="Tabelle1.I1" 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="0cm" fo:padding-bottom="0cm" fo:border="0.05pt solid #000000"/>
|
||||
</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="0cm" fo:padding-bottom="0cm" 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.I2" 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="0cm" fo:padding-bottom="0cm" 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.A3" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#cccccc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0cm" fo:padding-bottom="0cm" 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:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A8" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:background-color="#cccccc" fo:padding-left="0.101cm" fo:padding-right="0.101cm" fo:padding-top="0cm" fo:padding-bottom="0cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000">
|
||||
<style:background-image/>
|
||||
</style:table-cell-properties>
|
||||
</style:style>
|
||||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Footer">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" officeooo:rsid="000e4736" officeooo:paragraph-rsid="000e4736" style:font-size-asian="8.75pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="14pt" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="12.25pt" style:font-size-complex="14pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="10pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="000bf7c5" officeooo:paragraph-rsid="000bf7c5" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</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 style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="P11" 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="8pt" fo:font-weight="bold" officeooo:rsid="0014a385" officeooo:paragraph-rsid="0014a385" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" 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="end" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" 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 style:font-name="Arial" fo:font-size="8pt" fo:font-weight="bold" officeooo:rsid="0015a8b4" officeooo:paragraph-rsid="0015a8b4" style:font-size-asian="8pt" style:font-weight-asian="bold" style:font-size-complex="8pt" style:font-weight-complex="bold"/>
|
||||
</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="0015a8b4"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:margin-top="0cm" fo:margin-bottom="0.499cm" style:wrap="left" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="from-top" style:vertical-rel="page" style:horizontal-pos="from-left" style:horizontal-rel="page" 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: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>
|
||||
<draw:frame draw:style-name="fr1" draw:name="Bild1" text:anchor-type="page" text:anchor-page-number="1" svg:x="15.649cm" svg:y="0.9cm" svg:width="4.23cm" svg:height="2.17cm" draw:z-index="0">
|
||||
<draw:image xlink:href="Pictures/10000201000000FD0000008209020D9B.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
|
||||
</draw:frame>
|
||||
<text:p text:style-name="P2">Anwesenheitsliste <xsl:value-of select="bezeichnung" /></text:p>
|
||||
<text:p text:style-name="P3">Gruppen: <xsl:value-of select="gruppen" /> Studiensemester: <xsl:value-of select="studiensemester" /></text:p>
|
||||
<text:p text:style-name="P2"/>
|
||||
<text:p text:style-name="P2">Monat ___________</text:p>
|
||||
<text:p text:style-name="P2"/>
|
||||
<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.C"/>
|
||||
<table:table-column table:style-name="Tabelle1.D"/>
|
||||
<table:table-column table:style-name="Tabelle1.E" table:number-columns-repeated="5"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="4" office:value-type="string">
|
||||
<text:p text:style-name="P7">Datum</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I1" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="4" office:value-type="string">
|
||||
<text:p text:style-name="P7">Anzahl der abgehaltenen Einheiten</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A3" table:number-columns-spanned="9" office:value-type="string">
|
||||
<text:p text:style-name="P13">LektorInnen</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
</table:table-row>
|
||||
|
||||
<xsl:apply-templates select="lehrende"/>
|
||||
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A3" table:number-columns-spanned="9" office:value-type="string">
|
||||
<text:p text:style-name="P13"><xsl:value-of select="anzahl_studierende" /> Studierende</text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P12"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P10">Name</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P11">Kennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P11">Gruppe</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
|
||||
<xsl:apply-templates select="student"/>
|
||||
|
||||
</table:table>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P4">(m) ... männlich</text:p>
|
||||
<text:p text:style-name="P4">(w) ... weiblich</text:p>
|
||||
<text:p text:style-name="P4">(x) ... divers</text:p>
|
||||
<text:p text:style-name="P4">(u) ... unbekannt</text:p>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P4">(i) ... Incoming</text:p>
|
||||
<text:p text:style-name="P4">(o) ... Outgoing</text:p>
|
||||
<text:p text:style-name="P4">(ar) ... angerechnet</text:p>
|
||||
<text:p text:style-name="P4">(iar) ... intern angerechnet</text:p>
|
||||
<text:p text:style-name="P4">(nz) ... nicht zugelassen</text:p>
|
||||
<text:p text:style-name="P4">(ma) ... MitarbeiterIn</text:p>
|
||||
<text:p text:style-name="P4">(a.o.) ... Außerordentliche/r HörerIn</text:p>
|
||||
<text:p text:style-name="P4">(d.d.) ... Double Degree Program</text:p>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P5">
|
||||
<xsl:choose>
|
||||
<xsl:when test="studiengang_kz=0">
|
||||
Freifach <xsl:value-of select="typ" /><xsl:text> </xsl:text><xsl:value-of select="studiengang" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
Fachhochschulstudiengang <xsl:value-of select="typ" /><xsl:text> </xsl:text><xsl:value-of select="studiengang" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
<text:p text:style-name="P4">Fehlt ein/e Student/in länger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTÄNDIG AUSGEFÜLLTE LISTEN abgeben!</text:p>
|
||||
</office:text>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
<xsl:template match="lehrende">
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="4" office:value-type="string">
|
||||
<text:p text:style-name="P7"><xsl:value-of select="name" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:covered-table-cell/>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:template>
|
||||
<xsl:template match="student">
|
||||
<xsl:variable select="position()" name="number"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$number mod 2 != 0">
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P9"><xsl:value-of select="position()" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<text:span text:style-name="T1">
|
||||
<xsl:value-of select="nachname" /></text:span>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="vorname" />
|
||||
<xsl:text> </xsl:text>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="geschlecht!=''">
|
||||
(<xsl:value-of select="geschlecht" />)
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:value-of select="zusatz" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:choose>
|
||||
<xsl:when test="personenkennzeichen!=''">
|
||||
<xsl:value-of select="personenkennzeichen" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
-
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:choose>
|
||||
<xsl:when test="semester!=''">
|
||||
<xsl:value-of select="semester" /><xsl:value-of select="verband" /><xsl:value-of select="gruppe" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
-
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A8" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A3" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P9"><xsl:value-of select="position()" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<text:span text:style-name="T1">
|
||||
<xsl:value-of select="nachname" /></text:span>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="vorname" />
|
||||
<xsl:text> </xsl:text>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="geschlecht!=''">
|
||||
(<xsl:value-of select="geschlecht" />)
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:value-of select="zusatz" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8"><xsl:value-of select="personenkennzeichen" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8"><xsl:value-of select="semester" /><xsl:value-of select="verband" /><xsl:value-of select="gruppe" /></text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.I2" office:value-type="string">
|
||||
<text:p text:style-name="P6"/>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -450,6 +450,13 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
|
||||
//**** Echter Dienstvertrag ohne Vertragsstunden
|
||||
$arrayEchterDV= array(103, 110);
|
||||
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||
{
|
||||
$arrayEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||
}
|
||||
$str_ba1codein = trim(array_reduce($arrayEchterDV, function($c, $i) { global $db; return $c .= $db->db_add_param($i, FHC_INTEGER) . ','; }), ',');
|
||||
|
||||
$qryall="
|
||||
SELECT
|
||||
distinct mitarbeiter_uid as uid, vorname, nachname
|
||||
@@ -461,7 +468,7 @@ $qryall="
|
||||
WHERE
|
||||
(beginn is null or beginn<".$db->db_add_param($bismeldedatum_ende).")
|
||||
and (ende is null or ende>=".$db->db_add_param($bismeldedatum_start).")
|
||||
and ba1code=103
|
||||
and ba1code IN (" . $str_ba1codein . ")
|
||||
and vertragsstunden is null
|
||||
and beschausmasscode!=5
|
||||
ORDER by nachname, vorname, mitarbeiter_uid;";
|
||||
|
||||
@@ -271,7 +271,8 @@ if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
|
||||
DISTINCT ON(student_uid, nachname, vorname) *,
|
||||
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
|
||||
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
|
||||
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
|
||||
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant,
|
||||
COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_benutzer ON(student_uid=uid)
|
||||
@@ -295,7 +296,8 @@ elseif ($stg_kz == 'alleBaMa')
|
||||
DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *,
|
||||
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
|
||||
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
|
||||
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
|
||||
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant,
|
||||
COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_benutzer ON(student_uid=uid)
|
||||
@@ -327,7 +329,8 @@ else
|
||||
DISTINCT ON(student_uid, nachname, vorname) *,
|
||||
public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat,
|
||||
public.tbl_prestudent.foerderrelevant as pre_foerderrelevant,
|
||||
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant
|
||||
public.tbl_studiengang.foerderrelevant as stg_foerderrelevant,
|
||||
COALESCE(tbl_prestudent.standort_code, tbl_studiengang.standort_code) AS bis_standort_code
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_benutzer ON(student_uid=uid)
|
||||
@@ -353,9 +356,10 @@ else
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
|
||||
$stg_kz_index = '';
|
||||
|
||||
$num_rows = $db->db_num_rows($result);
|
||||
$row_num = 1;
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$row->pre_foerderrelevant = $db->db_parse_bool($row->pre_foerderrelevant);
|
||||
@@ -367,8 +371,6 @@ if($result = $db->db_query($qry))
|
||||
$stg_obj = new studiengang();
|
||||
if($stg_obj->load($row->studiengang_kz))
|
||||
{
|
||||
|
||||
|
||||
$maxsemester = $stg_obj->max_semester;
|
||||
if($maxsemester == 0)
|
||||
{
|
||||
@@ -398,58 +400,78 @@ if($result = $db->db_query($qry))
|
||||
else
|
||||
die('Fehler:'.$stg_obj->errormsg);
|
||||
|
||||
// Header am Beginn rausschreiben
|
||||
// Erstes Studiengang Tag am Beginn rausschreiben
|
||||
if ($stg_kz_index == '')
|
||||
{
|
||||
$header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<Erhalter>
|
||||
<ErhKz>".$erhalter."</ErhKz>
|
||||
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
|
||||
<StudierendenBewerberMeldung>";
|
||||
|
||||
<StudierendenBewerberMeldung>
|
||||
<Studiengang>
|
||||
<StgKz>".$row->studiengang_kz."</StgKz>";
|
||||
$datei .= $header;
|
||||
$dateiNurBewerber .= $header;
|
||||
}
|
||||
if ($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index)
|
||||
{
|
||||
$datei .= "
|
||||
</Studiengang>";
|
||||
}
|
||||
$stg_kz_index = $row->studiengang_kz;
|
||||
$datei .= "
|
||||
<Studiengang>
|
||||
<StgKz>".$row->studiengang_kz."</StgKz>";
|
||||
}
|
||||
|
||||
// Student Daten schreiben
|
||||
$datei .= GenerateXMLStudentBlock($row);
|
||||
}
|
||||
|
||||
//Bewerberblock bei Ausserordentlichen nicht anzeigen
|
||||
/*if($stg_kz!=('9'.$erhalter))
|
||||
{
|
||||
$stg_obj = new studiengang();
|
||||
|
||||
if($orgform_code==3 || $stg_obj->isMischform($stg_kz,$ssem) || $stg_obj->isMischform($stg_kz,$psem))
|
||||
// wenn neuer Studiengang oder letzter Durchlauf...
|
||||
if (($row_num > 1 && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows)
|
||||
{
|
||||
$orgcodes = array_unique($orgform_code_array);
|
||||
//Mischform
|
||||
foreach($orgcodes as $code)
|
||||
// ...Studiengang Tag schliessen
|
||||
$stgClose = "
|
||||
</Studiengang>";
|
||||
$datei .= $stgClose;
|
||||
$dateiNurBewerber .= $stgClose;
|
||||
}
|
||||
|
||||
// wenn neuer Studiengang...
|
||||
if ($row->studiengang_kz != $stg_kz_index)
|
||||
{
|
||||
if ($row_num > 1)
|
||||
{
|
||||
$bewerberBlock=GenerateXMLBewerberBlock($code);
|
||||
$datei.=$bewerberBlock;
|
||||
$dateiNurBewerber.=$bewerberBlock;
|
||||
// ...neuen Studiengang Tag öffnen
|
||||
$stgOpen = "
|
||||
<Studiengang>
|
||||
<StgKz>".$row->studiengang_kz."</StgKz>";
|
||||
$datei .= $stgOpen;
|
||||
$dateiNurBewerber .= $stgOpen;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bewerberBlock=GenerateXMLBewerberBlock();
|
||||
$datei.=$bewerberBlock;
|
||||
$dateiNurBewerber.=$bewerberBlock;
|
||||
}
|
||||
}*/
|
||||
|
||||
//Bewerberblock
|
||||
// (bei Ausserordentlichen nicht anzeigen)
|
||||
if($row->studiengang_kz!=('9'.$erhalter))
|
||||
{
|
||||
$stg_obj = new studiengang();
|
||||
|
||||
if($orgform_code==3 || $stg_obj->isMischform($row->studiengang_kz,$ssem) || $stg_obj->isMischform($row->studiengang_kz,$psem))
|
||||
{
|
||||
$orgcodes = array_unique($orgform_code_array);
|
||||
//Mischform
|
||||
foreach($orgcodes as $code)
|
||||
{
|
||||
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz, $code);
|
||||
$dateiNurBewerber.=$bewerberBlock;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz);
|
||||
$dateiNurBewerber.=$bewerberBlock;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Studiengang kz speichern und Zeile erhöhen
|
||||
$stg_kz_index = $row->studiengang_kz;
|
||||
$row_num++;
|
||||
}
|
||||
}
|
||||
|
||||
$footer="
|
||||
</Studiengang>
|
||||
</StudierendenBewerberMeldung>
|
||||
</Erhalter>";
|
||||
|
||||
@@ -722,8 +744,11 @@ if(file_exists($ddd))
|
||||
{
|
||||
echo '<a href="archiv.php?meldung='.$ddd.'&html='.$eee.'&stg='.$stg_kz.'&sem='.$ssem.'&typ=studenten&action=archivieren">BIS-Meldung Stg '.$stg_kz.' archivieren</a><br>';
|
||||
echo '<a href="'.$ddd.'" target="_blank" download>XML-Datei für BIS-Meldung Stg '.$stg_kz.'</a><br>';
|
||||
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei für BIS-Meldung Stg '.$stg_kz.' - nur Bewerberdaten</a><br>';
|
||||
}
|
||||
|
||||
if(file_exists($dddNurBew))
|
||||
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei für BIS-Meldung Stg '.$stg_kz.' - Bewerberdaten</a><br>';
|
||||
|
||||
if(file_exists($eee))
|
||||
{
|
||||
echo '<a href="'.$eee.'">BIS-Meldeübersicht der BIS-Meldung Stg '.$stg_kz.'</a><br><br>';
|
||||
@@ -1589,7 +1614,7 @@ function GenerateXMLStudentBlock($row)
|
||||
if($studtyp!='E')
|
||||
{
|
||||
$datei.="
|
||||
<StudStatusCode>".$status."</StudStatusCode>";
|
||||
<StudStatusCode>".$status."</StudStatusCode>";
|
||||
}
|
||||
|
||||
// IO container query
|
||||
@@ -1615,7 +1640,7 @@ function GenerateXMLStudentBlock($row)
|
||||
if(!$ausserordentlich)
|
||||
{
|
||||
$datei.="
|
||||
<StandortCode>".$row->standort_code."</StandortCode>";
|
||||
<StandortCode>".$row->bis_standort_code."</StandortCode>";
|
||||
}
|
||||
/*
|
||||
* BMWFFoerderrung derzeit fuer alle Studierende auf Ja gesetzt
|
||||
@@ -1901,11 +1926,11 @@ function GenerateXMLStudentBlock($row)
|
||||
* Wenn der Parameter orgformcode uebergeben wird, werden nur die Bewerberzahlen dieser Orgform geliefert
|
||||
* sonst alle
|
||||
*/
|
||||
function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
function GenerateXMLBewerberBlock($studiengang_kz, $orgformcode=null)
|
||||
{
|
||||
global $db;
|
||||
global $ssem, $stgart, $psem;
|
||||
global $stg_kz, $bisdatum;
|
||||
global $bisdatum;
|
||||
global $bwlist, $orgform_kurzbz;
|
||||
global $bewerbercount,$orgform_code_array;
|
||||
$datei = '';
|
||||
@@ -1924,11 +1949,12 @@ function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_orgform USING(orgform_kurzbz)
|
||||
WHERE (studiensemester_kurzbz=".$db->db_add_param($ssem)." OR studiensemester_kurzbz=".$db->db_add_param($psem).")
|
||||
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($stg_kz)."
|
||||
AND tbl_prestudent.studiengang_kz=".$db->db_add_param($studiengang_kz)."
|
||||
AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND reihungstestangetreten
|
||||
";
|
||||
|
||||
if(!is_null($orgformcode))
|
||||
$qrybw.=" AND tbl_orgform.code=".$db->db_add_param($orgformcode);
|
||||
|
||||
@@ -2015,7 +2041,7 @@ function GenerateXMLBewerberBlock($orgformcode=null)
|
||||
<OrgFormCode>".$orgform_code_array[$bworgform]."</OrgFormCode>";
|
||||
if($stgart==2)
|
||||
$datei.='
|
||||
<ZugangMaCode>'.$key.'</ZugangMaCode>';
|
||||
<ZugangMaStgCode>'.$key.'</ZugangMaStgCode>';
|
||||
else
|
||||
$datei.='
|
||||
<ZugangCode>'.$key.'</ZugangCode>';
|
||||
|
||||
@@ -54,6 +54,13 @@ foreach ($stg_obj->result as $stg)
|
||||
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
|
||||
}
|
||||
|
||||
//Default BA1Codes für echte Dienstverträge aus Config Laden
|
||||
$arrEchterDV = [103, 110];
|
||||
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
|
||||
{
|
||||
$arrEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
|
||||
}
|
||||
|
||||
$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'');
|
||||
$semester = (isset($_GET['semester'])?$_GET['semester']:'');
|
||||
$stsem_von = (isset($_GET['stsem_von'])?$_GET['stsem_von']:'');
|
||||
@@ -359,7 +366,7 @@ if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$lem_obj->stundensatz = '';
|
||||
break;
|
||||
|
||||
@@ -65,8 +65,8 @@ echo '
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
sortList: [[7,0],[0,0],[1,0]],
|
||||
widgets: ["zebra","filter"],
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -212,6 +212,7 @@ if (isset($_POST['vorr']))
|
||||
$statisticAdded = 0;
|
||||
$statisticUebersprungen = 0;
|
||||
$statisticStudienplanKorrektur = 0;
|
||||
$errorMsg = array('Studenten im letzten Ausbildungssemester ohne Diplomandenstatus' => 0);
|
||||
|
||||
$stg_help = new studiengang();
|
||||
if (!$stg_help->load($stg_kz))
|
||||
@@ -306,13 +307,25 @@ if (isset($_POST['vorr']))
|
||||
//auf statusgrund_kurzbz abfragen
|
||||
$statusgrundObj = new statusgrund($row_status->statusgrund_id);
|
||||
$statusgrundId = null;
|
||||
if ($statusgrundObj->statusgrund_kurzbz === "prewiederholer" && $row_status->ausbildungssemester > 1)
|
||||
if (isset($statusgrundObj->statusgrund_kurzbz) && $statusgrundObj->statusgrund_kurzbz === "prewiederholer" && $row_status->ausbildungssemester > 1)
|
||||
{
|
||||
$s = $row->semester_stlv - 1;
|
||||
$ausbildungssemester = $row_status->ausbildungssemester - 1;
|
||||
$statusgrundId = $statusgrundObj->getByStatusgrundKurzbz('wiederholer')->statusgrund_id;
|
||||
}
|
||||
|
||||
// Wenn VORRUECKUNG_STATUS_MAX_SEMESTER true ist und
|
||||
// der Student kein Wiederholer ist und
|
||||
// der aktuelle Status "Student" im Max-Semester des Studiengangs ist, wird übersprungen
|
||||
if (VORRUECKUNG_STATUS_MAX_SEMESTER
|
||||
&& $statusgrundId == ''
|
||||
&& $row_status->ausbildungssemester == $max[$stg_kz]
|
||||
&& $row_status->status_kurzbz == 'Student')
|
||||
{
|
||||
$errorMsg['Studenten im letzten Ausbildungssemester ohne Diplomandenstatus'] = $errorMsg['Studenten im letzten Ausbildungssemester ohne Diplomandenstatus']+1;
|
||||
continue;
|
||||
}
|
||||
|
||||
$lvb = new lehrverband();
|
||||
|
||||
//Lehrverbandgruppe anlegen, wenn noch nicht vorhanden
|
||||
@@ -352,6 +365,7 @@ if (isset($_POST['vorr']))
|
||||
$db->db_add_param($row->gruppe_stlv).",NULL,NULL,now(),".
|
||||
$db->db_add_param($user).",NULL);";
|
||||
}
|
||||
//Check, ob schon ein Status für das Zielsemester vorhanden ist
|
||||
$qry_chk = "SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -360,7 +374,8 @@ if (isset($_POST['vorr']))
|
||||
prestudent_id=".$db->db_add_param($row->prestudent_id)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($next_ss).";";
|
||||
|
||||
if ($db->db_num_rows($db->db_query($qry_chk)) < 1)
|
||||
if ($db->db_num_rows($db->db_query($qry_chk)) < 1
|
||||
&& $row_status->status_kurzbz != 'Absolvent')
|
||||
{
|
||||
// Pruefen ob der Studienplan fuer das vorgerueckte Semester noch gueltig ist
|
||||
// und GGf einen besseren Studienplan suchen
|
||||
@@ -405,9 +420,23 @@ if (isset($_POST['vorr']))
|
||||
}
|
||||
}
|
||||
echo '<span class="ok">';
|
||||
echo 'Vorgerückte Personen:'.$statisticAdded.'<br>';
|
||||
echo 'Übersprungene Personen:'.$statisticUebersprungen.'<br>';
|
||||
echo 'Studienplanzuordnung korrigiert:'.$statisticStudienplanKorrektur.'<br>';
|
||||
if ($statisticAdded > 0)
|
||||
echo 'Vorgerückte Personen: '.$statisticAdded.'<br>';
|
||||
if ($statisticStudienplanKorrektur > 0)
|
||||
echo 'Studienplanzuordnung korrigiert: '.$statisticStudienplanKorrektur.'<br>';
|
||||
echo '</span>';
|
||||
echo '<span class="warning">';
|
||||
if ($statisticUebersprungen > 0)
|
||||
echo $statisticUebersprungen.' Personen wurden übersprungen, weil schon ein Eintrag im Zielsemester vorhanden ist<br>';
|
||||
echo '</span>';
|
||||
echo '<span class="error">';
|
||||
foreach($errorMsg AS $text=>$anzahl)
|
||||
{
|
||||
if ($anzahl > 0)
|
||||
{
|
||||
echo $anzahl.' '.$text;
|
||||
}
|
||||
}
|
||||
echo '</span>';
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -59,6 +60,15 @@ $alle = (isset($_GET['alle'])?true:false);
|
||||
$errormsg='';
|
||||
$message='';
|
||||
$error=false;
|
||||
$mlAbgeschickt = '';
|
||||
|
||||
//prüfen, ob addon casetime aktiviert ist
|
||||
$addon_obj = new addon();
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
if ($addoncasetime)
|
||||
{
|
||||
require_once('../../addons/casetime/include/functions.inc.php');
|
||||
}
|
||||
|
||||
//Kopfzeile
|
||||
echo '<html>
|
||||
@@ -78,6 +88,10 @@ echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker
|
||||
{
|
||||
return confirm("Wollen Sie diesen Eintrag wirklich loeschen: "+val);
|
||||
}
|
||||
function rejdel(val)
|
||||
{
|
||||
return confirm("ACHTUNG! Die Zeitsperre ("+val + ") wurde bereits in einer abgeschickten Monatsliste verarbeitet und kann nicht gelöscht werden.");
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#ma_name").autocomplete({
|
||||
@@ -249,8 +263,15 @@ if($uid!='')
|
||||
<th>Bezeichnung</th>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th>Vertretung</th>
|
||||
<th>Freigegeben von, am</th>
|
||||
<th>Vertretung</th>';
|
||||
|
||||
if($addoncasetime)
|
||||
{
|
||||
echo '<th>Status Monatsliste</th>';
|
||||
}
|
||||
|
||||
echo'
|
||||
<th>Freigegeben von, am</th>
|
||||
<th>Aktualisiert am</th>
|
||||
<th>Aktualisiert von</th>
|
||||
<th>Edit</th>
|
||||
@@ -268,12 +289,38 @@ if($uid!='')
|
||||
echo "<td data-sorter='shortDate' data-date-format='dd.mm.yyyy'>".$datum->formatDatum($row->vondatum,'d.m.Y')." ".($row->vonstunde!=''?'(Stunde '.$row->vonstunde.')':'')."</td>";
|
||||
echo "<td data-sorter='shortDate' data-date-format='dd.mm.yyyy'>".$datum->formatDatum($row->bisdatum,'d.m.Y')." ".($row->bisstunde!=''?'(Stunde '.$row->bisstunde.')':'')."</td>";
|
||||
echo "<td>$row->vertretung_uid</td>";
|
||||
|
||||
if($addoncasetime)
|
||||
{
|
||||
echo "<td align='center'>";
|
||||
checkStatusMonatsliste($uid,$row->vondatum, $row->bisdatum) == '' ? $mlAbgeschickt = false : $mlAbgeschickt = true;
|
||||
|
||||
if($mlAbgeschickt)
|
||||
echo "abgeschickt";
|
||||
else
|
||||
echo "nicht abgeschickt";
|
||||
|
||||
echo '</td>';
|
||||
}
|
||||
echo "<td>$row->freigabevon ".$datum->formatDatum($row->freigabeamum,'d.m.Y')."</td>";
|
||||
echo "<td>".$datum->formatDatum($row->updateamum,'d.m.Y H:i:s')."</td>";
|
||||
echo "<td>$row->updatevon</td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=delete&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
|
||||
//nur Zeitsperren von noch nicht abgeschickten Monatlisten dürfen gelöscht werden
|
||||
if ( ($addoncasetime) && ($mlAbgeschickt && in_array($row->zeitsperretyp_kurzbz, zeitsperre::getBlockierendeZeitsperren())) )
|
||||
{
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='kopieren' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return rejdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y'). "" . "\") '><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=edit&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/application_form_edit.png' alt='bearbeiten' title='bearbeiten' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=copy&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'><img src='../../skin/images/copy.png' alt='bearbeiten' title='kopieren' /></a></td>";
|
||||
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?action=delete&uid=$uid&zeitsperre_id=$row->zeitsperre_id".($alle?'&alle=true':'')."'' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'><img src='../../skin/images/application_form_delete.png' alt='loeschen' title='loeschen'/></a></td>";
|
||||
}
|
||||
|
||||
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
|
||||
@@ -518,6 +518,67 @@ if ($rtprueflingEntSperren)
|
||||
}
|
||||
}
|
||||
|
||||
// Ajax-Request um einen Prüfling Zeit für ein bestimmtes Gebiet hinzuzufügen
|
||||
$prueflingAddTime = filter_input(INPUT_POST, 'prueflingAddTime', FILTER_VALIDATE_BOOLEAN);
|
||||
if ($prueflingAddTime)
|
||||
{
|
||||
if (!$rechte->isBerechtigt('lehre/reihungstestAufsicht', null, 'su'))
|
||||
{
|
||||
echo json_encode(array(
|
||||
'status' => 'fehler',
|
||||
'msg' => $rechte->errormsg
|
||||
));
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_POST['pruefling_id']) && is_numeric($_POST['pruefling_id'])
|
||||
&& isset($_POST['gebiet']) && is_numeric($_POST['gebiet'])
|
||||
&& isset($_POST['time']) && is_numeric($_POST['time']))
|
||||
{
|
||||
$qry = "UPDATE testtool.tbl_pruefling_frage
|
||||
SET begintime =
|
||||
CASE WHEN
|
||||
(begintime + (" .$db->db_add_param($_POST['time']) . " * interval '1 minute') > NOW())
|
||||
THEN
|
||||
NOW()
|
||||
ELSE
|
||||
(begintime + (" .$db->db_add_param($_POST['time']) . " * interval '1 minute'))
|
||||
END,
|
||||
endtime =
|
||||
CASE WHEN
|
||||
(endtime + (" .$db->db_add_param($_POST['time']) . " * interval '1 minute') > NOW())
|
||||
THEN
|
||||
NOW()
|
||||
ELSE
|
||||
(endtime + (" .$db->db_add_param($_POST['time']) . " * interval '1 minute'))
|
||||
END
|
||||
WHERE prueflingfrage_id IN
|
||||
(
|
||||
SELECT prueflingfrage_id
|
||||
FROM testtool.tbl_pruefling
|
||||
JOIN testtool.tbl_pruefling_frage USING (pruefling_id)
|
||||
JOIN testtool.tbl_frage ON tbl_pruefling_frage.frage_id = tbl_frage.frage_id
|
||||
WHERE pruefling_id = ". $db->db_add_param($_POST['pruefling_id']) . " AND gebiet_id = ". $db->db_add_param($_POST['gebiet']) ."
|
||||
)";
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
echo json_encode(array(
|
||||
'status' => 'ok',
|
||||
'msg' => 'Zeit hinzugefügt'));
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array(
|
||||
'status' => 'fehler',
|
||||
'msg' => 'Fehler beim speichern der Daten'
|
||||
));
|
||||
exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Ajax-Request um einen Reihungstest freizuschalten
|
||||
$rtFreischalten = filter_input(INPUT_POST, 'rtFreischalten', FILTER_VALIDATE_BOOLEAN);
|
||||
if ($rtFreischalten)
|
||||
@@ -1289,7 +1350,8 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
|
||||
tbl_ablauf.reihung,
|
||||
tbl_ablauf.studiengang_kz,
|
||||
tbl_ablauf.semester,
|
||||
tbl_ablauf.gewicht
|
||||
tbl_ablauf.gewicht,
|
||||
tbl_gebiet.zeit
|
||||
FROM PUBLIC.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id)
|
||||
JOIN PUBLIC.tbl_prestudent ps ON (ps.person_id = tbl_rt_person.person_id)
|
||||
@@ -1366,6 +1428,7 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
|
||||
}
|
||||
$gebiet[$row->gebiet_id]->name = $row->gebiet;
|
||||
$gebiet[$row->gebiet_id]->gebiet_id = $row->gebiet_id;
|
||||
$gebiet[$row->gebiet_id]->zeit = $row->zeit;
|
||||
//gewicht ist meist für alle Studiengänge gleich (Bachelor, Master und Distance haben jeweilsandere Gebiete)
|
||||
if (!isset($gebiet[$row->gebiet_id]->gewicht))
|
||||
{
|
||||
@@ -1487,6 +1550,7 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
|
||||
tbl_pruefling.idnachweis,
|
||||
tbl_pruefling.registriert,
|
||||
tbl_pruefling.gesperrt,
|
||||
tbl_pruefling.pruefling_id,
|
||||
get_rolle_prestudent(prestudent_id, rt.studiensemester_kurzbz) AS letzter_status
|
||||
FROM PUBLIC.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_person ON (tbl_rt_person.person_id = tbl_person.person_id)
|
||||
@@ -1601,7 +1665,7 @@ if (isset($_REQUEST['reihungstest']) || isset($_POST['rtauswsubmit']))
|
||||
$ergebnis[$row->prestudent_id]->prestudent_id = $row->prestudent_id;
|
||||
$ergebnis[$row->prestudent_id]->person_id = $row->person_id;
|
||||
$ergebnis[$row->prestudent_id]->reihungstest_id = $row->reihungstest_id;
|
||||
//$ergebnis[$row->prestudent_id]->pruefling_id = $row->pruefling_id;
|
||||
$ergebnis[$row->prestudent_id]->pruefling_id = $row->pruefling_id;
|
||||
$ergebnis[$row->prestudent_id]->nachname = $row->nachname;
|
||||
$ergebnis[$row->prestudent_id]->vorname = $row->vorname;
|
||||
$ergebnis[$row->prestudent_id]->gebdatum = $row->gebdatum;
|
||||
@@ -2422,6 +2486,46 @@ else
|
||||
});
|
||||
}
|
||||
}
|
||||
function prueflingAddTime(pruefling_id, gebiet)
|
||||
{
|
||||
var min = $("#prueflingAddTime_" + pruefling_id + "_gebiet_" + gebiet).val();
|
||||
data = {
|
||||
pruefling_id: pruefling_id,
|
||||
gebiet: gebiet,
|
||||
time: min,
|
||||
prueflingAddTime: true
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url: "auswertung_fhtw.php",
|
||||
data: data,
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
if(data.status !== "ok")
|
||||
{
|
||||
$("#msgbox").attr("class","alert alert-danger");
|
||||
$("#msgbox").show();
|
||||
$("#msgbox").html(data["msg"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#msgbox").attr("class","alert alert-success");
|
||||
$(".loaderIcon").hide();
|
||||
$("#msgbox").show();
|
||||
$("#msgbox").html(data["msg"]);
|
||||
$("#msgbox").html(data["msg"]).delay(2000).fadeOut();
|
||||
}
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
$("#msgbox").attr("class","alert alert-danger");
|
||||
$("#msgbox").show();
|
||||
$("#msgbox").html(data["msg"]);
|
||||
}
|
||||
});
|
||||
}
|
||||
function deleteAllResults(prestudent_id, name)
|
||||
{
|
||||
if (confirm("Wollen Sie ALLE Ergebnisse der Person "+name+" wirklich löschen"))
|
||||
@@ -3143,7 +3247,7 @@ else
|
||||
|
||||
foreach ($gebiet AS $gbt)
|
||||
{
|
||||
echo '<th colspan="3">' . $gbt->name . '</th>';
|
||||
echo '<th colspan="4">' . $gbt->name . '</th>';
|
||||
}
|
||||
|
||||
echo '</tr>
|
||||
@@ -3158,6 +3262,7 @@ else
|
||||
echo "<th><small>Punkte</small></th>";
|
||||
echo "<th><small>Punkte mit Offset</small></th>";
|
||||
echo "<th><small>Prozent</small></th>";
|
||||
echo "<th><small>Zeit hinzufügen</small></th>";
|
||||
}
|
||||
|
||||
echo '</tr></thead><tbody>';
|
||||
@@ -3265,10 +3370,32 @@ else
|
||||
echo '</td>';
|
||||
echo '<td class="rightaligned ' . $zerovalclass . 'pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>' . ($erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punktemitoffset, 2, ',', ' ') : '') . '</td>';
|
||||
echo '<td class="rightaligned ' . $zerovalclass . 'pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>' . ($erg->gebiet[$gbt->gebiet_id]->prozent != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->prozent, 2, ',', ' ') . ' %' : '') . '</td>';
|
||||
echo '<td class="rightaligned ' . $zerovalclass . 'pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>';
|
||||
|
||||
if (!is_null($erg->pruefling_id))
|
||||
{
|
||||
$time = strtotime($gbt->zeit);
|
||||
$minutes = date('i', $time);
|
||||
echo '<select id="prueflingAddTime_'.$erg->pruefling_id .'_gebiet_' . $gbt->gebiet_id . '">';
|
||||
|
||||
for ($i = 2; $i <= 10; $i = $i +2)
|
||||
{
|
||||
if ($i < $minutes)
|
||||
echo '<option value="'. $i .'">00:' . sprintf("%02d", $i) .':00</option>';
|
||||
}
|
||||
|
||||
echo '<option value="'. $minutes .'">'. $gbt->zeit .'</option>';
|
||||
|
||||
echo '</select>
|
||||
<a href="#" id="prueflingAddTime_'.$erg->pruefling_id .'" onclick="prueflingAddTime('. $erg->pruefling_id. '' . ', ' .$gbt->gebiet_id .')">
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
</a>';
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td></td><td></td><td></td>';
|
||||
echo '<td></td><td></td><td></td><td></td>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -110,17 +110,17 @@ echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
sortList: [[6,0],[5,0]],
|
||||
widgets: ["zebra"]
|
||||
widgets: ["zebra","filter"]
|
||||
});
|
||||
$("#t3").tablesorter(
|
||||
{
|
||||
sortList: [[0,0],[1,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
widgets: ["zebra","filter"]
|
||||
});
|
||||
$("#t4").tablesorter(
|
||||
{
|
||||
sortList: [[2,0],[3,0]],
|
||||
widgets: ["zebra"],
|
||||
widgets: ["zebra","filter"],
|
||||
headers: {5:{sorter:false}}
|
||||
});
|
||||
|
||||
@@ -583,7 +583,7 @@ if(isset($_POST['delete_all']))
|
||||
}
|
||||
|
||||
// Testergebnisse anzeigen
|
||||
echo '<hr><br><form action="'.$_SERVER['PHP_SELF'].'" method="POST">Testergebnisse der Person mit der Prestudent_id <input type="text" name="prestudent_id"><input type="submit" value="anzeigen" name="testergebnisanzeigen"></form>';
|
||||
echo '<hr><br><form action="'.$_SERVER['PHP_SELF'].'" method="POST">Testergebnisse der Person mit der Prestudent_id <input type="text" name="prestudent_id" value="'.(isset($_POST['prestudent_id'])?$_POST['prestudent_id']:'').'"><input type="submit" value="anzeigen" name="testergebnisanzeigen"></form>';
|
||||
if(isset($_POST['testergebnisanzeigen']) && isset($_POST['prestudent_id']))
|
||||
{
|
||||
if(is_numeric($_POST['prestudent_id']) && $_POST['prestudent_id']!='')
|
||||
|
||||
@@ -847,6 +847,12 @@ if(isset($_GET['excel']))
|
||||
if ($('.ort_listitem').length == 0 && $('#max_teilnehmer').val() == '' && $('#ort').val() == '')
|
||||
confirm('Wenn der Reihungstest "Öffentlich" ist, sollten Räume zugeteilt sein, oder "Max TeilnehmerInnen" gesetzt sein');
|
||||
}
|
||||
|
||||
if ($('#zugangs_ueberpruefung').is(":checked") && $('#zugangcode').val() == '')
|
||||
{
|
||||
alert('Wenn die Zugangsüberprüfung aktiviert ist, ist ein Zugangscode verpflichtend.');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
if ($('#oeffentlich').is(":checked") && $('.ort_listitem').length == 0 && $('#max_teilnehmer').val() == '' && $('#ort').val() == '')
|
||||
@@ -1396,6 +1402,12 @@ if(isset($_POST['speichern']) || isset($_POST['kopieren']))
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['zugangs_ueberpruefung']) && $_POST['zugangcode'] === '')
|
||||
{
|
||||
$messageError .= '<p>Der Zugangscode muss ausgefüllt sein, wenn die Zugangsüberprüfung aktiviert ist. </p>';
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
@@ -1407,6 +1419,8 @@ if(isset($_POST['speichern']) || isset($_POST['kopieren']))
|
||||
$reihungstest->stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT);
|
||||
$reihungstest->aufnahmegruppe_kurzbz = filter_input(INPUT_POST, 'aufnahmegruppe');
|
||||
$reihungstest->anmeldefrist = $datum_obj->formatDatum($_POST['anmeldefrist']);
|
||||
$reihungstest->zugangs_ueberpruefung = false;
|
||||
$reihungstest->zugangscode = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1421,6 +1435,8 @@ if(isset($_POST['speichern']) || isset($_POST['kopieren']))
|
||||
$reihungstest->anmeldefrist = $datum_obj->formatDatum($_POST['anmeldefrist']);
|
||||
$reihungstest->updateamum = date('Y-m-d H:i:s');
|
||||
$reihungstest->updatevon = $user;
|
||||
$reihungstest->zugangs_ueberpruefung = isset($_POST['zugangs_ueberpruefung']);
|
||||
$reihungstest->zugangscode = ($_POST['zugangcode'] === '' ? null : $_POST['zugangcode']);
|
||||
}
|
||||
$reihungstest->studiengang_kz = $_POST['studiengang_kz'];
|
||||
//$reihungstest->ort_kurzbz = $_POST['ort_kurzbz'];
|
||||
@@ -2504,6 +2520,18 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
|
||||
(Kurz vor Testbeginn aktivieren)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="feldtitel">Zugangsüberprüfung</td>
|
||||
<td>
|
||||
<input type="checkbox" id="zugangs_ueberpruefung" name="zugangs_ueberpruefung"<?php echo $reihungstest->zugangs_ueberpruefung ? 'checked="checked"' : '' ?>>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="feldtitel">Zugangscode</td>
|
||||
<td>
|
||||
<input type="number" class="input" id="zugangcode" name="zugangcode" value="<?php echo $db->convert_html_chars($reihungstest->zugangscode) ?>"> (Verpflichtend, wenn die Zugangsüberprüfung aktiviert ist)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user