This commit is contained in:
Paolo
2018-02-27 18:37:51 +01:00
24 changed files with 1259 additions and 542 deletions
@@ -69,7 +69,6 @@ class InfoCenter extends VileSci_Controller
// Loads libraries
$this->load->library('DmsLib');
$this->load->library('PersonLogLib');
$this->load->library('MailLib');
$this->load->library('WidgetLib');
$this->_setAuthUID(); // sets property uid
@@ -195,6 +194,26 @@ class InfoCenter extends VileSci_Controller
redirect(self::URL_PREFIX.'/showDetails/'.$person_id.'#DokPruef');
}
/**
* Gets prestudent that was last modified in json format, for ZGV übernehmen
* @param $person_id
*/
public function getLastPrestudentWithZgvJson($person_id)
{
$prestudent = $this->PrestudentModel->getLastPrestudent($person_id, true);
if (isError($prestudent))
{
show_error($prestudent->retval);
}
$jsonoutput = count($prestudent->retval) > 0 ? $prestudent->retval[0] : null;
$this->output
->set_content_type('application/json')
->set_output(json_encode($jsonoutput));
}
/**
* Saves a zgv for a prestudent. includes Ort, Datum, Nation for bachelor and master.
* @param $prestudent_id
@@ -226,7 +245,8 @@ class InfoCenter extends VileSci_Controller
'zgvmas_code' => $zgvmas_code,
'zgvmaort' => $zgvmaort,
'zgvmadatum' => $zgvmadatum,
'zgvmanation' => $zgvmanation_code
'zgvmanation' => $zgvmanation_code,
'updateamum' => date('Y-m-d H:i:s')
)
);
@@ -250,7 +270,6 @@ class InfoCenter extends VileSci_Controller
*/
public function saveAbsage($prestudent_id)
{
//TODO email messaging
$statusgrund = $this->input->post('statusgrund');
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
@@ -336,6 +355,8 @@ class InfoCenter extends VileSci_Controller
show_error($result->retval);
}
$this->_sendFreigabeMail($prestudent_id);
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
$this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz']));
@@ -652,15 +673,18 @@ class InfoCenter extends VileSci_Controller
$zgvpruefungen[] = $zgvpruefung;
}
// Interessenten come first
usort($zgvpruefungen, function ($a, $b)
{
// Interessenten come first, otherwise by bewerbungsdatum desc, then by prestudent_id desc
usort($zgvpruefungen, function ($a, $b) {
$bewdatesort = strcmp($b->prestudentstatus->bewerbung_abgeschicktamum, $a->prestudentstatus->bewerbung_abgeschicktamum);
$defaultsort = $bewdatesort === 0 ? (int)$b->prestudent_id - (int)$a->prestudent_id : $bewdatesort;
if (!isset($a->prestudentstatus->status_kurzbz) || !isset($b->prestudentstatus->status_kurzbz))
return 0;
return $defaultsort;
elseif ($a->prestudentstatus->status_kurzbz === 'Interessent' && $b->prestudentstatus->status_kurzbz === 'Interessent')
{
//infoonly Interessenten come after new Interessenten
if ($a->infoonly)
if ($a->infoonly === $b->infoonly)
return $defaultsort;
elseif ($a->infoonly)
return 1;
elseif ($b->infoonly)
return -1;
@@ -670,7 +694,7 @@ class InfoCenter extends VileSci_Controller
elseif ($b->prestudentstatus->status_kurzbz === 'Interessent')
return 1;
else
return 0;
return $defaultsort;
});
$statusgruende = $this->StatusgrundModel->loadWhere(array('status_kurzbz' => 'Abgewiesener'))->retval;
@@ -741,9 +765,86 @@ class InfoCenter extends VileSci_Controller
$this->uid
);
}
/*
private function _sendFreigabeMail()
/**
* Sends infomail with prestudent and person data when Prestudent is freigegeben
* @param $prestudent_id
*/
private function _sendFreigabeMail($prestudent_id)
{
$this->maillib->send('alex@alex-ThinkCentre-M900', 'karpen_ko@hotmail.com', 'test', 'test');
}*/
//get data
$prestudent = $this->PrestudentModel->getPrestudentWithZgv($prestudent_id)->retval[0];
$prestudentstatus = $prestudent->prestudentstatus;
$person_id = $prestudent->person_id;
$person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval;
//fill mail variables
$interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin';
$sprache = $prestudentstatus->sprachedetails->bezeichnung[0];
$orgform = $prestudentstatus->orgform != '' ? ' ('.$prestudentstatus->orgform.')' : '';
$geschlecht = $person->geschlecht == 'm' ? 'männlich' : 'weiblich';
$geburtsdatum = date('d.m.Y', strtotime($person->gebdatum));
$notizenBewerbung = $this->NotizModel->getNotizByTitel($person_id, 'Anmerkung zur Bewerbung')->retval;
$notizentext = '';
$lastElement = end($notizenBewerbung);
foreach ($notizenBewerbung as $notiz)
{
$notizentext .= $notiz->text;
if ($notiz != $lastElement)
$notizentext .= ' | ';
}
$mailadresse = '';
foreach ($person->kontakte as $kontakt)
{
if ($kontakt->kontakttyp === 'email')
{
$mailadresse = $kontakt->kontakt;
break;
}
}
$data = array
(
'interessentbez' => $interessentbez,
'studiengangbez' => $prestudent->studiengangbezeichnung,
'studiengangtypbez' => $prestudent->studiengangtyp_bez,
'orgform' => $orgform,
'studiensemester' => $prestudentstatus->studiensemester_kurzbz,
'sprache' => $sprache,
'geschlecht' => $geschlecht,
'vorname' => $person->vorname,
'nachname' => $person->nachname,
'gebdatum' => $geburtsdatum,
'mailadresse' => $mailadresse,
'prestudentid' => $prestudent_id,
'notizentext' => $notizentext
);
$this->load->library('parser');
$this->load->library('MailLib');
$this->load->library('LogLib');
//parse freigabe html email template, wordwrap wraps text so no display errors
$email = wordwrap($this->parser->parse('templates/mailtemplates/interessentFreigabe', $data, true), 70);
$subject = ($person->geschlecht == 'm' ? 'Interessent ' : 'Interessentin ').$person->vorname.' '.$person->nachname.' freigegeben';
$receiver = $prestudent->studiengangmail;
if (!empty($receiver))
{
//Freigabeinformationmail sent from default system mail to studiengang mail(s)
$sent = $this->maillib->send('', $receiver, $subject, $email);
if (!$sent)
$this->loglib->logError('Error when sending Freigabe mail');
}
else
{
$this->loglib->logError('Studiengang has no mail for sending Freigabe mail');
}
}
}
+1 -1
View File
@@ -640,7 +640,7 @@ class MessageLib
}
// Using a template for the plain text email body
$vorlage = $this->ci->vorlagelib->loadVorlagetext('MessageMailHTML');
$vorlage = $this->ci->vorlagelib->loadVorlagetext('MessageMailTXT');
if(hasData($vorlage))
{
$altBody = $this->ci->parser->parse_string(
+31 -6
View File
@@ -201,10 +201,12 @@ class Prestudent_model extends DB_Model
*/
public function getPrestudentWithZgv($prestudent_id)
{
$this->addSelect('tbl_prestudent.*, tbl_studiengang.kurzbzlang as studiengang, tbl_studiengang.bezeichnung as studiengangbezeichnung, tbl_studiengang.english as studiengangenglish, tbl_studiengang.typ as studiengangtyp,
tbl_zgv.zgv_code, tbl_zgv.zgv_bez, tbl_prestudent.zgvort, tbl_prestudent.zgvdatum, tbl_prestudent.zgvnation as zgvnation_code, zgvnat.kurztext as zgvnation_kurzbez, zgvnat.langtext as zgvnation_bez, zgvnat.engltext as zgvnation_englbez,
tbl_zgvmaster.zgvmas_code, tbl_zgvmaster.zgvmas_bez, tbl_prestudent.zgvmaort, tbl_prestudent.zgvmadatum, tbl_prestudent.zgvmanation as zgvmanation_code, zgvmanat.kurztext as zgvmanation_kurzbez, zgvmanat.langtext as zgvmanation_bez, zgvmanat.engltext as zgvmanation_englbez');
$this->addSelect('tbl_prestudent.*, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbzlang as studiengang, tbl_studiengang.bezeichnung as studiengangbezeichnung, tbl_studiengang.english as studiengangenglish,
tbl_studiengang.email as studiengangmail, tbl_studiengang.typ as studiengangtyp, tbl_studiengangstyp.bezeichnung as studiengangtyp_bez,
tbl_zgv.zgv_code, tbl_zgv.zgv_bez, tbl_prestudent.zgvnation as zgvnation_code, zgvnat.kurztext as zgvnation_kurzbez, zgvnat.langtext as zgvnation_bez, zgvnat.engltext as zgvnation_englbez,
tbl_zgvmaster.zgvmas_code, tbl_zgvmaster.zgvmas_bez, tbl_prestudent.zgvmanation as zgvmanation_code, zgvmanat.kurztext as zgvmanation_kurzbez, zgvmanat.langtext as zgvmanation_bez, zgvmanat.engltext as zgvmanation_englbez');
$this->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
$this->addJoin('public.tbl_studiengangstyp', 'typ', 'LEFT');
$this->addJoin('bis.tbl_zgv', 'zgv_code', 'LEFT');
$this->addJoin('bis.tbl_zgvmaster', 'zgvmas_code', 'LEFT');
$this->addJoin('bis.tbl_nation zgvnat', 'zgvnation = zgvnat.nation_code', 'LEFT');
@@ -223,13 +225,13 @@ class Prestudent_model extends DB_Model
return error($lastStatus->retval);
}
if(count($lastStatus->retval) > 0)
if (count($lastStatus->retval) > 0)
{
$this->load->model('system/sprache_model', 'SpracheModel');
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
if($language->error)
if ($language->error)
return error($language->retval);
if(count($language->retval) > 0)
if (count($language->retval) > 0)
$lastStatus->retval[0]->sprachedetails = $language->retval[0];
$prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0];
}
@@ -237,4 +239,27 @@ class Prestudent_model extends DB_Model
return success($prestudent->retval);
}
/**
* gets the prestudent edited last.
* if no updateamum, sort by insertamum
* @param $person_id
* @param bool $withzgv if true, only prestudenten with zgv_code are taken
* @return array|null
*/
public function getLastPrestudent($person_id, $withzgv = false)
{
$qry = 'SELECT * FROM public.tbl_prestudent
WHERE person_id = ?
%s
ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST
LIMIT 1';
$zgvwhere = $withzgv === true ? 'AND zgv_code IS NOT NULL' : '';
$qry = sprintf($qry, $zgvwhere);
$parametersArray = array($person_id);
return $this->execQuery($qry, $parametersArray);
}
}
+13
View File
@@ -144,6 +144,19 @@ class Notiz_model extends DB_Model
return $this->loadWhere(array('person_id' => $person_id));
}
/**
* gets all Notizen for a person with a specific title
* @param $person_id
* @param $titel
*/
public function getNotizByTitel($person_id, $titel)
{
// Join with the table public.tbl_notizzuordnung using notiz_id
$this->addJoin('public.tbl_notizzuordnung', 'notiz_id');
return $this->loadWhere(array('person_id' => $person_id, 'titel' => $titel));
}
// ------------------------------------------------------------------------------------------------------
}
@@ -64,9 +64,23 @@
AND tbl_studiengang.typ in(\'b\')
LIMIT 1
) AS "AnzahlAbgeschickt",
array_to_string(
(
SELECT array_agg(tbl_studiengang.kurzbzlang)
FROM
public.tbl_prestudentstatus pss
INNER JOIN public.tbl_prestudent ps USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE pss.status_kurzbz = \'Interessent\'
AND pss.bewerbung_abgeschicktamum IS NOT NULL
AND ps.person_id = p.person_id
AND tbl_studiengang.typ in(\'b\')
LIMIT 1
),\',\'
) AS "StgAbgeschickt",
pl.zeitpunkt AS "LockDate"
FROM public.tbl_person p
LEFT JOIN (SELECT person_id, zeitpunkt FROM system.tbl_person_lock WHERE app = \''.$APP.'\') pl USING(person_id)
LEFT JOIN (SELECT person_id, zeitpunkt FROM system.tbl_person_lock WHERE app = \''.$APP.'\') pl USING(person_id)
WHERE
EXISTS(
SELECT 1
@@ -36,6 +36,7 @@
?>
<div id="page-wrapper">
<div class="container-fluid">
<input type="hidden" id="hiddenpersonid" value="<?php echo $stammdaten->person_id ?>">
<div class="row<?php if($lockedbyother) echo ' alert-danger' ?>">
<div class="col-lg-8">
<h3 class="page-header">
@@ -76,7 +76,7 @@
echo $this->widgetlib->widget(
'Zgv_widget',
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code),
array('name' => 'zgv', 'id' => 'zgv')
array('name' => 'zgv', 'id' => 'zgv_'.$zgvpruefung->prestudent_id)
); ?>
</div>
</div>
@@ -89,21 +89,23 @@
?>
<input type="text" class="form-control"
value="<?php echo $zgvpruefung->zgvort ?>"
name="zgvort">
name="zgvort" id="zgvort_<?php echo $zgvpruefung->prestudent_id ?>">
<?php endif; ?>
</div>
</div>
<div class="col-lg-<?php echo $columns[2] ?>">
<div class="form-group">
<label>ZGV Datum: </label>
<?php if ($infoonly):
echo date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y');
<?php
$zgvdatum = empty($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y');
if ($infoonly):
echo $zgvdatum;
else:
?>
<input type="text"
class="dateinput form-control"
value="<?php echo empty($zgvpruefung->zgvdatum) ? "" : date_format(date_create($zgvpruefung->zgvdatum), 'd.m.Y') ?>"
name="zgvdatum">
value="<?php echo $zgvdatum ?>"
name="zgvdatum" id="zgvdatum_<?php echo $zgvpruefung->prestudent_id ?>">
<?php endif; ?>
</div>
</div>
@@ -116,7 +118,7 @@
echo $this->widgetlib->widget(
'Nation_widget',
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvnation_code),
array('name' => 'zgvnation', 'id' => 'zgvnation')
array('name' => 'zgvnation', 'id' => 'zgvnation_'.$zgvpruefung->prestudent_id)
); ?>
</div>
</div>
@@ -153,13 +155,15 @@
<div class="col-lg-<?php echo $columns[2] ?>">
<div class="form-group">
<label>ZGV Master Datum: </label>
<?php if ($infoonly):
echo date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y');
<?php
$zgvmadatum = empty($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y');
if ($infoonly):
echo $zgvmadatum;
else:
?>
<input type="text"
class="dateinput form-control"
value="<?php echo empty($zgvpruefung->zgvmadatum) ? "" : date_format(date_create($zgvpruefung->zgvmadatum), 'd.m.Y') ?>"
value="<?php echo $zgvmadatum ?>"
name="zgvmadatum">
<?php endif; ?>
</div>
@@ -183,7 +187,12 @@
<?php endif; ?>
<?php if (!$infoonly): ?>
<div class="row">
<div class="col-lg-12 text-right">
<div class="col-lg-6 text-left">
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
Letzte ZGV &uuml;bernehmen
</button>
</div>
<div class="col-lg-6 text-right">
<button type="submit" class="btn btn-default">
Speichern
</button>
@@ -203,7 +212,7 @@
<div class="form-inline">
<form method="post"
action="../saveAbsage/<?php echo $zgvpruefung->prestudent_id ?>">
<div class="input-group" id="statusgrselect">
<div class="input-group" id="statusgrselect_<?php echo $zgvpruefung->prestudent_id ?>">
<select name="statusgrund"
class="d-inline float-right"
required>
@@ -216,15 +225,15 @@
<?php endforeach ?>
</select>
<span class="input-group-btn">
<button id="absageBtn" type="button"
class="btn btn-default"
data-toggle="modal"
data-target="#absageModal">
Absage
</button>
</span>
<button id="absageBtn" type="button"
class="btn btn-default"
data-toggle="modal"
data-target="#absageModal_<?php echo $zgvpruefung->prestudent_id ?>">
Absage
</button>
</span>
</div>
<div class="modal fade" id="absageModal"
<div class="modal fade absageModal" id="absageModal_<?php echo $zgvpruefung->prestudent_id ?>"
tabindex="-1"
role="dialog"
aria-labelledby="absageModalLabel"
@@ -280,12 +289,12 @@
<div>
<button type="button" class="btn btn-default"
data-toggle="modal"
data-target="#freigabeModal">
data-target="#freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>">
Freigabe an Studiengang
</button>
</div>
</div>
<div class="modal fade" id="freigabeModal" tabindex="-1"
<div class="modal fade" id="freigabeModal_<?php echo $zgvpruefung->prestudent_id ?>" tabindex="-1"
role="dialog"
aria-labelledby="freigabeModalLabel"
aria-hidden="true">
@@ -0,0 +1,54 @@
<html>
<head>
<title>Interessentenfreigabe mail</title>
</head>
<body>
<div class="container">
{interessentbez} wurde freigegeben.
<br><br>
<table style="font-size:small">
<tbody>
<tr>
<td><b>Studiengang</b></td>
<td>{studiengangbez}&nbsp;{studiengangtypbez} {orgform} {sprache}</td>
</tr>
<tr>
<td><b>Studiensemester</b></td>
<td>{studiensemester}</td>
</tr>
<tr>
<td><b>Geschlecht</b></td>
<td>{geschlecht}</td>
</tr>
<tr>
<td><b>Vorname</b></td>
<td>{vorname}</td>
</tr>
<tr>
<td><b>Nachname</b></td>
<td>{nachname}</td>
</tr>
<tr>
<td><b>Geburtsdatum</b></td>
<td>{gebdatum}</td>
</tr>
<tr>
<td><b>E-Mail Adresse</b></td>
<td>{mailadresse}</td>
</tr>
<tr>
<td><b>Prestudent ID</b></td>
<td>{prestudentid}</td>
</tr>
<tr>
<td valign="top"><b>Anmerkungen zur Bewerbung</b></td>
<td>{notizentext}</td>
</tr>
</tbody>
</table>
<br>
Für mehr Details verwenden Sie die Personenansicht im FAS.
</div>
</body>
</html>
+1
View File
@@ -230,6 +230,7 @@ echo '</td><td width="30%" valign="top">';
echo '
<b>'.($type=="student"?$p->t("profil/student"):$p->t('profil/mitarbeiter')).'</b><br><br>
'.$p->t('global/username').': '.$user->uid.'<br>
'.$p->t('global/anrede').': '.$user->anrede.'<br>
'.$p->t('global/titel').': '.$user->titelpre.' <br>';
if(!$ansicht)
+2 -1
View File
@@ -82,7 +82,6 @@ $searchItems = explode(' ',TRIM(str_replace(',', '', $search),'!.?'));
// Leerzeichen und Whitespaces entfernen
$searchItems = preg_replace("/\s/", '', $searchItems);
// Leere Strings aus Array entfernen
while ($array_key = array_search("", $searchItems))
unset ($searchItems[$array_key]);
@@ -139,6 +138,7 @@ function searchPerson($searchItems)
echo '<table class="tablesorter" id="personentable">
<thead>
<tr>
<th>',$p->t('global/anrede'),'</th>
<th>',$p->t('global/vorname'),'</th>
<th>',$p->t('global/nachname'),'</th>
<th>',$p->t('global/studiengang'),'</th>
@@ -161,6 +161,7 @@ function searchPerson($searchItems)
echo '<tr>';
//echo '<td>',$row->titelpre,'</td>';
echo '<td>',$row->anrede,'</td>';
echo '<td>',$row->vorname,'</td>';
echo '<td><a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
if($row->aktiv==false)
+512 -467
View File
File diff suppressed because it is too large Load Diff
@@ -28,6 +28,7 @@ header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../config/global.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
+2 -1
View File
@@ -304,7 +304,7 @@ class benutzer extends person
{
$qry = "SELECT * FROM (
SELECT
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv,
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede,
(SELECT UPPER
(tbl_studiengang.typ || tbl_studiengang.kurzbz)
FROM public.tbl_student
@@ -371,6 +371,7 @@ class benutzer extends person
$obj->lektor = $row->lektor;
$obj->fixangestellt = $row->fixangestellt;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->anrede = $row->anrede;
$this->result[] = $obj;
}
+1
View File
@@ -826,6 +826,7 @@ class dokument extends basis_db
WHERE dokument_kurzbz = ".$this->db_add_param($dokument_kurzbz)."
AND person_id =".$this->db_add_param($person_id, FHC_INTEGER)."
AND tbl_prestudentstatus.status_kurzbz = 'Interessent'
AND get_rolle_prestudent (prestudent_id, NULL) NOT IN ('Abgewiesener','Abbrecher')
ORDER BY kuerzel";
+1 -1
View File
@@ -27,7 +27,7 @@ require_once(dirname(__FILE__).'/personlog.class.php');
// Auth: Benutzer des Webportals
/**
* DEPRECATED - Use Authentication Class
*/
*/
function get_uid()
{
$auth = new authentication();
+52 -5
View File
@@ -55,20 +55,67 @@ $(document).ready(
);
//prevent opening modal when Statusgrund not chosen
$("#absageModal").on('show.bs.modal', function (e)
$(".absageModal").on('show.bs.modal', function (e)
{
if ($("[name=statusgrund]").val() === "null")
var id = this.id.substr(this.id.indexOf("_") + 1);
var statusgrvalue = $("#statusgrselect_"+id+" select[name=statusgrund]").val();
if (statusgrvalue === "null")
{
$("#statusgrselect").addClass("has-error");
$("#statusgrselect_"+id).addClass("has-error");
return e.preventDefault();
}
}
);
$("[name=statusgrund]").change(function ()
//remove red mark when statusgrund is selected again
$("select[name=statusgrund]").change(
function ()
{
$("#statusgrselect").removeClass("has-error");
$(this).parent().removeClass("has-error");
}
);
//zgv uebernehmen ajax
if ($(".zgvUebernehmen"))
{
$(".zgvUebernehmen").click(function() {
var btn = $(this);
var personid = $("#hiddenpersonid").val();
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
$('#nearzgv').remove();
$.ajax({
type: "POST",
dataType: "json",
url: "../getLastPrestudentWithZgvJson/"+personid,
success: function(data, textStatus, jqXHR) {
if(data !== null)
{
var zgvcode = data.zgv_code !== null ? data.zgv_code : "null";
var zgvort = data.zgvort !== null ? data.zgvort : "";
var zgvdatum = data.zgvdatum;
var gerzgvdatum = "";
if(zgvdatum !== null)
{
zgvdatum = $.datepicker.parseDate("yy-mm-dd", data.zgvdatum);
gerzgvdatum = $.datepicker.formatDate("dd.mm.yy", zgvdatum);
}
var zgvnation = data.zgvnation !== null ? data.zgvnation : "null";
$("#zgv_" + prestudentid).val(zgvcode);
$("#zgvort_" + prestudentid).val(zgvort);
$("#zgvdatum_" + prestudentid).val(gerzgvdatum);
$("#zgvnation_" + prestudentid).val(zgvnation);
}
else
{
btn.after("&nbsp;&nbsp;<span id='nearzgv' class='text-warning'>keine ZGV vorhanden</span>");
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown + " - " + jqXHR.responseText);
}
});
});
}
}
);
+15 -10
View File
@@ -1078,16 +1078,21 @@ class vertrag extends basis_db
*/
public function getFalscheBetraege($studiensemester_kurzbz)
{
$qry = "SELECT
tbl_vertrag.*, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.lehreinheit_id,
tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.semesterstunden
FROM
lehre.tbl_vertrag
JOIN lehre.tbl_lehreinheitmitarbeiter USING(vertrag_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz!=tbl_vertrag.betrag";
$qry = "SELECT * FROM
(
SELECT
tbl_vertrag.*, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.lehreinheit_id,
COALESCE(tbl_lehreinheitmitarbeiter.stundensatz, 0) as stundensatz,
COALESCE(tbl_lehreinheitmitarbeiter.semesterstunden, 0) as semesterstunden
FROM
lehre.tbl_vertrag
JOIN lehre.tbl_lehreinheitmitarbeiter USING(vertrag_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)x
WHERE
x.semesterstunden * x.stundensatz != x.betrag";
if($result = $this->db_query($qry))
{
+1
View File
@@ -65,6 +65,7 @@ $this->phrasen['global/oder']='oder';
$this->phrasen['global/username']='Username';
$this->phrasen['global/vorname']='Vorname';
$this->phrasen['global/nachname']='Nachname';
$this->phrasen['global/anrede']='Anrede';
$this->phrasen['global/name']='Name';
$this->phrasen['global/uid']='UID';
$this->phrasen['global/postnomen']='Postnomen';
+1
View File
@@ -64,6 +64,7 @@ $this->phrasen['global/oder']='or';
$this->phrasen['global/username']='Username';
$this->phrasen['global/vorname']='First Name';
$this->phrasen['global/nachname']='Last Name';
$this->phrasen['global/anrede']='Title';
$this->phrasen['global/name']='Name';
$this->phrasen['global/uid']='UID';
$this->phrasen['global/postnomen']='Postnomen';
+1 -1
View File
@@ -6,7 +6,7 @@ $this->phrasen['lvaliste/hilfeText']='Legend\n\nDP-Sem: Degree-Program - Semeste
$this->phrasen['lvaliste/hilfeAnzeigen']='Show Legend';
$this->phrasen['lvaliste/lehrfach']='Subject';
$this->phrasen['lvaliste/lehrform']='Lehrform';
$this->phrasen['lvaliste/lehrform']='Course Type';
$this->phrasen['lvaliste/lvBezeichnung']='Course Title';
$this->phrasen['lvaliste/lehrfachBezeichnung']='Subject Title';
$this->phrasen['lvaliste/lektor']='Lector';
+8 -1
View File
@@ -35,6 +35,8 @@ require_once('../include/organisationseinheit.class.php');
require_once('../include/person.class.php');
require_once('../include/betriebsmitteltyp.class.php');
require_once('../include/betriebsmittel.class.php');
require_once('../include/wawi_bestellung.class.php');
require_once('../include/firma.class.php');
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
@@ -112,6 +114,9 @@ else
$typ = $bmt->result[0]->beschreibung;
$bm = new betriebsmittel($bmp->betriebsmittel_id);
$bestellung = new wawi_bestellung($bm->bestellung_id);
$firma = new firma($bestellung->firma_id);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '
@@ -133,8 +138,10 @@ else
<nummer><![CDATA['.$bmp->nummer.']]></nummer>
<nummer2><![CDATA['.$bmp->nummer2.']]></nummer2>
<betriebsmitteltyp><![CDATA['.$bmp->betriebsmitteltyp.']]></betriebsmitteltyp>
<bestellnummer><![CDATA['.$bm->bestellung_id.']]></bestellnummer>
<bestellnummer><![CDATA['.$bestellung->bestell_nr.']]></bestellnummer>
<hersteller><![CDATA['.$bm->hersteller.']]></hersteller>
<bestellung_id><![CDATA['.$bm->bestellung_id.']]></bestellung_id>
<lieferfirma><![CDATA['.$firma->name.']]></lieferfirma>
<typ><![CDATA['.$typ.']]></typ>
<datum><![CDATA['.date("d.m.Y").']]></datum>
</betriebsmittelperson>
+341
View File
@@ -1300,6 +1300,347 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_person_lock LIMIT 1"))
echo ' system.tbl_person_lock hinzugefügt<br>';
}
// INSERT Berechtigungen fuer web User erteilen fuer tbl_msg_status
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_msg_status' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "GRANT SELECT, INSERT ON public.tbl_msg_status TO web;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_msg_status Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo 'INSERT Rechte fuer public.tbl_msg_status fuer web user gesetzt ';
}
}
/**
* Kommentare fuer Datenbanktabellen
*/
if($result = $db->db_query("SELECT obj_description('public.ci_apikey'::regclass) as comment"))
{
if($row = $db->db_fetch_object($result))
{
if($row->comment == '')
{
$qry = "
COMMENT ON TABLE public.ci_apikey IS 'API Keys';
COMMENT ON TABLE public.tbl_adresse IS 'Person and Company Addresses';
COMMENT ON TABLE public.tbl_akte IS 'Documents of Persons';
COMMENT ON TABLE public.tbl_ampel IS 'Notification System';
COMMENT ON TABLE public.tbl_ampel_benutzer_bestaetigt IS 'Accepted Notifications';
COMMENT ON TABLE public.tbl_aufnahmeschluessel IS 'DEPRECATED';
COMMENT ON TABLE public.tbl_aufnahmetermin IS 'DEPRECATED';
COMMENT ON TABLE public.tbl_aufnahmetermintyp IS 'DEPRECATED';
COMMENT ON TABLE public.tbl_aufmerksamdurch IS 'Key-Table of Brand Awareness';
COMMENT ON TABLE public.tbl_bankverbindung IS 'Bank Data of Persons';
COMMENT ON TABLE public.tbl_benutzer IS 'List of Accounts';
COMMENT ON TABLE public.tbl_benutzerfunktion IS 'Functions of Persons';
COMMENT ON TABLE public.tbl_benutzergruppe IS 'Connects Users and Groups';
COMMENT ON TABLE public.tbl_bewerbungstermine IS 'Application Dates';
COMMENT ON TABLE public.tbl_buchungstyp IS 'Key-Table of Payment Types';
COMMENT ON TABLE public.tbl_dokument IS 'Key-Table of Documents';
COMMENT ON TABLE public.tbl_dokumentprestudent IS 'Accepted Documents of Degree Program';
COMMENT ON TABLE public.tbl_dokumentstudiengang IS 'Connection Table of Degree Programs and needed Documents';
COMMENT ON TABLE public.tbl_erhalter IS 'Company Caretaker Information';
COMMENT ON TABLE public.tbl_fachbereich IS 'Institute, Department';
COMMENT ON TABLE public.tbl_filter IS 'Predefined Dropdowns for Reports';
COMMENT ON TABLE public.tbl_firma IS 'Universities, Suppliers, Companies';
COMMENT ON TABLE public.tbl_firma_mobilitaetsprogramm IS 'Mobility programes of Universities';
COMMENT ON TABLE public.tbl_firma_organisationseinheit IS 'Connects Companys with Organisation Units';
COMMENT ON TABLE public.tbl_firmatag IS 'Tags for Companys';
COMMENT ON TABLE public.tbl_firmentyp IS 'Types of Companys';
COMMENT ON TABLE public.tbl_fotostatus IS 'Key-Table of Picture Upload Status';
COMMENT ON TABLE public.tbl_funktion IS 'Key-Table of User Functions';
COMMENT ON TABLE public.tbl_geschaeftsjahr IS 'Finacial Year';
COMMENT ON TABLE public.tbl_gruppe IS 'Study Groups, Mail Groups';
COMMENT ON TABLE public.tbl_kontakt IS 'Contacts of Persons';
COMMENT ON TABLE public.tbl_kontaktmedium IS 'PreInteressenten-Kontakttypen';
COMMENT ON TABLE public.tbl_kontakttyp IS 'Key-Table of Contact Types';
COMMENT ON TABLE public.tbl_konto IS 'Student Payments';
COMMENT ON TABLE public.tbl_lehrverband IS 'List of Groups';
COMMENT ON TABLE public.tbl_log IS 'Logging and Undo';
COMMENT ON TABLE public.tbl_mitarbeiter IS 'Employee Data';
COMMENT ON TABLE public.tbl_msg_attachment IS 'Messages Attachments';
COMMENT ON TABLE public.tbl_msg_message IS 'Messages';
COMMENT ON TABLE public.tbl_msg_recipient IS 'Message Recipients';
COMMENT ON TABLE public.tbl_msg_status IS 'Message Status';
COMMENT ON TABLE public.tbl_notiz IS 'Notes';
COMMENT ON TABLE public.tbl_notiz_dokument IS 'Documents assigned to Notes';
COMMENT ON TABLE public.tbl_notizzuordnung IS 'Connects Notes with Persons, Courses, …';
COMMENT ON TABLE public.tbl_organisationseinheit IS 'Organisation Units';
COMMENT ON TABLE public.tbl_organisationseinheittyp IS 'Key-Table of Types of Organisation Units';
COMMENT ON TABLE public.tbl_ort IS 'Teaching Rooms, Offices';
COMMENT ON TABLE public.tbl_ortraumtyp IS 'Connection of Rooms and Room Types';
COMMENT ON TABLE public.tbl_person IS 'List of all Persons';
COMMENT ON TABLE public.tbl_person_fotostatus IS 'Connects Picture Upload States with Persons';
COMMENT ON TABLE public.tbl_personfunktionstandort IS 'Contact Persons of a Company';
COMMENT ON TABLE public.tbl_preincoming IS 'Incoming Registration';
COMMENT ON TABLE public.tbl_preincoming_lehrveranstaltung IS 'Incoming Courses';
COMMENT ON TABLE public.tbl_preinteressent IS 'DEPRECATED';
COMMENT ON TABLE public.tbl_preinteressentstudiengang IS 'DEPRECATED';
COMMENT ON TABLE public.tbl_preoutgoing IS 'Outgoing Data';
COMMENT ON TABLE public.tbl_preoutgoing_firma IS 'Outgoing University';
COMMENT ON TABLE public.tbl_preoutgoing_lehrveranstaltung IS 'Visited Courses of Outgoings';
COMMENT ON TABLE public.tbl_preoutgoing_preoutgoing_status IS 'Ougoing Status';
COMMENT ON TABLE public.tbl_preoutgoing_status IS 'Key-Table of Outgoing Status';
COMMENT ON TABLE public.tbl_prestudent IS 'Relation Person-DegreeProgram';
COMMENT ON TABLE public.tbl_prestudentstatus IS 'Student History';
COMMENT ON TABLE public.tbl_raumtyp IS 'Room Types';
COMMENT ON TABLE public.tbl_reihungstest IS 'Placement Tests';
COMMENT ON TABLE public.tbl_rt_ort IS 'Connection Room Placementtest';
COMMENT ON TABLE public.tbl_rt_person IS 'Connection Person Placementtest';
COMMENT ON TABLE public.tbl_rt_studienplan IS 'Connection StudyPlan Placementtest';
COMMENT ON TABLE public.tbl_semesterwochen IS 'Number of Weeks per Semester';
COMMENT ON TABLE public.tbl_service IS 'ServiceLevelAgreements';
COMMENT ON TABLE public.tbl_sprache IS 'Key-Table of Languages';
COMMENT ON TABLE public.tbl_standort IS 'Company Locations';
COMMENT ON TABLE public.tbl_statistik IS 'Statistics';
COMMENT ON TABLE public.tbl_status IS 'Key-Table of Student Status';
COMMENT ON TABLE public.tbl_status_grund IS 'Key-Table of Reasons for Student Status Changes';
COMMENT ON TABLE public.tbl_student IS 'List of Students';
COMMENT ON TABLE public.tbl_studentlehrverband IS 'Connection of Students to Semester and Groups';
COMMENT ON TABLE public.tbl_studiengang IS 'List of Degree Programs';
COMMENT ON TABLE public.tbl_studiengangstyp IS 'Key-Table of Degree Program Types';
COMMENT ON TABLE public.tbl_studienjahr IS 'Key-Table of Study Year';
COMMENT ON TABLE public.tbl_studiensemester IS 'Key-Table of Study Semester';
COMMENT ON TABLE public.tbl_tag IS 'Orders and Company Tags';
COMMENT ON TABLE public.tbl_variable IS 'User Variables';
COMMENT ON TABLE public.tbl_vorlage IS 'Key-Table of Document Templates';
COMMENT ON TABLE public.tbl_vorlagedokument IS 'Connects Documents with Templates';
COMMENT ON TABLE public.tbl_vorlagestudiengang IS 'Document Templates of Degree Programs';
COMMENT ON TABLE bis.tbl_archiv IS 'Ministery Report archive';
COMMENT ON TABLE bis.tbl_ausbildung IS 'Key-Table of Highest Education of Employees';
COMMENT ON TABLE bis.tbl_berufstaetigkeit IS 'Key-Table of Professional Activity of Students';
COMMENT ON TABLE bis.tbl_beschaeftigungsart1 IS 'Key-Table of Contract Types';
COMMENT ON TABLE bis.tbl_beschaeftigungsart2 IS 'Key-Table of Contract Types';
COMMENT ON TABLE bis.tbl_beschaeftigungsausmass IS 'Key-Table of Amount of Workinghours';
COMMENT ON TABLE bis.tbl_besqual IS 'Key-Table of Employee Qualification';
COMMENT ON TABLE bis.tbl_bisfunktion IS 'Summary of Teaching Hours per Lector';
COMMENT ON TABLE bis.tbl_bisio IS 'Incoming, Outgoing Mobility';
COMMENT ON TABLE bis.tbl_bisorgform IS 'Official Organisation Forms for BIS-Meldung';
COMMENT ON TABLE bis.tbl_bisverwendung IS 'Employee Contracts';
COMMENT ON TABLE bis.tbl_bundesland IS 'Federal States';
COMMENT ON TABLE bis.tbl_entwicklungsteam IS 'Members of the Degree Program Development Team';
COMMENT ON TABLE bis.tbl_gemeinde IS 'Key-Table of Local Community';
COMMENT ON TABLE bis.tbl_gsprogramm IS 'Joint Degree Programs';
COMMENT ON TABLE bis.tbl_gsprogrammtyp IS 'Joint Degree Programs';
COMMENT ON TABLE bis.tbl_gsstudientyp IS 'Joint Degree Programs';
COMMENT ON TABLE bis.tbl_hauptberuf IS 'Key-Table of Main Job';
COMMENT ON TABLE bis.tbl_lgartcode IS 'Key-Table of Program Types';
COMMENT ON TABLE bis.tbl_mobilitaet IS 'Joint Degree Programs of Students';
COMMENT ON TABLE bis.tbl_mobilitaetsprogramm IS 'Key-Table of Mobility Programs';
COMMENT ON TABLE bis.tbl_mobilitaetstyp IS 'Key-Table of Type of international activity';
COMMENT ON TABLE bis.tbl_nation IS 'Key-Table of Nations';
COMMENT ON TABLE bis.tbl_orgform IS 'Key-Table of Organisation Forms of Degree Programs';
COMMENT ON TABLE bis.tbl_verwendung IS 'Key-Table of Employee Functions';
COMMENT ON TABLE bis.tbl_zgv IS 'Key-Table of Requirements Bachelor';
COMMENT ON TABLE bis.tbl_zgvdoktor IS 'Key-Table of Requirements Doktor';
COMMENT ON TABLE bis.tbl_zgvgruppe IS 'Aliqoute Reduction Groups';
COMMENT ON TABLE bis.tbl_zgvgruppe_zuordnung IS 'Aliqoute Reduction Groups';
COMMENT ON TABLE bis.tbl_zgvmaster IS 'Key-Table of Requirements Master';
COMMENT ON TABLE bis.tbl_zweck IS 'Key-Table of Purpose of Semester Abroad';
COMMENT ON TABLE campus.tbl_abgabe IS 'Uploads to Kreuzerltool';
COMMENT ON TABLE campus.tbl_anwesenheit IS 'Student Attendance';
COMMENT ON TABLE campus.tbl_beispiel IS 'Kreuzerltool Entries';
COMMENT ON TABLE campus.tbl_benutzerlvstudiensemester IS 'Subscriptions to Elective Courses';
COMMENT ON TABLE campus.tbl_content IS 'Content Pages';
COMMENT ON TABLE campus.tbl_contentchild IS 'Building the Content Tree';
COMMENT ON TABLE campus.tbl_contentgruppe IS 'Content Permissions';
COMMENT ON TABLE campus.tbl_contentlog IS 'Locking Log of Content Pages';
COMMENT ON TABLE campus.tbl_contentsprache IS 'CMS Content in Different Languages';
COMMENT ON TABLE campus.tbl_coodle IS 'Appointment Surveys';
COMMENT ON TABLE campus.tbl_coodle_ressource IS 'Ressources Assigned to a Survey';
COMMENT ON TABLE campus.tbl_coodle_ressource_termin IS 'Selected Time Slots of a Survey';
COMMENT ON TABLE campus.tbl_coodle_status IS 'Key Table of State of the Survey';
COMMENT ON TABLE campus.tbl_coodle_termin IS 'Time Slots of a Survey';
COMMENT ON TABLE campus.tbl_dms IS 'List of CMS Documents';
COMMENT ON TABLE campus.tbl_dms_kategorie IS 'Document Categories';
COMMENT ON TABLE campus.tbl_dms_kategorie_gruppe IS 'Restrict Access to Document Categories';
COMMENT ON TABLE campus.tbl_dms_version IS 'Versions of Documents';
COMMENT ON TABLE campus.tbl_erreichbarkeit IS 'Key Table of Reachability in Case of Absence';
COMMENT ON TABLE campus.tbl_feedback IS 'DEPRECATED';
COMMENT ON TABLE campus.tbl_freebusy IS 'List of FreeBusy Calenders of a Person';
COMMENT ON TABLE campus.tbl_freebusytyp IS 'Key Table of Supported FreeBusy Urls';
COMMENT ON TABLE campus.tbl_infoscreen IS 'List of Aavailable Information Monitors';
COMMENT ON TABLE campus.tbl_infoscreen_content IS 'Content of Information Monitors';
COMMENT ON TABLE campus.tbl_legesamtnote IS 'Lehreinheit Grades';
COMMENT ON TABLE campus.tbl_lehre_tools IS 'Additional Course Tools';
COMMENT ON TABLE campus.tbl_lehre_tools_organisationseinheit IS 'Connects Courses of a Organisationunit to Tools';
COMMENT ON TABLE campus.tbl_lehrveranstaltung_pruefung IS 'Connects Multiple Courses with one Exam';
COMMENT ON TABLE campus.tbl_lvgesamtnote IS 'Course Grades Lector';
COMMENT ON TABLE campus.tbl_lvinfo IS 'DEPRECATED';
COMMENT ON TABLE campus.tbl_news IS 'studiengang_kz=0 and Semester=NULL -> global News
studiengang_kz=0 and Semester=0 -> Elective Course News
studiengang_kz=0 and Semester>0 -> News for selected Semester in all Degree Programs
studiengang_kz>0 and (Semester=NULL or Semester=0) -> all Semesters in Degree Program
studiengang_kz>0 and Semester>0 -> News for selected Semester in Degree Program';
COMMENT ON TABLE campus.tbl_notenschluessel IS 'Kreuzerltool Grading Scheme';
COMMENT ON TABLE campus.tbl_notenschluesseluebung IS 'Kreuzerltool Grading Scheme';
COMMENT ON TABLE campus.tbl_paabgabe IS 'Project Submissions';
COMMENT ON TABLE campus.tbl_paabgabetyp IS 'Key Table of Types of Submissions';
COMMENT ON TABLE campus.tbl_pruefung IS 'Exams';
COMMENT ON TABLE campus.tbl_pruefungsanmeldung IS 'Subscriptions to Exams';
COMMENT ON TABLE campus.tbl_pruefungsfenster IS 'Definition Exam Weeks';
COMMENT ON TABLE campus.tbl_pruefungsstatus IS 'Key Table of Exam Status';
COMMENT ON TABLE campus.tbl_pruefungstermin IS 'Exam Time Slots';
COMMENT ON TABLE campus.tbl_reservierung IS 'Room Reservation';
COMMENT ON TABLE campus.tbl_resturlaub IS 'DEPRECATED';
COMMENT ON TABLE campus.tbl_studentbeispiel IS 'Selected Entry in Kreuzerltool';
COMMENT ON TABLE campus.tbl_studentuebung IS 'Exercise Grades in Kreuzerltool';
COMMENT ON TABLE campus.tbl_template IS 'Templates for CMS Pages';
COMMENT ON TABLE campus.tbl_uebung IS 'Exercises in Kreuzerltool';
COMMENT ON TABLE campus.tbl_veranstaltung IS 'Events';
COMMENT ON TABLE campus.tbl_veranstaltungskategorie IS 'Event Categories';
COMMENT ON TABLE campus.tbl_zeitaufzeichnung IS 'Time Sheets of Employees';
COMMENT ON TABLE campus.tbl_zeitsperre IS 'Absences of Employees';
COMMENT ON TABLE campus.tbl_zeitsperretyp IS 'Type of Absences';
COMMENT ON TABLE campus.tbl_zeitwunsch IS 'Teaching Time Preferences';
COMMENT ON TABLE lehre.tbl_abschlussbeurteilung IS 'Key Table of Final Exam Grades';
COMMENT ON TABLE lehre.tbl_abschlusspruefung IS 'Final Exam';
COMMENT ON TABLE lehre.tbl_akadgrad IS 'Academic Title Assigned by Degree Program';
COMMENT ON TABLE lehre.tbl_anrechnung IS 'Course Crediting';
COMMENT ON TABLE lehre.tbl_anrechnung_begruendung IS 'Course Crediting Reasons';
COMMENT ON TABLE lehre.tbl_betreuerart IS 'Key Table of Type of Project Supervisor';
COMMENT ON TABLE lehre.tbl_ferien IS 'Holidays';
COMMENT ON TABLE lehre.tbl_lehreinheit IS 'Course Parts';
COMMENT ON TABLE lehre.tbl_lehreinheitgruppe IS 'Groups Assigned to Course';
COMMENT ON TABLE lehre.tbl_lehreinheitmitarbeiter IS 'Lectures Assigned to Course';
COMMENT ON TABLE lehre.tbl_lehrfach IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_lehrform IS 'Key Table of Teached Course Types';
COMMENT ON TABLE lehre.tbl_lehrfunktion IS 'Key Table of Lector Functions in a Course';
COMMENT ON TABLE lehre.tbl_lehrmittel IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_lehrtyp IS 'Key Table of Course Types';
COMMENT ON TABLE lehre.tbl_lehrveranstaltung IS 'Courses, Modules';
COMMENT ON TABLE lehre.tbl_lehrveranstaltung_kompatibel IS 'Course Compatibility';
COMMENT ON TABLE lehre.tbl_lvangebot IS 'Offered Course Times';
COMMENT ON TABLE lehre.tbl_lvregel IS 'Course Attendance Rules';
COMMENT ON TABLE lehre.tbl_lvregeltyp IS 'Key Table of Course Rule Types';
COMMENT ON TABLE lehre.tbl_moodle IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_moodle_version IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_note IS 'Key Table of Grades';
COMMENT ON TABLE lehre.tbl_notenschluessel IS 'Course Grading Scheme';
COMMENT ON TABLE lehre.tbl_notenschluesselaufteilung IS 'Course Grading Scheme Details';
COMMENT ON TABLE lehre.tbl_notenschluesselzuordnung IS 'Connection Between Grading Scheme and Course/Degree Program';
COMMENT ON TABLE lehre.tbl_projektarbeit IS 'Projects';
COMMENT ON TABLE lehre.tbl_projektbetreuer IS 'Project Supervisor';
COMMENT ON TABLE lehre.tbl_projekttyp IS 'Key Table of Project Type';
COMMENT ON TABLE lehre.tbl_pruefung IS 'Exams';
COMMENT ON TABLE lehre.tbl_pruefungstyp IS 'Key Table of Type of Exams';
COMMENT ON TABLE lehre.tbl_studienordnung IS 'Additional Information for Degree Programs and Study Regulations';
COMMENT ON TABLE lehre.tbl_studienordnung_semester IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_studienordnungstatus IS 'Key Table of Study Regulation Status';
COMMENT ON TABLE lehre.tbl_studienplan IS 'Study Plan';
COMMENT ON TABLE lehre.tbl_studienplan_lehrveranstaltung IS 'Connects Courses with a Study Plan';
COMMENT ON TABLE lehre.tbl_studienplan_semester IS 'Valid Semesters of a Study Plan';
COMMENT ON TABLE lehre.tbl_studienplatz IS 'Defines the Maximum Study Places per Degree Program';
COMMENT ON TABLE lehre.tbl_stunde IS 'Time Grid of Schedule';
COMMENT ON TABLE lehre.tbl_stundenplan IS 'Schedule (Productive Data)';
COMMENT ON TABLE lehre.tbl_stundenplan_betriebsmittel IS 'Required Teaching Material';
COMMENT ON TABLE lehre.tbl_stundenplandev IS 'Schedule (Developing Data)';
COMMENT ON TABLE lehre.tbl_vertrag IS 'Teaching Contracts';
COMMENT ON TABLE lehre.tbl_vertrag_vertragsstatus IS 'Status History of Contracts';
COMMENT ON TABLE lehre.tbl_vertragsstatus IS 'Key Table of Contract Status';
COMMENT ON TABLE lehre.tbl_vertragstyp IS 'Key Table of Type of Contracts';
COMMENT ON TABLE lehre.tbl_zeitfenster IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_zeugnis IS 'DEPRECATED';
COMMENT ON TABLE lehre.tbl_zeugnisnote IS 'Final Grades for Courses';
COMMENT ON TABLE system.tbl_app IS 'FH Complete Applications';
COMMENT ON TABLE system.tbl_appdaten IS 'App Specific Data';
COMMENT ON TABLE system.tbl_benutzerrolle IS 'Assigns Permissions and Roles to Users';
COMMENT ON TABLE system.tbl_berechtigung IS 'Key Table of Permissions';
COMMENT ON TABLE system.tbl_cronjob IS 'Automatic Cronjobs';
COMMENT ON TABLE system.tbl_extensions IS 'Table to Manage FH Complete Extensions';
COMMENT ON TABLE system.tbl_filters IS 'Table to Manage FH Complete Filters';
COMMENT ON TABLE system.tbl_log IS 'Person Log';
COMMENT ON TABLE system.tbl_logtype IS 'Key Table of Types of Log Entries';
COMMENT ON TABLE system.tbl_phrase IS 'Multi Language Phrases';
COMMENT ON TABLE system.tbl_phrasentext IS 'Multi Language Phrases Text';
COMMENT ON TABLE system.tbl_person_lock IS 'Persons that are locked for editing';
COMMENT ON TABLE system.tbl_rolle IS 'Permission Roles';
COMMENT ON TABLE system.tbl_rolleberechtigung IS 'Assigns Permissions to Roles';
COMMENT ON TABLE system.tbl_server IS 'List of Servers for Cronjobs';
COMMENT ON TABLE system.tbl_udf IS 'User Defined Fields';
COMMENT ON TABLE system.tbl_verarbeitungstaetigkeit IS 'Processing Activities';
COMMENT ON TABLE system.tbl_webservicelog IS 'Webservice Log';
COMMENT ON TABLE system.tbl_webservicerecht IS 'Webservice Permissions';
COMMENT ON TABLE system.tbl_webservicetyp IS 'Key Table of Webservice Types';
COMMENT ON TABLE fue.tbl_aktivitaet IS 'Timesheet SLA Activity';
COMMENT ON TABLE fue.tbl_aufwandstyp IS 'Estimation Scale Type';
COMMENT ON TABLE fue.tbl_projekt IS 'Projects';
COMMENT ON TABLE fue.tbl_projekt_dokument IS 'Assigns a DMS Document to a Project';
COMMENT ON TABLE fue.tbl_projekt_ressource IS 'Assigns a Ressource to a Project';
COMMENT ON TABLE fue.tbl_projektphase IS 'Project Phases';
COMMENT ON TABLE fue.tbl_projekttask IS 'Project Tasks';
COMMENT ON TABLE fue.tbl_ressource IS 'Project Ressources (Persons, Companys, Inventory)';
COMMENT ON TABLE fue.tbl_scrumsprint IS 'DEPRECATED';
COMMENT ON TABLE fue.tbl_scrumteam IS 'DEPRECATED';
COMMENT ON TABLE wawi.tbl_aufteilung IS 'DEPRECATED';
COMMENT ON TABLE wawi.tbl_aufteilung_default IS 'DEPRECATED';
COMMENT ON TABLE wawi.tbl_bestelldetail IS 'Order Details';
COMMENT ON TABLE wawi.tbl_bestelldetailtag IS 'Order Details Tags';
COMMENT ON TABLE wawi.tbl_bestellstatus IS 'Key Table of Order Status';
COMMENT ON TABLE wawi.tbl_bestellung IS 'Orders';
COMMENT ON TABLE wawi.tbl_bestellung_bestellstatus IS 'Order Status History';
COMMENT ON TABLE wawi.tbl_bestellungtag IS 'Order Tags';
COMMENT ON TABLE wawi.tbl_betriebsmittel IS 'Inventory';
COMMENT ON TABLE wawi.tbl_betriebsmittel_betriebsmittelstatus IS 'Inventory Status History';
COMMENT ON TABLE wawi.tbl_betriebsmittelperson IS 'Assigns Inventory to a Person';
COMMENT ON TABLE wawi.tbl_betriebsmittelstatus IS 'Key Table of Inventory Status';
COMMENT ON TABLE wawi.tbl_betriebsmitteltyp IS 'Key Table of Inventory Type';
COMMENT ON TABLE wawi.tbl_buchung IS 'Accounting of Lecturers (Addon-Abrechnung)';
COMMENT ON TABLE wawi.tbl_buchungstyp IS 'Key Table of Booking Types';
COMMENT ON TABLE wawi.tbl_budget IS 'Budget per Cost Unit';
COMMENT ON TABLE wawi.tbl_konto IS 'Accounts';
COMMENT ON TABLE wawi.tbl_konto_kostenstelle IS 'Connects Multiple Accounts with a Cost Unit';
COMMENT ON TABLE wawi.tbl_kostenstelle IS 'Cost Units';
COMMENT ON TABLE wawi.tbl_projekt_bestellung IS 'Assigns Orders to a Project';
COMMENT ON TABLE wawi.tbl_rechnung IS 'Invoice';
COMMENT ON TABLE wawi.tbl_rechnungsbetrag IS 'Invoice Amount';
COMMENT ON TABLE wawi.tbl_rechnungstyp IS 'Key Table of Invoice Types';
COMMENT ON TABLE wawi.tbl_zahlungstyp IS 'Key Table of Payment Types';
COMMENT ON TABLE testtool.tbl_ablauf IS 'List of Sections per Degree Program';
COMMENT ON TABLE testtool.tbl_ablauf_vorgaben IS 'Additional Test Configuration';
COMMENT ON TABLE testtool.tbl_antwort IS 'Answers of the Candidate';
COMMENT ON TABLE testtool.tbl_frage IS 'List of Questions';
COMMENT ON TABLE testtool.tbl_frage_sprache IS 'Questions in Different Languages';
COMMENT ON TABLE testtool.tbl_gebiet IS 'List of Test Sections';
COMMENT ON TABLE testtool.tbl_kategorie IS 'DEPRECATED';
COMMENT ON TABLE testtool.tbl_kriterien IS 'DEPRECATED';
COMMENT ON TABLE testtool.tbl_pruefling IS 'List of Tested Candidates';
COMMENT ON TABLE testtool.tbl_pruefling_frage IS 'Questions Given to a Candidate';
COMMENT ON TABLE testtool.tbl_vorschlag IS 'Available Answers to a Question';
COMMENT ON TABLE testtool.tbl_vorschlag_sprache IS 'Answers in Different Languages';
COMMENT ON SCHEMA addon IS 'Extensions and Addons';
COMMENT ON SCHEMA bis IS 'Key Table of and Additional Tables for Ministery Report';
COMMENT ON SCHEMA campus IS 'Campus Management and CIS';
COMMENT ON SCHEMA fue IS 'Projectmanagement';
COMMENT ON SCHEMA lehre IS 'Teaching and Learning';
COMMENT ON SCHEMA public IS 'Base Data';
COMMENT ON SCHEMA reports IS 'Cachingtables for Reporting';
COMMENT ON SCHEMA sync IS 'Synchronisation Data';
COMMENT ON SCHEMA system IS 'Permissions, Logging';
COMMENT ON SCHEMA testtool IS 'Placement Test';
COMMENT ON SCHEMA wawi IS 'Inventory, Orders';
COMMENT ON COLUMN public.tbl_prestudent.rt_punkte1 IS 'DEPRECATED';
COMMENT ON COLUMN public.tbl_prestudent.rt_punkte2 IS 'DEPRECATED';
COMMENT ON COLUMN public.tbl_prestudent.rt_punkte3 IS 'DEPRECATED';
COMMENT ON COLUMN public.tbl_prestudent.anmeldungreihungstest IS 'DEPRECATED';
COMMENT ON COLUMN public.tbl_prestudent.reihungstest_id IS 'DEPRECATED';
COMMENT ON COLUMN public.tbl_prestudent.ausstellungsstaat IS 'DEPRECATED';
COMMENT ON COLUMN public.tbl_prestudent.aufnahmeschluessel IS 'DEPRECATED';
COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.old_lehrfach_id IS 'DEPRECATED';
";
if(!$db->db_query($qry))
echo '<strong>Comments: '.$db->db_last_error().'</strong><br>';
else
echo 'Kommentare fuer DB Datenbanktabellen hinzugefügt';
}
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
+33
View File
@@ -444,6 +444,39 @@ $error_msg='';
AND tbl_lehrveranstaltung.studiengang_kz=257
AND tbl_lehrveranstaltung.orgform_kurzbz='DUA'
";
$verteilerArray['pre_alumni_wintersemester']['bezeichnung'] = 'Zukünftige Absolventen Wintersemester';
$verteilerArray['pre_alumni_wintersemester']['beschreibung'] = 'Zukünftige Absolventen Wintersemester';
$verteilerArray['pre_alumni_wintersemester']['sql'] = "SELECT
distinct tbl_benutzer.uid
FROM
public.tbl_studentlehrverband
JOIN public.tbl_studiengang USING(studiengang_kz)
JOIN public.tbl_benutzer ON(uid=student_uid)
WHERE
(
(tbl_studiengang.typ='m' AND semester=3)
OR (tbl_studiengang.typ='b' AND semester=5)
)
AND tbl_benutzer.aktiv = true
AND tbl_studentlehrverband.studiensemester_kurzbz = (SELECT studiensemester_kurzbz FROM public.vw_studiensemester where studiensemester_kurzbz like 'WS%' ORDER BY delta LIMIT 1)";
$verteilerArray['pre_alumni_sommersemester']['bezeichnung'] = 'Zukünftige Absolventen Sommersemester';
$verteilerArray['pre_alumni_sommersemester']['beschreibung'] = 'Zukünftige Absolventen Sommersemester';
$verteilerArray['pre_alumni_sommersemester']['sql'] = "SELECT
distinct tbl_benutzer.uid
FROM
public.tbl_studentlehrverband
JOIN public.tbl_studiengang USING(studiengang_kz)
JOIN public.tbl_benutzer ON(uid=student_uid)
WHERE
(
(tbl_studiengang.typ='m' AND semester=4)
OR (tbl_studiengang.typ='b' AND semester=6)
)
AND tbl_benutzer.aktiv = true
AND tbl_studentlehrverband.studiensemester_kurzbz = (SELECT studiensemester_kurzbz FROM public.vw_studiensemester where studiensemester_kurzbz like 'SS%' ORDER BY delta LIMIT 1)";
$bezeichnung = '';
$beschreibung = '';
foreach ($verteilerArray AS $listname => $data)
+27 -12
View File
@@ -222,20 +222,35 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
<text:p text:style-name="P18">Bestellnummer</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
<text:p text:style-name="P17"><xsl:value-of select="bestellnummer" /></text:p>
<text:p text:style-name="P17">
<xsl:choose>
<xsl:when test="bestellnummer=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="bestellnummer" />
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
</table:table-row>
<table:table-row>
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
<text:p text:style-name="P18">Firma</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
<text:p text:style-name="P17">
<xsl:choose>
<xsl:when test="lieferfirma=''">
<xsl:text>-</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="lieferfirma" />
</xsl:otherwise>
</xsl:choose>
</text:p>
</table:table-cell>
</table:table-row>
<!--add line "firma" only if hersteller is not null-->
<xsl:if test="hersteller != ''">
<table:table-row>
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
<text:p text:style-name="P18">Firma</text:p>
</table:table-cell>
<table:table-cell table:style-name="Tabelle2.B1" office:value-type="string">
<text:p text:style-name="P17"><xsl:value-of select="hersteller" /></text:p>
</table:table-cell>
</table:table-row>
</xsl:if>
<table:table-row>
<table:table-cell table:style-name="Tabelle2.A2" office:value-type="string">
<text:p text:style-name="P18">Inventarnummer</text:p>