This commit is contained in:
kindlm
2017-10-11 10:25:50 +02:00
22 changed files with 1921 additions and 3441 deletions
+1
View File
@@ -24,6 +24,7 @@
- **[CORE]** Infoscreen wurde umbenannt (informationsbildschirm.php) - **[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]** 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]** 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] ## [3.2]
@@ -182,8 +182,7 @@ class Studiengang_model extends DB_Model
( (
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL WHERE o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
AND o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
UNION ALL UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk) 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 SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL WHERE o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
AND o.oe_kurzbz = '.$this->escape($oe_kurzbz).'
UNION ALL UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk) FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
+1 -2
View File
@@ -72,8 +72,7 @@ class Message_model extends DB_Model
( (
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL WHERE o.oe_kurzbz = ?
AND o.oe_kurzbz = ?
UNION ALL UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk) 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 SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL WHERE o.oe_kurzbz = ?
AND o.oe_kurzbz = ?
UNION ALL UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk) 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 SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL WHERE o.oe_kurzbz = ?
AND o.oe_kurzbz = ?
UNION ALL UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk) 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 SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o FROM public.tbl_organisationseinheit o
WHERE o.oe_parent_kurzbz IS NULL WHERE o.oe_kurzbz = ?
AND o.oe_kurzbz = ?
UNION ALL UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz SELECT o.oe_kurzbz, o.oe_parent_kurzbz
FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk) FROM public.tbl_organisationseinheit o INNER JOIN organizations orgs ON (o.oe_parent_kurzbz = orgs._pk)
+6 -15
View File
@@ -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> <html>
<head> <head>
<title>CIS</title> <title>CIS</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<link rel="stylesheet" href="../skin/jquery.css" type="text/css">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css"> <link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"> <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> </head>
<body class="main"> <body class="main">
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
@@ -20,13 +13,11 @@
<td class="boxshadow"> <td class="boxshadow">
<table cellspacing="0" cellpadding="0" class="header"> <table cellspacing="0" cellpadding="0" class="header">
<tr> <tr>
<td align="center" valign="middle" style="background-image: url(../skin/styles/default/header.png); background-position: top; background-repeat: repeat-x;"> <td align="center" valign="middle" class="headerbar">
<img class="header_logo" src="../skin/styles/default/logo_250x130.png" alt="logo"> <div class="header_logo"></div>
<img src="../skin/styles/default/cis_logo_text_400x78.png" /> <div class="cis_logo"></div>
<br><br><br> <br><br><br>
<!--Herzlich Willkommen im Campus Informationssystem (CIS)--> <br><br>
<br>
<br>
<form action="index_login.php?login=1" method="POST"> <form action="index_login.php?login=1" method="POST">
<input class="cis_login" type="submit" value="Login"> <input class="cis_login" type="submit" value="Login">
</form> </form>
+3 -4
View File
@@ -55,10 +55,9 @@ if(isset($_GET['login']))
<td class="boxshadow"> <td class="boxshadow">
<table cellspacing="0" cellpadding="0" class="header"> <table cellspacing="0" cellpadding="0" class="header">
<tr> <tr>
<td align="center" valign="middle" style="background-image: url(../skin/styles/default/header.png); background-position: top; background-repeat: repeat-x;"> <td align="center" valign="middle" class="headerbar">
<img class="header_logo" src="../skin/styles/default/logo_250x130.png" alt="logo"> <div class="header_logo"></div>
<center> <div class="cis_logo"></div>
<img src="../skin/styles/default/cis_logo_text_400x78.png" width="400px" />
<br><br><br> <br><br><br>
<br> <br>
<br> <br>
+5 -6
View File
@@ -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">'. <link rel="stylesheet" type="text/css" href="../../skin/simplecropper.css">'.
cropCss().' cropCss().'
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"> <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/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/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="../../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="../../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/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/tapmodo/Jcrop/js/Jcrop.min.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="../../vendor/tomazdragar/SimpleCropper/scripts/jquery.SimpleCropper.js"></script>
<script type="text/javascript" src="../../include/js/cropper.js"></script> <script type="text/javascript" src="../../include/js/cropper.js"></script>
+8 -22
View File
@@ -164,10 +164,8 @@ foreach($addon_obj->result as $addon)
<command id="menu-extras-preinteressentenuebernahme:command" oncommand="ExtrasShowPreinteressentenuebernahme();"/> <command id="menu-extras-preinteressentenuebernahme:command" oncommand="ExtrasShowPreinteressentenuebernahme();"/>
<command id="menu-extras-projektarbeitsabgaben:command" oncommand="ExtrasShowProjektarbeitsabgaben();"/> <command id="menu-extras-projektarbeitsabgaben:command" oncommand="ExtrasShowProjektarbeitsabgaben();"/>
<command id="menu-extras-aliquote_reduktion:command" oncommand="ExtrasShowAliquote_reduktion();"/> <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-export:command" oncommand="BISMitarbeiterExport();"/>
<command id="menu-bis-mitarbeiter-checkverwendung:command" oncommand="BISMitarbeiterCheckVerwendung();"/> <command id="menu-bis-mitarbeiter-uebersicht:command" oncommand="BISMitarbeiterUebersicht();"/>
<command id="menu-bis-mitarbeiter-checkfunktion:command" oncommand="BISMitarbeiterCheckFunktion();"/>
<command id="menu-bis-studenten-export:command" oncommand="BISStudentenExport();"/> <command id="menu-bis-studenten-export:command" oncommand="BISStudentenExport();"/>
<command id="menu-bis-studenten-checkstudent:command" oncommand="BISStudentenPlausicheck();"/> <command id="menu-bis-studenten-checkstudent:command" oncommand="BISStudentenPlausicheck();"/>
<command id="menu-help-about:command" oncommand="OpenAboutDialog()"/> <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" key ="menu-prefs-number_displayed_past_studiensemester:key"
label ="&menu-prefs-number_displayed_past_studiensemester.label;" label ="&menu-prefs-number_displayed_past_studiensemester.label;"
command ="menu-prefs-number_displayed_past_studiensemester:command" 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:'');?>" value ="<?php echo (isset($variable->variable->number_displayed_past_studiensemester)?$variable->variable->number_displayed_past_studiensemester:'');?>"
/> />
</menupopup> </menupopup>
@@ -859,30 +857,18 @@ foreach($addon_obj->result as $addon)
<menupopup id="menu-bis-popup"> <menupopup id="menu-bis-popup">
<menu id="menu-bis-mitarbeiter" label="&menu-bis-mitarbeiter.label;" accesskey="&menu-bis-mitarbeiter.accesskey;"> <menu id="menu-bis-mitarbeiter" label="&menu-bis-mitarbeiter.label;" accesskey="&menu-bis-mitarbeiter.accesskey;">
<menupopup id="menu-bis-mitarbeiter-popup"> <menupopup id="menu-bis-mitarbeiter-popup">
<menuitem <menuitem
id = "menu-bis-mitarbeiter-checkverwendung" id = "menu-bis-mitarbeiter-uebersicht"
key = "menu-bis-mitarbeiter-checkverwendung:key" key = "menu-bis-mitarbeiter-uebersicht:key"
label = "&menu-bis-mitarbeiter-checkverwendung.label;" label = "&menu-bis-mitarbeiter-uebersicht.label;"
command = "menu-bis-mitarbeiter-checkverwendung:command" command = "menu-bis-mitarbeiter-uebersicht:command"
accesskey = "&menu-bis-mitarbeiter-checkverwendung.accesskey;"/> accesskey = "&menu-bis-mitarbeiter-uebersicht.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 <menuitem
id = "menu-bis-mitarbeiter-export" id = "menu-bis-mitarbeiter-export"
key = "menu-bis-mitarbeiter-export:key" key = "menu-bis-mitarbeiter-export:key"
label = "&menu-bis-mitarbeiter-export.label;" label = "&menu-bis-mitarbeiter-export.label;"
command = "menu-bis-mitarbeiter-export:command" command = "menu-bis-mitarbeiter-export:command"
accesskey = "&menu-bis-mitarbeiter-export.accesskey;"/> 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> </menupopup>
</menu> </menu>
<menu id="menu-bis-studenten" label="&menu-bis-studenten.label;" accesskey="&menu-bis-studenten.accesskey;"> <menu id="menu-bis-studenten" label="&menu-bis-studenten.label;" accesskey="&menu-bis-studenten.accesskey;">
+11 -19
View File
@@ -1203,9 +1203,9 @@ function MessageNew()
else else
{ {
var prestudentIdArray = getMultipleTreeCellText(tree, 'student-treecol-prestudent_id'); 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; ?>; var action = '<?php echo APP_ROOT ?>index.ci.php/system/Messages/write/' + <?php echo $benutzer->person_id; ?>;
openWindowPostArray(action, 'prestudent_id', prestudentIdArray); 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',''); window.open('<?php echo APP_ROOT ?>vilesci/bis/personalmeldung_uebersicht.php','Uebersicht','');
}
// ****
// * oeffnet Script zum Checken der Funktion
// ****
function BISMitarbeiterCheckFunktion()
{
window.open('<?php echo APP_ROOT ?>vilesci/bis/checkfunktion.php','CheckFunktion','');
} }
// **** // ****
@@ -2054,9 +2046,9 @@ function OrganisationseinheitTreeRefresh()
function variableChangeValue(variable) function variableChangeValue(variable)
{ {
var variablevalue = getvariable(variable); var variablevalue = getvariable(variable);
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue)) if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
{ {
variableChange(variable, '', variablevalue); variableChange(variable, '', variablevalue);
} }
} }
@@ -2068,7 +2060,7 @@ function variableChange(variable, id, wert)
{ {
if(id!=null) if(id!=null)
item = document.getElementById(id); item = document.getElementById(id);
if(typeof(wert)==='undefined') if(typeof(wert)==='undefined')
{ {
if(item.getAttribute('checked')=='true') if(item.getAttribute('checked')=='true')
@@ -2078,11 +2070,11 @@ function variableChange(variable, id, wert)
} }
else else
checked=wert; checked=wert;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen // Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php'; var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'',''); var req = new phpRequest(url,'','');
@@ -2090,7 +2082,7 @@ function variableChange(variable, id, wert)
req.add('type', 'variablechange'); req.add('type', 'variablechange');
req.add('name', variable); req.add('name', variable);
req.add('wert', checked); req.add('wert', checked);
var response = req.executePOST(); var response = req.executePOST();
var val = new ParseReturnValue(response) var val = new ParseReturnValue(response)
File diff suppressed because it is too large Load Diff
+4
View File
@@ -387,6 +387,10 @@
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion"> <!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F"> <!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.key "S">
<!ENTITY menu-bis-studenten.label "Studenten"> <!ENTITY menu-bis-studenten.label "Studenten">
<!ENTITY menu-bis-studenten.accesskey "S"> <!ENTITY menu-bis-studenten.accesskey "S">
+9 -5
View File
@@ -1,5 +1,5 @@
<!ENTITY window.title "FAS"> <!ENTITY window.title "FAS">
<!ENTITY window.version "3.0"> <!ENTITY window.version "3.0">
<!-- MENUE --> <!-- MENUE -->
@@ -362,9 +362,13 @@
<!ENTITY menu-bis-mitarbeiter-checkverwendung.label "checkVerwendung"> <!ENTITY menu-bis-mitarbeiter-checkverwendung.label "checkVerwendung">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.accesskey "V"> <!ENTITY menu-bis-mitarbeiter-checkverwendung.accesskey "V">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.key "F"> <!ENTITY menu-bis-mitarbeiter-uebersicht.key "B">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion"> <!ENTITY menu-bis-mitarbeiter-ueberischt.label "Übersicht">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F"> <!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.key "S">
<!ENTITY menu-bis-studenten.label "Studenten"> <!ENTITY menu-bis-studenten.label "Studenten">
+1 -1
View File
@@ -97,4 +97,4 @@ $this->phrasen['lvplan/status']='Status';
$this->phrasen['lvplan/automatischeMail']='This is an automatic email!'; $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/folgendeAenderungen']='There have been the following changes in your Schedule:';
$this->phrasen['lvplan/reserviertInDev']='not<br>available'; $this->phrasen['lvplan/reserviertInDev']='not<br>available';
?> ?>
+33 -3
View File
@@ -176,6 +176,7 @@ input.cis_login
width:170px; width:170px;
height:53px; height:53px;
} }
div.tip div.tip
{ {
position: absolute; position: absolute;
@@ -474,9 +475,9 @@ td:hover.ItemTesttoolBeendet
} }
div.TesttoolTitle /* Ueberschrift auf den Titelfolien */ div.TesttoolTitle /* Ueberschrift auf den Titelfolien */
{ {
font-size: 400%; font-size: 400%;
font-family: Helvetica, Arial, sans-serif; font-family: Helvetica, Arial, sans-serif;
text-transform: uppercase; text-transform: uppercase;
color: #FFFFFF; color: #FFFFFF;
display: table; display: table;
white-space: nowrap; white-space: nowrap;
@@ -1101,3 +1102,32 @@ body.anwesenheit table {
body.anwesenheit form { body.anwesenheit form {
margin: 10px; 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
View File
@@ -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 // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>'; echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -693,14 +725,15 @@ $tabellen=array(
"wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"), "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"),
"wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"), "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"),
"wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"), "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"),
"wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"), "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"), "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_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_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_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
"wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"), "wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
"wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"), "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_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_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"), "wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
+164 -136
View File
@@ -57,6 +57,10 @@ foreach ($stg_obj->result as $stg)
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel; $stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
} }
$stsem = new studiensemester();
$stsemprev = $stsem->getPrevious();
$stsemprevprev = $stsem->getBeforePrevious();
echo '<html> echo '<html>
<head> <head>
<title>Check Funktion</title> <title>Check Funktion</title>
@@ -64,152 +68,176 @@ echo '<html>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"> <link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head> </head>
<body class="Background_main"> <body class="Background_main">
<h2>Mitarbeiter BIS-Funktion Check</h2> <h2>Mitarbeiter BIS-Funktion Check für '.$stsemprevprev.'/'.$stsemprev.'</h2>
'; ';
$stsem = new studiensemester(); if(isset($_POST['action']) && $_POST['action'] == 'delete')
$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))
{ {
$lastuid=''; $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)
while($row = $db->db_fetch_object($result)) 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) echo 'Falsche Funktionszuordnungen wurden entfernt';
{
$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++;
}
}
} }
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)) if($result = $db->db_query($qry))
{ {
$funktion_ohne_lehrauftrag = $db->db_num_rows($result); $lastuid='';
while($row = $db->db_fetch_object($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"; 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>&nbsp;</td><td>&nbsp;</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 ( else
SELECT mitarbeiter_uid, studiengang_kz {
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter echo '
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND <br>
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND Diese Seite erstellt automatisch die Funktionen der Lektoren aus den Lehraufträgen.
(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))"; <form method="POST" action="checkfunktion.php">
echo '<br><br>'; <input type="hidden" name="action" value="run" />
echo '<h3>Uebersicht</h3>'; <input type="submit" value="Funktionen generieren" />
echo '<table>'; </form>';
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>&nbsp;</td><td>&nbsp;</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>';
} }
+7 -7
View File
@@ -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) $qryall='SELECT uid,nachname,vorname, count(bisverwendung_id)
FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid) 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) 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)) if($resultall = $db->db_query($qryall))
{ {
$num_rows_all=$db->db_num_rows($resultall); $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)) while($rowall=$db->db_fetch_object($resultall))
{ {
$i=0; $i=0;
@@ -293,10 +293,10 @@ if($resultall = $db->db_query($qryall))
$i=0; $i=0;
$qryall="SELECT DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachname, vorname $qryall="SELECT DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachname, vorname
FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id) FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN JOIN
lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN campus.vw_mitarbeiter ON (tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid) 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') (lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastss' OR lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastws')
AND tbl_lehreinheitmitarbeiter.stundensatz!=0 AND tbl_lehreinheitmitarbeiter.semesterstunden!=0 AND tbl_lehreinheitmitarbeiter.stundensatz!=0 AND tbl_lehreinheitmitarbeiter.semesterstunden!=0
AND NOT EXISTS (SELECT * FROM bis.tbl_bisverwendung AND NOT EXISTS (SELECT * FROM bis.tbl_bisverwendung
@@ -374,7 +374,7 @@ if($resultall = $db->db_query($qryall))
{ {
$i++; $i++;
echo "<br><u>Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":</u><br>"; 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>'; echo '<br>';
+308
View File
@@ -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}} headers: {5:{sorter:false}}
}); });
$(".prestudent_option").click(function () if($("#pruefling_select").value == -1)
{ $("#pruefling_select").after(" <input id=\'input_prestudent\' type=\'text\' name=\'prestudent\'></input>");
var elementExists = document.getElementById("input_prestudent");
var e = document.getElementById("pruefling_select"); $("#pruefling_select").change(
var strUser = e.options[e.selectedIndex].value; function()
if (elementExists != null)
{ {
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> </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 '<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>'; 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:'').'">'; 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 '</SELECT>';
} }
echo '<input type="submit" value="Dieses Teilgebiet l&ouml;schen" name="deleteteilgebiet" onclick="return confirm(\'Antworten dieses Gebietes wirklich löschen?\')">&nbsp;&nbsp;&nbsp;&nbsp;'; echo '&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="Dieses Teilgebiet l&ouml;schen" name="deleteteilgebiet" onclick="return confirm(\'Antworten dieses Gebietes wirklich löschen?\')">&nbsp;&nbsp;&nbsp;&nbsp;';
if(isset($_POST['deleteteilgebiet'])) if(isset($_POST['deleteteilgebiet']))
{ {
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) 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 '<span class="error">Wählen Sie bitte ein Gebiet, dessen Antworten Sie löschen wollen</span>';
} }
echo '<input type="submit" value="! Alle Teilgebiete l&ouml;schen !" name="delete_all" onclick="return confirm(\'Wollen Sie wirklich ALLE Antworten des Prüflings löschen?\')"></form>'; echo '&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="! Alle Teilgebiete l&ouml;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 // Alle Antworten aller Gebiete einer Person löschen und einen Logfile-Eintrag mit Undo-Befehl erstellen
if(isset($_POST['delete_all'])) if(isset($_POST['delete_all']))