mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Merge branch 'master' into feature-11836/reihungstest_starten_von_fremden_gebieten_verhindern
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)
|
||||
@@ -172,7 +174,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) {
|
||||
|
||||
@@ -221,6 +225,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;
|
||||
|
||||
@@ -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>
|
||||
+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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
// *****
|
||||
|
||||
@@ -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;
|
||||
|
||||
+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
|
||||
{
|
||||
|
||||
@@ -208,7 +208,8 @@ class LehreListHelper
|
||||
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_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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1705,5 +1705,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.
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -72,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>
|
||||
@@ -80,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.';
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -52,4 +52,6 @@ $this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry av
|
||||
$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.'
|
||||
?>
|
||||
@@ -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'),
|
||||
|
||||
@@ -29,6 +29,7 @@ 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';
|
||||
}
|
||||
@@ -16241,7 +16241,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 +16254,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 +17142,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'
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
@@ -397,23 +400,48 @@ 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;
|
||||
}
|
||||
}
|
||||
|
||||
//Bewerberblock bei neuem Studiengang, und am Ende noch einmal
|
||||
if (($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows)
|
||||
// Student Daten schreiben
|
||||
$datei .= GenerateXMLStudentBlock($row);
|
||||
|
||||
// wenn neuer Studiengang oder letzter Durchlauf...
|
||||
if (($row_num > 1 && $row->studiengang_kz != $stg_kz_index) || $row_num == $num_rows)
|
||||
{
|
||||
// ...Studiengang Tag schliessen
|
||||
$stgClose = "
|
||||
</Studiengang>";
|
||||
$datei .= $stgClose;
|
||||
$dateiNurBewerber .= $stgClose;
|
||||
}
|
||||
|
||||
// wenn neuer Studiengang...
|
||||
if ($row->studiengang_kz != $stg_kz_index)
|
||||
{
|
||||
if ($row_num > 1)
|
||||
{
|
||||
// ...neuen Studiengang Tag öffnen
|
||||
$stgOpen = "
|
||||
<Studiengang>
|
||||
<StgKz>".$row->studiengang_kz."</StgKz>";
|
||||
$datei .= $stgOpen;
|
||||
$dateiNurBewerber .= $stgOpen;
|
||||
}
|
||||
|
||||
//Bewerberblock
|
||||
// (bei Ausserordentlichen nicht anzeigen)
|
||||
if($row->studiengang_kz!=('9'.$erhalter))
|
||||
{
|
||||
@@ -426,40 +454,16 @@ if($result = $db->db_query($qry))
|
||||
foreach($orgcodes as $code)
|
||||
{
|
||||
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz, $code);
|
||||
$datei.=$bewerberBlock;
|
||||
$dateiNurBewerber.=$bewerberBlock;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bewerberBlock=GenerateXMLBewerberBlock($row->studiengang_kz);
|
||||
$datei.=$bewerberBlock;
|
||||
$dateiNurBewerber.=$bewerberBlock;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// wenn neuer Studiengang...
|
||||
if ($row->studiengang_kz != $stg_kz_index)
|
||||
{
|
||||
// ...Studiengang Tag schliessen
|
||||
if ($stg_kz_index != '')
|
||||
{
|
||||
$stgClose = "
|
||||
</Studiengang>";
|
||||
$datei .= $stgClose;
|
||||
$dateiNurBewerber .= $stgClose;
|
||||
}
|
||||
|
||||
// ...neuen Studiengang Tag öffnen
|
||||
$stgOpen = "
|
||||
<Studiengang>
|
||||
<StgKz>".$row->studiengang_kz."</StgKz>";
|
||||
$datei .= $stgOpen;
|
||||
$dateiNurBewerber .= $stgOpen;
|
||||
}
|
||||
// Student Daten schreiben
|
||||
$datei .= GenerateXMLStudentBlock($row);
|
||||
};
|
||||
|
||||
// Studiengang kz speichern und Zeile erhöhen
|
||||
$stg_kz_index = $row->studiengang_kz;
|
||||
@@ -468,7 +472,6 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
|
||||
$footer="
|
||||
</Studiengang>
|
||||
</StudierendenBewerberMeldung>
|
||||
</Erhalter>";
|
||||
|
||||
@@ -744,7 +747,7 @@ if(file_exists($ddd))
|
||||
}
|
||||
|
||||
if(file_exists($dddNurBew))
|
||||
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei für BIS-Meldung Stg '.$stg_kz.' - nur Bewerberdaten</a><br>';
|
||||
echo '<a href="'.$dddNurBew.'" target="_blank" download>XML-Datei für BIS-Meldung Stg '.$stg_kz.' - Bewerberdaten</a><br>';
|
||||
|
||||
if(file_exists($eee))
|
||||
{
|
||||
@@ -1611,7 +1614,7 @@ function GenerateXMLStudentBlock($row)
|
||||
if($studtyp!='E')
|
||||
{
|
||||
$datei.="
|
||||
<StudStatusCode>".$status."</StudStatusCode>";
|
||||
<StudStatusCode>".$status."</StudStatusCode>";
|
||||
}
|
||||
|
||||
// IO container query
|
||||
@@ -1637,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
|
||||
@@ -2038,7 +2041,7 @@ function GenerateXMLBewerberBlock($studiengang_kz, $orgformcode=null)
|
||||
<OrgFormCode>".$orgform_code_array[$bworgform]."</OrgFormCode>";
|
||||
if($stgart==2)
|
||||
$datei.='
|
||||
<ZugangMaCode>'.$key.'</ZugangMaCode>';
|
||||
<ZugangMaStgCode>'.$key.'</ZugangMaStgCode>';
|
||||
else
|
||||
$datei.='
|
||||
<ZugangCode>'.$key.'</ZugangCode>';
|
||||
|
||||
@@ -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>';
|
||||
}
|
||||
|
||||
|
||||
@@ -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