mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-02 12:49:27 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
- **[CORE]** Infoscreen wurde umbenannt (informationsbildschirm.php)
|
||||
- **[CORE]** Moodle Schnittstelle wurde aus dem Core entfernt und in ein eigenes Addon verschoben. Moodle Versionen < 2.4 werden nicht mehr unterstützt
|
||||
- **[CORE]** Update campus.tbl_templates (contentmittitel and contentohnetitel) with system/templates/contentmittitel_xslt_xhtml.xslt andsystem/templates/contentohnetitel_xslt_xhtml.xslt
|
||||
- **[CORE]** Neue Style Anweisungen (div.header_logo, td.headerbar, div.cis_logo) müssen in Custom Stylesheet hinzugefügt werden
|
||||
|
||||
## [3.2]
|
||||
|
||||
|
||||
@@ -182,8 +182,7 @@ class Studiengang_model extends DB_Model
|
||||
(
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_parent_kurzbz IS NULL
|
||||
AND o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
|
||||
WHERE o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
|
||||
@@ -358,8 +357,7 @@ class Studiengang_model extends DB_Model
|
||||
(
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_parent_kurzbz IS NULL
|
||||
AND o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
|
||||
WHERE o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
|
||||
|
||||
@@ -72,8 +72,7 @@ class Message_model extends DB_Model
|
||||
(
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_parent_kurzbz IS NULL
|
||||
AND o.oe_kurzbz = ?
|
||||
WHERE o.oe_kurzbz = ?
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
|
||||
|
||||
@@ -146,8 +146,7 @@ class Recipient_model extends DB_Model
|
||||
(
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_parent_kurzbz IS NULL
|
||||
AND o.oe_kurzbz = ?
|
||||
WHERE o.oe_kurzbz = ?
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
|
||||
@@ -225,8 +224,7 @@ class Recipient_model extends DB_Model
|
||||
(
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_parent_kurzbz IS NULL
|
||||
AND o.oe_kurzbz = ?
|
||||
WHERE o.oe_kurzbz = ?
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
|
||||
@@ -346,8 +344,7 @@ class Recipient_model extends DB_Model
|
||||
(
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o
|
||||
WHERE o.oe_parent_kurzbz IS NULL
|
||||
AND o.oe_kurzbz = ?
|
||||
WHERE o.oe_kurzbz = ?
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz
|
||||
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
|
||||
|
||||
+6
-15
@@ -1,17 +1,10 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>CIS</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link rel="stylesheet" href="../skin/jquery.css" type="text/css">
|
||||
<meta charset="utf-8">
|
||||
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
</head>
|
||||
<body class="main">
|
||||
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
|
||||
@@ -20,13 +13,11 @@
|
||||
<td class="boxshadow">
|
||||
<table cellspacing="0" cellpadding="0" class="header">
|
||||
<tr>
|
||||
<td align="center" valign="middle" style="background-image: url(../skin/styles/default/header.png); background-position: top; background-repeat: repeat-x;">
|
||||
<img class="header_logo" src="../skin/styles/default/logo_250x130.png" alt="logo">
|
||||
<img src="../skin/styles/default/cis_logo_text_400x78.png" />
|
||||
<td align="center" valign="middle" class="headerbar">
|
||||
<div class="header_logo"></div>
|
||||
<div class="cis_logo"></div>
|
||||
<br><br><br>
|
||||
<!--Herzlich Willkommen im Campus Informationssystem (CIS)-->
|
||||
<br>
|
||||
<br>
|
||||
<br><br>
|
||||
<form action="index_login.php?login=1" method="POST">
|
||||
<input class="cis_login" type="submit" value="Login">
|
||||
</form>
|
||||
|
||||
+3
-4
@@ -55,10 +55,9 @@ if(isset($_GET['login']))
|
||||
<td class="boxshadow">
|
||||
<table cellspacing="0" cellpadding="0" class="header">
|
||||
<tr>
|
||||
<td align="center" valign="middle" style="background-image: url(../skin/styles/default/header.png); background-position: top; background-repeat: repeat-x;">
|
||||
<img class="header_logo" src="../skin/styles/default/logo_250x130.png" alt="logo">
|
||||
<center>
|
||||
<img src="../skin/styles/default/cis_logo_text_400x78.png" width="400px" />
|
||||
<td align="center" valign="middle" class="headerbar">
|
||||
<div class="header_logo"></div>
|
||||
<div class="cis_logo"></div>
|
||||
<br><br><br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
@@ -46,12 +46,11 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
|
||||
<link rel="stylesheet" type="text/css" href="../../skin/simplecropper.css">'.
|
||||
cropCss().'
|
||||
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/tapmodo/Jcrop/js/Jcrop.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/tomazdragar/SimpleCropper/scripts/jquery.SimpleCropper.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/cropper.js"></script>
|
||||
|
||||
+8
-22
@@ -164,10 +164,8 @@ foreach($addon_obj->result as $addon)
|
||||
<command id="menu-extras-preinteressentenuebernahme:command" oncommand="ExtrasShowPreinteressentenuebernahme();"/>
|
||||
<command id="menu-extras-projektarbeitsabgaben:command" oncommand="ExtrasShowProjektarbeitsabgaben();"/>
|
||||
<command id="menu-extras-aliquote_reduktion:command" oncommand="ExtrasShowAliquote_reduktion();"/>
|
||||
<command id="menu-bis-mitarbeiter-import:command" oncommand="BISMitarbeiterImport();"/>
|
||||
<command id="menu-bis-mitarbeiter-export:command" oncommand="BISMitarbeiterExport();"/>
|
||||
<command id="menu-bis-mitarbeiter-checkverwendung:command" oncommand="BISMitarbeiterCheckVerwendung();"/>
|
||||
<command id="menu-bis-mitarbeiter-checkfunktion:command" oncommand="BISMitarbeiterCheckFunktion();"/>
|
||||
<command id="menu-bis-mitarbeiter-uebersicht:command" oncommand="BISMitarbeiterUebersicht();"/>
|
||||
<command id="menu-bis-studenten-export:command" oncommand="BISStudentenExport();"/>
|
||||
<command id="menu-bis-studenten-checkstudent:command" oncommand="BISStudentenPlausicheck();"/>
|
||||
<command id="menu-help-about:command" oncommand="OpenAboutDialog()"/>
|
||||
@@ -272,7 +270,7 @@ foreach($addon_obj->result as $addon)
|
||||
key ="menu-prefs-number_displayed_past_studiensemester:key"
|
||||
label ="&menu-prefs-number_displayed_past_studiensemester.label;"
|
||||
command ="menu-prefs-number_displayed_past_studiensemester:command"
|
||||
accesskey ="&menu-prefs-number_displayed_past_studiensemester.accesskey;"
|
||||
accesskey ="&menu-prefs-number_displayed_past_studiensemester.accesskey;"
|
||||
value ="<?php echo (isset($variable->variable->number_displayed_past_studiensemester)?$variable->variable->number_displayed_past_studiensemester:'');?>"
|
||||
/>
|
||||
</menupopup>
|
||||
@@ -859,30 +857,18 @@ foreach($addon_obj->result as $addon)
|
||||
<menupopup id="menu-bis-popup">
|
||||
<menu id="menu-bis-mitarbeiter" label="&menu-bis-mitarbeiter.label;" accesskey="&menu-bis-mitarbeiter.accesskey;">
|
||||
<menupopup id="menu-bis-mitarbeiter-popup">
|
||||
<menuitem
|
||||
id = "menu-bis-mitarbeiter-checkverwendung"
|
||||
key = "menu-bis-mitarbeiter-checkverwendung:key"
|
||||
label = "&menu-bis-mitarbeiter-checkverwendung.label;"
|
||||
command = "menu-bis-mitarbeiter-checkverwendung:command"
|
||||
accesskey = "&menu-bis-mitarbeiter-checkverwendung.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-bis-mitarbeiter-checkfunktion"
|
||||
key = "menu-bis-mitarbeiter-checkfunktion:key"
|
||||
label = "&menu-bis-mitarbeiter-checkfunktion.label;"
|
||||
command = "menu-bis-mitarbeiter-checkfunktion:command"
|
||||
accesskey = "&menu-bis-mitarbeiter-checkfunktion.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-bis-mitarbeiter-uebersicht"
|
||||
key = "menu-bis-mitarbeiter-uebersicht:key"
|
||||
label = "&menu-bis-mitarbeiter-uebersicht.label;"
|
||||
command = "menu-bis-mitarbeiter-uebersicht:command"
|
||||
accesskey = "&menu-bis-mitarbeiter-uebersicht.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-bis-mitarbeiter-export"
|
||||
key = "menu-bis-mitarbeiter-export:key"
|
||||
label = "&menu-bis-mitarbeiter-export.label;"
|
||||
command = "menu-bis-mitarbeiter-export:command"
|
||||
accesskey = "&menu-bis-mitarbeiter-export.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-bis-mitarbeiter-import"
|
||||
key = "menu-bis-mitarbeiter-import:key"
|
||||
label = "&menu-bis-mitarbeiter-import.label;"
|
||||
command = "menu-bis-mitarbeiter-import:command"
|
||||
accesskey = "&menu-bis-mitarbeiter-import.accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="menu-bis-studenten" label="&menu-bis-studenten.label;" accesskey="&menu-bis-studenten.accesskey;">
|
||||
|
||||
+11
-19
@@ -1203,9 +1203,9 @@ function MessageNew()
|
||||
else
|
||||
{
|
||||
var prestudentIdArray = getMultipleTreeCellText(tree, 'student-treecol-prestudent_id');
|
||||
|
||||
|
||||
var action = '<?php echo APP_ROOT ?>index.ci.php/system/Messages/write/' + <?php echo $benutzer->person_id; ?>;
|
||||
|
||||
|
||||
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
|
||||
}
|
||||
}
|
||||
@@ -1396,19 +1396,11 @@ function BISMitarbeiterExport()
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Oeffnet Script zum Checken der Verwendung
|
||||
// * oeffnet Uebersichtsseite fuer Mitarbeiter BIS Meldung
|
||||
// ****
|
||||
function BISMitarbeiterCheckVerwendung()
|
||||
function BISMitarbeiterUebersicht()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT ?>vilesci/bis/checkverwendung.php','CheckVerwendung','');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * oeffnet Script zum Checken der Funktion
|
||||
// ****
|
||||
function BISMitarbeiterCheckFunktion()
|
||||
{
|
||||
window.open('<?php echo APP_ROOT ?>vilesci/bis/checkfunktion.php','CheckFunktion','');
|
||||
window.open('<?php echo APP_ROOT ?>vilesci/bis/personalmeldung_uebersicht.php','Uebersicht','');
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -2054,9 +2046,9 @@ function OrganisationseinheitTreeRefresh()
|
||||
function variableChangeValue(variable)
|
||||
{
|
||||
var variablevalue = getvariable(variable);
|
||||
|
||||
|
||||
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
|
||||
{
|
||||
{
|
||||
variableChange(variable, '', variablevalue);
|
||||
}
|
||||
}
|
||||
@@ -2068,7 +2060,7 @@ function variableChange(variable, id, wert)
|
||||
{
|
||||
if(id!=null)
|
||||
item = document.getElementById(id);
|
||||
|
||||
|
||||
if(typeof(wert)==='undefined')
|
||||
{
|
||||
if(item.getAttribute('checked')=='true')
|
||||
@@ -2078,11 +2070,11 @@ function variableChange(variable, id, wert)
|
||||
}
|
||||
else
|
||||
checked=wert;
|
||||
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
@@ -2090,7 +2082,7 @@ function variableChange(variable, id, wert)
|
||||
req.add('type', 'variablechange');
|
||||
req.add('name', variable);
|
||||
req.add('wert', checked);
|
||||
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
+959
-1588
File diff suppressed because it is too large
Load Diff
@@ -387,6 +387,10 @@
|
||||
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
|
||||
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F">
|
||||
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.key "B">
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.label "Übersicht">
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.accesskey "B">
|
||||
|
||||
<!ENTITY menu-bis-studenten.key "S">
|
||||
<!ENTITY menu-bis-studenten.label "Studenten">
|
||||
<!ENTITY menu-bis-studenten.accesskey "S">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!ENTITY window.title "FAS">
|
||||
<!ENTITY window.version "3.0">
|
||||
<!ENTITY window.title "FAS">
|
||||
<!ENTITY window.version "3.0">
|
||||
|
||||
<!-- MENUE -->
|
||||
|
||||
@@ -362,9 +362,13 @@
|
||||
<!ENTITY menu-bis-mitarbeiter-checkverwendung.label "checkVerwendung">
|
||||
<!ENTITY menu-bis-mitarbeiter-checkverwendung.accesskey "V">
|
||||
|
||||
<!ENTITY menu-bis-mitarbeiter-checkfunktion.key "F">
|
||||
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
|
||||
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F">
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.key "B">
|
||||
<!ENTITY menu-bis-mitarbeiter-ueberischt.label "Übersicht">
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.accesskey "B">
|
||||
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.key "U">
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.label "Übersicht">
|
||||
<!ENTITY menu-bis-mitarbeiter-uebersicht.accesskey "U">
|
||||
|
||||
<!ENTITY menu-bis-studenten.key "S">
|
||||
<!ENTITY menu-bis-studenten.label "Studenten">
|
||||
|
||||
@@ -97,4 +97,4 @@ $this->phrasen['lvplan/status']='Status';
|
||||
$this->phrasen['lvplan/automatischeMail']='This is an automatic email!';
|
||||
$this->phrasen['lvplan/folgendeAenderungen']='There have been the following changes in your Schedule:';
|
||||
$this->phrasen['lvplan/reserviertInDev']='not<br>available';
|
||||
?>
|
||||
?>
|
||||
|
||||
+33
-3
@@ -176,6 +176,7 @@ input.cis_login
|
||||
width:170px;
|
||||
height:53px;
|
||||
}
|
||||
|
||||
div.tip
|
||||
{
|
||||
position: absolute;
|
||||
@@ -474,9 +475,9 @@ td:hover.ItemTesttoolBeendet
|
||||
}
|
||||
div.TesttoolTitle /* Ueberschrift auf den Titelfolien */
|
||||
{
|
||||
font-size: 400%;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-size: 400%;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
text-transform: uppercase;
|
||||
color: #FFFFFF;
|
||||
display: table;
|
||||
white-space: nowrap;
|
||||
@@ -1101,3 +1102,32 @@ body.anwesenheit table {
|
||||
body.anwesenheit form {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
div.header_logo
|
||||
{
|
||||
position: absolute;
|
||||
left: 16px;
|
||||
top: 3%;
|
||||
z-index: 5000;
|
||||
|
||||
background-image:url(styles/tw/logo_250x130.png);
|
||||
background-repeat: no-repeat;
|
||||
width:170px;
|
||||
height:51px;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
td.headerbar
|
||||
{
|
||||
background-image: url(styles/tw/header.png);
|
||||
background-position: top;
|
||||
background-repeat: repeat-x;"
|
||||
}
|
||||
|
||||
div.cis_logo
|
||||
{
|
||||
background-image:url(styles/tw/cis_logo_text_400x78.png);
|
||||
background-repeat: no-repeat;
|
||||
width: 400px;
|
||||
height: 78px;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+36
-3
@@ -430,6 +430,38 @@ if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname =
|
||||
}
|
||||
}
|
||||
|
||||
// Add FOREIGN KEY testtool.tbl_pruefling.prestudent_id
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'fk_pruefling_prestudent'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_pruefling WHERE prestudent_id is not null AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudent WHERE prestudent_id=tbl_pruefling.prestudent_id)";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "ALTER TABLE testtool.tbl_pruefling ADD CONSTRAINT fk_pruefling_prestudent FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent(prestudent_id) ON UPDATE CASCADE ON DELETE RESTRICT;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>testtool.tbl_pruefling: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>testtool.tbl_pruefling: added foreign key on column prestudent_id referenced to public.tbl_prestudent(prestudent_id)';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<strong>
|
||||
Foreign Key für testtool.tbl_pruefling.prestudent_id kann nicht erstellt werden da in tbl_pruefling
|
||||
'.$db->db_num_rows($result).' Prestudenten eingetragen sind die nicht in tbl_prestudent vorhanden sind.<br>
|
||||
<br>
|
||||
Bitte korrigieren Sie die fehlenden Zuordnungen damit der FK erstellt werden kann.
|
||||
Mit folgendem Befehl können die falschen Zuordnungen entfernt werden:<br>
|
||||
UPDATE testtool.tbl_pruefling SET prestudent_id=null WHERE NOT EXISTS(SELECT 1 FROM public.tbl_prestudent WHERE prestudent_id=tbl_pruefling.prestudent_id)
|
||||
</strong>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -693,14 +725,15 @@ $tabellen=array(
|
||||
"wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"),
|
||||
"wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"),
|
||||
"wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"),
|
||||
"wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"),
|
||||
"wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"),
|
||||
"wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung","reihenfolge"),
|
||||
"wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id","hilfe"),
|
||||
"wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),
|
||||
"wawi.tbl_kostenstelle" => array("kostenstelle_id","oe_kurzbz","bezeichnung","kurzbz","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","kostenstelle_nr","deaktiviertvon","deaktiviertamum"),
|
||||
"wawi.tbl_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
|
||||
"wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
|
||||
"wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"),
|
||||
"wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz"),
|
||||
"wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz","zuordnung_uid","zuordnung_raum","zuordnung","auftragsbestaetigung","auslagenersatz","iban","wird_geleast","nicht_bestellen","empfehlung_leasing"),
|
||||
"wawi.tbl_bestellung_angebot" => array("angebot_id","bestellung_id","dms_id"),
|
||||
"wawi.tbl_bestelldetail" => array("bestelldetail_id","bestellung_id","position","menge","verpackungseinheit","beschreibung","artikelnummer","preisprove","mwst","erhalten","sort","text","updateamum","updatevon","insertamum","insertvon"),
|
||||
"wawi.tbl_bestellung_bestellstatus" => array("bestellung_bestellstatus_id","bestellung_id","bestellstatus_kurzbz","uid","oe_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
|
||||
"wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
|
||||
|
||||
+164
-136
@@ -57,6 +57,10 @@ foreach ($stg_obj->result as $stg)
|
||||
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
|
||||
}
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsemprev = $stsem->getPrevious();
|
||||
$stsemprevprev = $stsem->getBeforePrevious();
|
||||
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>Check Funktion</title>
|
||||
@@ -64,152 +68,176 @@ echo '<html>
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
<h2>Mitarbeiter BIS-Funktion Check</h2>
|
||||
<h2>Mitarbeiter BIS-Funktion Check für '.$stsemprevprev.'/'.$stsemprev.'</h2>
|
||||
';
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$stsemprev = $stsem->getPrevious();
|
||||
$stsemprevprev = $stsem->getBeforePrevious();
|
||||
|
||||
echo "Generiere Funktionen für $stsemprevprev/$stsemprev<br>";
|
||||
|
||||
$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
(studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR studiensemester_kurzbz=".$db->db_add_param($stsemprevprev).") AND
|
||||
bismelden=true AND tbl_lehreinheitmitarbeiter.semesterstunden>0 GROUP BY mitarbeiter_uid, studiengang_kz";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if(isset($_POST['action']) && $_POST['action'] == 'delete')
|
||||
{
|
||||
$lastuid='';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$qry = "DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)."))
|
||||
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null))";
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($lastuid!=$row->mitarbeiter_uid)
|
||||
{
|
||||
$lastuid=$row->mitarbeiter_uid;
|
||||
//Verwendung suchen
|
||||
$person_error=false;
|
||||
$qry_verw = "SELECT * FROM bis.tbl_bisverwendung
|
||||
WHERE
|
||||
(ende>now() OR ende is null OR ende>".$db->db_add_param($lastbismeldung).")
|
||||
AND (beginn<".$db->db_add_param($aktbismeldung)." OR beginn is null)
|
||||
AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
|
||||
ORDER BY beginn DESC";
|
||||
if($result_verw = $db->db_query($qry_verw))
|
||||
{
|
||||
if($db->db_num_rows($result_verw)==0)
|
||||
{
|
||||
echo "<br>Es wurde keine Verwendung fuer <b>$row->mitarbeiter_uid</b> gefunden";
|
||||
$person_error = true;
|
||||
$verwendung_not_found++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row_verw = $db->db_fetch_object($result_verw))
|
||||
$verwendung_id = $row_verw->bisverwendung_id;
|
||||
else
|
||||
{
|
||||
echo "<br>Fehler beim Holen der Verwendung von $row->mitarbeiter_uid";
|
||||
$person_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if($db->db_num_rows($result_verw)>1)
|
||||
{
|
||||
echo "<br>Es wurde mehr als eine Verwendung bei $row->mitarbeiter_uid gefunden - es wird die Verwendung $verwendung_id verwendet";
|
||||
$verwendung_multiple++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<br>Fehler beim Ermitteln der Verwendung ".$db->db_last_error();
|
||||
$person_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$person_error)
|
||||
{
|
||||
//SWS berechnen
|
||||
$swsneu = number_format(round($row->semstd/$wochen, 2),2,'.','');
|
||||
|
||||
//Funktion fuer diesen Studiengang suchen
|
||||
$bisfunktion = new bisfunktion();
|
||||
|
||||
if($bisfunktion->load($verwendung_id, $row->studiengang_kz))
|
||||
{
|
||||
$bisfunktion->new = false;
|
||||
|
||||
if($bisfunktion->sws!=$swsneu)
|
||||
{
|
||||
echo "<br>$row->mitarbeiter_uid: Funktion bei Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) wird von $bisfunktion->sws auf $swsneu geaendert";
|
||||
$bisfunktion->sws = $swsneu;
|
||||
$funktion_geaendert++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bisfunktion->insertamum = date('Y-m-d H:i:s');
|
||||
$bisfunktion->insertvon = $user;
|
||||
$bisfunktion->studiengang_kz = $row->studiengang_kz;
|
||||
$bisfunktion->sws = $swsneu;
|
||||
$bisfunktion->new = true;
|
||||
$bisfunktion->bisverwendung_id = $verwendung_id;
|
||||
$funktion_hinzugefuegt++;
|
||||
}
|
||||
$bisfunktion->updateamum = date('Y-m-d H:i:s');
|
||||
$bisfunktion->updatevon = $user;
|
||||
|
||||
if(!$bisfunktion->save())
|
||||
{
|
||||
echo "<br>$row->mitarbeiter_uid: Fehler beim Anlegen der Funktion ".$bisfunktion->errormsg;
|
||||
if($bisfunktion->new)
|
||||
$funktion_hinzugefuegt--;
|
||||
else
|
||||
$funktion_geaendert--;
|
||||
$funktion_error++;
|
||||
}
|
||||
}
|
||||
echo 'Falsche Funktionszuordnungen wurden entfernt';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Löschen der Zuordnungen';
|
||||
}
|
||||
}
|
||||
if(isset($_POST['action']) && $_POST['action'] == 'run')
|
||||
{
|
||||
$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
(studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR studiensemester_kurzbz=".$db->db_add_param($stsemprevprev).") AND
|
||||
bismelden=true AND tbl_lehreinheitmitarbeiter.semesterstunden>0 GROUP BY mitarbeiter_uid, studiengang_kz";
|
||||
|
||||
echo '<br><br>';
|
||||
echo '<b>Check fuer nicht benoetigte Funktionen</b>';
|
||||
$qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)."))
|
||||
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null)
|
||||
ORDER BY mitarbeiter_uid, studiengang_kz";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$funktion_ohne_lehrauftrag = $db->db_num_rows($result);
|
||||
|
||||
$lastuid='';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo "<br><b>$row->mitarbeiter_uid</b> hat im Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) eine Funktion ohne Lehrauftrag";
|
||||
if($lastuid!=$row->mitarbeiter_uid)
|
||||
{
|
||||
$lastuid=$row->mitarbeiter_uid;
|
||||
//Verwendung suchen
|
||||
$person_error=false;
|
||||
$qry_verw = "SELECT * FROM bis.tbl_bisverwendung
|
||||
WHERE
|
||||
(ende>now() OR ende is null OR ende>".$db->db_add_param($lastbismeldung).")
|
||||
AND (beginn<".$db->db_add_param($aktbismeldung)." OR beginn is null)
|
||||
AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
|
||||
ORDER BY beginn DESC";
|
||||
if($result_verw = $db->db_query($qry_verw))
|
||||
{
|
||||
if($db->db_num_rows($result_verw)==0)
|
||||
{
|
||||
echo "<br>Es wurde keine Verwendung fuer <b>$row->mitarbeiter_uid</b> gefunden";
|
||||
$person_error = true;
|
||||
$verwendung_not_found++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row_verw = $db->db_fetch_object($result_verw))
|
||||
$verwendung_id = $row_verw->bisverwendung_id;
|
||||
else
|
||||
{
|
||||
echo "<br>Fehler beim Holen der Verwendung von $row->mitarbeiter_uid";
|
||||
$person_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if($db->db_num_rows($result_verw)>1)
|
||||
{
|
||||
echo "<br>Es wurde mehr als eine Verwendung bei $row->mitarbeiter_uid gefunden - es wird die Verwendung $verwendung_id verwendet";
|
||||
$verwendung_multiple++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<br>Fehler beim Ermitteln der Verwendung ".$db->db_last_error();
|
||||
$person_error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$person_error)
|
||||
{
|
||||
//SWS berechnen
|
||||
$swsneu = number_format(round($row->semstd/$wochen, 2),2,'.','');
|
||||
|
||||
//Funktion fuer diesen Studiengang suchen
|
||||
$bisfunktion = new bisfunktion();
|
||||
|
||||
if($bisfunktion->load($verwendung_id, $row->studiengang_kz))
|
||||
{
|
||||
$bisfunktion->new = false;
|
||||
|
||||
if($bisfunktion->sws!=$swsneu)
|
||||
{
|
||||
echo "<br>$row->mitarbeiter_uid: Funktion bei Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) wird von $bisfunktion->sws auf $swsneu geaendert";
|
||||
$bisfunktion->sws = $swsneu;
|
||||
$funktion_geaendert++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$bisfunktion->insertamum = date('Y-m-d H:i:s');
|
||||
$bisfunktion->insertvon = $user;
|
||||
$bisfunktion->studiengang_kz = $row->studiengang_kz;
|
||||
$bisfunktion->sws = $swsneu;
|
||||
$bisfunktion->new = true;
|
||||
$bisfunktion->bisverwendung_id = $verwendung_id;
|
||||
$funktion_hinzugefuegt++;
|
||||
}
|
||||
$bisfunktion->updateamum = date('Y-m-d H:i:s');
|
||||
$bisfunktion->updatevon = $user;
|
||||
|
||||
if(!$bisfunktion->save())
|
||||
{
|
||||
echo "<br>$row->mitarbeiter_uid: Fehler beim Anlegen der Funktion ".$bisfunktion->errormsg;
|
||||
if($bisfunktion->new)
|
||||
$funktion_hinzugefuegt--;
|
||||
else
|
||||
$funktion_geaendert--;
|
||||
$funktion_error++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '<br><br>';
|
||||
echo '<b>Check fuer nicht benoetigte Funktionen</b>';
|
||||
$qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)."))
|
||||
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null)
|
||||
ORDER BY mitarbeiter_uid, studiengang_kz";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$funktion_ohne_lehrauftrag = $db->db_num_rows($result);
|
||||
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo "<br><b>$row->mitarbeiter_uid</b> hat im Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) eine Funktion ohne Lehrauftrag";
|
||||
}
|
||||
}
|
||||
echo '<br><br>Loeschen der Funktionen:
|
||||
<form method="POST" action="checkfunktion.php">
|
||||
<input type="hidden" name="action" value="delete" />
|
||||
<input type="submit" value="Falsche Funktionen jetzt löschen" />
|
||||
</form>';
|
||||
echo '<br><br>';
|
||||
echo '<h3>Uebersicht</h3>';
|
||||
echo '<table>';
|
||||
echo "<tr><td>Nicht vorhandene Verwendungen</td><td>$verwendung_not_found</td></tr>";
|
||||
echo "<tr><td>Mehrere moegliche Verwendungen vorhanden</td><td>$verwendung_multiple</td></tr>";
|
||||
echo "<tr><td>Fehler bei Funktionen</td><td>$funktion_error</td></tr>";
|
||||
echo "<tr><td>Funktionen ohne Lehrauftrag</td><td>$funktion_ohne_lehrauftrag</td></tr>";
|
||||
echo "<tr><td> </td><td> </td></tr>";
|
||||
echo "<tr><td>Funktionen hinzugefuegt</td><td>$funktion_hinzugefuegt</td></tr>";
|
||||
echo "<tr><td>Funktionen geaendert</td><td>$funktion_geaendert</td></tr>";
|
||||
echo '</table>';
|
||||
}
|
||||
echo "<br><br>Loeschen der Funktionen mit: DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
|
||||
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
|
||||
SELECT mitarbeiter_uid, studiengang_kz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)."))
|
||||
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null))";
|
||||
echo '<br><br>';
|
||||
echo '<h3>Uebersicht</h3>';
|
||||
echo '<table>';
|
||||
echo "<tr><td>Nicht vorhandene Verwendungen</td><td>$verwendung_not_found</td></tr>";
|
||||
echo "<tr><td>Mehrere moegliche Verwendungen vorhanden</td><td>$verwendung_multiple</td></tr>";
|
||||
echo "<tr><td>Fehler bei Funktionen</td><td>$funktion_error</td></tr>";
|
||||
echo "<tr><td>Funktionen ohne Lehrauftrag</td><td>$funktion_ohne_lehrauftrag</td></tr>";
|
||||
echo "<tr><td> </td><td> </td></tr>";
|
||||
echo "<tr><td>Funktionen hinzugefuegt</td><td>$funktion_hinzugefuegt</td></tr>";
|
||||
echo "<tr><td>Funktionen geaendert</td><td>$funktion_geaendert</td></tr>";
|
||||
echo '</table>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '
|
||||
<br>
|
||||
Diese Seite erstellt automatisch die Funktionen der Lektoren aus den Lehraufträgen.
|
||||
|
||||
<form method="POST" action="checkfunktion.php">
|
||||
<input type="hidden" name="action" value="run" />
|
||||
<input type="submit" value="Funktionen generieren" />
|
||||
</form>';
|
||||
}
|
||||
|
||||
@@ -122,16 +122,16 @@ if($resultall = $db->db_query($qryall))
|
||||
}
|
||||
}
|
||||
}
|
||||
//2 - aktive mitarbeiter mit keiner aktuellen verwendung
|
||||
//2 - aktive fixe mitarbeiter mit keiner aktuellen verwendung
|
||||
$qryall='SELECT uid,nachname,vorname, count(bisverwendung_id)
|
||||
FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
|
||||
WHERE aktiv AND NOT ende>now() AND NOT ende IS NULL
|
||||
WHERE aktiv AND fixangestellt AND NOT ende>now() AND NOT ende IS NULL
|
||||
AND uid NOT IN (SELECT uid FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
|
||||
WHERE aktiv AND (ende>now() OR ende IS NULL)) GROUP BY uid,nachname,vorname ORDER by nachname,vorname;';
|
||||
WHERE aktiv AND fixangestellt AND (ende>now() OR ende IS NULL)) GROUP BY uid,nachname,vorname ORDER by nachname,vorname;';
|
||||
if($resultall = $db->db_query($qryall))
|
||||
{
|
||||
$num_rows_all=$db->db_num_rows($resultall);
|
||||
echo "<br><br><H2>Bei $num_rows_all aktiven Mitarbeitern sind keine aktuellen Verwendungen eingetragen</H2>";
|
||||
echo "<br><br><H2>Bei $num_rows_all aktiven Fixangestellten Mitarbeitern sind keine aktuellen Verwendungen eingetragen</H2>";
|
||||
while($rowall=$db->db_fetch_object($resultall))
|
||||
{
|
||||
$i=0;
|
||||
@@ -293,10 +293,10 @@ if($resultall = $db->db_query($qryall))
|
||||
$i=0;
|
||||
$qryall="SELECT DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachname, vorname
|
||||
FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id)
|
||||
JOIN
|
||||
JOIN
|
||||
lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN campus.vw_mitarbeiter ON (tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid)
|
||||
WHERE
|
||||
WHERE
|
||||
(lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastss' OR lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastws')
|
||||
AND tbl_lehreinheitmitarbeiter.stundensatz!=0 AND tbl_lehreinheitmitarbeiter.semesterstunden!=0
|
||||
AND NOT EXISTS (SELECT * FROM bis.tbl_bisverwendung
|
||||
@@ -374,7 +374,7 @@ if($resultall = $db->db_query($qryall))
|
||||
{
|
||||
$i++;
|
||||
echo "<br><u>Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":</u><br>";
|
||||
echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)";
|
||||
echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)";
|
||||
}
|
||||
}
|
||||
echo '<br>';
|
||||
|
||||
@@ -0,0 +1,308 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/bisfunktion.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/funktion.class.php');
|
||||
require_once('../../include/bisverwendung.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die ('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$uid = get_uid();
|
||||
$datum_obj = new datum();
|
||||
|
||||
$fkt_obj = new funktion();
|
||||
$fkt_obj->getAll();
|
||||
$fkt_arr = array();
|
||||
foreach ($fkt_obj->result as $row_fkt)
|
||||
$fkt_arr[$row_fkt->funktion_kurzbz] = $row_fkt->beschreibung;
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getAll();
|
||||
|
||||
$stsem_arr = array();
|
||||
foreach($studiensemester->studiensemester as $row_stsem)
|
||||
{
|
||||
$stsem_arr[$row_stsem->studiensemester_kurzbz]['start']=$row_stsem->start;
|
||||
$stsem_arr[$row_stsem->studiensemester_kurzbz]['ende']=$row_stsem->ende;
|
||||
}
|
||||
if (!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid'))
|
||||
die ('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
echo '<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
echo '
|
||||
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<title>Mitarbeitermeldung</title>
|
||||
<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$( ".datepicker_datum" ).datepicker({
|
||||
changeMonth: true,
|
||||
hangeYear: true,
|
||||
dateFormat: "yy-mm-dd",
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Freie Lektoren mit Lehrauftrag ohne Verwendung</h2>
|
||||
Die folgenden freien Lektoren haben einen aktiven Lehrauftrag im Meldezeitraum,
|
||||
haben jedoch keine aktive Verwendung.<br>
|
||||
<br>
|
||||
Beim Klicken auf "Alle Verwendungen generieren/aktualisieren" werden die Verwendungen automatisch verlängert wenn
|
||||
die letzte Verwendung näher als 10 Monate liegt. Ansonsten wird eine neue Verwendung erstellt. Als neues Ende-Datum
|
||||
wird das Ende des Semesters letzten Lehrauftrages herangezogen.
|
||||
<br>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
$qry = "SELECT ma.* FROM
|
||||
(
|
||||
SELECT
|
||||
vorname, nachname, uid, personalnummer, insertamum,anmerkung,
|
||||
(
|
||||
SELECT studiensemester_kurzbz FROM (
|
||||
SELECT
|
||||
studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
|
||||
UNION
|
||||
SELECT
|
||||
studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
|
||||
) a
|
||||
ORDER BY start DESC
|
||||
LIMIT 1
|
||||
) as letzter_lehrauftrag
|
||||
FROM
|
||||
campus.vw_mitarbeiter
|
||||
WHERE
|
||||
fixangestellt = false
|
||||
AND lektor = true
|
||||
AND bismelden = true
|
||||
AND personalnummer > 0
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz IN(
|
||||
SELECT
|
||||
studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE start <= now()
|
||||
ORDER BY start DESC
|
||||
OFFSET 1
|
||||
LIMIT 2)
|
||||
UNION
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz IN(SELECT
|
||||
studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE start <= now()
|
||||
ORDER BY start DESC
|
||||
OFFSET 1
|
||||
LIMIT 2)
|
||||
AND tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
|
||||
)
|
||||
AND NOT EXISTS(
|
||||
SELECT 1 FROM bis.tbl_bisverwendung
|
||||
WHERE mitarbeiter_uid=vw_mitarbeiter.uid
|
||||
AND (ende is null OR ende>=now())
|
||||
)
|
||||
) ma
|
||||
LEFT JOIN public.tbl_studiensemester ON(studiensemester_kurzbz=ma.letzter_lehrauftrag)
|
||||
WHERE
|
||||
tbl_studiensemester.start >= (SELECT ende FROM bis.tbl_bisverwendung
|
||||
WHERE mitarbeiter_uid=ma.uid
|
||||
ORDER BY ende DESC LIMIT 1)";
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
echo '<br><br>Anzahl:'.$db->db_num_rows($result);
|
||||
echo '
|
||||
<div style="float:right" >
|
||||
<form method="POST" action="personal_generateverwendung.php">
|
||||
<input type="hidden" name="action" value="generateall" />
|
||||
<input type="submit" value="Alle Verwendungen generieren / aktualisieren" />
|
||||
</form>
|
||||
</div>';
|
||||
echo '
|
||||
|
||||
<br><br>
|
||||
<table class="tablesorter" id="t1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>UID</th>
|
||||
<th>Personalnummer</th>
|
||||
<th>Anlagedatum</th>
|
||||
<th>Letzer Lehrauftrag</th>
|
||||
<th>Aktive Funktionen</th>
|
||||
<th>Letzte Verwendung</th>
|
||||
<th>Anmerkung</th>
|
||||
<th>Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
';
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->personalnummer).'</td>
|
||||
<td>'.$db->convert_html_chars($datum_obj->formatDatum($row->insertamum,'d.m.Y')).'</td>
|
||||
<td>'.$db->convert_html_chars($row->letzter_lehrauftrag).'</td>
|
||||
<td>
|
||||
<table>';
|
||||
$fkt = new benutzerfunktion();
|
||||
$fkt->getBenutzerFunktionByUid($row->uid, null, date('Y-m-d'));
|
||||
|
||||
foreach ($fkt->result as $row_fkt)
|
||||
{
|
||||
echo '<tr>
|
||||
<td width="100px;">'.$fkt_arr[$row_fkt->funktion_kurzbz].'</td>
|
||||
<td>'.$row_fkt->oe_kurzbz.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table></td>';
|
||||
$bisverwendung = new bisverwendung();
|
||||
$bisverwendung->getLastVerwendung($row->uid);
|
||||
echo '<td>'.($bisverwendung->beginn != ''?$datum_obj->formatDatum($bisverwendung->beginn,'d.m.Y'):' unbekannt ');
|
||||
echo ' - '.($bisverwendung->ende != ''?$datum_obj->formatDatum($bisverwendung->ende,'d.m.Y'):' jetzt ').'</td>';
|
||||
echo '<td>'.($row->anmerkung != ''?'<img src="../../skin/images/sticky.png" title="'.$db->convert_html_chars($row->anmerkung).'" />':'').'</td>';
|
||||
|
||||
if(isset($stsem_arr[$row->letzter_lehrauftrag])
|
||||
&& $stsem_arr[$row->letzter_lehrauftrag]['start'] > $bisverwendung->ende)
|
||||
{
|
||||
// wenn das Stsem des letzten Lehrauftrags größer ist als die Verwendung
|
||||
|
||||
|
||||
// Wenn die letzte Verwendung weniger als 10 Monate alt ist, wird die bestehende
|
||||
// Verwendung aktualisiert auf das neue Datum
|
||||
// Ansonsten wird eine neue Verwendung erstellt
|
||||
$dt_verwendungsendeplus10 = new DateTime($bisverwendung->ende);
|
||||
$dt_now = new DateTime();
|
||||
$dt_verwendungsendeplus10->add(new DateInterval('P10M'));
|
||||
|
||||
if ($dt_verwendungsendeplus10 > $dt_now)
|
||||
{
|
||||
$bisverwendung->ende = $stsem_arr[$row->letzter_lehrauftrag]['ende'];
|
||||
$bisverwendung->updateamum = date('Y-m-d H:i:s');
|
||||
$bisverwendung->updatevon = $uid;
|
||||
if(isset($_POST['action']) && $_POST['action']=='generateall')
|
||||
{
|
||||
if ($bisverwendung->save(false))
|
||||
{
|
||||
echo '<td>Verwendung verlängert</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td>Failed:'.$bisverwendung->errormsg.'</td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
echo '<td>Verlängerung bis '.$bisverwendung->ende.'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$bisverwendung->beginn = $stsem_arr[$row->letzter_lehrauftrag]['start'];
|
||||
$bisverwendung->ende = $stsem_arr[$row->letzter_lehrauftrag]['ende'];
|
||||
$bisverwendung->updateamum = date('Y-m-d H:i:s');
|
||||
$bisverwendung->updatevon = $uid;
|
||||
$bisverwendung->insertamum = date('Y-m-d H:i:s');
|
||||
$bisverwendung->insertvon = $uid;
|
||||
if(isset($_POST['action']) && $_POST['action']=='generateall')
|
||||
{
|
||||
if ($bisverwendung->save(true))
|
||||
{
|
||||
echo '<td>Neue Verwendung erstellt</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td>Failed:'.$bisverwendung->errormsg.'</td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
echo '<td>Neue Verwendung wird erstellt '.$bisverwendung->beginn.' bis '.$bisverwendung->ende.'</td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<td>passt eigentlich</td>';
|
||||
}
|
||||
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</body>
|
||||
</html>';
|
||||
@@ -0,0 +1,284 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/bisfunktion.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/funktion.class.php');
|
||||
require_once('../../include/bisverwendung.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die ('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$uid = get_uid();
|
||||
$datum_obj = new datum();
|
||||
|
||||
$fkt_obj = new funktion();
|
||||
$fkt_obj->getAll();
|
||||
$fkt_arr = array();
|
||||
foreach ($fkt_obj->result as $row_fkt)
|
||||
$fkt_arr[$row_fkt->funktion_kurzbz] = $row_fkt->beschreibung;
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if (!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid'))
|
||||
die ('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if (isset($_POST['action']) && $_POST['action'] == 'deaktivieren')
|
||||
{
|
||||
$benutzer = new benutzer();
|
||||
if ($benutzer->load($_POST['uid']))
|
||||
{
|
||||
$benutzer->bnaktiv = false;
|
||||
$benutzer->updateamum = date('Y-m-d H:i:s');
|
||||
$benutzer->updatevon = $uid;
|
||||
if ($benutzer->save(false, false))
|
||||
{
|
||||
$bisverwendung = new bisverwendung();
|
||||
if ($bisverwendung->getLastVerwendung($_POST['uid']))
|
||||
{
|
||||
if ($bisverwendung->ende == '')
|
||||
{
|
||||
$bisverwendung->ende = $_POST['datum'];
|
||||
$bisverwendung->updateamum = date('Y-m-d H:i:s');
|
||||
$bisverwendung->updatevon = $uid;
|
||||
|
||||
if ($bisverwendung->save(false))
|
||||
exit ('true');
|
||||
}
|
||||
else
|
||||
{
|
||||
exit ('true');
|
||||
}
|
||||
}
|
||||
else
|
||||
exit ('Fehler beim Laden der Verwendung:'.$bisverwendung->errormsg);
|
||||
}
|
||||
else
|
||||
exit ('Fehler beim Deaktivieren:'.$benutzer->errormsg);
|
||||
}
|
||||
else
|
||||
exit ('Fehler beim Laden des Benutzers');
|
||||
}
|
||||
|
||||
echo '<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
echo '
|
||||
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<title>Mitarbeitermeldung</title>
|
||||
<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$( ".datepicker_datum" ).datepicker({
|
||||
changeMonth: true,
|
||||
hangeYear: true,
|
||||
dateFormat: "yy-mm-dd",
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Aktive freie Lektoren ohne Lehrauftrag</h2>
|
||||
Die folgenden freien Lektoren haben seit mind. 3 Semestern keinen Lehrauftrag und sind nach wie vor aktiv.
|
||||
Wählen sie ein Datum und klicken Sie auf den Link "deaktivieren" um den Mitarbeiter zu deaktivieren und
|
||||
die Verwendung zum angegebenen Datum zu beenden.
|
||||
<br>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
function deaktiviere(uid)
|
||||
{
|
||||
var datum = $("#deaktivierungsdatum").val();
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"personal_lektorenohnelehrauftrag.php",
|
||||
data:{ "action": "deaktivieren", "uid": uid, "datum": datum },
|
||||
success: function(data)
|
||||
{
|
||||
if(data=="true")
|
||||
{
|
||||
$("#deaktivierungslink_"+uid).hide();
|
||||
$("#infobox_"+uid).text("OK");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#infobox_"+uid).text("ERROR:"+data);
|
||||
}
|
||||
},
|
||||
error: function() { alert("error"); }
|
||||
});
|
||||
}
|
||||
</script>';
|
||||
$qry = "SELECT
|
||||
vorname, nachname, uid, personalnummer, insertamum,anmerkung,
|
||||
(
|
||||
SELECT studiensemester_kurzbz FROM (
|
||||
SELECT
|
||||
studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
|
||||
UNION
|
||||
SELECT
|
||||
studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
|
||||
) a
|
||||
ORDER BY start DESC
|
||||
LIMIT 1
|
||||
) as letzter_lehrauftrag
|
||||
FROM
|
||||
campus.vw_mitarbeiter
|
||||
WHERE
|
||||
aktiv = true
|
||||
AND fixangestellt = false
|
||||
AND lektor = true
|
||||
AND bismelden = true
|
||||
AND personalnummer > 0
|
||||
AND insertamum <= now() - '5 months'::interval
|
||||
AND NOT EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz IN(
|
||||
SELECT
|
||||
studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE start <= now()
|
||||
ORDER BY start DESC
|
||||
LIMIT 3)
|
||||
UNION
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz IN(SELECT
|
||||
studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE start <= now()
|
||||
ORDER BY start DESC
|
||||
LIMIT 3)
|
||||
AND tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
|
||||
)";
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
echo '<br><br>Anzahl:'.$db->db_num_rows($result);
|
||||
echo '
|
||||
<div style="float:right" >Beendingungsdatum der Verwendung:
|
||||
<input class="datepicker_datum" type="text" size="10" value="'.date('Y').'-08-31" id="deaktivierungsdatum"/>
|
||||
</div>
|
||||
<br><br>
|
||||
<table class="tablesorter" id="t1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>UID</th>
|
||||
<th>Personalnummer</th>
|
||||
<th>Anlagedatum</th>
|
||||
<th>Letzer Lehrauftrag</th>
|
||||
<th>Aktive Funktionen</th>
|
||||
<th>Letzte Verwendung</th>
|
||||
<th>Anmerkung</th>
|
||||
<th>Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
';
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->personalnummer).'</td>
|
||||
<td>'.$db->convert_html_chars($datum_obj->formatDatum($row->insertamum,'d.m.Y')).'</td>
|
||||
<td>'.$db->convert_html_chars($row->letzter_lehrauftrag).'</td>
|
||||
<td>
|
||||
<table>';
|
||||
$fkt = new benutzerfunktion();
|
||||
$fkt->getBenutzerFunktionByUid($row->uid, null, date('Y-m-d'));
|
||||
|
||||
foreach ($fkt->result as $row_fkt)
|
||||
{
|
||||
echo '<tr>
|
||||
<td width="100px;">'.$fkt_arr[$row_fkt->funktion_kurzbz].'</td>
|
||||
<td>'.$row_fkt->oe_kurzbz.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table></td>';
|
||||
$bisverwendung = new bisverwendung();
|
||||
$bisverwendung->getLastVerwendung($row->uid);
|
||||
echo '<td>'.($bisverwendung->beginn != ''?$datum_obj->formatDatum($bisverwendung->beginn,'d.m.Y'):' jetzt ');
|
||||
echo ' - '.($bisverwendung->ende != ''?$datum_obj->formatDatum($bisverwendung->ende,'d.m.Y'):' jetzt ').'</td>';
|
||||
echo '<td>'.($row->anmerkung != ''?'<img src="../../skin/images/sticky.png" title="'.$db->convert_html_chars($row->anmerkung).'" />':'').'</td>';
|
||||
echo '
|
||||
<td>
|
||||
<span id="deaktivierungslink_'.$row->uid.'">
|
||||
<a href="#deaktivieren" onclick="deaktiviere(\''.$row->uid.'\');return false;">deaktivieren</a>
|
||||
</span>
|
||||
<span id="infobox_'.$row->uid.'"></span>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</body>
|
||||
</html>';
|
||||
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
|
||||
echo '<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
<title>Mitarbeitermeldung</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Personalmeldung Übersicht</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="personal_lektorenohnelehrauftrag.php">Lektoren ohne Lehraufträge</a><br>
|
||||
Deaktivieren von freien Lektoren die keinen Lehrauftrag mehr haben<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<a href="personal_generateverwendung.php">Verwendungen generieren</a><br>
|
||||
Verwendungen aktualisieren für freie Lektoren die einen aktuellen Lehrauftrag
|
||||
haben, jedoch keine aktuelle Verwendung<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<a href="checkverwendung.php">Plausibilitätsprüfungen Verwendungen</a><br>
|
||||
Diverse Prüfungen auf inkonsistente Daten<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<a href="checkfunktion.php">Funktionen generieren</a><br>
|
||||
Funktionen zu den Verwendungen generieren (SWS pro Studiengang)<br><br>
|
||||
</li>
|
||||
<li>
|
||||
<a href="personalmeldung.php">Meldung generieren</a><br>
|
||||
Abschließende Plausibilitätsprüfungen durchführen und Meldung generieren<br><br>
|
||||
</li>
|
||||
</ul>
|
||||
';
|
||||
@@ -122,23 +122,27 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE" "http://www
|
||||
headers: {5:{sorter:false}}
|
||||
});
|
||||
|
||||
$(".prestudent_option").click(function ()
|
||||
{
|
||||
var elementExists = document.getElementById("input_prestudent");
|
||||
var e = document.getElementById("pruefling_select");
|
||||
var strUser = e.options[e.selectedIndex].value;
|
||||
if (elementExists != null)
|
||||
if($("#pruefling_select").value == -1)
|
||||
$("#pruefling_select").after(" <input id=\'input_prestudent\' type=\'text\' name=\'prestudent\'></input>");
|
||||
|
||||
$("#pruefling_select").change(
|
||||
function()
|
||||
{
|
||||
elementExists.value=strUser;
|
||||
console.log(this.value);
|
||||
if(this.value == -1)//-1 - Option Prestudent ID eingeben
|
||||
{
|
||||
//eingabefeld für prestudent id anzeigen wenn nicht vorhanden
|
||||
if(!$("#input_prestudent").length)
|
||||
$("#pruefling_select").after(" <input id=\'input_prestudent\' type=\'text\' name=\'prestudent\'></input>");
|
||||
}
|
||||
else
|
||||
{
|
||||
//eingabefeld für prestudent id entfernen wenn vorhanden
|
||||
if($("#input_prestudent").length)
|
||||
$("#input_prestudent").remove();
|
||||
}
|
||||
}
|
||||
$(this).closest("form").submit();
|
||||
});
|
||||
|
||||
$("#prestudent_input").click(function ()
|
||||
{
|
||||
$(this).closest("form").submit();
|
||||
});
|
||||
|
||||
);
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -288,7 +292,7 @@ foreach($ps->result as $prestd)
|
||||
echo '<OPTION class="prestudent_option" value="'.$prestd->prestudent_id.'" '.$selected.'>'.$prestd->nachname.' '.$prestd->vorname.', '.(strtoupper($stg->typ.$stg->kurzbz)).'; ID='.$prestd->prestudent_id.'; '.$prestd->gebdatum."</OPTION>\n";
|
||||
}
|
||||
echo '</SELECT>';
|
||||
if($prestudent_id!='' && !in_array($prestudent_id, $prestudent_arr))
|
||||
if($prestudent_id != '' && !in_array($prestudent_id, $prestudent_arr))
|
||||
{
|
||||
echo ' <INPUT id="input_prestudent" type="text" name="prestudent" value="'.($prestudent_id!='-1'?$prestudent_id:'').'">';
|
||||
}
|
||||
@@ -323,7 +327,7 @@ if($result = $db->db_query($qry))
|
||||
echo '</SELECT>';
|
||||
}
|
||||
|
||||
echo '<input type="submit" value="Dieses Teilgebiet löschen" name="deleteteilgebiet" onclick="return confirm(\'Antworten dieses Gebietes wirklich löschen?\')"> ';
|
||||
echo ' <input type="submit" value="Dieses Teilgebiet löschen" name="deleteteilgebiet" onclick="return confirm(\'Antworten dieses Gebietes wirklich löschen?\')"> ';
|
||||
if(isset($_POST['deleteteilgebiet']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
@@ -428,7 +432,7 @@ if(isset($_POST['deleteteilgebiet']))
|
||||
echo '<span class="error">Wählen Sie bitte ein Gebiet, dessen Antworten Sie löschen wollen</span>';
|
||||
}
|
||||
|
||||
echo '<input type="submit" value="! Alle Teilgebiete löschen !" name="delete_all" onclick="return confirm(\'Wollen Sie wirklich ALLE Antworten des Prüflings löschen?\')"></form>';
|
||||
echo ' <input type="submit" value="! Alle Teilgebiete löschen !" name="delete_all" onclick="return confirm(\'Wollen Sie wirklich ALLE Antworten des Prüflings löschen?\')"></form>';
|
||||
|
||||
// Alle Antworten aller Gebiete einer Person löschen und einen Logfile-Eintrag mit Undo-Befehl erstellen
|
||||
if(isset($_POST['delete_all']))
|
||||
|
||||
Reference in New Issue
Block a user